Skip to main content

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.

photo of association members having conversation about Umbraco SEO Plugins
SEO FeatureIncluded in Core UmbracoIncluded in Core Umbraco
Responsive DesignYes
Page SpeedYes
HTTPS SupportYes
Core Web Vitals ParametersYes
Tracking ScriptsYes
Crawlability and IndexabilityYes
Robots.txt FileNo
Noindex and Nofollow SettingsNo
Navigation Menus and ElementsYes
URL Redirect ManagementYes
Handling of 404 ErrorsYes
Canonical TagsNo
URL Structure and TaxonomyYes
XML SitemapsNo
Schema MarkupNo
AMP SupportNo
Hreflang Tags for Multilingual SitesNo
Title Tags and Meta DescriptionsNo
Page URLYes
Content Headers (H1, H2, etc.)Yes
Image ALT TextYes

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

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. Control Crawl Budget: It helps manage the site’s crawl budget by preventing search engines from wasting resources on irrelevant or duplicate pages.
  2. Prevent Indexing of Non-Public Pages: It can be used to keep certain pages (like admin pages) out of search engine results.
  3. 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

SEO Checker - SEO Plugins for Umbraco

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:

AMP Support

Umbraco 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)


Discover more from AdTelic

Subscribe to get the latest posts sent to your email.

Discover more from AdTelic

Subscribe now to keep reading and get access to the full archive.

Continue reading