Ecommerce SEO

CHAPTER 5

Internal Linking Optimization

Length: 11,404 words

Estimated reading time: 1 hour, 20 minutes

This e-commerce SEO guide has almost 400 pages of advanced, actionable insights into on-page SEO for ecommerce. This is the fifth 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.

The importance of external links for rankings is a well-documented SEO fact and part of conventional SEO wisdom. However, internal links can also impact rankings.

Links, either internal or from external websites, are the primary way for site visitors and search engines to discover content.

If a page does not have incoming internal links, not only may that page not be accessible to search engines for crawling and indexing, but even if it gets indexed, the page will be deemed less valuable (unless a lot of external links point to it). Examples of pages without internal links are product detail pages accessible only after an internal site search or entire catalogs available only to logged-in members.

On the other hand, if a page does not link to other internal pages, search engine robots will be at a dead end.

Internal links can lead crawlers into traps or unwanted URLs containing “thin,” duplicate, or near-duplicate content. Internal links can also put crawlers into circular referencing.

When optimizing internal linking, remember that websites are for users, not search engines. Links help users navigate and find what they want quickly and easily. Therefore, consider an approach that balances links available to users and bots. Build the internal linking for users, and then accommodate the search engines.

E-commerce websites have an interesting advantage: a large number of pages results in a large number of internal links. The larger the website and the more links pointing to a page, the more influential that page is. Strangely enough, although SEOs typically know that the more links you point to a page, the more authority the page receives, many SEOs still focus on getting links from external websites first.

However, why not optimize the lowest-hanging fruit first, the internal links? When you optimize your internal linking architecture, you do not need to hunt for external backlinks. You need to increase the relevance and authority of key pages on your website by creating quality content that attracts organic traffic and links and interlinking pages thematically.

Let’s see how ecommerce websites can use internal linking to boost relevance, avoid or mitigate duplicate content issues, and build long-tail anchor text to rank for natural language search queries.

Crawlable and uncrawlable links

Before we move forward, a quick and important note: do not mindlessly implement any of the techniques discussed in this section. Decide which solution best suits your website based on your business needs and specific situation. If you are in doubt, get help from an experienced consultant before making changes.

A crawlable link is a link that is accessible to search engine crawlers when they request a web resource from your web server.

An uncrawlable/undiscoverable link is one that search engines cannot discover after parsing the HTML code and rendering the page. However, that uncrawlable link is still accessible to users in the browser.

Uncrawlable links can be created on the client side (in the browser) using JavaScript, AJAX, or by blocking access to the resources required to generate the URLs using robots.txt. Uncrawlable links are created on purpose and are not the same as broken links, which occur accidentally. Also, uncrawlable links are not the same as hidden links (e.g., off-screen text positioned with CSS or white text on a white background).

Because the main goal of e-commerce websites is to sell online, they must be useful and present information in an easy-to-find manner. Imagine an ecommerce website that does not allow users to sort or filter 3,000 items in a single category. However, this sorting and filtering generates URLs with no value for search engines and, in some cases, limited value for users. Since the current crawling and browsing technologies depend on clicks and links, these issues are here to stay for a while.

However, why do ecommerce websites generate overhead URLs, and why can search engines access such URLs? There are plenty of reasons:

  • URLs with tracking parameters are needed for personalization or web analysis.
  • Faceted navigation can generate many overhead URLs if it is not properly controlled.
  • A/B testing can also create overhead URLs.
  • If the order of URL parameters is not enforced, you will generate overhead URLs.

So, how do you approach overhead URLs?

A compromise for offering a great user experience while helping search engines crawl complex websites is to make the overhead links undiscoverable for robots. In contrast, the links are still available to users in the browser. For example, a link that is important for users but not important for search engines can be created with uncrawlable JavaScript.

Before we look at some examples, keep the following in mind:

  • Decide whether there is an indexing or crawling issue to be addressed in the first place. Are 90%+ of your URLs indexed? If yes, you may need to build links to the other 10% of pages. Or maybe you can add more content to get those 10% pages indexed.
  • Would you hinder user experience by blocking access to content with JavaScript?
  • Hiding links from robots may qualify as cloaking, depending on the reason for the implementation. Here’s a quote from Google:

“If the reason is for spamming malicious, or deceptive behavior—or even showing different content to users than to Googlebot—then this is high-risk”.[1]

Please note that from an SEO perspective, I advocate using uncrawlable links only for the following reasons:

  • Create better crawl paths to help search engines reach important pages on your website.
  • Preserve the crawl budget and other resources (e.g., bandwidth)
  • Avoid internal linking traps (i.e., infinite loops).

I do not endorse this tactic if you want to spam or mislead unsuspecting visitors. There are a couple of methods for keeping crawlers away from overhead URLs.

iframes

Let’s say you do not want any links generated by the faceted navigation to be visible to search engines. In this scenario, embed the faceted navigation in an <iframe> and block the bots’ access to that iframe using robots.txt.

The advantage of using iframes is that they are fast to implement and remove if the results are unsatisfactory. One disadvantage is that you cannot granularly control which facets can be indexed; once the iframe source is blocked with robots.txt, no facet will be crawled.

Figure 117 – This screenshot highlights a classic faceted (left-hand navigation) implementation. This type of navigation often creates bot traps.

Intermediary directory/file

The directory implementation requires including a directory in the URL structure and then blocking that directory in robots.txt.

Let’s say that the original facet URL is:

/bedding?CatalogId=110504+423949610&CatRefId=105024&pagSort=0

Instead of linking to the URL above, you will link through an intermediary directory, which is then disallowed by robots.txt. The URL contains the /facets/ directory:

/facets/bedding?CatalogId=110504+423949610&CatRefId=105024&pagSort=0

Your robots.txt will disallow everything placed under this directory:

User-agent: *
# Do not crawl facet URLs
Disallow: /facets/

Instead of a directory, you can also use a file in the URL. The controlled URL will include the facets.php file, which will be blocked in robots.txt.

If this was the original facet URL:

/bedding?CatalogId=110504+423949610&CatRefId=105024&pagSort=0

Using the robbotted file, this is how the new URL will look like:

/bedding?facets.php&CatalogId=110504+423949610&CatRefId=105024&pagSort=0

User-agent: *
# Do not crawl faceted URLs
Disallow: *facets.php*

JavaScript and AJAX

Using JavaScript or AJAX is another method used to control access to internal links, to silo the website, and to avoid duplicate content issues at the source. Search engines can execute JavaScript statements, such as document.write(). They can also render AJAX to discover content and URLs but only to some extent,[2] and there are limitations to what they can understand. However, remember that the major search engines evolve rapidly, and in a matter of months, they might be able to execute complex JavaScript.

While SEOs usually want to make AJAX content more accessible to search engines, you aim for the opposite when you want to control internal links. You will use JavaScript or AJAX to generate the links in the browser (client-side) rather than in the raw HTML. Depending on the implementation, those URLs may not be available to bots when they fetch the HTML and render the page.

