Six strategies to improve your Sitecore SEO

It is essential that you deliver right contents to your customers. In-order to do so, it is necessary to follow proper SEO strategies to stay on top of search results. If you do not follow the SEO best practices, it might also cause negative effects that might drop your site in search rankings.
 
Let's discuss some strategies to improve your Sitecore Site for Search engines :
 

Meta-Tags

Meta tags are part of the HTML, it describes the content of your page to search engines. Make sure your Sitecore pages have the below listed meta-tags as fields within your page templates and design renderings which can add these tags when HTML is built.

  • Title Tag

    <title>Sitecore SEO Strategies</title>

    Make sure all your Sitecore pages have a proper title that is well under 70 characters long and to limit the character length try to use character savers like '&' instead of 'And' , '|' instead of 'Or'  etc. Most importantly, avoid duplicate Titles as much as possible, try to maintain unique names  for pages.

     

  • Meta Description

    <meta name="description" content="Six strategies to improve your Sitecore SEO">

    Meta description had to be less than 160 characters but it has been improved to a max 300 characters. Even though description tag does not determine your ranking, it improves the click through rate when it is attractive. So remember to make it attractive by keeping the length of characters less than 300.

    Sitecore SEO Google Search


     

  • Canonical and Alternate tags

    <link rel="canonical" href="https://www.yoursitecoredomain.com";>

    You might often end up having multiple URLs for a same page. It is necessary to inform Search engines to consider all these URLs as same page.
    The canonical tag is used to give the preferred URL for search engines to use when returning the page in the search results.

    For example, you might have a page with several minor variations, or query parameters that are referenced in a different way in different links ex: https://www.yourdomain.com?id=3658 , https://www.yourdomain.com/home.aspx . As the canonical value is set to "https://www.yourdomain.com"
    Search engines will now link all your search results to this link instead of other variants.


    The alternate tag is used to point to a version of the page that has been translated into another language. For example, you could have multiple language translations for same page.

    <link rel="alternate" href="https://www.yoursitecoredomain.com/en"; hreflang="x-default">
    <link rel="alternate" href="https://www.yoursitecoredomain.com/en"; hreflang="en">
    <link rel="alternate" href="https://www.yoursitecoredomain.com/de-de"; hreflang="de-DE">
    <link rel="alternate" href="https://www.yoursitecoredomain.com/es-es"; hreflang="es-ES">


    When regional users say Spanish, search for contents they will be sent to "es-Es" page. This is important to retain your regional users and serve translated pages.

     

  • Robots meta tag

    <meta name="robots" content="index, nofollow">

    The tag will inform search engines which pages on your site should be indexed, which should not and much more (please go through below list of attributes). Even though these can be controlled in "robots.txt", but it is generally used in pages to prevent search engines from indexing it.
    These attributes that will intimate Google while crawling your pages.

    Noindex — page is not indexed
    Nofollow — It prevents search engines from following ALL the links on the page
    Nosnippet — It will prevent description of your page in appearing in search results
    Noarchive — prevents a cached copy of the page to appear in search results 


    I hope you can now understand the power of robots, it is more than just index and noindex.

     

  • Social Media Meta Tags (Open Graph, Twitter Cards)

    <meta property="og:url" content="https://www.yoursitecoresite.com/2011/12/08/famous-blog/"; />
    <meta property="og:title" content="Famous Blog" />
    <meta property="og:description" content="Famous blog created in my site to promote the recent changes in management blah blah" />
    <meta property="og:image" content="https://www.yoursitecoresite.com/images/2011/12/08/famousblog.jpg"; />


    Facebook introduces OG tags back in 2010 and it is further recognized by other major social media platforms (LinkedIn, Google+, etc.). OG tags is a way to manage how your page information is represented when shared via social channels. This possibility may help you enhance the performance of your links on social media, thus driving more click-throughs and increasing conversions. It is mandatory to have them when you do extensive social media campaigns. In below image, you can notice how the image and title of the page is picked up automatically when I tried to share a blog in LinkedIn.

    OG Card Sitecore SEO

    <meta name="twitter:card" content="summary" />
    <meta name="twitter:site" content="@yoursitecoresite" />
    <meta name="twitter:creator" content="@yoursitecoresite" />


    Twitter cards are similar to OG tags (title, description, image, etc.), but they are used by Twitter. These tags will make your tweet look different from common text tweets as they are automatically pre-built  when your customer tweets about your page.

    Twitter Card Sitecore SEO

 

