← Return to Content Library

Using Google Sheets as a CMS: A Simple Alternative for Small Projects

Sometimes you need a content management system but don't want the complexity of a full CMS like WordPress or Strapi. Enter Google Sheets as a CMS—a surprisingly effective solution for managing simple content.

How It Works

The concept is straightforward: use Google Sheets as your database and pull that data into your website via an API. Here's how I implemented it for my Holy Forever project:

Step 1: Set up your Google Sheet

Create a new Google Sheet and add columns for all the content fields you need. Think of each column as a database field—title, description, image URL, date, etc. Make sure your sheet is publicly viewable.

Step 2: Connect with an API

Instead of wrestling with Google's official API and authentication, I used Opensheet—a simple API that converts any public Google Sheet to JSON without requiring authentication.

Step 3: Fetch and display your data

Write JavaScript to fetch the JSON data and display it on your site. It's as simple as making a fetch request to the Opensheet API endpoint.

The Real-World Example

For my Holy Forever project, I created a Google Sheet with fields for song titles, artists, YouTube links, and other metadata. Then I used a simple JavaScript file to fetch this data and populate the website.

The result? A fully functional music discovery site at holyforever.netlify.app that's incredibly easy to update—just edit the Google Sheet and the changes appear automatically.

Pros

  • Dead simple to use - Anyone can edit a Google Sheet. No technical knowledge required for content updates.
  • Zero cost - Google Sheets is free, and so is Opensheet.
  • Real-time updates - Changes in the sheet appear on your site immediately (well, after a brief cache period).
  • Collaborative - Multiple people can edit the content simultaneously.
  • Familiar interface - Most people already know how to use spreadsheets.
  • Version history - Google Sheets automatically tracks changes and allows rollbacks.

Cons

  • Limited data types - You're stuck with basic text, numbers, and URLs. No rich text editing or file uploads.
  • No user authentication - Anyone with the link can view your data (though editing can be restricted).
  • Scalability issues - Google Sheets has row limits and can slow down with large datasets.
  • Basic relationships - Forget about complex database relationships between different content types.
  • Dependent on external services - Your site depends on both Google Sheets and whatever API service you're using.
  • Limited querying - You can't do complex database queries or filtering server-side.

When to Use This Approach

This setup works great for:

  • Simple websites with straightforward content
  • Projects where non-technical people need to manage content
  • Prototypes and MVPs
  • Small businesses with basic content needs
  • Personal projects where simplicity trumps features

It's probably not right for:

  • E-commerce sites with complex product catalogs
  • Sites requiring user-generated content
  • Applications needing real-time data
  • Projects with strict security requirements

Bottom Line

Using Google Sheets as a CMS isn't going to replace WordPress or Contentful anytime soon, but for simple projects, it's remarkably effective. The combination of familiarity, simplicity, and zero cost makes it worth considering for your next small project.

Sometimes the best solution is the simplest one that gets the job done.

Click here to view code →