One application of this method is to generate clean internal tracking URLs in HTML and add the user tracking parameters on demand in the browser.

Let’s say you have three links on the homepage, and all point to the same URL, but each link is in a different location on the page. The first link is in the primary navigation, the second is on a product thumbnail image, and the last is in the footer. Your Merchandising team wants to track where people clicked, and they ask the Analytics team to track the click locations. The Analytics and Dev teams will tag each URL with internal tracking parameters. The three tagged links may look like these:

mysite.com/watches/?trackingkey=hp-watches-primary_nav
mysite.com/watches/?trackingkey=hp-watches-body_image
mysite.com/watches/?trackingkey=hp-watches-footer

The trackingkey parameter in the first link communicates to the web analytics tool that the click came from the home page (indicated by the hp string) in the watches category located in the primary navigation (primary_nav). The other two URLs are similar, except the link location in the user interface is different. When the Analytics team added these tracking parameters, they created three duplicate content pages, which is undesirable.

Of course, in this scenario, you can use rel=” canonical” to point to a significant URL or use the URL Parameter Tool in Google Search Console to consolidate to a canonical URL. However, for our purpose, we want a solution that avoids creating duplicate URLs in the first place.

Here’s one way to use JavaScript to avoid generating duplicate content URLs when using internal tracking with parameters.

In the source code, your anchor element will look similar to this:

<a href=“http://www.mysite.com/watches/” param-string=“trackingkey=hp-watches-primary_nav”>Watches</a>

This URL is clean of parameters, which is great for SEO.

The page featuring this link includes a JavaScript code that “listens” when users click the tracked link. When the left mouse button is pressed, the href is updated client-side, by appending the content of the param-string attribute to the URL.

This is how the URL will look like at the mousedown event:

<a href=“http://www.mysite.com/watches/?trackingkey=hp-watches-primary_nav” param-string=“trackingkey=hp-watches-primary_nav”>Watches</a>

Now, the URL includes the internal tracking parameter trackingkey. However, the browser added the parameter; it was not present in the raw HTML code when the bot accessed the page (you can get the sample HTML and JavaScript code from here).

If you create uncrawlable links with JavaScript, remember that Google can identify links and anything that looks like a link to them, even if it is a JavaScript link. For instance, OnClick events that generate links are the most likely to be crawled. I have seen cases where Google requested and tried to crawl virtual page view URLs generated by Google Analytics.[3]

Also, note that using JavaScript to create undiscoverable links for bots can be tricky from an engineering perspective. Such links may also hinder the user experience for visitors who do not have JavaScript enabled. If your existing website does not work with JavaScript turned off, you should be fine using AJAX links. However, if your website fully degrades for non-JS users, do not sacrifice user experience for SEO.

The user-agent delivery method

This approach is controversial because it delivers content based on the user agent requesting the page. The principle is simple: When a URL request is made, identify the user agent making the request and check if it’s a search engine bot or a browser. If it is a browser, add internal tracking parameters to the URL; if it is a bot, deliver a clean URL.

Do you think this method is too close to cloaking? Let’s see how Amazon uses it to add internal tracking parameters to URLs on the fly, client-side. If you go to their Call of Duty: Ghosts – Xbox 360 page[4] while using your browser’s default user agent and mouse over the Today’s Deals link, you will get a URL that contains the tracking parameter ref:

Figure 118 – The internal tracking parameter shows up in the URL.

Now, change the user agent to Googlebot, reload the page, and mouse over the same link. This time, the URL does not include the tracking parameter. To change the browser user agent, use one of the many free browser extensions or the web dev tools in the browser.

Figure 119—When Googlebot is used as a user agent, the tracking parameter is no longer in the URL.

Below is their HTML code. The top part of this screenshot shows the code when Googlebot requests the page, and the bottom part depicts the code served to the default user agent.

Figure 120 –This “white-hat cloaking” may be OK if you only play with URL parameters that do not change the content.

Assessing internal linking

The first step towards internal linking optimization is the diagnosis. Analyzing if pages are linked properly can reveal technical and website taxonomy issues.

Using Google Search Console is one of the fastest and easiest ways to ascertain which pages are most interlinked (and therefore deemed more important by search engines).

Figure 121 – The Internal Links report in Google Search Console.

Look at the Internal Links report under the Search Traffic section in Google Search Console. Are your website’s most important pages listed at the top? For e-commerce websites, those are usually the categories listed in the primary navigation.

Notice the /shop/checkout/cart/ directory in the image above. The URL is the second most linked page on the website. This makes sense from a user standpoint because this link must be on most pages. However, the cart link is not important for search engines, so you can disallow the entire /checkout/ directory in robots.txt to prevent everything under it from being crawled.

Figure 122 – The shopping cart link is the only one followed.

Next, let’s see how each page is linked anchor text-wise. We will use the IIS SEO Toolkit, which used to be one of the best yet underestimated on-page SEO crawlers and audit tools until other desktop crawlers emerged.[5]

Figure 123 – The IIS SEO Toolkit, an indispensable on-demand desktop crawler.

You do not hear the SEO community talk much about this tool, maybe because it is Microsoft technology. However, its flexibility and extended functionalities are better than Xenu (free) and at least at par with Screaming Frog (paid).

The IIS SEO Toolkit is free, which makes it a great tool to start with. Unfortunately, its development stopped years ago, so it cannot compete with the newer crawlers.

Once you have identified and fixed all the problems reported by the IIS SEO toolkit, you can consider upgrading to an enterprise tool such as:

  • Botify – undisclosed pricing
  • DeepCrawl – $89/month (100k URLs per month)
  • OnCrawl – $69/month (100k URLs per month)
  • Screaming Frog (my personal preference)

These monthly costs are estimates based on the minimum number of URLs crawled per month as of December 2019 (prices might have changed since then).

Figure 124—The IIS SEO toolkit offers virtually thousands of ways to analyze your website, and you can slice and dice the SEO data in almost any way you can imagine.

Install the tool on your Windows machine and run your first crawl. As the name implies, it is simple to set up and does not require an IIS server. However, the toolkit uses the default IIS server in Windows, so you might need to activate the IIS server component. Also, Windows 10 users must undergo an additional fix to make it run.

Let’s see how to use the toolkit to identify major internal linking issues.

Finding broken links with this toolkit is a breeze, just like it should be with any decent crawler. The broken links report is under the Violations or Content sections.

Figure 125 – You can find broken links using the Violations or Content reports.

You already know that broken links are an issue that needs attention because they also hinder user experience. So, use the toolkit to identify and take care of them.

The general SEO wisdom is that any page should be accessible in as few clicks as possible. Four or five levels are OK and acceptable for users and bots, but any more becomes problematic.

Figure 126—The Link Depth report can uncover issues such as circular referencing, malformed URLs, and infinite spaces.

As depicted in this screenshot, URLs buried 24 levels deep suggest a problem with internal linking. In this example, the issue stemmed from malformed URLs creating circular references.

