Umbraco’s reputation for supporting its SEO is positive. That said Umbraco is designed and built for developers, not SEO experts. Meaning, that while Umbraco 13 Core supports some SEO factors on both the technical SEO and on-page SEO sides Umbraco is designed to be built or extended by engineers to meet client and SEO expert needs. The table below describes both technical and on-page SEO considerations that Umbraco Core includes or doesn’t. Where Umbraco Core does not include an SEO feature or functionality you would need a plugin or developer to extend Umbraco for SEO.
SEO Feature | Included in Core Umbraco | Included in Core Umbraco |
---|---|---|
Responsive Design | Yes | |
Page Speed | Yes | |
HTTPS Support | Yes | |
Core Web Vitals Parameters | Yes | |
Tracking Scripts | Yes | |
Crawlability and Indexability | Yes | |
Robots.txt File | No | |
Noindex and Nofollow Settings | No | |
Navigation Menus and Elements | Yes | |
URL Redirect Management | Yes | |
Handling of 404 Errors | Yes | |
Canonical Tags | No | |
URL Structure and Taxonomy | Yes | |
XML Sitemaps | No | |
Schema Markup | No | |
AMP Support | No | |
Hreflang Tags for Multilingual Sites | No | |
Title Tags and Meta Descriptions | No | |
Page URL | Yes | |
Content Headers (H1, H2, etc.) | Yes | |
Image ALT Text | Yes |
There are relatively few SEO plugins available for Umbraco when compared to WordPress. We did some research into current SEO plugins, packages, and extensions that are available for Umbraco as of December 2023. We found that Umbraco now has two “marketplaces.”
- our.umbraco.com/packages (legacy packages)
- marketplace.umbraco.com (for Umbraco 8+ packages)
Given Umbraco Core does not support a few items we thought we would share how to add SEO functionality into Umbraco.
XML Sitemaps
Adding XML sitemaps to Umbraco is not overly difficult. The entire process is straightforward and would take a developer under an hour to implement for basic setups. Given, that it’s so easy to add one does wonder why Umbraco does not include XML sitemaps out of the box. The answer generally boils down to a philosophical point of view. Umbraco is designed for developers, the working assumption being to make it easy for devs to add or extend as they see fit. In other words, Umbraco does not want to come up with an opinion about how to implement certain things. Part of the consideration is that Umbraco can be used for many applications and custom content types. For example, if you selling products you may not want all your products on your site map. Another example is content types like members-only directories that you may not want search engines to index. Given Umbraco also does not have an opinion about what content types you may want to implement it follows that adding a default XML sitemap would not be the approach. (@umbraco I would love to get your thoughts on this…)
SEOToolkit: SEO Package for Umbraco
This plugin is recommended by Umbraco for adding XML sitemaps but it does more for SEO. The plugin is split into a few packages by major features (listed below). You can install one or all of them if you need the additional features.
Features:
- Meta Fields
- Sitemap
- Robots.txt
- Script Manager
- Redirects
Pricing:
- Free
Last Known Update:
- October 2023
- CMS Core 12
- Docs
Schema Markup
Few SEO tricks work in 2023. Schema is an underutilized SEO strategy that delivers amazing results. It’s slightly technical and fussy to write but with ChatGPT much of the fuss is over. Implementing schema in Umbraco is easy enough. The required JSON-LD can be added anywhere in the <head> or <body> of your content.
The easiest way is to create a script block or page field that can be used site-wide or on content types you want to have schema and add the JSON there. If you have a use case for adding schema templates to your content types that is possible as well. In our opinion, it is so much easier to add a script field than to maintain templates. That said, templates come with the advantage of simplifying adding the JSON for non-technical users and generally could help with consistency of markup and preventing errors in the syntax. Either way, if you are implementing schema markup we would recommend testing using either Google’s or Schema’s markup tester and implementing Google Search Console which will also catch and report errors in schema and structured content.
If you don’t have the “SchemaMarkUp” field activated in your Umbraco back office you can turn it on. Go to “Settings” then under “Document Type” choose your main page type add a new Textbox property to your SEO tab and name it something intuitive like “SchemaStructureContent.” You then just have to add the property to your template to render the JSON-LD on the content type you chose.
Some common types of schemas:
- Creative works: CreativeWork, Book, Movie, MusicRecording, Recipe, TVSeries
- Embedded non-text objects: AudioObject, ImageObject, VideoObject
- Event
- Organization
- Person
- Place, Local Business, Restaurant
- Product, Offer
- Review
- FAQ
We could not find a suitable schema plugin or extension for Umbraco. One may exist we simply couldn’t find one. There is nothing available like Yoast SEO for Umbraco. The closet is SEO Checker, but it does not support schema.
Canonical Tags
Canonical tags are HTML elements that help webmasters prevent duplicate content issues in Search Engine Optimization (SEO) by specifying the “canonical” or “preferred” version of a web page. They are used in situations where similar or identical content appears on multiple URLs. By implementing a canonical tag, you tell search engines which version of the page you want to appear in search results.
Canonical tags are essential for SEO because:
- Avoid Duplicate Content: They help search engines understand which page is the original or preferred version, avoiding issues with duplicate content that can dilute search engine rankings.
- Consolidate Page Rankings: They enable search engines to consolidate the link signals for similar or duplicate pages to a single, canonical URL. This concentration of link equity boosts the ranking potential of the preferred page.
- Improve Crawl Efficiency: By guiding search engines to the canonical page, they can avoid spending the crawl budget on duplicate pages, making the crawling process more efficient.
- Better User Experience: They ensure that users are directed to the most relevant or authoritative page, improving their experience.
Umbraco supports canonical tags, but they are not included in the core CMS. This means that while Umbraco doesn’t provide a built-in feature for canonical tags, it allows for their implementation through customization. You can add canonical tags in Umbraco by creating a property in the content management system, where editors can input the canonical URL. This property is then connected to a template to insert the canonical tag in the page’s header. This approach offers flexibility, enabling you to implement canonical tags exactly as needed for your specific website structure and SEO strategy.
SEO Checker can also assist with managing canonicals if you want to go the package way. To our knowledge, there is not a better Umbraco package for managing canonicals.
Robots.txt
Robots.txt is a text file located at the root of a website that tells search engine crawlers which pages or sections of the site should not be crawled or indexed. It’s important for SEO for several reasons:
- Control Crawl Budget: It helps manage the site’s crawl budget by preventing search engines from wasting resources on irrelevant or duplicate pages.
- Prevent Indexing of Non-Public Pages: It can be used to keep certain pages (like admin pages) out of search engine results.
- Guide Search Engines: It assists search engines in efficiently crawling the site, improving the indexing of desired content.
However, it’s important to note that robots.txt is a guideline, not an enforcement. Search engines typically respect the instructions in a robots.txt file, but it does not guarantee that the specified pages will not be indexed. Most of the plugins available for Umbraco robots.txt create a sitewide robots.txt file that can be edited in the CMS but does not allow CMS editors to set robots.txt per content type.
Blend RobotsTxt
Features:
- Enables robots.txt at the root of the Umbraco website
- Configured via appSettings
Pricing:
- Free
Last known update:
- March 2023
No Follow, No Index
In Umbraco, noindex and nofollow settings, which are crucial for controlling how search engines index and pass link equity, are not included in the core CMS. However, they can be added and customized to fit your needs. For instance, on umbraco.com, they implemented a simple dropdown that controls these settings at the page level. When a specific setting is selected, the corresponding meta tag (e.g., <meta name="robots" content="noindex, nofollow">
) is automatically added to the <head>
section of the page. This customization ensures that you can effectively manage how search engines index and follow links on your site.
Hreflang Tags for Multilingual Sites
In Umbraco, handling hreflang tags for multilingual sites is a customizable feature. From Umbraco 8 onwards, the introduction of language variants enables better management of multilingual content. This feature allows for side-by-side editing and integrates seamlessly into the editor workflow.
To ensure that search engines display the correct language variant of a page in search results, hreflang tags can be added to the Umbraco website. These tags are included in the page templates and applied to pages with multiple language variants. The implementation of hreflang tags is flexible, allowing you to tailor them to the specific multilingual setup of your site.
Title Tags and Meta Descriptions
In Umbraco, title tags and meta descriptions are not included in the core CMS, but they are typically added in most starter kits and themes. To implement these features, properties for title tags and meta descriptions are added to document types. These properties are then rendered in the site templates. This setup allows for updating title tags and meta descriptions for all pages on the Umbraco site. For a better editor experience, character limits can be set for these fields to prevent truncation in search results. This approach offers flexibility in customizing how title tags and meta descriptions are handled across different pages. Keep in mind for SEO you may require additional fields for various social media channels. Facebook and Twitter like different length titles and descriptions as well as different ideal image sizes. Either way won’t get title and meta description controls out of the box but you can specify your needs or use a plugin (like SEO Checker) to add these basic SEO functions.
SEO Checker – Umbraco SEO Plugin
SEO Checker:
Identify and resolve common SEO issues before page release. It includes Google guideline checks, snippet and social media previews, managing redirects, and URL rewriting for Umbraco CMS.
Features:
- Inbound link issues check
- Redirect management
- URL rewriting with canonical management
- Meta description generator
- Robot.txt
- Sitemap.xml
Pricing:
€ 199,00 for a domain license
€ 599,00 for a server license
€ 899,00 unlimited license
Last Known Update:
- Q3 2023
- CMS Core v12 or greater
AMP Support
Umbraco SEO Plugin – AMP Package
While Google still supports AMP, the ranking systems that made AMP valuable for SEO changed in 2021. Most SEO experts no longer recommend investing in AMP or bothering to implement it. AMP For Umbraco: The extension creates Google AMP pages from your content by providing an AMP boilerplate view. The last known update was way back in 2017 so this extension is unlikely to work with Umbraco 13 which is completely .NET Core (not MVC). Other approaches for adding AMP to Umbraco are here.
Features:
- AMP layout view
- AMP alternate URL
- AMP controller
- Event handler
- HTML converter (invalid HTML to valid AMP HTML elements)
Pricing:
- N/A
Last Known Update:
- Last updated 3/17/2017
- CMS Core 7.4.0 or greater (unknown compatibility with v12, v13)
8 Comments