Ecommerce SEO



Length: 9,019 words

Estimated reading time: 1 hour

This e-commerce SEO guide has almost 400 pages of advanced, actionable insights into on-page SEO for ecommerce. This is the sixth out of 8 chapters.

Written by an e-commerce SEO consultant with over 25 years of research and practical experience, this comprehensive SEO resource will teach you how to identify and address all SEO issues specific to e-commerce websites in one place.

The strategies and tactics described in this guide have been successfully implemented on top 10 online retailers, small & medium businesses, and mom-and-pop stores.

Please share and link to this guide if you like it.


In this part of the guide, I will break down the most common sections found on home pages and describe how to optimize each for better search engine visibility and user experience. You will learn how to improve the primary navigation, which impacts almost every page on the website. I will show you how to better use the internal site search field by helping users and search engines with discoverability and findability. You will also learn how to optimize marketing, merchandising, and plain text areas.

Of all the pages on a website, home pages usually have the highest authority because of the way PageRank flows and because most of the backlinks point to it. I said usually because, in some cases, other pages can beat the home page in terms of authority. For example, if the internal linking architecture is broken or another page receives more external links, search engines might not deem the home page the most important.

Every department, including marketing, merchandising, information architecture, SEO, UX, and even the executives, wants a piece of the homepage. Hence, home pages are often cluttered with content and links to tens or even hundreds of categories, calls to action, marketing banners, etc. This makes home pages unfriendly to users and search engines.

The biggest advantage of home pages is that they pass a lot of PageRank downwards on the website taxonomy. Pages linked directly from the home page get more search engine love.

Do you need a boost for a new product or a new category? Link to it from the homepage. It is a simple concept. For example, if you want to increase authority for the most profitable or best-converting city or hotel pages, link them from the homepage.

If you want to push authority to categories or product pages but do not want to crowd the home page, add a Featured Categories section on the index page of the HTML sitemap.

Figure 185—The links within the New Top Products and Top Ink Families sections will create shorter paths for crawlers and send the linked pages more authority.

Before getting into the details, remember that when optimizing home pages, it is important to balance SEO with user experience and business goals. The same applies to all other pages on your website.

You do not want too many links on the home page; you want important links in prominent places. Also, the decision to add, remove, or consolidate links on the home page needs to consider users first and only then accommodate search engines.

Let’s see which sections appear most frequently on ecommerce home pages and then discuss optimization tactics specific to the most important of them:

  • Logo (this is the area where you display the logo and, possibly, a tagline).
  • User account (this area displays links to register and sign in, my account, order tracking, and other pages that require a login).
  • Site personalization (these are links to the country or currency selectors, store locator, color theme, etc.).
  • Search field (this is the area surrounding the internal site search field).
  • Primary navigation (this is the global navigation area).
  • Cart area –  where you list links to the shopping cart or checkout.
  • Marketing and merchandising areas (i.e., carousels, internal banners, featured products, top categories, most popular deals/brands, and so on).
  • Promotional area (e.g., wish lists, gifts).
  • Help area (e.g., FAQ, live chat, contact us, help center).
  • Footers.

Primary navigation

Theoretically, any HTML link is a navigation element. Still, for our purposes, we will refer to navigation in the context of primary and secondary navigation menus used by visitors to browse items. Primary navigation is also known as global navigation, while secondary navigation is called local navigation.

Primary navigation usually appears horizontally at the top of a web page or, sometimes, vertically as a sidebar on the left side of the page. Primary navigation is easy to identify, as it consistently appears in the same position across the entire website.

For e-commerce websites, the labels in primary navigation represent major information groups. Depending on how the information architects, marketing, and usability team structure the website, labels can organize information by departments, topics, top-level categories, target market, alphabetical order, or other ways.

Figure 186—Walmart’s primary navigation is vertical, and the labels in this screenshot are the departments.

Figure 187 – The primary navigation on Bed Bath & Beyond is horizontal and lists top-level categories.

Figure 188 – Crocs’ website’s main target market segments represent the primary navigation.

When you have many items to list in the menu, display the global navigation vertically. Use a horizontal layout when you can fit all the important labels at the top of the design.

Number of links in the primary navigation

Displaying the primary navigation horizontally limits the number of links placed at the top of the layout to between five and twelve, depending on how long the labels are. Do not worry; these are reasonable numbers for users and search engines. A vertical navigation bar is more versatile and displays more categories.

On ecommerce websites, however, the primary navigation is often supplemented by sub-navigation such as drop-downs, fly-outs, or mega menus. This navigation can substantially increase the number of links on any given page.

Figure 189 – This is a very common drop-down menu implementation. The Clothing section lists several topical links.

Usually triggered at mouse hover or drop-downs, fly-out menus pose usability issues.[1] However, mega menus seem to perform OK.[2] Refer to these two articles for more information on the usability of sub-navigation menus.

Figure 190 – This screenshot shows an example of the so-called “mega menus.” Such menus can include more than just a list of links; they can also include images.

Figure 191 – Staples handles drop-down menus in a more user-friendly manner. They gave up the standard mouse-over implementation; the sub-menu expands at a click only. Additionally, notice the red down arrow icons; such icons suggest to users that more information is displayed under the labels.