Use the Pages with Most Links report in the Links section of the tool to identify the number of outgoing links from each page on your website. Sort the data by Count to get a quick idea of where the problems are.

Figure 127 – Including 936 links on a page is a bit concerning.

The number of links on the same page template should usually be similar. However, in this case, the number of links for the product detail page type quickly increased from about 300 to around 900.

When you find such big differences, check the pages that seem off the charts. Investigate why there are so many links compared to the other pages on the same template.

The Pages with Most Links report is also available in the Violations section:

Figure 128 – Check the Violations report to identify problematic pages.

Identify hubs

The Most Linked Pages report can help you identify internal hubs. Regarding website taxonomy and internal linking, a hub is a parent with lots of children linking to it.

Usually, the largest link hubs on ecommerce websites are the home page and the category pages linked from the primary navigation. You might have internal linking issues if you see other pages at the top. The number of products under a certain category also influences how many links a category gets.

Figure 129 – The Most Linked Page report is similar to the Internal Links report in Google Search Console.

The numbers in the previous image highlight three issues:

  • The most linked page does not have a <title> tag.
  • The shopping cart URL seems to be getting too many internal links. Because the shopping cart URL is dynamic, bots will try to access it from multiple pages, which is not ideal.
  • A significant number of internal links point to 301 redirects, suggesting a link to a 301 redirect somewhere in the primary navigation. Whenever possible, link directly to the final URL.

To examine each URL more deeply and obtain additional details on how it is linked, right-click the URL you want to analyze and click View Group Details in New Query.

Figure 130 – Finding out how each URL is linked.

Then click on Add/Remove Columns and add the Link Text column. Then click on Execute at the top left to update the report.

Figure 131 – You can remove/add columns from/to your reports.

Regarding section one in the screenshot above, if a page is linked using an image link, the IIS SEO toolkit does not report the image’s alt text. This is one of the toolkit’s downsides.

I highlighted a mismatch between the anchor text and the linked page in section two. The highlighted page is linked using the “customer service” anchor text, which is wrong because the linked page is not the customer service page.

Look for this kind of mismatch in your analysis.

Next, let’s aggregate anchor text:

  1. Click on Group by.
  2. Select Link Text in the Group by tab and hit Execute.
  3. You will get a count of each anchor text pointing to that URL.
  4. To analyze a different URL, simply change the value in the Linked-URL field.

Figure 132—If a page is linked with too many varying anchor texts, you must evaluate how close the anchor texts are semantically and taxonomically.

Ideally, you consistently link to category pages using the category name, but a few variations in the anchor text are acceptable. For example, you can link to the Office Furniture category with the anchor text “office furniture” and use “furniture for the office.” When you link to product detail pages (PDPs) from product listing pages (PLPs), use the product name as the anchor text. You can vary the anchor text if you link to PDPs from blogs, user guides, or other content-rich pages. The anchor text can include details such as product attributes, brands, and manufacturers.

You must create custom reports (named “queries” in the IIS SEO Toolkit) to get an overall picture of the site-wide anchor text distribution. This is where the tool’s enormous flexibility comes in handy.

To create a custom report, go to the Dashboard, click on the Query drop-down, and select the New Link Query:

Figure 133 – Adding a New Link Query.

  1. Select the field name values in the new tab (Links) as depicted in the image above.
  2. In the Group By tab, select Link Text from the drop-down.
  3. Click Execute.

Figure 134 – You have the internal anchor text distribution for the entire website.

In the example above, notice a couple of things that need to be investigated further:

  • First, why does the most linked page have no anchor text?
  • Second, how about blocking bots’ access to the shopping cart link?

If you want to look at a fancy visualization of your hub pages, use the Export function of the IIS SEO Toolkit to generate the list of all URLs. Then, import that file into a data visualization tool.

Figure 135 – Sample internal linking graph.

The image above is a visualization example generated with Gephi. Here are some tutorials on how to generate link graphs using Google’s Fusion Tables,[6] NodeXL[7] and Gephi[8].

Problematic redirects

Using the Redirects report will help identify internal PageRank leaks, unnecessary 302 or 301 redirects, and undesirable header response codes. You can sort the issues by linking the URL to make the analysis easier and see them grouped by page.

Figure 136 – Sort by Linking-StatusCode to identify issues.

Regarding the two notes in this screenshot:

  1. The currency selection is kept in the URL rather than in a cookie. For this website, each currency selection generated a unique URL on almost every page, which is bad.
  2. Instead of linking to a URL that returns a 301 (Moved Permanently), link directly to the destination.

Figure 137 – The unnecessary redirects are also available in the Violations report.

Wrong URLs blocked by robots.txt

The toolkit can also help you identify URLs robotted by mistake. Use the Links Blocked by robots.txt report to find such URLs.

Figure 138 – The Help.aspx page is blocked with robots.txt

Do not block bot access to help pages (or similar pages, e.g., FAQs or Q&As). You want people who have questions about your products or services to be able to find such pages straight from a search engine query. The content on these pages can potentially reduce calls to customer service.

Because the help page is located under the /Common/ directory, which is blocked with robots.txt, search engines cannot access it and will not index it.

Figure 139 – All pages under the /Common directory will be blocked.

In the Links Blocked by robots.txt report, look for pages and URLs that should be indexed but are blocked by mistake.

Protocols

The Protocols report displays the various protocols used to link internally to resources on the website:

Figure 140 – Do you interlink HTTPS with HTTP pages?

If your website uses non-secure HTTP and secure HTTPS protocols, what happens when visitors switch between HTTP and HTTPS pages? Do they get warning messages in the browser? Do you link to the same URL with secure and non-secure protocols?

We know that shopping carts, logins, and checkout pages should be secure, and such pages do not need to be indexed by search engines. However, it is best to switch everything to HTTPS. Remember that when you switch from non-secure HTTP to secure HTTPS, there might be a temporary drop in traffic.

Other issues

Here are some other common internal linking mistakes:

  • Inconsistent linking happens when you link to the same page using multiple URLs, for example, linking to the homepage as mysite.com and www.mysite.com. When you link an internal URL, be consistent—link using a consolidated URL only.
  • Default page dispersal occurs when you link to index files rather than root directories. For example, many web admins link to index.php when linking to home pages. Instead, you have to link to the root directory, which is just the slash sign, /.
  • Case sensitivity that leads to 404 Not Found errors. For instance, Apache servers are case sensitive, so if you link to the URL Product-name.html using upper-case “P” instead of lower-case, the server may return an error.
  • Mixed URL paths happen when you link to the same file using absolute and relative paths. This is not an SEO issue per se; however, adopting standardized URL referencing helps with troubleshooting web dev issues. Also, if you use absolute paths, when content scrappers steal content, they may still leave the absolute links to your URLs.

When you assess your competitors’ internal linking from an SEO perspective, compare the source code generated with Googlebot used as a user agent and with JavaScript disabled with the source code generated when you use the browser’s default user agent. Are there any internal linking differences?

You should also analyze the internal linking differences between the cached version and the live page.

Nofollow on internal links

