When building a website with Umbraco CMS, one of the first SEO questions developers run into is surprisingly simple:
How do you properly manage meta titles and descriptions?
Unlike some CMS platforms, Umbraco doesn’t ship with SEO fields out of the box. There’s no default interface for editors to configure titles, descriptions, or other metadata. This might be a bit frustrating but it is actually Umbraco's biggest strength.
Because you’re not locked into a predefined SEO system, you can design one that actually fits your project. The challenge is making sure you implement it in a way that works both for developers and for content editors.
In this article we’ll go through:
Why meta titles and descriptions matter for SEO
A simple implementation you can add to any Umbraco project
A common mistake developers make
How to build a more scalable solution for larger websites
Why Meta Titles and Descriptions Matter
Meta titles and descriptions are among the most basic SEO elements on any website.
The title tag is one of the strongest on-page signals search engines use to understand what a page is about. It’s also the title that usually appears in search results.
The meta description doesn’t directly impact rankings, but it plays an important role in click-through rates. A clear and relevant description can make the difference between someone clicking your result or scrolling past it.
For most websites, this means every important page should have:
A unique meta title
A clear meta description
Enough flexibility for editors to adjust them when needed
Since Umbraco gives developers full control over templates and content models, implementing this correctly is mostly a matter of setting up the right structure.
The Simple Way to Add Meta Fields
The most straightforward approach that is used throughout the Umbraco community is to add two properties to your document types:
Meta Title
Meta Description
These can simply be created using standard property editors in Umbraco. A single line text field usually works well for the title, while a textarea is better suited for descriptions. Once these fields exist, you can render them in your layout template.
For example:
<meta name="description" content="@Model.Value("metaDescription")" />
You can either put that piece of code in your base template or you move it to a partial view so that it's easier to find and use throughout the codebase in case you need it.
At this point, editors can manually configure the SEO metadata for each page. While this works, there is one problem with this approach that often shows up later.
The Mistake Many Umbraco Projects Make
A common pattern in Umbraco projects is that meta fields are added quickly, but without much thought about how they should behave across the website.
This can lead to issues like:
Pages missing meta titles
Duplicate titles across multiple pages
Editors unsure what to enter
Titles that don’t include the site name or brand
Another issue is that developers sometimes forget to add fallback logic.
If the meta title field is empty, what should happen?
Should it use the page name?
Should it automatically append the website name?
Without fallback logic, empty fields can easily result in missing metadata. While this might not sound that important, it helps your content editors a lot when such features are correctly configured. This is where a slightly more structured implementation becomes useful.
A More Scalable Approach
For larger projects, it’s usually better to treat SEO fields as a reusable part of your content model instead of adding them individually to every document type. One common approach is to create a composition that contains all SEO related fields. This composition can then be added to any document type that should support SEO metadata.
This keeps your implementation consistent and makes it easier to expand later with additional fields such as:
Canonical URLs
Open Graph metadata
Robots directives
You can also centralize the rendering logic so that fallback behaviour is handled in one place. For example, a meta title might follow a structure like this:
Custom meta title (if provided)
Page name
Page name + site name
That way, even if editors don’t manually enter a title, your pages will still output something meaningful.
Example: Adding Fallback Logic for Meta Titles
As mentioned earlier, relying entirely on editors to fill in meta titles isn’t always ideal. Pages might be published without metadata, which can result in empty or poorly optimized title tags. A simple way to improve this is by adding fallback logic in your layout.
The idea is straightforward: if the editor hasn’t entered a custom meta title, the system should automatically generate a reasonable default. A basic example might look like this:
var siteName = "Your Website Name";
var metaTitle = Model.Value<string>("metaTitle");
if (string.IsNullOrWhiteSpace(metaTitle))
{
metaTitle = Model.Name + " | " + siteName;
}
}
<title>@metaTitle</title>
With this approach, editors still have full control when they want to customize a title. But if they leave the field empty, the page will automatically fall back to something sensible. This small piece of logic can prevent a lot of SEO issues, especially on larger websites where not every page is manually optimized.
You can apply the same concept to meta descriptions as well, connecting it up to any of the existing fields that you already have. However, while the name is always available, a field that describes your description might not be. In such cases, you could go and leave the description empty.
Best Practices for Meta Titles in Umbraco
Once the technical setup is in place, the next step is making sure meta titles are used effectively. Even the best implementation won’t help much if titles are inconsistent or poorly written. Here are a few simple best practices that work well for most Umbraco projects.
Keep titles within a reasonable length
Search engines typically display around 50–60 characters in search results. Longer titles can still work, but they may get truncated.
Make every title unique
Each page should have a distinct title that clearly describes its content. Duplicate titles make it harder for search engines to understand which page should rank.
Include important keywords naturally
Your most relevant keyword should usually appear somewhere in the title, but it should still read naturally for users.
Consider adding your brand name
Many websites append their brand name to the end of the title. This helps with brand recognition and keeps titles consistent.
For example:
Avoid automatic duplication
If your implementation automatically appends the site name, make sure editors know they shouldn’t manually include it in the meta title field.
Adding Other Meta Tags in Umbraco
Once you’ve implemented meta titles and descriptions, you may want to extend your setup to support additional meta tags.
Because Umbraco CMS gives you full control over the HTML output, adding more metadata is simply a matter of expanding your content model and layout. Some commonly used meta tags include:
Robots directives
These allow you to control whether a page should be indexed or followed by search engines.
This can be useful for pages like search results, filtered listings, or temporary landing pages.
Open Graph metadata
Open Graph tags are used by social platforms such as Facebook and LinkedIn to generate previews when a page is shared.
Examples include:
<meta property="og:description" content="Page description">
<meta property="og:image" content="image-url">
Adding these fields to your SEO composition allows editors to control how their content appears when shared on social media.
Canonical tags
Canonical URLs help prevent duplicate content issues by telling search engines which version of a page should be treated as the primary one.
In many Umbraco implementations, this is generated automatically using the current page URL. Because Umbraco allows developers to define their own metadata structure, many projects eventually group all of these fields into a centralized SEO composition. This makes it easier to maintain and avoids scattering SEO logic across multiple templates.
For developers working on multiple Umbraco projects, this is often the point where using a dedicated SEO package can save time by providing these features out of the box instead of rebuilding them repeatedly.