9 SEO Factors to Consider When Choosing a Content Management System

The entire purpose of choosing a content management system is to make your life a little bit easier & save time when pushing things live. However, a lot of the times, to the unaware, CMSs can lack SEO flexibility, which can prove detrimental to organic performance. And by the time that’s realized, it might be a little too late because you’ve started to depend heavily on it, and you likely don’t want to deal with migration headaches.

In any case, if you’re just starting about, or want to switch over from your existing CMS, below are a few SEO factors to consider when choosing a content management system.

Factor 1: You Have the Ability to Update and Edit Basic Meta Tags + the Title Tag

Meta tags and the title tags are a ranking factor, indirectly, and directly. Specifically, you should have the ability to edit the following:

  1. Meta description
  2. Title Tag
  3. Meta robots
  4. Meta charset
  5. Meta viewport

Normally, you mainly need the first three. The last two should automatically be handled by your CMS, and you shouldn’t have the need to make any edits to it.

Meta charset is reserved for dictating the encoding to the browsers (most common being utf-8), and viewport is used to handle mobile friendliness/responsiveness.

meta charset meta viewport
Again, I believe your theme/CMS should be able to handle this. Typically, an average user shouldn’t have to worry about these two.

Factor 2: Ability to Choose Your Own URL Structure, Including the Number of Sub-Directories

No one likes messy default CMS generated URLs. In my opinion, outside of URLs being user friendly and a ranking factor, I believe this is a very crucial SEO factor to consider. If your CMS doesn’t give you the flexibility to have the URL names and structure you want, please run away as far as you can.

Additionally, you should also have at least some kind of ability to create your own sub-directories. For example, all my SEO blogs are always under the SEO sub-directory of

Factor 3: Ability to Dictate Canonicals

The normal behavior I’d recommend is the following:

  1. Your CMS by default inputs a self-referential canonical.
  2. However, if you wanted to overwrite that, you should be able to — at all levels. That is, individual URLs, global settings for specific category URLs, special shopping URLs, etc.

The last thing you’d want is for you to not be able to govern canonicals, and the CMS defaults to wrong canonical URLs.

default canonical logic for feedthecuriosity blogs
By default, all the blog URLs on this site inputs a self-referential canonical

And if you don’t know what canonicals are, I’d encourage you to first check out this post, where I go a little into the weeds about it.

Factor 4: Ability to Create & Upload XML Sitemaps

XML sitemaps play a very huge role when it comes to crawling and indexing URLs. If anything, uploading & creating XML sitemaps can typically be done through FTP access from your domain registrar, and in many cases, has less to do with CMS itself, but still, make sure you are not inhibited in any manner whatsoever for this SEO capability.

A bonus here would be if your CMS allows for dynamic XML sitemaps. If you aren’t too sure about what that is, this post may help! Here, I discuss how to create and upload XML sitemaps, as well as what dynamic sitemaps are. This will allow you to know about some of the best practices.

blog xml sitemap for
A capture from This is an example of a dynamic sitemap. Every time I write a new blog post, it automatically gets added here.

You May Also Want to Check Out:

Factor 5: Ability to Edit Robots.txt File

Like above, the CMS has very little control here, but again, make sure it would not prevent you from doing whatever you want with your robots.txt file to control crawling behavior.

Robots.txt will always live at For example, this blog lives at–>

Factor 6: Ability to Insert Custom HTML

Every now and then, you may need to insert your own custom code, for whatever reason. Having that ability can allow you to further enhance your CMS outside of the default scope of things.

A secondary option for isnerting custom HTML code is to use Google Tag Manager. Still, I believe you should have that ability in your CMS. And on the same note, you should be able to apply your custom code on a global setting level, be it on a category level, page level, just blog level, etc.

Factor 7: Ability to Insert h1-h6 Heading Tags

While it may seem very picky of me, you’d be surprised to see that your CMS may prove difficult for inserting something as basic as h1s, or h2s. (Although, it may be a more prevalent issue on custom CMSs). You probably don’t need it for all heading levels, but definitely make sure you can at least add h1, h2, and h3.

Heading tags are a ranking factor, and more importantly, they provide context to the search engines and users about the hierarchy and structure of your content. Make sure you can dictate what you want as your heading tags.

Factor 8: Ability to Apply Schema Markups

Schema markups/structured data play a huge role in providing more accuracy and context about the content of your pages. In a lot of the instances, they also make you eligible for rich snippets.

There are tons of schema markups available. What you can use will depend on what your page is about, but without digressing too much, the point is that you should be able to insert schema markups (any kind), at will.

It is my firm belief that the importance of structured data and schema markups will only grow in importance for SEO; so, you better make certain you have the ability for it.

Factor 9: Ability to Perform Server Side Redirects at Will + Other Misc. Capabilities

When it comes to redirects, I’d implore you to ensure that you have the power to perform, at the minimum, any kind of 301 & 302 redirects. what I mean by any kind is:

  • Simple 1:1 URL redirects
  • Conditional based redirects
  • Support for regex rules

In the case of redirects, it’s also possible that your hosting company may have something to allow for this functionality. You should definitely discuss that, as well as find out how much it’ll cost. In my opinion, you shouldn’t be paying a fortune just to get this capability enabled. If that’s the case, you may want to explore another option. Trust me, you will need this capability sooner or later.

Other Misc. Items

Outside of the top core requirements mentioned above, You should also expect the following from your CMS:

  1. Ability to insert images along with its alt and title info.
  2. Proper pagination rules are applied, such as rel prev or rel next.
  3. Ability to customize — to a certain extent, your header and footer.
  4. Ability to embed codes.
  5. More; contingent on your needs.


Based on your situation, you may want to warrant a few extra expectations from your CMS, such as analytics integration, room for running ads, or even other third party scripts. However, these 9 things are a must-have, to avoid SEO headaches.

My recommendation, if you’re going to go heavy on blogs, is to go with WordPress.