There isn’t a hard limit on how many links to list in sub-menus. I recommend using as few or as many as it makes sense for users; do not worry about search engines too much. Let me explain why.

You often hear suggestions to limit the number of links on a page to send more authority to other, possibly more important, pages. While it may be the right SEO approach on certain page types, such as product listing pages with faceted navigation, this recommendation often disregards the user experience and usability. A widely accepted SEO best practice suggests that the entire menu must be SEO-friendly, meaning that search engines should be able to crawl all the links in the menu. This is not accurate.

In practice, some ecommerce websites could benefit more from not allowing robots to crawl just about any link in sub-menus. There is no doubt about it: You should present to users as many links as make sense, but you can also make some of them undiscoverable for search engines.

This “unfriendliness” of the links cannot be categorized as cloaking if not done for cloaking purposes. After all, even Amazon uses this technique to push authority to products and categories listed in the main content area of the page, as you can see in this screenshot:

Figure 192 – Take a look at the cached version of the page. It does not include the Shop by Department links.

Their global navigation (labeled Shop by Department) presents more than 100 links to users, which helps users navigate the website. Still, the entire mega menu links are not hyperlinked for search engines, as you can see in the cached version of the page. A quick note: if the links do not appear in the cached version, it does not mean that search engines are unaware of them, as bots can execute JavaScript to discover those links. It all depends on how Amazon made those links uncrawlable.

Figure 193 – Other retailers in the top 100 obfuscate links as well.

Moreover, Amazon is not the only top retailer to do this. Here’s another retailer in the top 100 doing it as well. Their approach is slightly different; they allow access to department links, but all the top categories, such as Appliances or Electronics, are not plain links.

Figure 194—The primary navigation links are cached in this example, but the sub-menu navigation links are not.

Making the links uncrawlable may sound strange and against SEO common sense, but it is a great way to balance usability and SEO. Users will get the links they need, while search engines will have access to prioritized links, which will prevent wasting the crawl budget.

The number of links in the primary navigation also depends on the number of categories and subcategories in your taxonomy. If you have only five top category pages, each with two to five subcategories, you can list them all in the primary navigation. If you have twenty categories with ten subcategories each, you need to consider the primary navigation more.

A more radical technique for limiting the number of links in the navigation is to eliminate sub-menus. There will be no drop-downs or mega menus, just a dropline menu. A dropline menu is a sub-menu with only one line of items. You can see it in use on Ann Taylor’s website. When using a dropline menu, you must choose the labels carefully.

Figure 195 – Ann Taylor uses a dropline menu with carefully chosen labels.

Figure 196 – Aeropostale uses a minimalist approach with only four links in the primary navigation. This approach works well on apparel websites.

If you keep a few links, ensure the navigation helps users find content quickly and does not make their task more difficult.

Going back to PageRank basics, we know that the more links on a page, the less authority flows through each link. Regarding user experience, the more cluttered a page is, the more complex content findability[3] is, and the higher shopper anxiety[4] is. Therefore, it makes sense to reduce the number of options and improve user experience by minimizing decision paralysis.[5]

This is where click tracking and analysis play an important role. You identify which links are helpful for users using metrics such as the most-clicked links and remove the ones that are not. If multiple links point to the same URL, you can leave only one link or implement browser-side URL tracking parameters.

You have several tools at your disposal to track clicks and click paths. For example, Google Analytics allows for a nice visual click analysis with reports like User Flow and Behavior Flow.

Figure 197 – The Visitor Flow Report in Google Analytics.

You can also use the Navigation Summary report (found under Behavior –> Site Content –> All Pages) for path analysis in Google Analytics. You get up to 500 data points that you can export and analyze further with Excel:

Figure 198 – The Navigation Summary report can provide some interesting insight.

Other tools, like CrazyEgg or ClickTale, can also perform click analysis. Regardless of your tool, the goal is to identify links that can be removed from the navigation or consolidated into logical groups.

Homepages often link to top-selling and high-margin products, categories, or subcategories, which is good for users and search engines. If you are concerned about the number of links on the page, you can easily consolidate the links to the About Us, Contact Us, Terms of Use, and Privacy pages.

I advise testing to see whether the uncrawlable links approach or the reduced number of links approach works best for you, as each website is different in its vertical.

Navigation labels

The categories and subcategories listed in the menus should consider business goals and user testing. For example, if 20% of your categories generate 80% of the revenue, then those categories should be linked from the primary navigation. You should also experiment with other decision metrics, such as the most-searched terms on the website, the most-visited pages, etc.

Regarding the labels present in the navigation text links, there are two schools of thought in terms of SEO:

  • The labels should not contain the target keywords.
  • The labels should contain the target keywords.

What I can recommend with confidence is to:

  • Avoid forcing keywords in the primary and secondary navigation labels.
  • Avoid clever labeling[6]. Navigation labels must be easy for users to understand, enabling searchers to find the information they want quickly and easily. For example, what should the label “Inspired Living” mean on a home improvement website?
  • Design the navigation to pass the trunk test[7], making it intuitive and using clear labels.

Search engines should not be the focus when labeling primary and secondary navigation. You have to label for users, not for bots. If that means using keywords in labels, that is fine. If your labels do not require keywords to be useful for users, do not force keywords just for SEO reasons.