Use HTML5 Semantic elements

Many miss out that HTML semantics are important when Sitecore components are designed. For example when a blog component is designed, it is important that it is wrapped up within article tag and when a menu is designed it should be wrapped up within nav tag.

These new HTML5 tags are created to classify different type of contents. Search engines use these tags to categorize your content and it improves your search rankings.

  • <article>: The  tag makes it easy to mark new blog posts or article entries in an online publication. Search engines can put more weight on any content wrapped with this tag. It also helps to clean up the HTML code by reducing the use of <div> tags.
  • <aside>: An <aside> tag can be like a section tag, but one that focuses on secondary content such as sidebar, or a post-article call to action might be a good place to use <aside> tags.
  • <section>: Blog posts are typically broken into different sections to make it easier for users to find what they are looking for. The <section> tag can be used to specify these subsections of your content, each with their own separate HTML heading.
  • <header>: The <header> tag is similar to the <h1> tag in that it can be used to specify the header of a page. But it can also be used to indicate the header section of a page and can even contain navigation links and other relevant text.
  • <footer>: While not as useful as the <header> tag, the <footer> tag still offers SEO benefits as it can be used to specify content in the footer section of a website such as company information and other useful links. Each page can even have its own footer section.
  • <nav>: Navigation is undoubtedly one of the most important aspects of a website. The <nav> tag can be used to specify links on a page such in the main site navigation or for pagination.
  • <video>: The <video> tag is easily one of the most useful tags as it allows for cross-browser compatibility to display videos without having to use Flash. HTML5 also makes it possible to include additional information about the video such as captions and subtitles.
 

Using Schema.org Item types

         Identify different Schemas or items types that are used in your Sitecore site. You can find complete list of Item types that Schema.org supports https://schema.org/docs/full.html
      
 
SCHEMAORG Sitecore SEO
        
         In below table, I have documented the list of Sitecore page templates that can be categorized into various Schema Itemtypes. I have also mentioned item properties that can be used under each type of Sitecore Pages.
 
 
Page Templates in Sitecore
Schema Item Type
 Schema Item Properties
Home,
Campaign Page,
Contact Us Page,
Testimonial Page,
Form page ..
About ,headline, description, name, image, text, Url
 
 
 
 
Event Page
About, headline, name, description, image, text, Url, startdate, endDate, eventStatus
News Page
NewsArticle
About, headline, name, description, image, text, Url, dateline, articleBody
articleSection, backStore
Press Release Page
Article
About, headline, name, description,image, text, Url, articleBody, articleSection, backStore
Blog Page
About, headline, name, description, image, text, Url, Blogpost, Author, Headline, backStore
Blog Author Page
About, headline, name, description, image, text, Url, additionalName, address, Award
Birthdate, birthPlace, Brand, Email, familyName, Gender, givenName, telephone, worksFor, workLocation
Product Page
About, headline, name, description, image, text, Url, additionalProperty, Brand, Category, Color, Depth, Model, productID, Sku, productionDate, releaseDate, Weight, Width
 
 
 
 

Up to Date Sitemap

It is recommended to have Sitemap auto generated and up to date. Also make sure to generate sitemap for each of your languages in a multi-language Sitecore instance. 

