Skip to content

Internal Linking for SEO: A Practical Strategy for WordPress and WooCommerce

Obsah článku

O autorovi článku

RNDr. Milan Fraňo, PhD. – SEO špecialista a web editor – wooacademy

O autorovi článku

RNDr. Milan Fraňo, PhD. – SEO špecialista a web editor – wooacademy

☕Páčil sa vám článok? Podporte nás likom na YouTube kanál alebo kúpou kávy.

Internal links are the one part of SEO you control completely. You cannot make another website link to you, but you decide every link inside your own site. I first wrote about internal linking in 2020. Since then Google has changed how it treats nofollow, retired old pagination markup and published guidance on faceted navigation, and AI search has made clear site structure even more valuable. This updated version reflects what I actually do when I audit and build WordPress and WooCommerce sites.

An internal link is a hyperlink from one page to another page on the same domain. In practice they fall into two groups:

  • Navigational links repeat across the site (menu, footer, sidebar, breadcrumbs) and show the main sections.
  • Contextual links sit inside the main content, connect related topics and carry the most descriptive anchor text.

Why internal linking matters for SEO in 2026

Discovery

Google finds most new URLs by following links. The Google SEO Starter Guide says directly that the vast majority of new pages Google finds every day are discovered through links. The sitemaps overview even states that a site of about 500 pages or fewer, comprehensively linked internally, may not need a sitemap at all. If some of your pages never get indexed, fix the linking before you reach for guaranteed indexing tools or other shortcuts.

Context and importance

Anchor text and the surrounding sentence tell Google what the target page is about. The original PageRank algorithm, developed by Larry Page and Sergey Brin at Stanford in 1996, treated links as votes, and the same logic applies inside a site. Google does not publish internal weights, so nobody can promise that one extra link equals a certain ranking gain. What I see consistently is simpler: pages buried deep with one or two weak links underperform, and pages that get proper internal support usually move.

The sub-links under your homepage result cannot be added manually. The Google documentation on sitelinks explains that its systems analyze the link structure of your site and recommends concise, relevant internal anchor text. AI answer engines work in a similar spirit: they build on content that search systems have already crawled and understood, and a clear hub and cluster structure shows which page is authoritative on a topic. That is why internal linking is part of every AEO strategy for getting recommended by AI I put together, alongside the checks covered in technical SEO for AI search.

The technical rules Google actually documents

This is the most overlooked point on WordPress sites built with page builders. The Google guide on crawlable links is clear: Google can reliably follow an `<a>` element with an `href` attribute that resolves to a real URL. A `<span>` with a click handler or an anchor with only an onclick event may work for visitors, but it is not a dependable link for Googlebot. In audits I regularly find mega menus, product tabs and slider buttons that look like links but are not.

Anchor text should describe the target

Google recommends anchor text that is descriptive, reasonably concise and relevant to both pages. Avoid generic phrases such as click here, avoid keyword stuffing and do not chain links next to each other without context. A useful test from the same documentation: read the anchor on its own and check whether it still makes sense. I go deeper into anchor variety and exact match risks in the guide on anchor text for SEO.

Some themes and older advice still add nofollow to internal links such as login, cart or terms pages to push value elsewhere. This is PageRank sculpting, and Google neutralized it in 2009 by changing how value is divided among links on a page. Since March 1, 2020, nofollow is also treated only as a hint for crawling and indexing. The Google page on qualifying outbound links says that for links within your own site you should use robots.txt disallow rules instead.

My rule: if a page deserves a link, link it normally. If it should not be crawled, use robots.txt. If it should not be indexed, use noindex. The only gray area is faceted navigation, covered below.

Google has never documented a benefit from linking to the same page several times from one article, and readers see clutter. I keep one contextual link per target URL in the body. Template navigation is a separate layer.

Google also does not recommend a number of links. The crawlable links guide says every important page should have at least one internal link, and if it seems excessive, it probably is. In a 2,000 word article I usually end up with 5 to 12 contextual links, each placed where a reader would genuinely want to click. The 1 to 3 links per article I recommended in 2020 is too conservative for in-depth content.

Site architecture: crawl depth, hubs and clusters