Sometimes, keywords can show up in the navigation naturally. For example, if an ecommerce website sells musical instruments and wants to rank for the keyword “guitars”, having a Guitars label in navigation is natural and will help.

There is an alternative for those who want to promote longer keywords in the primary navigation menus. You can use images to design the menu that includes short text labels for users while adding longer labels as keywords in the alt text of the images for search engines. However, do not spam the alt text. Additionally, you can implement a technique called image replacement[8].

See the screenshot below for an example of short labels in an image plus longer alt text. The short image labels are Shoes, Handbags, Watches, Jewelry, and Dresses.

Figure 199 – Short labels allow users to scan them easily.

However, the alt text of each image label contains longer keywords, as you can see in the HTML source code:

Figure 200 – The alt texts are longer than the image labels.

Your end goal is to create navigation menus that meet user needs and reflect their behavior on the website. Because these image labels are short, people can scan them quickly, which is great for UX.

Menu labels can represent a single category or multiple categories grouped together. Whenever you group categories into a single label, you must create separate URLs for each category.

For example, suppose you group Pharmacy, Beauty, and Health into one label (as in the image below). In that case, you need to create a separate URL for the Pharmacy category, another for Beauty, and another for the Health category. That is if you want to increase the chances of ranking separately for keywords like “pharmacy”, “health”, or “beauty”.

Figure 201 – If you want to rank for the keywords “pharmacy”, “health”, or “beauty” separately, you need separate category pages for each term.

Grouping categories works best when planning a new website or if the current website is new and you can make changes without affecting an established taxonomy.

The opposite of grouping is de-grouping, when you want to split categories under a single label to create multiple categories. Splitting URLs will be more complicated if your website has been online for a while and you grouped categories under a single URL. In the latter case, one option is to leave the grouped category and create new pages for each subcategory.

Link to canonical categories from the primary navigation. This creates short, unique crawl paths for search engine robots.

Search field

The internal site search on e-commerce websites is often enhanced with autosuggest or autocomplete functionality that displays items from popular searches or products and category names. While autocomplete may be great for users, it is implemented with AJAX, and the suggested links are inaccessible to search engines.

However, you can help improve findability for users and search engines by adding plain HTML links to popular searches directly under the search field. Track internal site searches with a web analytics tool to identify which links are best for users.

Figure 202—Google Analytics has a Site Search report that lists internal site searches. To get this list, you can use the Start Page as your primary dimension and the Search Term as a secondary dimension.

In general, the SEO  advice regarding URLs generated by the internal site searches is that those URLs should be disallowed with robots.txt. However, that is not always the case, and if you can generate high-quality internal site search results that are helpful to users and bots and meet several criteria (i.e., high CTR), then you can index those URLs. Automating the process with safeguards can lead to thousands (or more) of helpful pages. Introducing an element of human rating for such pages can also provide quality signals for Google.

You can also add product attributes or filters as links, for example, by linking to a page that sorts by size or type of shoes. Additionally, you can link to popular searches:

Figure 203 – Using related terms near the search field is great because the Search By links serve as entry points for search engines and as a discovery tool for users.

If you want to improve the user experience, these links should vary from page to page to match:

  • Top searches performed on that specific page.
  • The next PDP or CLP visited after viewing the current page. You can get this data using your web analytics tool.

On a product detail page, you can list the most used product filters for that product or the leaf category it belongs to. A leaf category is at the bottom of the e-commerce taxonomy, meaning no other categories are under it (no children).

If you use the HTML <label> element for search fields, keep in mind that this content is indexable:

Figure 204 – Consider improving the text for <label> elements.

While the <label> element will not impact rankings, if you use it along with the <input> element, consider improving the wording within the label tag.

In this example, you can see that the text “find something great” is being used in the label tag. However, this website should use something more relevant and enticing to users, specific to the page visitors are on. For example, on all Shoes category pages, you can use “search for shoes”; on all Bags category pages, you can use “search for bags”; on all Toys pages you can use “search for toys”, and so on.

Also, creating HTML links for search buttons is not a good idea since search engines will unnecessarily try to crawl anything that looks like a link.

Figure 205 – This implementation creates links that bots will try to access.

In the previous implementation, the href points to the hashmark that will become a link to the home page, with the anchor text “search”. This is not optimal, and you should avoid this kind of implementation.

Text Areas

Usually, home pages do not allow too much room for plain text content, so you find very few contextual text links going out from most home pages. Many ecommerce websites try to get around this challenge by adding text at the bottom of the page, close to the footer section, as in this example:

Figure 206 – This is a common approach on many websites.

Some websites even use CSS to position text sections at the top of the source code, while visually, the text is at the bottom of the page. This might have worked in the past to overcome the 100Kb indexing limit, but nowadays, it is useless. Remember that search engines can render pages, so they will know where that text is displayed in the UI. Keep in mind that Google stops the rendering of a page after 10,000 pixels. If your so-called “SEO content” is below that threshold, it may not get picked up.

For those who still believe in the so-called “text to code ratio”, this ratio can be altered by using the tab navigation or SEO-friendly carousels like the following ones:

Figure 207 – Carousels allows you to add more text content to home pages.