The nofollow microformat[9] is a Robot Exclusion Protocol that applies at the element level. It prevents PageRank and anchor text signals from being passed to linked pages. Nofollow applies to the HTML element A.

Some SEOs use the nofollow attribute, believing it will prevent the indexation of the linked-to URL. Often, we find statements similar to “nofollow the admin, account, and checkout URLs to prevent these pages from being indexed.”

Such statements are not accurate because nofollow does not prevent crawling or indexing.

Figure 141 – Interpretation of nofollow by the individual search engine, according to Wikipedia.

Matt Cutts, who worked as the head of the Webspam team at Google, says that Google does not crawl nofollow links, and here are his words:

“At least for Google, we have taken a very clear stance that those links are not even used for discovery”.[10]

However, Google’s Content Guidelines documentation states something different:

“How does Google handle nofollowed links? In general, we do not follow them”.[11]

Notice the “in general” mention in the statement above.

A test I performed some time ago with internal nofollow site-wide footer links showed that although it took about a month, Googlebot, MSNbot, and Bingbot crawled and indexed the nofollow links. Yahoo! Slurp was the only bot that didn’t request the resource.

I recommend using nofollow not to keep search engines away from content but just to prevent crawling. Remember that if you nofollow links that search engines previously discovered, those links may still be indexed. Also, if external links point to nofollow URLs, those URLs will get indexed.

Figure 142—The nofollow tag is often applied to links such as shopping carts, checkout buttons, and account logins.

A few years ago, nofollow was used to funnel PageRank to important pages, a tactic called “PageRank sculpting.” However, nowadays, most SEOs know that PageRank sculpting with nofollow no longer pays off[12], and many e-commerce websites have stopped nofollowing internal links.

However, some continue doing it, as you can see in this screencap:

Figure 143 –Instead of nofollow links like the ones in the image above, a better approach is to consolidate links into a single page.

Consolidating links is a good approach because when you nofollow a site-wide URL like “Terms of Use,” you completely remove that page from the internal links graph.[13] This means the page will not receive internal PageRank but will also not have internal PageRank to pass.

The previous example introduces a more important issue: nofollow-ing links in primary or secondary navigation. Depending on what links you nofollow, you could be making a big mistake.

It is important to know that PageRank is a renewable resource, which means it flows back and forth between pages that link to one another. According to the original formula, the PageRank metric uses a decay factor (AKA damping factor) between 10% and 15% at each iteration to avoid infinite loops[14].

Page A is the home page, and it links to category pages B and C from the primary navigation menu. To simplify, let’s assume that pages B and C do not have any external links pointing to them.

Figure 144 – An overly simplified PageRank flow.

The most important thing to understand from this diagram is that pages B and C each return PageRank to page A, which increases the PageRank for page A.

Let’s see what happens when you add rel= “nofollow” to the link pointing to Page C in the primary navigation:

Figure 145 – The nofollow attribute stops sending PageRank to page C.

When the nofollow is applied, page C stops sending internal PageRank back to page A because Page C does not receive any internal PageRank to pass.

When I researched examples for this topic, big names such as Toyota surprised me by using nofollow in the global navigation. You can see in the screenshot below how Toyota nofollow-ed all the links pointing to car models such as Yaris and Corolla.

Figure 146 – The links in the red dotted border are nofollow.

Note: PageRank was still publicly available at the time of the research. Back then, Toyota’s home page had a PageRank 7, and the Yaris page (a nofollow link in the primary navigation) had a PageRank 5. The PageRank 5 was mostly due to many external links rather than the internal linking flow.

Figure 147 -The Yaris page gets a lot of external backlinks from more than 2,500 domains.

However, the situation was different on jtv.com. This time, the categories linked from the primary navigation did not get many backlinks from external sources. While their home page had a PageRank 5, all Shop by Type pages had a “not ranked” PageRank.

Figure 148—Because the Shop by Type pages were linked from the primary navigation, they should have a decent amount of authority (e.g., at least PageRank 3).

The nofollow attribute on primary navigation links does not mean those pages will not appear in SERPs; search engines cached them all at that time. Also, using nofollow on those links does not mean more PageRank was passed to other follow links. It meant that the authority of the nofollow-ed URLs in the primary navigation was significantly reduced.

If some links are unimportant for users, consider removing them from the navigation altogether. Not every category needs a link in the primary navigation menu.

If you want to send link juice only to specific links or pages, here are some alternatives to nofollow:

  • Have fewer links on the linking page.
  • Move important links to prominent places.
  • If you do not want to pass link juice to certain links, make them undiscoverable for bots.
  • Block search engine bots from discovering overhead links.

Keep in mind that nofollow is not a solution for duplicate content.

Because nofollow is incorrectly used to prevent indexing, it may also be incorrectly used to prevent duplicate content issues. However, adding nofollow to links is not the best approach for controlling duplicate content. Since nofollow is not 100% crawling and indexing is fail-proof, how can it prevent indexation or duplicate content?

Internal linking optimization

Users navigate from one page to another by clicking on links. That is one of the core principles of the Internet, and it hasn’t changed since the Web’s inception. However, while links are simply a way for people to navigate within or between websites, search engines will use links as authority and relevance signals.

For search engines, though, all links are not created equal. Some links are assigned more weight based on various criteria. For example, links surrounded by text are considered more important than links in footers, as Google states in the video[15].

Links surrounded by text are called contextual text links. In contrast, links used to structure a website (for example, links in the primary and secondary navigation or breadcrumbs) are called structural or hierarchical links.

One reason contextual text links receive more search engine weight is that users often ignore structural links to go straight to the content [16] and rarely scroll to click on footer links. Search engines deem contextual text links more important than structural links, such as footer links.

Figure 149—Structural links in several types of navigation, such as primary, secondary, and faceted navigation. The contextual text links are present in the main content area.

Large websites such as ecommerce have the advantage of generating an incredible number of internal links; however, most are structural links that do not carry the same power as contextual text links. Moreover, in some cases, Google might even ignore boilerplate or structural links:

“We found that boilerplate links with duplicated anchor text are not as relevant, so we are putting less emphasis on these”.[17]

There are several ways to optimize internal linking, and there is no excuse for not maximizing SEO opportunities within your direct control.

Theoretically, a large number of factors could influence the value of an internal link [18], but we are going to limit it to the following:

  • The position of the link in the page layout.
  • The type of link, e.g., contextual versus structural link.
  • The text used in the anchor.
  • The type of link, as in an image link versus a text link. As reported in this article, an image’s alt text seems to have less ranking value than text links [19].
  • The page authority and the number of outbound links on the page.

The link’s position in the page layout (e.g., in the primary navigation, footer, or sidebar) influences how much PageRank flows to the linked-to page.[20]
Microsoft has the VIPS patent (VIPS stands for A Vision-based Page Segmentation Algorithm[21]), which talks about breaking down page layouts into logical sections. Microsoft has another paper about Block-Level PageRank, which suggests that PageRank passed out to other pages depends on the link’s location on the page.[22]