The three click rule is a usability heuristic, not a Google requirement, but it is a practical target, because pages close to a strong homepage get discovered and recrawled faster. On WooCommerce stores I aim for every product to be reachable within three or four clicks through categories, not only through search or filters.

A hub page (or pillar page) covers a broad topic and links to detailed articles, which link back to the hub and to their closest siblings. The link cluster on this site works that way: one piece explains what a backlink is, another covers how to get backlinks in the era of AI search, and this article handles the internal side.

Finally, link from strength to need. In 2020 I described this with Page Authority, which is a tool vendor score, not something Google uses. Today I look at which URLs have the most referring domains and organic clicks in Search Console and add relevant links from them to commercial pages or articles stuck on page two.

Internal linking in WordPress and WooCommerce

Categories, tags and product pages

Categories are the backbone of every WordPress blog and WooCommerce store. Give each category an introduction with a few contextual links so the archive is more than a grid. Tags are where most sites go wrong: hundreds of tag archives with one or two posts each create thin pages. Curate them into meaningful collections or noindex them.

WooCommerce includes related products, upsells and cross-sells. Related products are picked automatically from shared categories and tags, so their quality depends on your taxonomy. Upsells and cross-sells are set manually and are worth the effort for best sellers. Add a contextual link or two in product descriptions to a buying guide or parent category as well.

Breadcrumb navigation gives every page a trail of links up through its parents. WooCommerce has built-in breadcrumbs and the major SEO plugins add them for posts and pages. Add BreadcrumbList markup following the Google documentation on breadcrumb structured data, and note one detail: Google recommends breadcrumbs that represent a typical user path, not a mirror of the URL structure. Flat product URLs can still show Home, Category, Subcategory, Product.

Automated related posts widgets often suggest weak matches, and some load via JavaScript, which makes the links less reliable for crawling. I prefer a short hand-picked list. Menus and footers repeat on every page, so reserve them for main sections and key money pages. The pros and cons of links repeated across a whole site are covered in the article on sitewide links.

Faceted navigation and filters

Filters by color, size, price or brand can generate thousands of URL combinations from a few hundred products. The Google guide on faceted navigation explains that crawlers then spend time on filter URLs and have less left for new, useful pages. Recommended options are blocking filter parameters in robots.txt, using URL fragments for filters, or rel canonical to the unfiltered category. Nofollow on filter links is mentioned too, but Google calls it less effective because every filter link must carry it.

My approach: keep a few valuable combinations (for example a popular brand within a category) as real indexable landing pages and block the rest of the parameter space. For very large stores, Google has a separate guide on managing crawl budget for large sites, aimed at sites with about a million pages or more, or 10,000 or more pages changing daily.

Pagination

According to the Google guide on pagination and incremental loading, each paginated page needs its own URL and canonical, should link to the next page with a normal `<a href>` link, and Google no longer uses rel next and rel prev. Infinite scroll without crawlable paginated URLs behind it can hide deeper products from Googlebot.

Link typeTypical placeMain SEO valueCommon mistake
Main menuHeader on every pageDefines top-level structureJavaScript-only dropdowns
BreadcrumbsAbove contentHierarchy and structured dataMirroring URLs, not the user path
Contextual linksArticle or product textTopical context through anchorsGeneric anchors, repeated URLs
Category and tag archivesListingsDiscovery of posts and productsHundreds of thin tag pages
Related products and postsBelow contentDiscovery and cross-sellingWeak automatic matches
Footer and sidebarEvery pageAccess to key pagesDozens of keyword-anchor links
PaginationBottom of archivesReaching deep itemsInfinite scroll without URLs
Faceted filtersCategory sidebarsOnly selected combinationsThousands of crawlable parameters

Orphan pages and how to find them

An orphan page has no internal links pointing to it, so Google can only find it through a sitemap or external links, and it is usually crawled rarely and ranks poorly. On WordPress sites orphans typically come from campaign landing pages, products removed from categories but still published, and posts whose only link was a homepage slider that got replaced.

Detection is a comparison of two lists: URLs a crawler finds by following links from the homepage, and URLs you know exist from the XML sitemap, Search Console and analytics. Anything in the second list but not the first is an orphan. Then link it from relevant pages, merge it into a stronger page with a 301 redirect, or remove it. Once linked, you can speed up recrawling with the options in the overview of the best Google indexing tools, but the link comes first.