In the example above, there is plenty of plain text for search engines to feed on. There are also great internal links.

This approach makes this design implementation useful for users and search engines.

As you can see in the cached version of the page, the text content of the carousel is available to search engines for analysis and rankings:

Figure 208 – The cached version of the page.

Another method for including more text in the main content areas and for creating more contextual text links from a home page is to use tabbed navigation. While the text displayed in tabs is not given full importance in a desktop world, this will change when Google switches to mobile-first indexing.

Figure 209 – You can add plenty of plain text content in a relatively limited design space using tabbed navigation.

If you want to add more content, use expand and collapse features. However, remember not to fill that content with spam, or you may get into trouble.

If you decide to use tabbed navigation in the main content area, it is worth mentioning that users easily overlook tabs. Hence, you need to provide strong design clues to help them understand that there is more content behind this type of navigation.

Marketing and merchandising area

Sliders, carousels, or static banners are some of the most used marketing sections on home pages. Merchandizing sections include featured products, top categories, most popular deals, top brands, and so on. SEO does not own these areas, but there is often room for organic improvement.

While carousels seem to have several usability and conversion issues,[9],[10] they are still present on many ecommerce websites, from Dell and Hewlett Packard to other small and medium businesses:

Figure 210 – Carousels can pose some usability and conversion issues.

From an SEO perspective, there are two usual issues with carousels:

  • The entire carousel is built with unfriendly JavaScript.
  • The text content and the links in carousels are embedded in images.

Let’s see how you can identify unfriendly JavaScript carousels.

Unfriendly JavaScript

Custom-made carousels may use AJAX or JavaScript to populate content in the carousel dynamically, which is when you can get into SEO trouble. Carousels can be tested from an SEO point of view by placing them on a public test domain, subdomain, or page. Once Google crawls and caches the URL, look at the cached version of the page. If you see something along the lines of “loading”, or “waiting for content”, or if the content of the carousel is missing, it means that the carousel’s implementation is not that SEO friendly.

Figure 211 – The content of this carousel is not indexed. Instead, the text “loading…loading”, is.

Additionally, you can test the implementation using the Fetch and Render in Google Search Console.

If you want to send authority to specific items and index links within carousels, correct the rendered HTML code so the content of the carousel can be found and crawled by search engine bots.

Figure 212 – A product carousel at

In the example above, neither section is cached by search engines. Additionally, the items linked from Section 1 are nofollow-ed, which suggests that this online retailer does not want the links to be crawled and indexed.

However, the links in section 2 are followed, which may suggest that those items are supposed to be indexed. However, section 2 is implemented with JavaScript, which can create accessibility issues for those URLs.

Embedded text and links

To make the text and links accessible to search engines, use CSS positioning and image replacement to overlay text on background images. Another option is to create the carousels or banners in plain HTML and CSS:

Figure 213 – The carousel in the image above is built with CSS and HTML.

Figure 214—The text on this banner is also overlaid with CSS and HTML. You can check if the text is plain HTML by selecting the page content using CTRL+A. Plain text whitens out when selected in the browser.

When the imagery is more complex, and you cannot implement image replacement or plain CSS/HTML carousels, use image alt text and <area> and <map> tags to create the links.

For example, the image below embeds three call-to-action links: shop now, sign up for emails, and like us on Facebook.

Figure 215 – The three calls to action in this example are implemented with area maps.

The code deploys the HTML <map> element with three areas to make the links clickable. Each area tag has its alt text:

Figure 216 – The above image depicts the HTML source code for the previous screenshot.

If you think about it, maps inside images make sense for ecommerce websites. For example, apparel websites featuring model looks could allow users to click on the hat, the pants, or any other clothing depicted in the hero images to send users directly to product pages. The area tag will effectively make such images shoppable.

You can improve image maps by implementing SEO-friendly tooltips and hot spots that expand at a click. Notice the + and $ signs in these two carousels:

Figure 217 – The two hotspots can be used to add more text content.

When you hover the mouse over these two icons, the + and $ signs expand to provide more details. The text in the tooltips is indexable:

Figure 218 – The text in the + tooltip is indexable.

Since <map> and <area> tags are not commonly used by marketers, here are a couple of tips for you:

  • Every area element should have an alt attribute, even if it is empty (alt= “”).
  • The alt text should describe the image in 150 characters maximum.
  • According to Microsoft, the alt text should not start with the word “copyright” or with the copyright symbol [© or (c)][11] or any other character or symbol that has no search-engine relevance. Start the alt text with the most important words.
  • Avoid Flash area maps.
  • Use XML or text files for the tooltip content. This will allow copywriters to make changes easily.
  • If a particular Google ad you tested worked well, it might also help with the CTR on tooltip links since ad titles are usually fewer than 25 characters.

Merchandising areas

Products and categories linked from the merchandising areas of the home page, such as hot deals, best sellers, or top brands, tend to receive more internal link authority than products linked using structural links. Therefore, you can use these areas to push more SEO love to the products and categories that are the most important for your business.

Figure 219 – Merchandizing is common among online consumer electronics retailers.

Sometimes, the items listed in these areas are implemented with carousels. The design of the carousels should allow people to identify that they are looking at a carousel and allow them to have full control of the play, pause, next, and previous functionalities.

