"Introduction to Content Architecture", the eBook for designing effective and scalable digital experiences. Download
Building a website that is optimized for Search Engines (SEO) is a combined responsibility of both the developer building your website, your content architecture and your content editors.
Agility CMS assists in this by providing some built-in fields as part of our Page Management to encourage developers to use these fields and for editors to have a consistent place to manage this.
This guide highlights the relevant fields for SEO that you can manage in the CMS. It is recommended to use these fields where possible.
If you are using these fields in the CMS and are not appropriately being reflected in your website, please speak with your website developers.
In the Pages section in Agility CMS, each page has a set of built-in properties to assist with managing SEO content.
This should represent the <title>
HTML element that is outputted on your website. This is used for both Search Engines as well as displaying the title of the page in your web browser tab.
<title>My Page Title</title>
This should represent the URL slug of the page which comprises part of the full URL for your page on your website. For example, if your Page Name is "services" and it is a sub-page of "about" then your full URL for your website would be:
/about/services
This property should represent whether this page should be included in the website's sitemap (sitemap.xml) file reported to search engines. Developers may also interpret this property to determine whether the page should allow robots to crawl it. In general, if this property is checked, the page should be visible in the sitemap and be crawlable by search engines. If unchecked, the page should disallow search engines from crawling it.
This property should represent the meta description used in the HTML page output. This is used by search engines to learn more about your page, and they often use this in their search results. This is a plain text field and should not include any HTML. The assumption is that the website will output this as a properly formatted meta tag.
Agility CMS is a Content-First Headless Content Management System
<meta name="description" content="Agility CMS is a Content-First Headless Content Management System" />
This property should represent the meta keywords used in the HTML page output. This is a plain text field and should not include any HTML. The assumption is that the website will output this as a properly formatted meta tag.
Agility CMS, Headless CMS, Cloud CMS, SaaS, Digital Experience Platform, The Fastest CMS, Headless Ecommerce, Headless Page Management
<meta name="keywords" content="Agility CMS, Headless CMS, Cloud CMS, SaaS, Digital Experience Platform, The Fastest CMS, Headless Ecommerce, Headless Page Management" />
This property is designed to allow editors to add additional HTML meta tags or scripts that should appear in the <head>
of the HTML document. It should accept and output raw HTML.
<meta name="robots" content="noindex">
<meta name="robots" content="noindex">
While you can use these fields manually to set specific SEO content, you may find it easier to auto-generate some of this content like Open-Graph tags by using existing structured content. For example, let's say you want to generate a twitter card. A twitter card is comprised of a title, description, and image. You may already have fields on your content that can be used for this.
A developer can then auto-generate these tags (and more) using your existing content that is stored on other fields.
Search engines have introduced the concept of canonical links in an attempt to solve the problem of duplicate data in their search results. The basic problem is that multiple links to the same content can vary in style, thereby creating duplicate instances in the results pages of a search. The variation in style could be really simple like these:
All of these links produce the same content, and would be considered different by a search engine and would, therefore, produce duplicate results. Consider a more complex example:
Again, all of these links essentially lead to the same content. The variances defined by the query string parameter only alter the way content is displayed, and not the intrinsic nature of the content itself. We, therefore, want to avoid having all four examples showing up in Google, if possible.
There are two ways to achieve this:
The first is to always use absolute urls in links - a consistent approach to linking reduces duplicates on the site and reduces the variance of links found by the search engine's crawler.
The second is to use a canonical link - this would be added to the head element of a page and contain a URL that is considered to be the 'true' path to the content. In the e-commerce style example above, the link element would look like this: <link rel="canonical" href="http://www.fishing.ca/shop/rods.aspx" />This means that however, a crawler reached the page, it would know that the content is the same as defined in the page found at the http://www.fishing.ca/shop/rods.aspx and would therefore not index it separately.
There are a number of caveats:
In summary, using canonical links will help us build better search-engine optimized sites; but we shouldn't stop doing the basics like using proper absolute urls and building good site maps etc. There's still more research to do on all of this!