on 08 August 19
Adobe Experience Manager (formerly CQ5) is designed for building websites, and websites need to be found. Search engine optimization (SEO) is often overlooked during the implementation process, because it isn't defined up-front as a requirement. I’d like to share four actionable SEO best practices, specifically applied to building and using AEM components:
1. The name of the page is important.
2. Know how to use page title and description.
3. Don’t use H1 tags in your content components.
4. Use AEM to control your XML sitemap.
My hope is that you’ll keep these in mind as you are implementing your site on AEM so that you maximize the relevant traffic to your brand.
The name of the page is important.
When you create a page in AEM, you are asked to specify a title and a name. Sounds redundant, right? Wrong! The title is the common language, descriptive title of the page, for example Web Experience Management Services. The name is that page’s representation in the hierarchical URLs that AEM creates, for example http://www.citytechinc.com/us/en/services/wem.html. (wem is the name of that page.)
You want your page name to include descriptive terms, separated by hyphens – not underscores, not camel-case, not all crammed together. AEM will automatically generate your name, based on your title, but that’s not necessarily best. In the previous example Web Experience Management Services would create the name web-experience-management-services. Since you know that the parent page is services, there is no reason to include that. A more appropriate name would be web-experience-management.
SEOMoz has a good cheat sheet for SEO-friendly URLs.
Know how to use page title and description.
Two important pieces of page metadata are exposed to search engines (assuming you extend from the foundation page component). The page’s title and description are printed in the page’s HTML as meta properties. The title is also printed in the <title> attribute inside <head> (it’s what displays in your browser chrome). Search engines see these meta properties as very important. The search engine will show the meta title as the link to the page, and the meta description as the descriptive text beneath that link.
Therefore, you cannot just set arbitrary or internally focused titles and descriptions for your pages. The title should be what the search engine and browser chrome will see. You have a property called Page Title if you’d like to set a different title to be displayed WITHIN THE PAGE. Think of Page Title as On the Page Title. The Title property will output a number of ways, including the meta title.
Your description will also be public. You should always set your meta description per Google's best practices. Sometimes Google will display the meta description in the page's search listing, and sometimes it will show the block of text within the page that matched the search query. Google's internal magic will determine which is best for the user. Your job is to make sure the description is there as an option.
NOTE: Since originally publishing this post, I've updated the last paragraph about meta description.
Don’t use H1 tags in your content components.
The point of an H1 tag is to contain the most important content on the page – usually the page’s title or primary subject. You cannot have more than one of the most important contents. Search engines don’t like when you try. The best way to enforce this is to never use H1 in a component that someone can drag and drop from the sidekick. Embed your H1 in your page component/template to enforce that you only ever have one per page.
You should still consider the rest of the H2s, H3s, and on to try to make a hierarchy of relevance to your content. Do what you can to make your components enforce that hierarchy.
Use AEM to control your XML Sitemap.
You should be using an XML sitemap to suggest (it doesn’t dictate) to search engines which of your pages it should crawl and how often. If you create, remove, or move pages with any kind of frequency, trying to manually update your XML sitemap gets challenging. You can use the Adobe CQ5 to automatically generate your XML sitemap for you. It would be a page component that traverses your site hierarchy and builds the XML sitemap based on page properties. It should automatically update whenever you publish a page if you have your dispatcher cache settings configured correctly.
I’ll try to post an example AEM XML sitemap implementation later.
What other SEO best practices can you think of? How would they apply to AEM? I’d like to write one or more follow-ups to this post. If you have any questions or suggestions, leave them in the comments.
Share your perspective
Share your achievement or new finding or bring a new tech idea to life. Your IT community is waiting!