Google has a patent on “Document ranking based on semantic distance between terms in a document[23] and another patent called “Reasonable Surfer[24]. These two papers indicate that links placed in prominent places pass more PageRank than links in less important page sections.

Contextual text links are assigned more weight than primary and secondary navigation links and deemed more important than footer links. However, the keyword-rich anchor text in the primary navigation (which is present on almost every page of the website) compensates for relevance. Therefore, primary navigation links are at least as powerful as contextual text links.

Unfortunately, you can have only a limited number of anchors in the primary or secondary navigation, so you must choose carefully. However, with contextual links, you can implement many anchors because you are not limited by design space or strict anchor text labeling. For example, you may be restricted to using the anchor text “hotels” in your structural navigation. Still, on content-rich pages, you can use contextual text links such as “5-star hotels in San Francisco” or “San Francisco’s best 5-star hotels”.

Related to the link position, the concept of the First Link Rule is worth mentioning. This rule says that only the first anchor text matters to search engines when multiple links on the same page point to the same URL.[25]

Figure 150 – Each of these URL pairs points to the same URL twice but with not-so-optimal anchor text

Regarding the first pair, linking to the home page with the anchor text “home” may confuse search engines. This is because the anchor text “home” conflicts with the anchor text “home & garden products.”

Regarding the second pair, Children’s Bedroom Furniture should be a category page at a separate URL.

For the third pair, the “Decorating with Metal Beds” link points to a shopping guide, which is great. However, the link using the anchor text “modern metal beds” should point to a category page (if keyword research unveils that “modern metal beds” is an important category). For example, the link could point to the Metal Beds category page, filtered by the Style=modern.