Many users will probably miss the black arrows and the dots that control the carousel in the previous image.

If you want to send PageRank to the items in the carousel, implement it in an SEO-friendly way, as previously discussed. When you have to use AJAX to load the items, I recommend loading a default set of items in the first slide of the carousel. This first slide is loaded in the raw HTML and is accessible to search engines. Load the next slides with AJAX when the user clicks the controller buttons.

Here are some SEO tips to optimize the items listed in the merchandising areas:

  • Wrapping the merchandising section name in an HTML heading is not mandatory, but it can be done if you want. Since there will likely be more than one merchandising area, I recommend using level 2 headings (H2) or higher. H1s are usually used on more important labels, and for e-commerce templates, it is not a good idea to have multiple H1s on the same page.

Figure 220 – A sample headings outline.

On product listing pages, the product image thumbnails and names need to be optimized to send one consolidated signal. This means that the product’s image alt text and anchor text should be the same or slightly different.

Figure 221 – The image’s alt text is the same as the anchor text.

  • Add one to three links to manufacturers, brands, or relevant product attributes whenever you have the space to do so:

Figure 222 – You can see how Amazon links to various category pages from the Top Holiday Deals section.

  • Avoid linking with generic anchor text:

Figure 223 – The “See Details” link in the image above is not optimal. Instead, the product name should be the link. If you want to keep the “see details” link, embed it in an image with the product name as alt text.

  • Do you need a “Buy Now” or “Add to Cart” link on the items listed in the merchandising areas of the home page? Do visitors add to the cart directly from the homepage? If not, consider removing such strong CTAs or replacing them with softer CTAs such as “More details” or “Find more”.

If you are keen on using add-to-cart buttons in these sections, implement them with either the HTML <button> element or using JavaScript:

Figure 224 – The “More Details” link is implemented as HTML <button> elements so it won’t be crawled.

Figure 225 – This “add to cart” link is implemented with JavaScript, which minimizes the chances of being followed and crawled.

  • If you want to add even more content inside merchandising areas, use CSS expand and collapse features:

Figure 226—When you click on the “more details” link in this example, more information about the “MacBook Pro” sale appears.

  • Use alt text and image map areas for links whenever you use images to display promotional banners.


Most of the logos are implemented as images. Sometimes, logos embed the company’s tagline, slogan, or unique selling proposition.

Alt text or image replacement?

There is much debate about how to implement logos properly, not only from an SEO point of view but also as HTML markup. Regarding SEO, some argue that using the alt text on the logo image is enough; others recommend using the image replacement technique. Regarding HTML markup, some believe logos should be wrapped in H1, while others say they should be H2 or have no heading markup.

No matter how you provide better context for a logo image, whether using alternative text or image replacement, that content will not lift rankings. Just because you use the primary keyword in the alt text of the logo (for example SiteName – Digital Cameras) does not mean that search engines will consider your website the authority for that keyword. It may help a tiny bit in obscure niches.

If you can easily and safely implement image replacement for your logo, do it. Image replacement is not spamming if you do not abuse it with keyword stuffing or other crazy stuff. W3C uses image replacement in their logo; A List Apart and Smashing Magazine use it too. MOZ used to do the same before their site redesign.

However, remember that using alt text on image logos will work just as well as image replacement.

Let’s look at a few options you can consider for the text describing the logo, implemented either with alt text or image replacement:

  1. You can use only the company name (e.g., “Staples logo”).
  2. Alternatively, use your company name plus two or three top categories (e.g., “Dell laptops, tablets, and workstations”).
  3. You can also use dynamic text that includes the brand and category names. In this case, the text changes from one page to another. For example, on the Home page you will use the alt text “Microsoft logo”, but on the Tablets page you will use the alt text “Microsoft logo – Tablets”.
  4. Another option is to use the company name plus a tagline, unique selling proposition, or slogan (e.g., “KOHL’s – expect great things”). Ideally, the slogan should be short, descriptive, and contain some keywords.

Figure 227 – Kohl’s slogan.

 5. You can also use the company name, followed by the company slogan in plain text:

Figure 228 – HP’s slogan.

HP’s slogan states the website’s focus and cleverly includes the keyword pattern{Printing Solutions}. This improves relevance for keywords like “large format printing solutions”, “commercial printing solutions”, and “industrial printing solutions”.

I like implementing option #5 wherever possible, followed by #4, #3, #2 and #1. In each case, the text must represent the logo it describes and should not be spammy.

You can provide context for search engines using the logo’s alt text or image replacement. Both should be user-friendly and are OK for SEO if you do not spam. Note that the alt text on clickable images is equivalent to the anchor text on text links, so it is worth optimizing them.

However, some implementations do not allow alternative text on logos. One such implementation is the use of CSS backgrounds or using CSS sprites.

Figure 229 – Walmart uses CSS sprites for its logo and other icons. In the cached version of the page, the alt text for the logo is missing since the logo was implemented as a CSS background.

The logo should link using the homepage canonical URL to consolidate relevance signals. This ensures that the internal reputation is not split between multiple URLs.

