The first step of Inbound Marketing Methodology is to attract people to the website or to content they are looking for. How people are going to try to find contents that they are trying to find out? If I ask this question to someone today, most people will say , ‘I will google it’.
Here are some data from my own blog. For the month of September 2016, there were 1024 visits to my blog site. Out of that 1024 visits, 645 came from Search Engines, that is 63% of total visit. It’s also noticeable that most people searched in Google and so if I keep our SEO best practices discussion around Google, we should be able to cover most important topics.
Not to brag about my blog but, this gives us some idea about, how important it is to use SEO properly. Currently search engines reach 67% of the US population and 98% of the US browsing population. Any website with good attention to SEO will show advantages as far as Inbound Marketing is concerned.
In this blog article, I will discuss implementation of SEO for websites built on Sitecore. There will be lots discussion about SEO best practices. Sitecore will be discussed at the end. I will discuss about Sitecore information architecture and Sitecore tools that can help us to apply the SEO best practices in a Sitecore implementation project.
We should keep in mind that, Google is always changing the search engine algorithms, something relevant today, may not be entirely relevant tomorrow. My focus in this article is to provide the information that will help someone to understand SEO in the context of Inbound Marketing and how to implement those SEO best practices in Sitecore.
What happens when we search in Google? Google algorithm search through the indexed documents and try to find out best possible match for the search criteria. How that works? Here is a short video by Matt Cutts on how Google search works.
In addition to finding the best content, Google also try to present the search data in many interesting ways to intrigue users. As much as it is important to understand how search works, it also important to understand how Google present search results. Each search result Google shows is called a snippet. Understanding snippet will help us to understand where Google find these snippet information and hence we will be using that to intrigue our buyer personas to attract them to our website. Again, here is a video by Matt Cutts where he explained result snippets.
The video is little old, but it is still relevant. Google, since has added many more interesting features to its search presentation. For best SEO result for the Inbound Marketing, there are two things that are most important, 1) achieving high search ranking and 2) achieving high click through rate by proper use of Google’s presentation features. Let’s dive into our journey.
Domain Name Selection
Good strategy for SEO starts from very beginning of the project. What’s going to be the domain name of the website? It is important to put some thought on that, because domain trust is important for SEO. When it comes to choose domain name, consider following
- The domain can be based on brand name or based on keyword. Google value the brand name. Having the EMD (Exact Match Domain) in the domain name doesn’t affect ranking in Google but, it might help with other search engine. From the SEO perspective it is best bet to establish a brand name for the long run. In the Sitecore world most of the time the implementations are for some sort of business and having a brand name makes sense.
- What about domain extensions? Google doesn’t give any preference to any domain name extensions but Bing does. In bing .com gets the preference. The .com extension is most popular and most desirable to searchers. Getting a .com may help a bit more than other domain name extensions.
- Keep your domain name length less than 15 characters. Shorter domain name is easy to remember, easy to share and less chance of typos.
- Avoid using too many hyphens in the domain name. Sometime using hyphen helps if you are using keyword driven domain name, but in general avoiding keyword in the domain name is a good practice.
- If you are looking to register a domain name and you find a domain name that matches with your brand was already register, it might be beneficial if you can acquire that domain name. Old domain name might get a better search ranking because of the trust it already built with the search engine. You can check the trust of the domain using Majestic SEO and power of the domain by using Moz’s Open Site Explorer site rating. I discussed these two tools in later section. Also, it doesn’t make sense to acquire domain name which doesn’t close to your brand. Some sites you can use to check for the old domain name are SEDO, GoDaddy Auction, AfterNic, DomainTools.
- There are some good domain name generator tools out there which you can use to help you with deciding a domain name. Check out panabee.com, psychicwhois.com.
Content writing for effective SEO
It’s a cliche but, I will say it, Content is the King. It is a misconception that content is the only thing that Google considers for the ranking. What Google’s aim is, to find out how trustworthy the content is and for that it needs to also look at the engagement. We will talk more about this later. But, quality of the content is really important. How do we create quality content?
- Most Important thing to remember about optimizing content for search engine is that, you are creating your content for the readers and it should be optimized for the readers. If you focus too hard for the good search ranking of your content, you may fail to deliver the message effectively to the target consumer of your content. Being said that, you want your readers or Buyer Personas to find out your content and for that you need to think about how the Buyer Personas will search for the content, what keywords they will use. We will discuss about how to choose good keywords, in the next section.
- When it comes to quality of content, Google doesn’t look at only one page of the website. Google looks at the whole domain to determine the authority and reputation of the website. What determines Authoritative Content for the search engine? Trust. More the content cites trusted sources, linked by trusted sources, published in trusted sources, written or reviewed by trusted author, more is the authority of the content. Google determines the Reputation of content by measuring the user engagement with the content. Some of the criteria Google looks at are, bounce rate (how much time user is spending on the content), social sharing metrics, website performance, user’s trust on the website etc. Using Magestic SEO, we can measure the Trust Flow and Citation Flow of a website. So before using link to a source website or approach someone to link to your content, the trust can be measured using Magestic SEO. Here is an example of Trust and Citation flow for Wikipedia.com.
- Use clearly descriptive and concise anchor text so that, user and google understand what page the link is navigating to. Make sure the anchor text can be differentiated from regular text so that, users don’t miss it or accidentally click on it. Use anchor text for linking internal pages too so that, user and google can navigate to different part of the site naturally. Do not go overboard with internal linking. Only relevant internal links should be placed.
- I mentioned before, Google checks the bounce rates to determine engagement with the content. It is important to write content that can be read easily. Use short sentences. Try to keep in 15 to 20 words. Keep the paragraph short. Use a structured layout for the content. Discuss different topics in different section of the content.
There is a myth that, keyword research for SEO is useless. It was proven by many case studies that finding out good keywords helps with search ranking. Google will eventually crawl the content but, with so many contents out there, choice of right keyword will help with staying ahead of the competition.
- Keywords or phrases are search terms that users search to find information they are looking for. Predicting the search term or the keywords, that will be entered by readers of the your contents is extremely important for the search ranking of your web pages or blog posts. Start with a list of 10 keywords for your content and use a Keyword research tool like SERPs Keyword Research Database to see the competition for the keywords in google. You can use rank checker SERPs Keyword Rank Checker to see how the websites are ranking based on the keyword you have used.
- Instead of using short keywords, use long tailed keywords, which will have more probability to give you better ranking because short keywords will be there in most sites. For example, instead of ‘Carbonator Motor’, use something ‘Carbonator Motor for Soda’ if you are writing about that kind of motor.
- When it comes to choose keywords for a content, first choose an appropriate Primary Keyword. Then select some supportive keywords. You need supportive keywords for placements in the page. You may want to put the primary keyword in the content and the supportive keywords in the Title of the page and in the URL. Supportive keywords helps to avoid over optimizing contents. Google Adsense is a great tool for finding supportive keywords.
- There is no need to add keywords in the Meta Keyword tag. Google doesn’t use Meta Keyword at all for ranking.
- Bolding words using <strong> or <b> element doesn’t help with search ranking. It helps users to read the article, if you want to emphasis certain words in your content. That way it helps with engagement. Same is true for <h1> and other heading tags.
- Keyword density in a content is something you should be aware of. Using keywords too many time in the content can cause over optimization and that can hurt search ranking. Recommended number of keywords in the page should be between 3 to 7.
Search Engine’s ultimate goal is to provide contents that people would like to see. How do the search engine know if people woud like a content? The answer is, by monitoring the conversation. It’s like real life, when we like a book, we talk about it with our friends, spread the word. Similarly more the content reach to more people, via different channels like, blogs, social media, email etc., it indicates more people liking, more conversation. So, quality content is not the only thing that matters for search ranking. How people are engaging with the content and how the content is getting distributed is something that search engine looks at today.
If the content is good and it becomes popular, more people will link to the content. Google search ranking consider this as a factor for search ranking. The dark side of ranking based on links from other sites is that, people try to game the system. Tell bunch of people to write some content and link to their site with the sole purpose to game Google search algorithm. Google doesn’t like it and there are many incidents where Google penalized websites for trying to game the system. You will find some examples here .
Whether you are linking to some source content or someone is linking to your content, it is important that those links have high trust value. A good place to check the trust of a link is to use Majestic SEO website as we discussed before in this article.
Listing the site in the directories can improve the search ranking but you need to be careful about the quality of the directory service and you need to have right strategy to implement this for your website. Here is a nice article about directory listing.
One thing to consider about link building is that, the link building should naturally grow. It’s not natural that we write a content today and hundreds of sites immediately linking to the content. If that happens, Google will consider that as suspicious.
Guest Blogging can help with search ranking but, you need to be careful because, guest blogging is only effective if it helps building the trust. First of all, the content written by guest blogger should be relevant and quality content. You should use guest blogger who has acquired some authoritative trust from Google. If you have a circle of quality blogger writing on the common interest, it will help with engagement for the community, which helps adding popularity for the content. When it comes to distributing the content, it can be distributed through different medium like, infographics, ebook, audio, video etc.
Since search ranking is influenced by the engagement towards the content. Distributing content through social media is important. Always use social sharing icon in the article. Have social networking accounts for the business and make sure the sites are publicly viewable.
Search Result Presentation
Search result presentation is as important as search result ranking. It often happens that user clicks on the third ranked search result because it’s snippet is showing some text that are relevant to the search.
What we add in the <title> tag of the page shows up as the title in the search result.
- Choose a title of the page that describes the content of the page accurately.
- Don’t use the exact target keyword in the title. Google penalize websites that tries to over optimizing for search engines. We discussed about the Primary Keyword and Supportive Keywords. It is preferable to use a Supportive Keyword for the title.
- Don’t use same title for multiple pages in the site. Search engine consider duplicate titles as malformed and penalize.
- Use short descriptive title. There is a fair chance that title will be truncated after 62 characters. Shorter title has higher click through rates.
Meta Tag Description
Adding text in the meta tag description gives you a chance to show the user what you want to convey about the content. If the text is relevant to what user is searching, there is a fair chance that Google will use that. If there is no meta tag description, Google will look at the content and construct the snippet. Google may also look at the open directory for the snippet text.
- You can tell google to not to look at open directory by using <meta name=”robots” content=”noodp, noydir”>
- Accurately describe the page. Meta tag description run about 155 characters. User will look at this snippet and decide whether the actual content has information they are looking for. It is very important to use the words wisely to attract the users to your content.
- Use unique description for each page. If there are huge number of pages it is better to automate the creation of meta tag description. For example, for a ecommerce site there can be thousands of products. In this case meta tag description of product detail page can be built from product description. This is true for title too.
Structured Data Markup
The Structured Data Markup is an effort by internet community to organize data in a standard structured way to present the data to online visitors. The Structured Data Markup schemas are available in schemas.org. Every website has some sort of structure data. For example, if the website is a travel site, it can provide Structured Data Markup of type ‘Place’. If website provides Structured Data, Google and other search engine might present that data in a interesting way along with the search result. For example, if I search for Norah Jones, along with the Norah Jones’s site link in the search result, Google also show the event information tothe right.
“name”: “5D Mark III”,
“description”: “Great SLR Camera”,
In web page, Structured Data needs to be included in header section within script tag as above example. Structured Data don’t help increasing search ranking but definitely help with the click through rate. To find some examples of Structured Data in Google, you may search for some recipes and you will see the Structured Data about recipes presented with images, ratings etc. To see what Structured Data is included in the site, use Google’s Structured Data testing tool. Entering the website Url will show the Structured Data in nice format. If the Structured Data is one of the qualifying content type, Google will show them in rich snippets. You can learn more about Structured Data here .
Other Important Topics
There are many other aspects of website either help with the ranking or click through rate directly or indirectly. Let’s discuss them.
- Simple-to-understand url helps user and search engine to understand the url and return effective result. Google returns the url as part of the search result snippet. If the url is simple, it is easy for the user to remember and increase the probability that user will visit the same page again.
- Choose Url with words relevant to content. We talked about supporting keywords. Using a supporting keyword is a good idea.
- Create simple directory structure. For example, all product detail page should show url like, http://example.com/products/skunumber. Avoid deep directory structure and directory name not relevant to the content.
- Use one version of url in the site. If you have old version of url that users are still using, use 301 (permanent redirect) or 302 redirect to redirect old url to the new url. If you know that the old url will never be used again use 301. If you feel that old url can come back in future use 302.
- If you have deleted a page completely and there is no alternative page for that, the URL will be broken and the web server will return 404, page not found. If you know the content is deleted forever, you should return 410, that will tell google that this content was deleted and Google will remove that from the index.
- Use lower case in url. It is easy for users to remember.
Use Canonical link element when there are more than one version of the same content. The canonical link tells search engine which link to consider for ranking when even the visitor lands to a different version of the page. The canonical element is declared like <link rel=”canonical” href=”http://example.com/canonical-example/”>. Even when there is only one version of the page, we should use canonical element because the same page can be rendered when there different parameters included in the URL. Google also considers self referencing of a URL in the canonical link as the best practice. If there are duplicate pages in the site instead of using canonical link, you should remove the page and use 301 redirect. You should be careful about the canonical link. If the canonical link is not a valid link the search ranking can affect severely.
- Navigation should be simple to understand for user and have naturally flowing hierarchy.
- Use text navigation mostly and avoid image, animation link as much as possible.
- Create a simple html site map page for user and a XML site map file for search engine.
- Use custom 404 page to provide friendly message to user in case user come across a link or page that doesn’t exists.
- Always use a descriptive alt text for image. This will help your image to be added in the google image search. If the image is used used for linking, alt text will be used like anchor tag.
- Use distinct name for each image.
- Store images in one website folder than creating multiple folder hierarchy to store images. In case of Sitecore images are stored in the media library. Make sure the media library path is simple.
- Use right image type (jpg, png etc.) in the image file name.
- If there are numerous images in the website, include a image sitemap file. The format of the image similar to XML Sitemap file.
A Sitemap is a XML file that describes the structure of the site. Search engines can use it to find out pages/images/videos to crawl. There are some debates if Sitemap file is needed for Google to find out the pages of the site. It is true that Google can find out and crawl pages even if the Sitemap file doesn’t exists but, Google highly recommends to have Sitemap file for several good reason.
- If the site is too large, it is possible that some of the pages will be overlooked because those pages are not linked from other places in the site.
- The site is an online ecommerce site with huge number of products. It is quite obvious that Google will not find all the product url and will not index.
- If the site is new and it is not linked by external site, Google wouldn’t find it.
- If there are archived pages in the site and if the pages are not naturally linked to each other, Google will overlook those pages.
- Other than the location of pages, Sitemap also provides meta data information like, when the page was last updated, how often this page changes, what is the importance of the page compared to other pages etc. These information helps Google with crawling and indexing.
There is a limit for the Sitemap file size. A Sitemap file can be at most 10 MB uncompressed and can have less than 50,000 urls. After that you have to create multiple Sitemap files. There are two different ways you can let Google know about the Sitemap:
Submit it to Google using search console Sitemap tool or add the Sitemap file location in the robot.txt like, ‘Sitemap: http://example.com/sitemap_location.xml’.
Following is an example of a Sitemap that contains only one URL.
Block Content from Search Engine
Sometime you don’t want some content to show up in the search result. Typically we want to exclude content that contains private information of customers or users. There are several ways to prevent content from search crawler.
- If the site is designed with authentication, Google will not be able to get to the content. If authentication is not there, best way protect content is to password protect the folders.
- If it is not matter of privacy, but we don’t want the search engine to not crawl certain areas of the application, we can use robot.txt. Typically, we don’t want search engine to crawl files like images, stylesheets, scripts etc. Doing this will save resources for both the website and for the search engine. Remember, excluding files using robot.txt, will not protect files from showing up in the search result. Files can still be crawled, if the files are linked from other places, which were not added in robot.txt. Learn more about robot.txt from Google.
- NoIndex and NoFollow – noindex is used in the robot meta tag, search engine will drop that link or page from the index. It is a week way to prevent a content because sometime we may forget to add this and as a result content will show up in the search result.
Setting nofollow will tell google to not to crawl any link in that page. There are times we want to put a link on the site but don’t want to pass the reputation. For example, we are putting some website links which we know are are not quality site. In this case we would like search engine to not follow the link because it might hurt the reputation.
Here is how we should use nofollow and noindex for all the links in the page,<meta name=”robots” content=”noindex, nofollow”>If you want not to index a specific link in the page you can use NoFollow in the link element like below<a href=”http://example.com/nofollow.html” rel=”nofollow”>nofollow link</a>
Does having SSL helps in search ranking? It’s hard measure if it helps, but Google says so.
There are definitely some advantages besides the search ranking.
- Having https in the site provides a sense of security to visitors and it
protects visitors’ communication with the site and protects site from the ‘man in the middle’ attack.
- Without https, when users come to your site from a https site, you will not see the referring site and that is an analytical disadvantage.
- When you move to https, we should update links in sitemaps, resgister https link in Google webmaster tools and make sure to use 301 redirect to redirect http links to https links.
- It is preferable to use HTTP Strict Transport Security (HSTS). This will remove the requirement of 301 redirect and speed up the application performance.
Website performance and Uptime
The quality of the website suffers in the eyes of search engine if website crashes or hangs. If pages are moved or deleted, use 301 redirect to appropriate page or use status code 410 to let Google know the page was deleted permanently.
Sitecore Information Architecture Consideration for SEO
One of the biggest challenge of SEO implementation is to constantly maintain and follow the SEO best practices for the site. A proper Sitecore information architecture can help with this significantly in regards to ease the implementation and enforce the best practices.
To support and enforce SEO for any Sitecore project, I suggest to create a SEO template and include this SEO template as one of the parent templates of the page template. The SEO template can contain following fields.
- The Title contains the title of the page that gets placed between <title> element of the page and shows up in the Google snippets title. You should consider to use a supportive keyword for Title to prevent the page from over optimization.
- Meta description is the field where you want to add the summary of the content. This will be displayed in the Google snippet summary, if Google finds it suitable.
- Url field is to add the keywords you want to see in the page Url. By default Sitecore Link Manager generates the Url from the item name. But, as we discussed before, it is good idea to use a supportive keyword for Url to properly optimize the page. It also gives an opportunity to the content editor to change the Url after the items are created. To use this Url field to generate Url of pages, you need to create a custom link Provider. One word of caution about using this separate Url field is that, you should not change the Url field frequently, because, once site goes live, the Url will be indexed by search engine and people will start using it. If you change the Url, the old link will be broken. In case you need to change the Url, you should use 301 redirect for the old Url.
- I discussed before about the Structured Data Markup and how it helps presenting the result in Google search. If the website presenting content that qualifies the Structured Data Markup types, it is highly recommended to use Structured Data in the SEO items and generate the JSON-LD script to add in the page head section.
SEO Field Validation
Sitecore allows you to apply validation to the fields of a template through field validation rules. There are many validation available in the base product as shown below. You can also create custom validation rules.
You can select a validation rules for the SEO fields to enforce good SEO practices. Here, I selected the required and Max Length 40 for the Title field.
When I create an Item that doesn’t satisfy the validation rule, Sitecore will show the indicator and message that the item has some validation failure. Like below it is showing on the Quick Bar on the left and next to the item field.
Validation rule can also be run from the Review panel in the content editor.
You can create some custom validation rules like, the Title field and Url field cannot contain the same text. This will ensure SEO optimization rules.
Image Optimization for SEO
In Sitecore the images are saved in Media Library. When images are access for a web page Sitecore will render images using ASHX handler. In the Media Library item for a image there several fields you can enter values. One of them is Alt in the Image section for Alt Text. This field has validation and shows red line when no text is entered. Below is an example.
The Sitemap generator mentioned below can be extended to generate Sitemap XML for all images used in the website.
Sitecore Experience Accelerator (SXA)
Sitecore Experience Accelerator (SXA) is newly added module in the latest version of Sitecore. SXA has some neat features to improve SEO. You can enter the title and meta description for page items. It does have a field for meta keywords, which has no effect on search ranking. The nicest feature in SXA is, you can enter the Sitemap data in the page item and generate the Sitemap file for the website. Learn more about how to Improve page SEO in SXA.
Sitecore Tools for SEO
There bunch of tools available in Sitecore Marketplace, can be useful for SEO implementation.
301 Redirect Module
There two 301 redirect modules available in Sitecore Marketplace. These modules provide varieties of feature for 301 redirect.
Checkout the following Sitemap generator modules.
Sitecore SEO Toolkit
Sitecore has a free SEO toolkit that can be useful to evaluate SEO related problems in the page content. The SEO toolkit can be integrated with third party APIs for keyword suggestion and content analysis functionality. This tool was not updated recently as per the newer version of Sitecore. You might face some issues if you are using Sitecore version 8.0 or up.
In this article I tried to cover most of the important best practices of SEO. Hopefully, this will help marketers and developers to understand SEO in the context of Inbound Marketing and how to use Sitecore efficiently to achieve the SEO goals. As a platform Sitecore is very flexible and extensible. There are opportunities of creating many more tools to help with SEO implementation for Sitecore projects. I have plans to create some tools and I am looking forward to see more efforts from the community.