If you want to make search engines count multiple anchor texts,[26] one of the best options is to add the hash sign (#) at the end of the URLs[27].

So, if your first link is mysite.com/metal-bed-guide.htm, then all subsequent links will read like mysite.com/metal-bed-guide.htm#value

However, if you link to the same URL with varied anchor text, you do not need to use the hash in the URL. For example, you can link to the same product page once with the product name and the second time using the product name plus the manufacturer name. Ensure the varied anchor text is related and relevant to the linked-to page.

You will often encounter multiple URLs pointing to the home page—once on the logo and once in the breadcrumbs.

Figure 151 – Both links (logo and breadcrumb) point to the homepage.

The logo’s alt text is “UGG Australia,” and the anchor text in the breadcrumb is “Home.” While having a “Home” link is good for usability, I am not a big fan of the “home” anchor text. I would either:

  • Use the brand name in the breadcrumb because, in this particular case, the brand name (UGG) is very short. Instead of “Home”, I would use “UGG Australia” or just “UGG”.
  • I would replace the anchor text “Home” in the breadcrumb with a small house icon and use the alt text “UGG Australia” for that icon.

Multiple same-page linking happens when a page contains multiple links to the same URL. On ecommerce websites, this frequently arises when links on product listing pages point to product detail page URLs. One link is on the clickable image thumbnail, and the other link is on the product name:

Figure 152 – Multiple links to the same product details page.

Figure 153 – The HTML code for the previous image.

If we look at the source code for the previous example, we will find that the alt text of the thumbnail image is “black”, and the product anchor text is “Solid Ribbon Belt”. This sends confusing relevance signals and is not optimal.

Additionally,

  1. The <A> element has an alt attribute but is in the wrong place because it is not allowed on the <A> element. This alt attribute was probably intended to be a title attribute.
  2. The alt texts #1 and #2 should be switched.
  3. The alt attribute on the A tag (#1) should be removed.

Figure 154 – This is the product name text link.

Let’s talk about several options for addressing multiple links generated by image thumbnails and product names:

  • Repeat the product name text in the image alt text. This is the easiest way to tackle this particular type of issue. The thumbnail’s alt text will become “Solid Ribbon Belt” in our example.
  • Wrap the image and text under a single anchor or a single link. This is not always possible, and it is not good for accessibility.
  • Deploy the URL hash if you need to use unrelated anchor text to point to the same URL.
  • Place the product name above the image (this is against usability and design conventions).
  • Code the page so that the text link is above the image link in the HTML code, while in the browser, you will use CSS to display the anchor text below the image. This is a bit complex to implement, and it is not a very good idea.

In the case of multiple same-page links, if the anchor texts are unrelated, they will send confusing relevance signals. However, PageRank will pass through both links.[28]

Now that you know contextual text links are important let’s see how user-generated content, product descriptions, brand pages, and blog posts can help you create more of them.

User-generated content
User-generated content (UGC) is one of the best ways to feed search engine bots, send engagement signals, and help users make purchasing decisions.

Figure 155 – The highlighted texts are potential internal links.

In this screenshot, you can see two typical reviews displayed on a product detail page. Reviews can add to the overall main content text and help with conversions. I highlighted in yellow some words that could be potential internal links.

Product reviews
Product reviews are one type of content-heavy user-generated content and represent a huge opportunity for generating contextual links. However, not many e-commerce websites fully take advantage of product reviews for internal linking purposes.

While researching this topic, I was surprised that only one of the top 50 online retailers was adding contextual links within user review content. For whatever reason (maybe poor SEO implementation, vendor restrictions, fear of linking out from product detail pages and losing conversions, and so on), the other retailers did not. Very few of the top 50 online retailers deployed SEO-friendly reviews. We will discuss optimizing reviews in detail in the section dedicated to product detail pages.

Figure 156 – This product is very popular, with over a thousand reviews.

In the example above, the product has 1,221 reviews. If you were to add just one contextual link within 10% of the reviews, you would create 120 powerful contextual internal links.

Product descriptions
Many ecommerce pages contain text-rich sections. Take product detail pages, for example; each product has or should have a description. These content-rich sections are great places to link up to parent categories and brand pages:

Figure 157 – The highlighted text could link to a brand page (i.e., Bobeau).

When you link from product descriptions, it is important to link to the parent category and, optionally, to other highly related categories.

Optimized brand pages

Figure 158 – Most of the time, brand pages are nothing more than product listing pages.

Nothing is wrong with listing products on a brand page, but you must make brand pages content-rich.

Suppose you want to build relevant and valuable contextual text links that send more PageRank authority to product or category pages. In that case, brand pages must include text, media, and social signals. Be creative with the content, and link smartly. Add a paragraph about the brand’s history and link to the brand’s top sellers. Alternatively, you can add interesting facts about the brand and useful reviews. Get the brand owners interviewed and publish the interview on their brand page. You can then ask for a link or a mention from their Press or News section.

Look at how Zappos improved the internal linking on their brand pages and how they carefully interlink thematically related pages:[29]

Zappos’ brand page does a good job of satisfying users and search engines:

  • Zappos uses section 1 as a sitemap to guide bots to other related pages on their website.
  • Section 2 implements brand-specific RSS feeds. Search engines are instantly notified when new products are published for a brand.
  • In section 3, you can see how they use text-rich content for contextual linking.
  • In section 4, they link to the brand’s featured products.
  • In section 5, Zappos features contextual links within user reviews.

Blogging
As mentioned in the Information Architecture section, blogs can support and increase authority for category and product pages, but very few e-commerce websites fully utilize blogging.

Figure 159 – Contextual text links from the main content area carry significant authority. Make sure your content-rich pages link internally to PDPs and PLPs.

When you write blogs, link internally from the main content areas to pages on your website, ideally to product and category pages.

Figure 160—This is a good implementation of internal linking from blog posts. Although it is important not to overdo it, an exact internal anchor text match is still important.

At the risk of becoming annoying, I need to stress this: if you are not blogging, you are missing many long-tail search queries used by possible customers in the early buying stages.

Remember, you write articles not to sell or promote something but to grab long-tail traffic for informational search queries and to support pages higher in the hierarchy. The amount of content you need to create to support a category, subcategory, or product depends on how competitive each keyword is.

To create contextual links, use blog comments, user-generated content, user or customer support questions and answers, guest posts, product images with captions, user-submitted images, curated rich media, and even shop-able images.

Anchor text

The anchor text optimization principle is simple: the text used in the anchor sends relevance clues to search engines, and it must be relevant to the page it links to. For example, if the anchor text is “suitcases” and the linked-to page includes the phrase “suitcases” and other semantically related words. The anchor text in the incoming link is given more weight.

However, if you use “click here” on internal anchor text pointing to, let’s say, hotel description pages, search engines will assign less relevance to those anchors, as they are too generic and don’t communicate anything about the linked-to page. In our previous example, use the hotel names in the anchor text when linking internally to hotel description pages.

The following study was conducted on over 3,000 e-commerce and non-e-commerce websites and analyzed more than 280,000 internal links and their corresponding anchor text[30]. The study examined the most common words used in the internal anchor text. This screenshot shows those terms ranked by frequency.

Figure 161 – The study examined how 3,000 websites use anchor text in internal linking.

Seven out of 10 anchor text links could be logically consolidated into three groups, represented by the numbers in the image. This technique is called link consolidation, and it is a better alternative to link sculpting with nofollow. Remember that if the links you consolidate are in the footer, then the value of doing this is minimal.

Let’s see what anchor texts you use to link pages internally.

First, determine whether you use generic anchor texts such as “click here” or “here” on your website. After you run the crawl on your website, use the IIS SEO Toolkit to check whether The link text is irrelevant. The violation is reported under the Violations Summary section of the tool:

Figure 162—Double-click any violation titles in the Violations Summary section for more details about each error.

There are situations where it is OK to use “click here” as anchor text, for example, when you link to a page unimportant for rankings or use “click here” as a call to action. In fact, “click here” is one of the most powerful calls to action used in online marketing.

By default, the IIS SEO Toolkit searches for the words “here” and “click here” in anchors. In practice, there are more generic anchors that you should pay attention to. A more comprehensive list of generic anchors is available here.

If you want to be exhaustive with this analysis, export the anchors list from the IIS SEO Toolkit and use Excel for a deeper analysis. Here’s how to do it.

Figure 163 – Create a new link query.

In the IIS SEO Toolkit, go to the Dashboard, click the Query drop-down, and click on New Link Query.

Figure 164 – Use the settings depicted in sections (1) and (2).

Use the following settings in section (1):

  • Linked Is External Equals False.
  • Link Type Not Equal Style.
  • Link Type Not Equal Script.
  • Link Type Not Equal Image.

In the Group By section, select Link Text. Then hit Execute, sort by Count, and then click Export. This will generate the aggregated link text report. You can export the data to a .csv file.

Once the Links tab opens, right-click anywhere in the gray area and select Query—> Open Query.

Figure 165 – Importing an XML query in the IIS SEO Toolkit.

Open the file generated by the IIS SEO Toolkit using Excel, and name one of the spreadsheet Anchors. Name the first column Anchor, and list all the anchor texts. Name the second column, Occurrences, and list the occurrence count (the SEO toolkit generates this data.)

Add a third column (name it Presence) and leave it empty for now because this column will be filled in later using a VLOOKUP function.

Figure 166 – The count of occurrences for each anchor text.

Create a new spreadsheet and name it Generic anchors. Then, create two columns: Generic Words and Presence. Then, list all generic keywords in the Generic Words column. Fill the Presence column with the number “1”:

Figure 167 – Adding the number one in the Presence column will be used to match the anchors on your website with the generic anchor text list.

Now, go back to the Anchors spreadsheet and add the following VLOOKUP formula in cell C2:
=VLOOKUP(A2,’ generic anchors’!A:B,2,FALSE)

Figure 168 – VLOOKUP is a built-in Excel function that works with data organized into columns.

Copy the VLOOKUP formula down in column C. You can double-click on the tiny dot in cell C2 (the dot at the bottom right of the cell) to automatically fill column C with the VLOOKUP formula.

If there is an exact match between the anchors used on the website and the generic keywords list, the column C cells will be filled with the value “1”. You will get “#N/A” when there is no match. Sort or filter by “1”, and you will get the list of generic anchors on your website:

Figure 169 – The anchor text “Blog” is one of the most used internal anchor texts. Additionally, there are some other generic anchors such as “click here”, “here”, “home”, or “website”.

So, we identified that the “blog” anchor text is heavily used on this website; this large number suggests that it is probably a site-wide link.

Next, we will use the IIS SEO Toolkit to see which pages link to the Blog section.

You will need to open a new query by going to Dashboard –> Query –> New Link Query;

In the Field Name section, use the following settings:

Figure 170 – You can group the data by Link Text.

  • Link Type Not Equal Style.
  • Link Type Not Equal Script.
  • Link Type Not Equal Image.
  • Link Text Equals “Blog”.

In the Group By section, select Link Text (if Group By does not show up by default, you must click the Group By icon just below the Links tab. Next, hit Execute. This report will show how often “blog” was used as anchor text.

Double-clicking on “Blog” will open a detailed list of Linking URLs. Repeat the process for all generic anchor texts.

You must be more creative and replace the anchor text “blog” with something more appealing to search engines and people. Even {CompanyName}Blog is a better choice, but you could theme this anchor text even more. For example, you can use {CompanyName} Fish & Hunt Blog if you sell fishing or hunting equipment. If you sell running shoes, you could use Mad Runner’s Blog, and so on.

When you link to category or product detail pages, use the category or product names as anchor text. For instance, you will link to the product detail page with the book’s name if you sell books. You can also vary the anchor text by adding brands or product attributes to the product name.

Exact internal anchor text match still matters for e-commerce websites if you do not go overboard, for example, by spamming with site-wide footer links. Usually, it is a good idea to match the search queries with your internal anchor text as closely as possible. However, how do you know which anchors to use to link to a page that lists, let’s say, ignition systems for a 2004 Audi A3? By doing keyword research.

For example, you can break down the keywords by years, makes, models, product types, or categories if you sell auto parts. Collect keyword data from as many sources as you can: user testing, Google Analytics, Google Ads data, your webmaster accounts, competitor research, or data from your Amazon account. Put all the keywords in a master spreadsheet and remove duplicates using Excel.

Add the metrics that you want to take into consideration, and your table may look like this:

Figure 171 – I like adding a keyword ID in the first column to revert to the original data at any time by sorting by ID.

As metrics, I will consider the average monthly searches for each keyword and the number of conversions.

Now, you need to identify search patterns. You will do this by replacing each word with its corresponding product attribute or category to which it belongs. For example, you will replace “2007” or any other year with the placeholder{year}, “Chevy” or any other make with the placeholder{make}, and “grill” or any other category name with the placeholder{category}. Replace all the words until you end up with many placeholders.

Figure 172 – You can speed up this process if your programmers can write a script to replace keywords with attributes automatically.

Once you have replaced all the words with placeholders, identify the most used patterns by using pivot tables:

Figure 173 – You can identify the most used patterns using pivot tables.

For your pivot table settings, use Keyword Pattern for your rows, and for Values, use the following:

  • The sum of average monthly searches.
  • The sum of conversions.
  • The count of keyword patterns.

There you have it! The most common pattern in our example is {year}{make}{model}{category}. However, the pattern with the most searches is {make}{model}. The pattern with the most conversions is {make}{model}{category}.

By mimicking user search patterns in your internal linking, you will increase the relevance of the linked-to pages.

Anchor text variation
Despite RankBrain becoming better at understanding keyword variations, it is still a good idea to vary the internal anchor text pointing to the same URL. For ecommerce websites, the category and subcategory pages will allow only some room for keyword variations. For example, when you link to the Vancouver Hotels page, you can use “hotels in Vancouver” or “Vancouver hotels”.

When you link to a product listing page (for example, a page listing all Rebel XTi cameras), you can add the brand name (“Canon Rebel XTi”) or the product line the product belongs to (e.g., “Canon EOS Rebel XTi”).

Figure 174—The anchor text can be more varied when you link from content-rich areas such as blog posts or user guides.

Contextual text links allow more anchor text variation than structural links. Structural links are often based on rules, such as using only the product names or product names plus product attributes. Therefore, structural links are not very flexible, while contextual text links are.

For product variants (e.g., model numbers or different colors), the anchor text on the item name can contain differentiating product attributes:

Figure 175 These three SKUs are variants of the “Canon Digital Rebel XTi 10.1MP” product.

In this screenshot, the three SKUs are variants of the same product, “Canon Digital Rebel XTi 10.1MP”. The first SKU is just the camera body. The second SKU includes a lens, and the anchor text includes that detail. Similarly, the third SKU includes a lens but in a different color.

Remember to link using text that makes sense for users without forcing keywords. Also, just a reminder that when you use plurals in the anchor text (e.g., “digital cameras”), consider linking to a listing page because search queries that contain plurals usually denote that users want to see a list of items.

Merchandising and marketing teams needed to cross- and upsell, so ecommerce websites started featuring sections such as Related Items. It can have various names such as people who purchased this also purchased…, you may also like…, people also viewed…, related products, or related searches. This concept was originally introduced to help increase the average order value by increasing the number of items added to the cart by users. This tactic also helps users navigate to related products or categories.

Figure 176—The You May Also Like section in this screenshot is commonly found on e-commerce websites and is a good example of Related Items components.

SEOs realized that related items sections could also be used to:

  • Optimize internal linking by interconnecting deep pages (i.e., facets) that were otherwise impossible or difficult to connect with other navigation URLs, such as breadcrumbs.
  • Flatten the website architecture.
  • Silo the website architecture by linking to siblings and parent categories. Keep in mind that siloing with related products requires very strict business rules.

Links from “Related links” sections can be used to boost the authority of any page(s) whenever needed:

  • By linking directly from the category listing or home page, you can boost the crawling, indexing, and, eventually, the rankings of newly added products.
  • If there are products with very high value for your business, linking from the home page will send more authority to those products.
  • You can also link to houses in nearby neighborhoods on a page that lists all houses for sale in a particular district.
  • You can boost hotel description pages by linking to recently reviewed hotels from city listing pages.

If you have a lot of data to rely on, you can implement related products, categories, or searches with the help of recommendation engines. Such engines optimize the shopping experience on the fly, but often, they are implemented with uncrawlable JavaScript. One way of tackling related items implemented with JavaScript is to define and load a set of default products accessible to search engines when they request a page. You will then replace or append more items with AJAX once the page loads in the browser to improve the discoverability for users and bots. The idea is that you do not want to leave the rendering of the content to Googlebot.

Figure 177 – The related items section on the left side of the screenshot is accessible to search engines, as you can see in the cached version of the page on the right side.

On a side note, while the content of the recommendation engine is indexed, the images’ alt text could be improved. On the other hand, on the website below, the AJAX implementation prevents search engines from finding the recommended products:

Figure 178—The You May Also Like section should appear in the cached version just after the last product in the list, but it does not.

If the website above wants to flatten its website architecture by internally linking from related products, it must ensure search engines can access the links in the related products section. Use fetch and render using Google Search Console to clarify if search engines can render the items in the You May Also Like section. If it works there, it will work for search, too.

Googlebot is a headless browser. This means it is a web browser without a graphical user interface but one that can render and “see” the content on JS-powered pages.

Also, remember that what you see when you use the “cache:” operator is not the same as what Google renders at its end. Google’s source of truth is very close to what “Fetch and Render” provides in Google Search Console, while the cached version is just the raw HTML. It is most likely that Google uses both the cached and rendered versions of a page to ensure people are not spamming.

Here are a few things to consider when implementing related or recommended items:

  • If you need to add tracking parameters to recommended item URLs, do so in the browser, at mousedown or onclick events. If you cannot use click events, canonicalize the tracking parameters using Google Search Console or rel=” canonical” relationships.
  • Keep the number of recommended items low and focus on quality (three to five products should be enough).
  • If you want to provide even more recommended items, use carousels.

The website below links to a sweater and sandals PDP because those products are related to the product detail page they are featured on.

Figure 179 – You can interlink related items even if they are in different silos if it makes sense for users (e.g., link from a skirt PDP to the sandals PDP that completes the look).

Popular Searches are another internal linking tactic that can be implemented on ecommerce websites. These popular searches (which don’t necessarily come from your internal site search) can be an SEO power horse, especially for large ecommerce sites. You can automate the creation of internal links to categories, products, product listing pages, and facets at scale, which will help increase the number of internal links to those pages. You can also consider various metrics such as conversion rates, search volumes, or rankings to distribute the internal links more efficiently; the more popular a query is, the more internal links will be required for page one rankings.

Internal linking over-optimization

While internal links with exact match anchor text typically do not hurt,[31] do not overdo it. Let’s look at a few scenarios that can raise over-optimization flags.

Unnatural links to the homepage
It does not help much to replace the anchor text “home” with your primary keyword.[32]

Figure 180 This looks spammy.

If your domain or business name is “online pharmacy”, it may be fine to use keyword-rich anchor text to point to the home page; otherwise, do not do it.

Too many contextual text links
A high ratio of internal anchor text links to content is not advisable. For example, if a category description content has 100 words and you place 15 anchors in it, that is too much.

Figure 181 – Contextual links are great, but that does not mean you must abuse them, as depicted in the image above.

Contextual text links can be created either programmatically or added manually by copywriters or SEOs. In both cases, you need to define rules to avoid over-optimization.

Let’s exemplify with a set of rules for category descriptions:

  • Add links to other products from the parent category. The maximum number of products linked per 100 words is two.
  • Add links to related categories. The maximum number of related categories linked per 100 words is two.
  • The maximum number of consecutive anchor text links is two.
  • The maximum number of links with the same anchor text is one.
  • The minimum number of links per 100 words is two.

Use these rules just as guidelines and customize them based on your circumstances.

The following is an example of decently safe internal linking:

Figure 182 – The text in this paragraph flows naturally, and the anchors also seem natural.

Keyword-stuffed navigation and filtering
Some ecommerce websites try to enhance rankings for head terms like category or subcategory names by stuffing keyword-rich anchor text links in the primary navigation, similar to what you see in this screenshot:

Figure 183 – Did you notice how each subcategory link contains the upper category name?

It is not necessary to use keywords repeatedly in the main navigation. If your website architecture is properly built, search engines will understand that if the category name is Watches, all the links and products within it belong to the Watches category.

The same applies to other forms of navigation, such as faceted navigation.

Figure 184 – These links look spammy, too.

You can use properly nested list items to help search engines understand categorization so that you do not need to repeat the category name in every filter value in the left navigation.

Because PageRank is a renewable metric, having external links to category and subcategory pages provides ranking authority to the target pages and increases the amount of PageRank that flows throughout the entire website. Moreover, because it is not economically feasible to build links to individual product pages for ecommerce websites with large inventories, the link-earning efforts should be focused on category and subcategory pages. Remember that backlink building is complex and outside the scope of this course.

Focusing your link-building efforts on just a few top-performing category pages is a good idea for new websites or websites with limited marketing budgets. Still, generally, you need to diversify your targets. Once you build enough links to a category page, that page becomes a hub: it will pass link equity to pages downwards and upwards in the website hierarchy. The more hubs you build, the more natural your website will look, and the more PageRank will flow throughout it.

You can identify existing link hubs using Google Search Console and use them to your advantage. Anytime you want to boost a new page, you can tap the power of the hubs. For example, you identified that the Women’s Apparel subcategory is a hub. If you want to boost the Women’s Sleepwear category, link to it contextually from the main content on the hub page.

  1. Browser-specific optimizations and cloaking, https://productforums.google.com/forum/#!topic/webmasters/4sVFlIdj7d8
  2. GET, POST, and safely surfacing more of the web, http://googlewebmastercentral.blogspot.ca/2011/11/get-post-and-safely-surfacing-more-of.html
  3. Google Analytics event tracking (pageTracker._trackEvent) causing 404 crawl errors, https://productforums.google.com/forum/#!topic/webmasters/4U6_JgeCIJU
  4. Call of Duty: Ghosts – Xbox 360, http://www.amazon.com/Call-Duty-Ghosts-Xbox-360/dp/B002I098JE
  5. Free SEO Toolkit, http://www.microsoft.com/web/seo
  6. One More Great Way to Use Fusion Tables for SEO, http://moz.com/ugc/one-more-great-way-to-use-fusion-tables-for-seo
  7. Visualize your Site’s Link Graph with NodeXL, http://www.stateofdigital.com/visualize-your-sites-internal-linking-structure-with-nodexl/
  8. How To Visualize Open Site Explorer Data In Gephi, http://justinbriggs.org/how-visualize-open-site-explorer-data-in-gephi
  9. rel=” nofollow” Microformats Wiki, http://microformats.org/wiki/rel-nofollow
  10. Interview with Google’s Matt Cutts at Pubcon, http://www.stephanspencer.com/matt-cutts-interview/
  11. Use rel=” nofollow” for specific links: https://support.google.com/webmasters/answer/96569?hl=en
  12. PageRank sculpting, http://www.mattcutts.com/blog/pagerank-sculpting/
  13. Should internal links use rel=”nofollow”?, https://www.youtube.com/watch?feature=player_embedded&v=bVOOB_Q0MZY
  14. Damping factor, http://en.wikipedia.org/wiki/PageRank#Damping_factor
  15. Are links in footers treated differently than paragraph links?, https://www.youtube.com/watch?v=D0fgh5RIHdE
  16. Is Navigation Useful?, http://www.nngroup.com/articles/is-navigation-useful/
  17. Ten recent algorithm changes, http://insidesearch.blogspot.ca/2011/11/ten-recent-algorithm-changes.html
  18. Link Value Factors, http://wiep.net/link-value-factors/
  19. Image Links Vs. Text Links, Questions About PR & Anchor Text Value, http://moz.com/community/q/image-links-vs-text-links-questions-about-pr-anchor-text-value
  20. Are links in footers treated differently than paragraph links?, https://www.youtube.com/watch?v=D0fgh5RIHdE&feature=youtu.be&t=40s
  21. VIPS: a Vision-based Page Segmentation Algorithm, http://research.microsoft.com/apps/pubs/default.aspx?id=70027
  22. Block-Level Link Analysis, http://research.microsoft.com/apps/pubs/default.aspx?id=69111
  23. Document ranking based on semantic distance between terms in a document, http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=1&p=1&f=G&l=50&d=PTXT&S1=7,716,216.PN.&OS=pn/7,716,216&RS=PN/7,716,216
  24. Google’s Reasonable Surfer: How The Value Of A Link May Differ Based Upon Link And Document Features And User Data, http://www.seobythesea.com/2010/05/googles-reasonable-surfer-how-the-value-of-a-link-may-differ-based-upon-link-and-document-features-and-user-data/
  25. Results of Google Experimentation – Only the First Anchor Text Counts, http://moz.com/blog/results-of-google-experimentation-only-the-first-anchor-text-counts
  26. 3 Ways to Avoid the First Link Counts Rule, http://moz.com/ugc/3-ways-to-avoid-the-first-link-counts-rule
  27. When Product Image Links Steal Thunder From Product Name Text Links, http://www.goinflow.com/when-product-image-links-steal-thunder-from-product-name-text-links/
  28. Do multiple links from one page to another page count?, https://www.youtube.com/watch?v=yYWlEItizjI
  29. Agave Denim, http://www.zappos.com/agave-denim
  30. [Study] How the Web Uses Anchor Text in Internal Linking, https://www.conductor.com/blog/2012/05/image-anchor-text/
  31. Will multiple internal links with the same anchor text hurt a site’s ranking?, https://www.youtube.com/watch?v=6ybpXU0ckKQ
  32. Testing the Value of Anchor Text Optimized Internal Links, http://moz.com/blog/testing-the-value-of-anchor-text-optimized-internal-links