For example, do not link to the home page using the default URL (i.e., index.php) and the root (/). Choose a canonical version, usually the root, and link consistently. This is not an issue for search engines nowadays. However, it is a web development best practice to be consistent with your internal links, just as using lowercase only for your UTM tags values is best practice for tracking and analytics.

Wrap the logo using the Organization markup.

Google supports[12] Schema markup for organization logos[13]. This means you can markup the HTML code to specify which image should appear as the logo in the Google Knowledge Graph when someone searches for your brand name.

Simply wrap the logo using the Organization markup as in this example:[14]

<div itemscope itemtype=“”>

<a itemprop=“url” href=“”>Home</a>

<img itemprop=“logo” src=“” />


This will help get more SERP estate dedicated to your brand.

One frequent question is, “Should logos be wrapped in H1”?

Wrapping the logo in an H1 heading is highly contentious.[15] Additionally, the SEO influence of H1’s is not significant enough.[16],[17]

I think the logo should not be marked up with H1 or any other heading, for that matter. A heading is a textual element that should be marked up as text, while a logo is a branding image and should be marked up as an image.

Utility links

Site personalization, user account login, help, and cart links can be labeled as what usability experts call utilities (Steve Krug[18]) or courtesy navigation (Jesse James Garret[19]) links.

Site personalization

Some of the best-known site personalization links are shipping destination, language, and currency selectors:

Figure 230 – A “ship to” country selector.

These are links used to personalize the shopping experience based on user geolocation, shopping currency, or site language. For example, someone vacationing in France might visit a Canadian website to send a gourmet gift basket to their loved ones in Canada. You identify the visitor IP as French and decide to change (automatically or pop-up-based) the ship-to country to France, the item currency to EUR, and the language to French. However, you need to give users the ability to change these settings.

Figure 231 – In this example, the language is set to French, and the currency is set to Euro.

One of the common SEO mistakes with site personalization links, such as ship-to, language, and currency selectors, is that they create crawlable URLs, even if they are temporary 302 redirects. This happens because, in many cases, the user selection is kept in the URL, as in the image below:

Figure 232 – These crawlable URLs will create duplicate URLs for each page with currency selectors, which is undesirable.

The solution is straightforward: do not create crawlable URLs for such selectors; keep the user choices in cookies rather than URLs. You can also use AJAX to load the user choices and set up cookies.

Figure 233—When the “ship to” icon at the top right is clicked, a modal window opens for users to select. When the CONTINUE button is clicked, the choice updates are made using AJAX, and the users’ choices are kept in cookies.

Store Locator

Depending on how important web-to-store behavior is for each company, these links are present in more or less prominent places in the page layout. The link is sometimes in the masthead, at the bottom of the pages, or in the footer.

Figure 234: Walmart greatly emphasizes store locations because web-to-store visits are primordial.

Figure 235 – The store locations don’t seem too important to Nordstrom.

The Store Locations link being positioned in the footer implies, to a certain degree, that Nordstrom’s web-to-store traffic is not important. However, the mobile version of the website displays the store location icon in the primary navigation:

Figure 236 – The mobile version of Nordstrom’s website.

This mismatch between mobile and desktop designs makes me wonder if the desktop design was well planned.

The store locator link should not be nofollow or otherwise blocked access to. The link should land users on a page that lists all the store locations or that allows easy and quick location searches. Additionally, you should have a dedicated landing page for each store location and create a separate XML Sitemap for store location pages.

Cart links

These are the shopping cart and checkout links.

Figure 237—The shopping cart icon is usually located at the top right of the page. Amazon has trained shoppers to expect it there.

Perpetual mini-shopping carts[20] are often implemented with AJAX and are not crawlable. That is fine because you do not need the shopping cart or checkout pages to be crawled or indexed. On a side note, such carts are called perpetual because they display the number of items in the cart while users navigate other parts of the website. Persistent carts are the carts carried across multiple sessions when users place something in the cart, leave the website, and then return later, and the items are still in the cart.

Some prefer to nofollow these URLs to preserve the crawl budget. This will not hurt, but it is not necessary for SEO. Checkout pages can be blocked in robots.txt or noindexed with the meta robots tag at the page level.

Help links

These are the links to Contact Us, FAQ, Live Chat, Help Center, and similar pages. If your Live Chat link is not JavaScripted, block it with robots.txt. Links such as Help, FAQ, and Contact Us should be accessible to robots as plain HTML links.

You can consolidate many help links under a single menu to list more links in a limited space:

Figure 238 – The drop-down list under the Need Help? The label contains important help links for users.

On many websites, help links also appear in the footer, which means the links will be duplicated.

User account links

These links allow users to create or log into their accounts, register, track their order status, etc.

Figure 239 – Best Buy disallows the entire secure www-SSL subdomain. This subdomain hosts the user accounts, and it has been blocked. That is a good approach.

Usually, account links lead to secure HTTPS sections, and there is no need for search engines to crawl or index account pages.

You will notice that many ecommerce websites nofollow the user account links:

Figure 240 – User account links are nofollow.

The links highlighted with a red border in the image above (and below) mean they are nofollow. Both Target and OfficeMax nofollow user account pages, but this is not necessary nowadays.

Figure 241 – The red dotted border means that those links are nofollow.

Google recommends leaving the nofollow off not only for account links but also for all internal links.[21] This, they say, allows PageRank to flow freely throughout your website.

