Having an SEO-friendly CMS is important for pretty much everyone. Search engines are one of the main drivers of traffic to your websites and showing up on the first page on Google, DuckDuckGo and all the other search engines are often critical for the success of a business.
But what is an SEO-friendly CMS? And which features should you look for to check if your CMS is giving you the right foundation to have success with your SEO efforts?
On this page, you get a list of 21 different SEO features that are must-haves for any CMS. Are all 21 possible for you to do in Umbraco? Let's have a look.
For an overall walkthrough of why these features are important, read our blog series on SEO features.
The 21 features of an SEO-friendly CMS
We recommend that you're aware of the following 21 features and split them into 3 categories: Website performance features, technical SEO features and On-page SEO features.
- #1 - Responsive design
- #2 - Page speed
- #3 - HTTPS support
- #4 - Core Web Vitals parameters
- #5 - Tracking scripts
- #6 - Crawlability and indexability of your content
- #7 - Robots.txt file
- #8 - Noindex and Nofollow settings
- #9 - Navigation menus and elements
- #10 - URL redirect management
- #11 - Handling of 404 errors
- #12 - Canonical tags
- #13 - URL structure and taxonomy
- #14 - XML sitemaps
- #15 - Schema markup
- #16 - AMP support
- #17 - Hreflang tags for multilingual sites
Website performance features
Before we dive into the features that are primarily focused on SEO, it’s important that we take a step back and start with the overall features that you’d always want in your CMS. Regardless of how important SEO is to your business, these features are crucial for anyone with a website.
#1 - Responsive design in Umbraco
Responsive design is a standard in most content management systems - and that’s also the case for Umbraco.
One of the many benefits you get from choosing Umbraco is that it's open source. This means you are able to make any customizations to your website theme and design. In that sense, Umbraco is template agnostic and it all comes down to your template HTML and CSS. As long as you follow web design best practices, you’re good to go.
#2 - Page speed in Umbraco
Umbraco is built to give you a strong and flexible core, without code bloat that can slow down your website. It’s fast out-of-the-box and lets you be in control. Do you want to use a CDN for your content and minify your HTML, CSS and JS? Go right ahead.
Do you want to connect your site to an image compressor to automatically compress your images? You got it.
Umbraco doesn't come with a lot of situational features, that you might never use. That doesn't mean you can't add them though - we've just kept them out of the core CMS. You have the freedom to integrate and use the best-of-breed tools that best fits your website.
This means you can get the features you want and develop them the way you want, without any unnecessary code. This gives you a much cleaner code with fewer dependencies and a better starting point for a fast website.
#3 - HTTPS support in Umbraco
Adding a TLS certificate to your Umbraco website is possible and we highly encourage the use of HTTPS on all Umbraco websites. Especially in live environments. Adding a TLS certificate to your Umbraco site is kept simple and if you need any help during setup, you can find it in our documentation on security in Umbraco.
If you’re using Umbraco Cloud, you won’t even have to worry about it; we’ve included it by default. In fact, you can’t have a website on Umbraco Cloud without it having HTTPS enabled. No matter the pricing plan you choose you'll get automatically updated TLS certificates via Cloudflare that keeps your website safe and secure.
#4 - Core Web Vitals parameters in Umbraco
Umbraco is an open-source CMS, which means you have the ability to change the source code as much as you want to.
This allows you to customize your website to follow all of the best practices that will let you score high on all 3 Core Web Vitals parameters.
#5 - Tracking scripts in Umbraco
With Umbraco, you can access and edit the code of your website directly. Do you need to add Google Tag Manager, Google Analytics, Facebook Pixel or any other tracking script to your website? Go right ahead.
Adding tracking scripts is simply a matter of adding it to the right templates, depending on where it should be added. For sitewide tracking scripts, you can add them to your master template (directly or through partial views) and have it added to the <head> of all pages on your website.
Technical SEO features
Are you surprised that 12 of the 21 features on our list are in this category? That’s probably a good thing because it means that you’ve come to expect many of these features as a core part of any CMS.
Luckily, many systems do provide most (if not all) of these features. It’s nonetheless important to check before choosing a CMS, as many of these can make-or-break your SEO efforts.
#6 - Crawlability and indexability of your content in Umbraco
Here are 2 quick ways to test if Google properly crawls and indexes the content of your pages:
- Use Google Search Console’s “Inspect URL” feature and test the live URL of the page. Now you’re able to see a screenshot of what was crawled as well as the HTML that Google found. If your content is found in the HTML that Google returned here, then it’ll be in the index as well.
- Make a phrase match search on Google by copying a paragraph from your page and put it in quotation marks in a Google search (ie. “pasted content paragraph here”). If your site - and the pasted content - does not appear in the results, then your site could have indexability issues hurting your SEO.
#7 - Robots.txt file in Umbraco
Out-of-the-box Umbraco doesn’t include a robots.txt file. Luckily it’s possible to add one and edit it to fit your website. Umbraco doesn’t come with a lot of unnecessary files and paths that can eat up your crawl budget, so in a lot of cases, you’ll be fine with a simple robots.txt file.
Here’s the robots.txt for our site, which is kept to a minimum and only disallows standard Umbraco 8 paths, where no valuable pages can be found by Google. The paths to disallow depends on your setup and version of Umbraco - but anything is possible for you to optimize your crawl budget.
#8 - Noindex and nofollow settings in Umbraco
Controlling which pages are added to Google's index and which links are given value is important. That's why it's important to have noindex and nofollow settings in your CMS.
You can add both of these in Umbraco and make them fit your needs. On umbraco.com we’ve made a simple implementation with a dropdown that controls these settings on a page-level - but you can implement it in any way you want.
In our implementation (see image) if anything other than blank (default) is picked, it’ll add the code to the <head> of the page in:
<meta name="robots" content="setting here">
#9 - Navigation menus and elements in Umbraco
In Umbraco, you have the flexibility to make the navigation menus and elements like the footer exactly like you want them to be.
Build Global elements like navigation and footer in the exact style and branding you need and add them as an element to each template you create, so they'll show up no matter which pages a user is on.
This can all be done in your code, so you can have navigation menus that are automatically updated if you make any changes.
#10 - URL redirect management in Umbraco
URL redirect management is one of the core features of Umbraco that works out-of-the-box. By default, the URL of a page is the name of the page and the page path depends on where in the content tree it is. If either of those change, the URL will change as well - automatically.
If your content is ever moved and the URL changes Umbraco automatically adds a 301 redirect from the old URL to the new one. That way you never have to worry about broken links if you update or move content.
But what about internal links in your content?
If you want to avoid redirects on internal links you can use the built-in URL content tree picker when inserting internal links in your content (see image).
By using this feature you can add an internal link to any page on your website and be sure that it always points directly to that page - even if the URL is changed. This is a great way for you to avoid redirecting the user when they try to access content on your site that has been moved.
#11 - Handling of 404 errors in Umbraco
With Umbraco, you don't have to worry about 404 errors being handled the wrong way for SEO.
As the default option, if a page is not found, your Umbraco website will return a 404 status code just as it's supposed to do, and search engine crawlers will know that the content they are looking for is not found.
If you want to improve the experience for your users, you're also able to customize your own 404 page so it helps your users, and stay on brand with the right design.
#12 - Canonical tags in Umbraco
As with the noindex and nofollow settings, you’ll have to add this to Umbraco as it’s not part of the core CMS. This ensures that you can implement it just the way you want.
You can make a simple property as a text field to input the canonical URL or you can make it a content picker which allows your editors to pick the page from a content tree. If you choose the latter you won’t have to worry about the page changing URL, as Umbraco will automatically change the canonical URL as well.
Once you have a property to input the canonical URL it should be connected to a template to add the canonical tag in the <head> of all pages like this:
<link rel="canonical" href="example.com/original-page" />
If the property field is empty, it's best practice to keep the canonical tag in the code and let it point to itself.
#13 - URL structure and taxonomy in Umbraco
In Umbraco the URL structure is quite simple: it follows the content tree structure from the Backoffice. That means you can keep your content structured for your editors knowing that it’ll be similarly structured in the URL and in navigation elements like your menu and footer.
No extra paths are added to the URL. And if you want to customize your URL structure or the URL of a specific page that's possible too - see the "Page URL" feature.
#14 - XML Sitemaps in Umbraco
Making sure that Google knows where to find your URLs is important. That's why an XML sitemap can be a great addition to your site, so you can tell Google exactly where to find all of your content.
#15 - Schema markup in Umbraco
Implementing schema markup in Umbraco is possible, as you have access to edit and update all of the source code for your website. Our Gold Partner Equator has shared a guide on how to implement schema markup in Umbraco, which you can follow if you want to get started with schema markup.
Here's a handful of the schema types we've implemented on Umbraco.com:
#16 - AMP support in Umbraco
To implement AMP-versions of your content in Umbraco, you'll need to make a new page type that follows the AMP guidelines. If you're getting started, here's a great place to learn more.
If you want a guide on how to approach it in Umbraco, you can read this guide on setting up AMP on an Umbraco site.
#17 - Hreflang tags for multilingual sites in Umbraco
In Umbraco 8 we introduced language variants. This is a great way for you to handle multilingual sites in Umbraco, as it enables you to do side-by-side editing and have it integrated into your editor workflow.
If you want to ensure that Google shows the right language variant to your visitors in the search results you can add hreflang tags to your Umbraco website.
As with all other custom code, you can add it to your page templates and insert it on the pages where you’ve published more than one language variant.
In the <head> of your page, you’ll need to add the following code (replacing the values to fit your page):
<link rel="alternate" hreflang="en" href="https://umbraco.com/en/english-version/" />
<link rel="alternate" hreflang="da" href="https://umbraco.com/da/danish-version/" />
<link rel="alternate" hreflang="es" href="https://umbraco.com/es/spanish-version/" />
<link rel="alternate" hreflang="x-default" href="https://umbraco.com/en/english-version/" />
On-page SEO features
Last (but certainly not least) we have the on-page SEO features that a CMS must have. While the above were more technical and mostly on an overall sitewide-level, the below are features that you want on an individual page-level.
These are often seen as the most important features, but we’ve kept them until last because we truly believe that the technical features come first. They might not be as flashy, but not having a proper technical foundation for your site can hurt your SEO more than you might know.
With that said, let’s have a look at the on-page SEO features, shall we?
#18 - Title tags and meta descriptions in Umbraco
Let's start with one of the obvious ones: title tags and meta descriptions. This is one of the first features that many users add to their new Umbraco project. It's not included in the core CMS, but it is included in most starter kits and themes out there.
Adding the feature can be done quickly by adding title tag and meta description properties to your document types and rendering them in your templates. We recommend adding it to all of your page types as this will allow you to update title tags and meta descriptions for all pages on your Umbraco site.
If you want to improve the editor experience you can also set a maximum character limit on both to ensure that they will not be truncated in the search results because they are too long.
#19 - Page URL in Umbraco
In Umbraco, your page URL will by default be the name of the page you have created. This means that you have full control over what the URL should be for a page.
What if you want a name that is easily readable by editors, but want the URL to be shorter or different?
That’s possible to do with a few customizations to your document types by using a routing property.
A simple way to do it is by adding a new property in your document type, where the editor can input a new URL that they want for a given page. And if you name this property “umbracoUrlName” it’ll work as a routing property where Umbraco will automatically change the URL if the field has an input. Further information about using routing properties can be found in the documentation.
#20 - Content headers (H1, H2, etc.) in Umbraco
In Umbraco, you can add headers to your content any way you want to. With a rich text editor being built-in to Umbraco, your editors can choose to add content headers by picking the proper heading or accessing the HTML and adding it directly.
If you want to limit the options for your editors, you can do so by only adding the formats you want them to be able to add. On our site (see example) we've removed the "H1" option from the rich text editor to ensure that we only have 1 on each of our pages.
#21 - Image ALT text in Umbraco
In Umbraco, you are asked to add an ALT text to any image you upload to a content page. This gives you the ability to add an ALT text to every single image you upload and prompts the editors to add it.
If you want to be sure that all of your images have an ALT text you can even make it mandatory to add whenever an editor adds an image. That way you live up to both accessibility and SEO best practices.
Is Umbraco SEO-friendly?
There’s no official “SEO-friendly” stamp that a CMS can get - instead it depends on where you as a user set the bar.
With that being said, we do believe that Umbraco is SEO-friendly, due to the flexible nature of the CMS. It has all of the core technical features you need as well as plenty of ways for you to build exactly the SEO features you need.
At the end of the day, it all comes down to implementation. If your developers know about SEO best practices and the features that you as a marketer will need, then they are absolutely able to give you a great platform for SEO success.
Want to try the SEO features of Umbraco?
If you are curious about how Umbraco works, you can get started with a free Cloud trial. That way you can let us spin up a cloud-hosted trial for you in just a few minutes, so you can get to testing right away.
Want to dig even deeper?
Above are 21 features that we see important for an SEO-friendly CMS. But we didn't dive into why these are so important.
Lucky for you, we actually did that in a 3-part blog post series as well as writing an entire 50-page white paper about it. So if you want to learn more about each of the 21 features, you can have the white paper in your inbox in just a few minutes.