How SEO-friendly is Umbraco?
Umbraco is an SEO-friendly CMS. You get full control over the HTML, the URLs and the metadata. Umbraco also takes care of one of the riskiest SEO jobs for you: when a page's URL changes, it creates the 301 redirect automatically. It doesn't ship every SEO setting ready-made, though. Meta titles, canonical tags, XML sitemaps and robots.txt are added when the site is built. How well an Umbraco site does in search therefore comes down to how it's implemented.
Below, we go through the 21 features from our SEO-friendly CMS series and show how Umbraco handles each one. We run umbraco.com on Umbraco, so some of the examples come from our own setup.
Built into Umbraco
Automatic 301 redirects, readable URLs from the content tree, custom URL names, correct 404s, language variants, image cropping and resizing, and multiple sites.Added when the site is built
Meta titles and descriptions, canonical tags, meta robots, XML sitemap, robots.txt, structured data, hreflang and tracking scripts.Up to your front end
Page speed, Core Web Vitals and responsive design. Umbraco doesn't dictate your HTML, so these are in your team's hands.The 21 features at a glance
# | Feature | In Umbraco |
|---|---|---|
1 | Responsive design | Up to your front end; Umbraco doesn't dictate the HTML |
2 | Page speed | Mostly front end; image processing is built in |
3 | HTTPS | Supported; automatic certificates on Umbraco Cloud |
4 | Core Web Vitals | Up to your front end |
5 | Tracking scripts | Added to templates |
6 | Crawlability | Server-rendered HTML by default |
7 | robots.txt | Added when the site is built |
8 | Noindex and nofollow | Added when the site is built |
9 | Navigation | Built from the content tree |
10 | Redirects | Built in: automatic 301s when a URL changes |
11 | 404 pages | Built in: correct status code, custom page possible |
12 | Canonical tags | Added when the site is built |
13 | URL structure | Built in: follows the content tree |
14 | XML sitemap | Added when the site is built, or with a package |
15 | Structured data | Added to templates |
16 | AMP | Possible, but no longer needed |
17 | Hreflang | Language variants built in; tags added to templates |
18 | Title tag and meta description | Added when the site is built |
19 | Page URL | Built in: editable per page |
20 | Headings | Built-in rich text editor; formats can be limited |
21 | Image alt text | Field in the rich text editor; add one for media |
Website performance features
The first five features decide how fast and secure your site is for visitors. Most of them live in the front end, which is where Umbraco gives you the most freedom.
1. Responsive design
Umbraco has no fixed theme or front end. Your developers write the HTML and CSS, so the site is as responsive as they build it, and a mobile-first design works without any workarounds in the CMS.
2. Page speed
Umbraco doesn't add scripts or styles to your pages, so the front end only carries the code your team puts there. Image processing is built in: Umbraco comes with ImageSharp, so a template can ask for an image cropped and resized to the size it's shown at, rather than loading the full original upload. From there, the usual techniques apply, such as caching, a CDN, minification and modern image formats.
On Umbraco Cloud, static files such as CSS, JavaScript, images and fonts are cached on a CDN by default for the custom hostnames you add.
3. HTTPS
Umbraco supports HTTPS, and a setting forces all traffic to use it (SSL and HTTPS in the docs). On Umbraco Cloud, every hostname you add gets a TLS certificate automatically. It renews on its own as long as your DNS points to Umbraco Cloud.
4. Core Web Vitals
Core Web Vitals measure three things: loading (Largest Contentful Paint), responsiveness (Interaction to Next Paint, which replaced First Input Delay in 2024) and visual stability (Cumulative Layout Shift). All three depend mainly on the front end. You control the markup, the scripts and the image sizes, so you can tune each one without fighting the CMS.
5. Tracking scripts
Analytics and tag manager scripts go into the main layout template or a partial view, so they load on every page. If your editors need to add scripts themselves, your developers can give them a field for it in the backoffice.
Technical SEO features
Next up is what search engines see when they crawl your site. Umbraco does the most for you out of the box in this group, especially with URLs and redirects.
6. Crawlability
Umbraco renders pages as HTML on the server by default, so search engines and AI crawlers can read the content without running any JavaScript. If parts of a page load with JavaScript, check them with the URL Inspection tool in Google Search Console to see what Google actually gets.
7. robots.txt
There's no robots.txt file out of the box. You can add it as a static file, or create it as a page in the backoffice so editors can update it without a deployment. Either way, add a Sitemap: line that points to your XML sitemap.
8. Noindex and nofollow
Core Umbraco has no noindex setting, but it's one of the most common additions. Your developers add a toggle or dropdown to the page settings, and the template outputs the matching <meta name="robots"> tag. On umbraco.com, editors pick the setting from a dropdown on each page.
9. Navigation
Your templates build menus and breadcrumbs from the content tree. When an editor adds, moves or hides a page, the navigation follows. The structure stays crawlable, and breadcrumb markup is easy to generate from the same tree.
10. Redirects
Redirects are built in and switched on by default. Say you rename or move a page and publish it. Umbraco then creates a 301 redirect from the old URL to the new one, for that page and every page below it. You can see and remove these redirects in the Redirect URL Management dashboard in the Content section (URL redirect management in the docs).
Internal links made with Umbraco's content and link pickers point to the page itself, not to a fixed URL, so they keep working when a page moves. For redirects you set up yourself, for example from an old website, most teams add a redirect package.
11. 404 pages
When a page doesn't exist, Umbraco returns a 404 status code, so search engines know to drop it. You can choose your own 404 page and write it in the backoffice like any other page (custom error pages in the docs).
12. Canonical tags
Canonical tags aren't in core, but they take little time to add. A common setup is a link field on each page that the template outputs as <link rel="canonical">. When the field is empty, the page points to itself.
13. URL structure
URLs follow the content tree. A page placed under "Products" gets a URL like /products/page-name/, in lower case with hyphens, and Umbraco doesn't add IDs, file extensions or extra folders.
14. XML sitemap
Umbraco doesn't generate an XML sitemap out of the box. You can build one with a template by following the XML sitemap tutorial in the docs, or use a community package such as SEO Toolkit. Add a "hide from sitemap" option to your pages so editors can keep pages out of it.
15. Structured data
You can add any schema.org markup as JSON-LD in your templates and fill it from the page's own fields, so the markup always matches what's on the page. On umbraco.com, we use types such as Organization, WebSite, BreadcrumbList, Article and FAQPage. Read more in What is schema markup? and in our partner Equator's guide on how to implement schema markup in Umbraco.
16. AMP
You can build AMP pages with Umbraco, but there's no ready-made setup, and for most sites it's no longer worth the effort. Google stopped requiring AMP for Top Stories in 2021, and a fast responsive page gives you the speed without a second version of every page to maintain.
17. Hreflang and multilingual sites
Language variants are built into Umbraco, so one page can hold its content in several languages. With Culture and Hostnames, you connect each language or site to its own domain or path, and you can run several websites from one installation. Umbraco doesn't generate hreflang tags for you. Your developers add them to the template by looping through the languages each page is published in.
On-page SEO features
The last group covers what editors work with every day. Here, the setup your developers choose decides how easy it is for editors to get SEO right on every page.
18. Title tag and meta description
Fields for these are added when the site is built, and most starter kits include them. Developers usually add them as a reusable set on every page type. Editors see a character limit as they type, and the template can fall back to the page name if a field is left empty.
19. Page URL
A page's URL comes from its name by default. Editors can change the URL without renaming the page by using the built-in umbracoUrlName property (routing properties in the docs). If the URL changes after publishing, the automatic redirect from feature 10 takes care of the old one.
20. Headings
Editors write headings in the built-in rich text editor, and your developers decide which heading levels it offers. On umbraco.com, for example, we removed H1 from the editor, so every page keeps the one H1 that comes from the template.
21. Image alt text
When editors insert an image in the rich text editor, there's a field for alt text. Images in the media library don't have an alt text field by default, and that's an easy one to miss in a new build. Add the field to the Image media type, and make it mandatory if every image should have one.
Going headless
If you use Umbraco as a headless CMS through the Content Delivery API, your front end renders the pages instead of Umbraco's templates. Several SEO tasks move with it: rendering HTML that crawlers can read (with server-side rendering or static generation), outputting metadata and structured data, building the sitemap and handling redirects. Your content model and editor fields stay the same, so the main job is to agree before launch which of these tasks the front end owns.
SEO for AI answers
AI assistants and answer engines read the same pages as search engines, so the same basics apply: clean HTML, clear headings, short passages that answer a question directly, and structured data that matches what's on the page. Umbraco's structured content model helps here. Each page type has defined fields, so summaries, FAQs and metadata come out the same way on every page instead of depending on how each editor formats them. No CMS can guarantee that a page gets cited in an AI answer, but a well-structured site gives your content a better chance of being understood correctly.
So, is Umbraco SEO-friendly?
Yes. Umbraco doesn't force code, URLs or markup on you that you'd need to work around, and it handles redirects and URLs, where a lot of SEO damage normally happens.
The rest is built to fit your site, usually early in the project.
If you're choosing a CMS or a partner, ask how they'll set up the parts that aren't in core: title and meta fields, canonical tags, meta robots, the XML sitemap, robots.txt, structured data and hreflang. A good Umbraco build has all of them in place from launch.
Frequently asked questions
Next steps
Read the full series: Part 1: website performance features, Part 2: technical SEO features and Part 3: on-page SEO features
Find an Umbraco partner to build your site
Choosing a new CMS? Read How to choose the right CMS