Remember that controlling the crawling of a website, no matter how it is done (e.g., with nofollow, robots.txt, or uncrawlable JavaScript), is tricky.

Here’s why:

  • If you control crawling with robots.txt, PageRank flows into robotted URLs,[22],[23], but does not flow out from those URLs.
  • If you control crawling with nofollow, PageRank does not flow into the nofollow URL,[24] but it flows out from the linked-to URL.
  • If you control with uncrawlable links, then no PageRank flows in, but it flows out (if the page was discovered by search engines using other systems).

Will your account pages help searchers if search engines index them? Do searchers use terms like “Account Login at{your_company_name”}? If not, is there any other reason to have these pages indexed? If there is no other reason, consider blocking bot access to such pages.

If you want pages completely out of search engines’ indices, first allow bots to crawl and add a noindex meta tag at the page level, then allow the pages to be crawled. This means you will block those pages with robots.txt until they have been crawled.

If you are concerned about link “juice” flow, robots.txt might be a better crawl optimization alternative to nofollow. PageRank does not flow out of robots.txt blocked pages because Google cannot crawl those pages to determine how PageRank should flow through each link. However, if pages were indexed before being blocked by robots.txt, Google knows where and how to pass PageRank. Theoretically, leaving those pages open for crawling occasionally should allow Google to crawl them temporarily and flow PageRank.

However, if you are not worried about PageRank flow, there are a few alternatives to robotted and nofollow account links:

  1. Consolidate links into groups:

Figure 242 – The Your Account section is a drop-down menu consolidating several links.

Figure 243 – These account pages are accessible with JavaScript turned off.

2. Deactivate some account links until the user signs in:

Figure 244 – When clicking sign in, the drop-down menu displays account inactive URLs.

In the example above, the links to Your Profile, Check Order Status, Points Balance, Your Coupons and Your Lists are not active HTML links until you sign in.

Additionally, the sign in, join for free, and My Location links are implemented with JavaScript and are not accessible to search engines:

Figure 245 – Search engines can’t find the sign in, join for free, and My Location links.

3. Use a modal window to log in users:

Figure 246 – Clicking on the sign in link at the top right of the page opens a JavaScript modal.

This modal window is loaded on demand, and its content is inaccessible to search engines at page load.


Footers remain one of the most abused site-wide sections of websites. This is probably because footer links still work –at least for some websites–, despite Google saying that this strategy is not acceptable, and it does not work.

Figure 247 – Look no further than Amazon to see the risky use of keyword-rich footer links.

The footer is often the last section that site users check if they cannot find the information they need anywhere else on the page. Frequently, users will not check the footer at all, so it is important not to bury links there.

Footers are usually implemented as boilerplate text and send less link authority to the linked-to pages. Yahoo! even stated that they might devalue footer links:

The irrelevant links at the bottom of a page, which will not be as valuable for a user, do not add to the quality of the user experience, so we do not account for those in our ranking”.[25]

Google sends contradictory signals to webmasters by stating that site-wide links are outside its content quality guidelines, but it does not take action against those who abuse such links.

Since footers are at the bottom of web pages, the CTR on footer links is pretty low. However, footers can be great for user experience, especially fat footers,[26] and may also be a useful internal linking tactic.

Let’s discuss some optimization ideas:

Do not repeat the primary navigation in the footer

If some links are listed in the primary navigation menu, you do not need to repeat them in the footer. The most important links for users should be somewhere in the masthead. Keep the footer for relevant but less important links.

Group links logically

If you want to reduce the number of links in the footer, consider pointing multiple URLs to a single page. If space is a concern, you can implement JavaScript drop-downs like in the image below:

Figure 248 – Instead of creating unique URLs for each topic in the Your Orders section, create just one main URL for Your Orders and include the content of all sections on that page (e.g., Order Status, Shipping & Handling, etc.)

Take a look at how Staples and YouTube implemented this. Both are very good examples of useful footers:

Figure 249—The Corporate Info “pop-up” menu links to relevant pages but takes up less visual space.

Figure 250 – Staples leaves the links open for crawling.

Also, the links in the pop-up menu are open for crawling, as you can see in the cached version of the page.

Figure 251 – Country selector on YouTube.

On YouTube, the country listing is available when the Country selector is clicked, but it’s implemented client-side. Imagine if this list was available in plain HTML on every single page of the website.

Figure 252 – The country links are not available to crawlers.

Walmart uses [+]expand and [-]collapse links to give users more options, but search engines do not have access to subcategory links:

Figure 253 – A click on the small [+] signs reveals links to several subcategories.

While the top categories links, such as Electronics, Bikes, and Toys, are crawlable, their corresponding subcategories, like laptops, Apple iPads, Tablets, and TVs, are not:

Figure 254 –This approach combines user experience and SEO.

Remove useless links

Track clicks on footer links with URL parameters or click tracking tools, such as CrazyEgg. Are you helping users with those links, or do you want an optimized footer for search engines? If people do not click on some of your “optimized” links, do not link them from the footer.

On the other hand, if a link in the footer gets a high number of clicks, consider placing it in a more prominent location on the page.

Test having versus removing links in the footer and measure how each affects conversion rates, SEO, or usability.

