DEV Community

Cover image for Page Management in Agility CMS vs Other Headless CMSs
Joel Varty for Agility CMS

Posted on • Originally published at agilitycms.com

Page Management in Agility CMS vs Other Headless CMSs

Agility CMS is different from other Content First (or Headless CMS) products in that we offload the task of Page management to the Content Team

One of the most important aspects of a content management system is how it gives non-developers the ability to edit content. I think we can all agree that, for the most part, we don't want our developers spending their time writing content (or copying and pasting it). 

How that content is structured, however, is usually decided by both the content team and the development team. We call this structure the content architecture.

Agility CMS is different from other content first (or headless CMS) products in that we offload the task of page management to the content team; they are allowed to update pages - and the sitemap in general - outside of the development team. This capability is a game-changer for content and development teams alike.

I'll show you how.

First, let's talk about what we would do WITHOUT page management.

The Other Guys: Life Without Page Management

At the start, you would have to pre-determine all the pages and routes in your site, so that you can build the content types to represent them. That's how this can be a kind of insidious feature - since we tend to have an idea of the pages and routes we will need to have in our site in the future.

But what about pages we want to add in the future? I'm not talking about merely adding new blog posts or articles here (those are list items, not pages), but instead adding actual new pages on the site, perhaps nested under other pages.  

The second complication here comes when we've got many pages we want to create on our website. If we have to create a different content type to articulate that, we're going to have a ton of content types to define. Some CMS systems limit the number of content types, charging overages at a certain point. That's limiting in and of itself, but the bigger deal-breaker here is who is doing this work: Developers. 

When we predefine our pages ahead of time, a developer has to do the work of actually setting up those routes in code. Then they have to map those routes to the content types we defined earlier. Not only is that a great deal of work, but it means we have to get a developer involved again every time we want to add a new page!

There's a better way.

Page Management in Agility CMS

Enter page management, which provides a way for the developer to set up a few things that give our content team the power to create and manage actual pages on our sitemap.

We first look at the kinds of pages that we'll have on the site. We call these page templates. This is much easier than deciding all of the possible pages that will EVER be on the site. Usually, sites have between 3 and 6 different page templates. The developer writes code that determines how each one looks when it's rendered on the website.

Each page template can have 1 or more content zones on it, which give our content editors a place to drop modules onto it. Modules are like content items, but they have unique information in them that allows developers to determine how they render on the website.

The Difference Is Real

The significant difference here is that instead of coding each page and route individually, the developer only has to code a few page templates and modules. These are re-used across the website as editors add pages to the sitemap, and add modules to those pages. It's much less work for a developer right from the start, and we have empowered the content editors with the tools to do their work on the website now and into the future.

Now, content editors are free to create and move pages around the sitemap, however they see fit. They can add and remove modules from those pages and update the properties of those modules as well.

Keep Reading

Still with me?  Nice job!

Top comments (0)