How to build an internal linking plan step by step

Crawl the whole site with JavaScript rendering on and off, and export every URL with its crawl depth, incoming internal links and anchor texts. Differences between the two crawls reveal JavaScript-only links.

2. Map topics to hub pages

Assign one primary URL to each main topic or product group: a category, pillar guide or service page. Every supporting article or product should belong to a hub. If two pages compete for the same intent, merge them before you build links.

3. Find orphan and deep pages

Compare the crawl with the sitemap and the Search Console page indexing report. Flag pages with zero or one internal link and pages deeper than four clicks.

4. Identify strong pages and pages that need a boost

Sort pages in Search Console by clicks and check which ones attract external links. Then find pages ranking around positions 8 to 20 for valuable queries, where extra internal support most often makes a visible difference.

Link from strong pages to the pages that need help, only where the topic genuinely connects. Describe the target in the anchor, vary wording naturally, keep one link per target URL in the body and make sure each hub links to every important member of its cluster.

6. Fix technical blockers

Replace JavaScript-only navigation with real links, remove nofollow from internal links, handle faceted parameters, add breadcrumbs with structured data and keep paginated archives crawlable. Check custom code too: related products snippets written by a developer or an AI assistant sometimes output links without `href`, so review them as described in the guide on secure AI coding for WordPress and WooCommerce.

7. Monitor and repeat

Recrawl, confirm that orphans are gone and depth has dropped, and watch the targeted pages in Search Console. Add internal linking to your publishing checklist so every new article links to its hub and gets at least two links from existing content.

Internal links work best when the page behind them deserves the attention. The principles in how to write content that AI cites apply equally to the pages you want to strengthen, and external signals such as brand mentions and AI citations complete the picture.

If you would rather have someone experienced map this out, WooAcademy (Milan Fraňo) works remotely with companies across the EU and the US on technical SEO audits, internal linking plans and WooCommerce development, including the cleanup of faceted navigation and category structures.

FAQ

What is internal linking in SEO?

Internal linking in SEO means connecting pages on the same domain with standard HTML links, so users and search engines can discover content, understand how topics relate and see which pages matter most. It covers menus, breadcrumbs and contextual links inside article and product text.

Google sets no number and only says every important page needs at least one internal link and that an excessive amount is a warning sign. A long article usually works well with roughly 5 to 12 contextual links, each placed where a reader would genuinely want more detail.

No. Google neutralized PageRank sculpting with nofollow in 2009 and recommends robots.txt rules rather than nofollow for controlling crawling within your own site. Use normal links for pages that deserve them, robots.txt for sections that should not be crawled and noindex for pages that should stay out of the index.

They help Google find pages, understand their topic through anchor text and recognize which pages the site treats as important. Google does not publish their weight, so there is no guaranteed gain, but pages that receive relevant links from strong pages often improve, especially when they already rank on page two.

What is an orphan page?

An orphan page is a published URL with no internal links pointing to it. Search engines can find it only through a sitemap or external links, so it tends to be crawled rarely and rank poorly. Fix it by linking it from relevant pages, merging it into a stronger page or removing it.

How should WooCommerce stores handle filter URLs?

Most filter URLs from faceted navigation should be kept out of crawling, for example with robots.txt rules for filter parameters or canonical tags pointing to the unfiltered category, as the Google faceted navigation guidance describes. Only combinations with real search demand deserve indexable landing pages.

Are breadcrumbs important for internal linking?

Yes. Breadcrumbs give every page consistent links up through its parent categories, which reduces crawl depth and clarifies hierarchy. With BreadcrumbList structured data Google can read the trail, and it recommends breadcrumbs that follow a typical user path rather than copying the URL structure.

O autorovi

RNDr. Milan Fraňo, PhD.

HEAD of SEO, web editor, co-founder wooacademy

Môj príbeh SEO špecialistu …

SEO konzultácia

Naplánuj si konzultáciu
s našimi profesionálmi.

konzultacia social kampane

Facebook marketing partner – social marketing

HEAD of SEO a web editor – weby & SEO

Google certifikovaná trénerka – Google ads kampane (PPC)

Zanechajte nám kontaktné informácie a pripravíme cenovú ponuku na mieru ?

Marketingové služby na mieru, ozvite sa!