Do not abuse footers.

We know that search engines do not like external site-wide footer backlinks.[27] Also, we know that search engines treat links in boilerplate sections differently from contextual links, where the former do not pass as much link authority.

Footer links are not inherently bad; they do not cause SEO problems unless the footers display spammy internal links.

Footers seem to be one of the preferred sections for over-optimization. Look at the following screenshot for example:

Figure 255 – The extensive use of “women’s” and “men’s” in these anchors is unnecessary.

If you stuff exact anchor text keywords in the footer just because doing so still works, remember the Penguin penalty that may come with this tactic. That is right; Penguin is not only about external backlinks but also about internal links. For more information, see pointer number one in this video,[28] this comment[29], and this video.[30]

Figure 256 – Site-wide links with exact anchor text, like in this example, will create problems. The larger the website, the higher the chances of being filtered by Panda or Penguin.

Another trick you must avoid is placing “SEO content” far below the footer, well below the “normal” view area. Even if Google is not able to penalize you algorithmically if you do this, this page certainly will not pass a manual review.

Figure 257—The “SEO content” starts after the real footer ends, a foolish attempt to trick users and search engines. I wonder whether that is why this website had a gray toolbar, PageRank, in the past.

Tabbed navigation

If you need to provide users with more links in the footer, tabbed navigation is another option, as it will allow you to display more links. Take a look at this example:

Figure 258 – Tabbed navigation will allow you to display more links.

You can optimize tabbed navigation further by adding more text in the footer. Take a look at how 1-800 Contacts does this:

Figure 259 – A great usage of tabbed navigation in the footer.

Each link on the left side triggers a new tab. For example, when you click on Our Commitment a new tab is active (with different content in it:

Figure 260 -This is good content for a footer. Adding a few internal contextual text links would add more SEO value to this section.

Dynamic footers

Ecommerce websites can make footers more appealing to search engines by dynamically updating the content and the links in footers to be relevant to each section of the website and even to each page. This approach works best when implemented with a tabbed navigation that allows at least 150 words of content to be displayed in the footer.

Consider the same example from 1-800 Contacts. They could add a new tab featuring a relevant excerpt from a recent blog post in the footer. For example, on the Avaira brand page, the new tab name could be something like Avaira News, and the blog post excerpt would contain the brand name and, eventually, one or two links to Avaira products. The footer on the Biomedics brand page would be related to Biomedics products, and so on.

Just as properly related linking is helpful for users, adding page-specific links in the footer is also good for usability, as it customizes the shopping experience to meet users’ expectations.

You can even customize the links in the tabbed navigation. For example, on a product detail page for Avaira lenses, you can dynamically change the link from “Contact Lens Brands” to “Avaira Contact Lenses”, listing only products that Avaira manufactured.

Dynamic footers make sense if you consider user intent. These footers will help users by presenting content relevant to the page they are on and helping vary the internal anchor text. They will also reduce the occurrence of exact-match anchor text and prevent the footer from generating site-wide links. Currently, many e-commerce websites do not use this concept.

Compared to other areas of a page, footers have not evolved into something more helpful for users over the past 20+ years. Maybe you can start changing that and use it to your organic advantage simultaneously.

Debugging and support

Footers can also be used as a debugging, development, or customer-support feature.

Tagging footers with unique text containing the year and month the page was last generated or updated (e.g., “page generated September 2017”) will allow some basic crawl debugging a month or two later with the site: operator, for example, by using site:mysite “page generated September 2017”.[31]

  1. Does User Annoyance Matter?
  2. Mega Menus Work Well for Site Navigation,
  3. Findability,
  4. The Paradox of Choice,
  5. ‘How We Decide’ And The Paralysis Of Analysis,
  6. Avoid Category Names That Suck,
  7. Interface Design >Navigation > Trunk Testing,
  8. Nine Techniques for CSS Image Replacement,
  9. Auto-Forwarding Carousels and Accordions Annoy Users and Reduce Visibility,
  10. Are carousels effective?
  11. WEB1009 – The <img> or <area> tag does not have an ‘alt’ attribute with text,
  12. Using markup for organization logos,
  13. Thing > Property > logo,
  14. Thing > Organization,
  15. The H1 debate,
  16. Survey and Correlation Data,
  17. Whiteboard Friday – The Biggest SEO Mistakes SEOmoz Has Ever Made, – Check #4 starting around 5:00
  18. Do not Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition –
  19. The Elements of User Experience: User-Centered Design for the Web and Beyond (2nd Edition) (Voices That Matter),
  20. Persistent Shopping Carts vs. Perpetual Shopping Carts,
  21. Should I use rel=” nofollow” on internal links to a login page?
  22. PageRank: will links pointing to pages protected by robots.txt still count?,
  23. Will a link to a page disallowed in robots txt transfer PageRank,
  24. PageRank sculpting,
  25. Eric Enge Interviews Yahoo’s Priyank Garg,
  26. SEO and Usability,
  27. Link schemes,
  28. Smarter Internal Linking – Whiteboard Friday,
  29. Smarter Internal Linking – Whiteboard Friday,
  30. Webmaster Central 2013-12-16 @ 27:52
  31. How to Build an Effective Footer,