Most PrestaShop store owners spend money on the parts of SEO they can see: backlink outreach, paid ads, a content agency. The internal link graph — the web of links your own store creates between its own pages — is the part nobody looks at, because it costs nothing and produces no invoice. That's exactly why it stays broken. In the store audits we run, it's normal to find a large share of product pages sitting as orphans or near-orphans: reachable only from a category listing, two clicks deeper than they should be, passing almost no authority to one another. Google treats those pages roughly the way a customer treats a product buried four menu levels down — it rarely gets there, and when it does, it doesn't think much of what it finds.
This guide is about the strategy and architecture of internal linking for an e-commerce store: how link authority actually moves through your site, how to read your link graph, and where PrestaShop specifically hands you linking opportunities (and quietly wastes them). It is the structural counterpart to the wider complete PrestaShop SEO guide. If you want the narrower, tactical question of which products should link to which — accessories, "bought together", up-sells — that has its own treatment in how products should link to each other, and we'll point back to it rather than repeat it here.
How internal link authority actually moves
Internal links do two jobs. First, they tell Google which pages exist and how to reach them — that's crawling. Second, they distribute authority (the value people loosely call "link juice" or PageRank) from page to page. A page's authority is divided across the links leaving it, so a homepage that links to 8 categories passes far more to each than one that links to 80 destinations. Authority that arrives on a category page then flows onward to the products that category links to, and so on down the tree. The practical consequence is blunt:
- Pages linked from your highest-authority pages (homepage, top categories) inherit the most authority. Your homepage is almost always your strongest page, so what it links to matters disproportionately.
- Pages buried several clicks deep receive a thinning share at every hop — a product at click-depth 5 is living on the scraps that survived four divisions.
- Pages with many inbound internal links accumulate authority from multiple sources, which is why a product mentioned in three blog posts and two category descriptions outranks an identical product mentioned nowhere.
- Orphan pages — nothing on the site links to them — receive essentially nothing. They survive only in your sitemap, which is discovery, not endorsement.
So what does this mean for your store? It means the internal links you control completely — no outreach, no waiting, no agency — are the cheapest authority lever you own, and a single afternoon of restructuring can move authority onto the pages that actually earn revenue. It also means click-depth is a number worth managing on purpose. The widely repeated working rule is to keep important pages within about three clicks of the homepage; treat that as a sensible target rather than a law, but the direction is right — every layer you add to your category tree pushes products further from the authority source.
The hub-and-spoke model, applied to PrestaShop categories
Hub-and-spoke is the structure that builds topical authority — the signal that your store covers a subject thoroughly rather than listing a few products in it. The hub is a broad page (a category, or a guide) aimed at a wide search term; the spokes are the specific pages around it — products, subcategories, and supporting blog posts aimed at long-tail terms. The hub links out to every spoke, every spoke links back to the hub, and related spokes cross-link where it genuinely helps a reader.
On PrestaShop the category page is a natural hub — by default it already links to every product inside it. The half that's almost always missing is the return path and the cross-links: category descriptions with no text in them, products that link to nothing but "add to cart", blog posts that mention products without linking to them. A worked PrestaShop structure for an "office chairs" category looks like this:
- Hub: the /office-chairs category, with a real 300–500 word description (not an empty grid).
- Spokes: each chair product, the "under €300" subcategory, and two or three blog posts ("how to choose an office chair", "ergonomic setup guide").
- The wiring: the category description links down to its key subcategories and supporting posts; each product links back up to the category and across to two or three genuinely related products; each blog post links to the category and to the specific products it discusses.
The payoff is the part most owners miss: once that web exists, a backlink earned by any one page strengthens all of them. If a blog post about ergonomic setups attracts a link from another site, that authority doesn't sit trapped on the post — it flows through your internal links to the category and the products. A well-built internal structure is a multiplier on every external link you ever earn. A common starting guideline is three to six internal links per spoke (one or two down from the hub, one back up, two or three across), but read it as a floor-and-ceiling, not a quota to pad.
Where PrestaShop hands you internal links — and where it wastes them
PrestaShop gives you more linking surface than most stores use. These are the spots we check first in an audit, in rough order of how often they're left on the table.
1. Category descriptions — the most wasted real estate on the site
The category page links down to products automatically, but nothing links it sideways or up unless you write text that does. Add a description and you turn a one-directional listing into a real hub.
Back Office → Catalog → Categories → [category] → Description. Aim for 300–500 words carrying two or three links to subcategories, one or two to related categories, and one or two to the blog posts that support the topic. PrestaShop 8 and 9 expose a second description field that renders below the product grid — useful because long SEO copy below the products doesn't push the grid down the page. On themes or versions where that second field isn't available, our Second Category Description module adds it, so you get a below-grid text block to hold those internal links without rebuilding the template.
2. Product descriptions with contextual links
Most PrestaShop product descriptions are text with zero links — a wasted authority source, because product pages often carry decent authority of their own. Two to five contextual links per description is a reasonable target: one up to the parent category, one or two across to complementary products, one to a buying guide. This is also where product-to-product strategy lives, and that's a topic deep enough to deserve its own page — the rules for accessories, "frequently bought together" and up-sell wiring are in how products should link to each other.
3. Breadcrumbs and the default-category trap
Breadcrumbs auto-generate an internal link from every product up to its category hierarchy — free, on every product. The catch is that PrestaShop builds the breadcrumb from the product's default category. A product that lives in three categories will breadcrumb to whichever one is set as default, and if that's the wrong (low-priority, low-traffic) category, you're routing authority and the customer's path to the wrong hub. Audit it under Back Office → Catalog → Products → [product] → Categories tab → Default category, and make the most SEO-important category the default for your top sellers.
4. Footer and navigation: distributed, but easy to abuse
Footer links sit on every page, which makes them your most widely distributed internal links — and the easiest place to dilute authority by linking to everything. Configure them under Back Office → Design → Link Widget → Footer, and be selective: your top five to eight categories, the key CMS pages (About, Contact, Shipping, Returns), and your blog or knowledge base. Linking all fifty categories from the footer doesn't help fifty pages — it weakens the link each one gets. And because navigation links are identical on every page, they carry no topical relevance signal; the links that actually tell Google what a page is about are the contextual ones inside your body content.
5. The blog-to-product pipeline
Blog posts rank for the informational searches product pages never will ("how to set up an ergonomic workspace"), then hand that traffic onward through internal links to the products. The pipeline should run both ways: every post links to two or three relevant products, and product pages link back to the supporting guides. If you've been told a store blog isn't worth the effort, the case for it — specifically the internal-linking and traffic case — is in why every online store needs a blog, and the question of what to actually write is covered in what to blog about when you sell products. Keeping this wiring current by hand is where it usually rots; our Blog Revolution module displays related products inside posts and related posts on product pages automatically, so the bidirectional links stay in place as your catalogue and content change — the maintenance is the hard part, and that's the part it removes.
6. Converting unlinked mentions at scale
A store with hundreds of products mentions its own categories and products in plain text constantly — "ergonomic chair", a brand name, a category term — without linking any of it. Each unlinked mention is a missed internal link. For a handful of pages you fix them by hand; past that, it doesn't scale. Our Automatic Internal SEO Linker handles it store-wide: you define keyword→URL mappings once, and the module turns those terms into links wherever they appear across descriptions, category text and blog posts — which means the next 200 products you add inherit the linking automatically instead of waiting for a manual pass that never comes.
Reading your link graph: an internal-link audit
You can't fix what you can't see, and PrestaShop's back office won't show you your link graph. A crawler will. Screaming Frog SEO Spider is the common choice (free up to 500 URLs, paid above), and the audit is the same shape whatever crawler you use.
Crawl the whole site, then read three numbers
Point the crawler at your store and let it finish — for a 500–2,000 product PrestaShop store that's usually a matter of minutes to half an hour. If your theme loads content via JavaScript, enable JS rendering (Configuration → Spider → Rendering → JavaScript in Screaming Frog) or the crawler sees an empty page. Then the three columns that matter:
- Crawl Depth — how many clicks from the homepage. Anything at depth 4+ is in the problem zone: thin authority, infrequent crawling. The usual PrestaShop culprit is deep subcategory nesting (categories → subcategories → sub-subcategories → product pushes products to depth 4 before any links are added). Export the depth-4+ list and decide, per page: link it from somewhere shallower, or retire it.
- Unique Inlinks — how many distinct pages link to it. A product with one inlink (its category listing) is barely visible. Sort ascending and treat anything under three inlinks as a candidate for more links.
- Link Score — Screaming Frog's 0–100 relative measure of a page's internal authority. A high-priority product scoring in single digits is telling you it's starved.
Find the orphans
Orphans are pages with zero internal links — reachable only via the sitemap or a direct URL, neither of which passes authority. A crawl alone can't find them (it follows links, and there are none to follow), so you feed the crawler two extra sources: connect Google Search Console and upload your XML sitemap, then filter for orphaned URLs — pages Google knows about that nothing on your site links to. (This is one of several reasons a clean, current sitemap matters; the full picture is in the guide to XML sitemaps for PrestaShop, and connecting and reading GSC is covered in Google Search Console for PrestaShop.) Common PrestaShop orphan sources:
- Products removed from every category but never disabled or deleted.
- Old CMS pages dropped from the navigation and footer.
- Blog posts published but never linked from any other content.
- Manufacturer and supplier pages PrestaShop generates automatically but links to faintly, if at all.
For each orphan: if it's valuable, add internal links from relevant pages; if it's outdated, 301-redirect it to the closest active page; if it's worthless, let it return 410 and drop it from the sitemap. Note that orphaning often traces back to how URLs and canonicals are set up — products that moved category, friendly-URL changes that left old paths behind — which is its own topic in PrestaShop URL structure and canonicals.
Surface linking opportunities you didn't think of
The genuinely useful trick is finding text that mentions a term but doesn't link it. In Screaming Frog, Custom Search with the "Page Text No Anchors" filter scans every page for keywords that appear unlinked — add "ergonomic chair" and it returns the pages that say it in plain text but don't link to your ergonomic-chair category. Each is an internal link waiting to be made. The N-Grams view (Body Text, unlinked) does the same job in reverse, surfacing phrases that recur across the site but never link anywhere. Both depend on choosing the right target terms — the same terms your customers actually search — which is why this dovetails with keyword research for online stores.
From audit to action: a sane order of operations
An audit produces a spreadsheet of problems. Fix them in order of authority recovered, not order of appearance:
| Priority | Fix | Why first |
|---|---|---|
| 1 | Link the orphans | They're getting zero authority right now; every day unlinked is wasted potential. |
| 2 | Pull depth-4+ pages shallower | Add links from category descriptions or flatten the tree so important products sit within ~3 clicks. |
| 3 | Build hub-and-spoke on your top 5 categories by revenue | Concentrate effort where conversions already happen; write the descriptions, wire the products and posts. |
| 4 | Convert unlinked mentions to links | Top 50 by hand, then automate the long tail. |
| 5 | Improve anchor text | Lowest priority — generic anchors still pass authority, they just skip the relevance signal. |
On that last point: a link reading "click here" passes authority but tells Google nothing about the destination, while "ergonomic office chairs" tells it exactly what the target is about. Use descriptive, varied anchors — not the identical exact-match phrase on every link, which reads as manipulation. In PrestaShop, your theme's product-miniature.tpl controls the category-listing links; check that "view product" / "quick view" links carry the product name rather than a generic label.
Mistakes that quietly undo the work
- Linking to everything from everywhere. 50 footer links, every product wired to 20 "related" items, category copy stuffed with 15 links — this divides authority into meaningless slivers. Sensible ranges: 2–5 links per product description, 5–10 per category description, 5–8 per blog post, 8–12 in the footer.
- Pointing everything at the homepage. It already gets linked from your logo, header and breadcrumbs on every page. A homepage link from a product description is a wasted slot that could have pointed to a category or related product.
- Unintended nofollow. Some themes and modules add
rel="nofollow"to internal links (often in user-generated areas). Nofollowed internal links pass no authority — audit your product and blog templates for it. - Relying on navigation alone. Header and footer links are identical site-wide and carry no topical signal. The links that move rankings are the contextual ones inside body content.
One adjacent factor worth naming: crawl budget. Internal linking decides which pages Google reaches and how often, but a slow store burns that budget on each fetch and gets through fewer pages per visit — so deep, slow stores compound the orphan problem. If your crawl stats look starved, page speed is part of the same conversation: page speed and SEO.
Measuring whether it worked
Internal-linking changes don't show up overnight; they show up as Google recrawls and reindexes, usually over several weeks. Don't judge it on a few days of data — watch the leading indicators instead. In Google Search Console, Pages → "Discovered — currently not indexed" should shrink as former orphans get linked and crawled; Crawl Stats should show more pages crawled per day for newly linked content. Re-crawl monthly with your tool of choice and confirm the structural numbers are moving the right way: average crawl depth down, orphan count toward zero, the count of under-3-inlink pages down, average Link Score on product pages up.
You'll see traffic figures quoted for this — "a 20% lift", "X% in a quarter". Treat all of them, including any you've read here before, as directional rather than promised: the real number depends entirely on how broken your structure was to begin with, and the only figure that counts is the one your own analytics shows for the specific pages you re-linked. What's reliable is the direction. A store that links its orphans, flattens its depth and builds real hubs ends up with authority concentrated on the pages that earn money, instead of leaking it into a tangle nobody planned.
Internal linking isn't a project you finish; it's a habit. Every product you add, every post you publish, every category description you fill in is a new chance to wire authority where it belongs. Start with the audit, link the orphans, build the hubs — and from there the links you add today keep compounding while your competitor's set-it-once navigation stands still.
Comments
No comments yet. Be the first!
Be the first to ask a question or share useful feedback.
Leave a comment
Share a question, an installation detail, or feedback that could help another reader.