You can notice that we have designed various processors and events to automate Sitemap generation. Every time a content is published, deleted or created - a Sitemap job runs to update the list of pages within Sitemap.xml. Search engines can now gather latest set of URLs when it crawls your site each time.

 

  1. <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  2.     <sitecore>
  3.         <sitemap>
  4.             <site name="YourSitecoreSite" />
  5.         </sitemap>
  6.         <pipelines>
  7.             <createSitemapXml>
  8.                 <processor type="Versusmind.Foundation.Sitemap.Pipelines.Processors.SitemapXmlProcessor, Versusmind.Foundation.Sitemap">
  9.                     <param desc="indexName">sitecore_web_index</param>
  10.                     <param desc="dataBase">web</param>
  11.                 </processor>
  12.                 <!-- Add more processors here to index other kinds of data -->
  13.             </createSitemapXml>
  14.             <httpRequestBegin>
  15.                 <processor patch:before="processor[@type='Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel']" type="Versusmind.Foundation.Sitemap.Pipelines.Processors.SitemapRequestProcessor, Versusmind.Foundation.Sitemap">
  16.                 </processor>
  17.                 <processor patch:before="processor[@type='Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel']" type="Versusmind.Foundation.Sitemap.Pipelines.Processors.RobotsTextProcessor, Versusmind.Foundation.Sitemap">
  18.                 </processor>
  19.             </httpRequestBegin>
  20.         </pipelines>
  21.         <events>
  22.             <event name="indexing:updateditem">
  23.                 <handler type="Versusmind.Foundation.Sitemap.Pipelines.Processors.PublishEndProcess, Versusmind.Foundation.Sitemap" method="UpdateSitemapRemote" />
  24.             </event>
  25.             <event name="indexing:deleteitem">
  26.                 <handler type="Versusmind.Foundation.Sitemap.Pipelines.Processors.PublishEndProcess, Versusmind.Foundation.Sitemap" method="UpdateSitemapRemote" />
  27.             </event>
  28.             <event name="indexing:added">
  29.                 <handler type="Versusmind.Foundation.Sitemap.Pipelines.Processors.PublishEndProcess, Versusmind.Foundation.Sitemap" method="UpdateSitemapRemote" />
  30.             </event>
  31.         </events>
  32.         <settings>
  33.             <setting name="robotsFolder" value="/Site Settings/Robots" />
  34.             <!--Change context DB based on CM and CD-->
  35.             <setting name="sitemap.contextDatabase" value="web" />
  36.             <setting name="sitemap.contextIndex" value="sitecore_web_index" />
  37.         </settings>
  38.     </sitecore>
  39. </configuration>

Page Retirement Plan with proper redirection

Many content authors in Sitecore move / rename or delete pages without knowing the consequences. Any of these activities will modify the URL making the old link broken.

Redirects Sitecore SEO

ex: let's say you have content  "Home/Products/Your famous product" . The URL will be something like this --> "https://www.yoursitecoresite.com/products/your-famous-product"

Renaming it to "Your Popular product" will modify its URL to https://www.yoursitecoresite.com/products/your-popular-product
Moving it to Home folder will update URL to https://www.yoursitecoresite.com/your-famous-product
Deleting the page will make the previous URL broken.


If any of  your visitors have bookmarked previously might end up seeing a 404 Not Found Page. Automate the redirects when any of the above happens so that visitors can land in proper pages instead of viewing the 404 Page. This way, they will end up staying in your site than leaving 

Optimize images and page load time

Google has indicated site speed is one of the indicator for search ranking. Google might be specifically measuring time to first byte as when it considers page speed. In addition, a slow page speed means that search engines can crawl fewer pages using their allocated crawl budget, and this could negatively affect your indexation.

Sitecore Image Optimizer

Moreover, it is essential to have shorter page load times to improve user experience. Do not bloat your page with too many components, it can also affect the user experience. Use tools like Dianoga to optimize images within Sitecore or please have a look at my repository to optimize images when it is uploaded (Sitecore Image Compression)  if you need to optimize them when it is uploaded to media library.


 

I hope you have a clear understanding of how Sitecore SEO works. You can get in touch with us and we can have a conversation on how to achieve your marketing goals by optimizing your web site's SEO !

 

Ramkumar Nambhi Krishnan Dhinakaran

Sitecore MVP and a Sitecore Certified professional with o ver 8 years of exp in Web Cms like Sitecore, Ektron, Umbraco and Episerver.