SEO Friendly CMS

Umbraco - The SEO-friendly CMS

How SEO-friendly is Umbraco?

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.

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.

Responsive design on different devices

#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.

Umbraco paperplane icon

#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.

Umbraco secure icon

#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. 

Umbraco browser icon

#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.

Umbraco code icon

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

The standard way of presenting content in Umbraco is through HTML, which is easily crawlable and indexable by Googlebot. But since Umbraco is customizable you can also choose to serve some/all content in other ways. Do you need to serve some of your content through JavaScript? That's absolutely possible as well and can make sense in some situations (we do it ourselves on this page).

If you do serve content through JavaScript (or some other way) we recommend that you run through a few tests to ensure that your content is still correctly added to Google's index. Google does crawl and render JavaScript content, but it can still result in some unexpected issues if you don't test it.

Here are 2 quick ways to test if Google properly crawls and indexes the content of your pages:

  1. 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.

  2. 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.

How Googlebot crawls and renders before putting URL in index

#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.

Umbraco code icon

#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 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">

Example of Index and follow settings property in Umbraco Backoffice

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.

Umbraco crawl icon

#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.

Umbraco content tree picker for internal links

#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.

Pineapple illustration

#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="" />

If the property field is empty, it's best practice to keep the canonical tag in the code and let it point to itself.

Umbraco documents icon

#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.

Umbraco tree icon

#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.

Creating an XML sitemap in Umbraco can be done in many ways. If you’re in a hurry you can do it by adding a package. If you want to do it from scratch, you can follow the guide in our documentation.

Umbraco sheet icon

#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 schema markup example for blog post

#16 - AMP support in Umbraco

You’ve probably already guessed it by now: making AMP versions for your pages in Umbraco is possible. But due to the nature of AMP and the restrictions it puts on what HTML, CSS and JavaScript you can use on a page, there isn’t a simple plug-and-play solution (although by the time we're done writing this, someone might have made an Umbraco package for it).

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.

Umbraco mobile device icon

#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="" />

<link rel="alternate" hreflang="da" href="" />

<link rel="alternate" hreflang="es" href="" />

<link rel="alternate" hreflang="x-default" href="" />

Umbraco Language Variants

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.

Umbraco Cloud SERP snippet in Google

#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.

Umbraco browser icon

#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.

Adding a header through the Umbraco rich text editor

#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.


Loved by developers, used by thousands around the world!

One of the biggest benefits of using Umbraco is that we have the friendliest Open Source community on this planet. A community that's incredibly pro-active, extremely talented and helpful.

If you get an idea for something you would like to build in Umbraco, chances are that someone has already built it. And if you have a question, are looking for documentation or need friendly advice, go ahead and ask on the community forums.