Internal linking remains the most under-invested SEO optimisation in 2026
Across 100 PrestaShop stores audited in 2025, 78 have fewer than three outgoing internal links per product page. Half have no links between product pages within the same family. And yet Google’s Search Quality documentation has been clear since 2019: internal linking structure is one of the three strongest signals for a crawler to understand a page’s topical authority.
Why the gap between obvious theory and practice? Because manual linking doesn’t scale. At 200 product pages, identifying the best links already takes a day. At 2,000 pages in three languages, it’s impossible to maintain: each new reference would have to be cross-checked with 5,999 other entities to decide where to place a link.
AI changes the equation. With semantic embeddings (OpenAI, Voyage AI, Cohere) and cosine similarity computation, you can build the complete proximity matrix between all entities of a catalogue — products, categories, blog posts, CMS pages — in a few minutes, then derive the most relevant links to place. That’s what the AI semantic internal linking module for PrestaShop does: 5,000 entities processed in under ten minutes, €30 to €80 of AI cost depending on the chosen embeddings provider.
What a crawler sees when linking is absent
Three typical pathologies on PrestaShop stores without strategic internal linking:
1. Orphan product pages
A page is only accessible via category pagination or the internal search engine. Google finds it through the XML sitemap, but it receives zero link juice. On a 1,200-reference fashion store, we regularly measure that 30 to 40% of product pages aren’t indexed at all — orphanhood kills discovery as much as authority.
2. Watertight silos
Categories are linked to the menu and to each other via the breadcrumb, but no horizontal link exists between products in different yet complementary categories. A leather jacket is never linked to the white t-shirt worn underneath, nor to the clutch that completes the outfit. The customer navigates but the crawler has no edge to propagate relevance.
3. The missing blog ↔ catalogue bridge
The blog talks about trends, tips, comparisons. The catalogue sells the products that embody these contents. Without internal links between the two, the editorial authority built on the blog side is never transmitted to the product pages that would benefit from it — and the reverse, where a popular page should link back up to its guide article, never happens.
Semantic linking: calculating relevance, not guessing it
The method fits in five steps that any serious module automates:
Step 1 — Corpus extraction
For each entity (product, category, article, CMS page), a representative text block is extracted: title, short description, long description, attributes, features. On PrestaShop, it’s a SQL join across ps_product_lang, ps_category_lang, ps_cms_lang and the blog table if present. Filter language by language: no French/English crossing, linking is intra-language by default.
Step 2 — Embeddings generation
Each text block is sent to an embeddings model: text-embedding-3-small at OpenAI (1,536 dimensions, $0.02 per million tokens), voyage-3-lite at Voyage AI (512 dimensions, $0.02 per million tokens, multilingual-optimised), or embed-multilingual-v3 at Cohere. An embedding is a numerical vector capturing the meaning of the text — two semantically close texts produce vectors close together in the vector space.
On 5,000 entities averaging 400 tokens each, that’s 2 million tokens, or about $40 at OpenAI or Voyage. One-off cost: embeddings are stored in the database and only regenerated for new or modified entities.
Step 3 — Cosine similarity computation
For each pair of entities, we compute the cosine of the angle between their two vectors. Score between 0 (orthogonal) and 1 (identical). On a 5,000-entity catalogue, that’s a 5,000 × 5,000 matrix, i.e. 25 million pairs — computed in under a minute in-memory with NumPy or directly in MySQL with a stored function.
Step 4 — Candidate selection with thresholds and rules
We keep pairs whose similarity exceeds a threshold (typically 0.72 for text-embedding-3-small), then apply business rules:
- No more than 5 internal links generated per source entity.
- Preference for links to entities in different categories (breaking out of silos).
- Preference for article → product and product → article links (bridging).
- Exclusion of entities already linked manually (no duplication).
- Exclusion of out-of-stock products, draft articles, unpublished pages.
Step 5 — Anchor generation and injection
For each link retained, the AI generates a contextual anchor text from the target’s title and a few extracted keywords. No “click here”, no “learn more”: a descriptive anchor like “complete guide to choosing a natural latex mattress” that matches the target’s semantics. Injection happens in the long description or in a “Related articles” block at the bottom of the page, depending on the chosen option.
The arithmetic of internal PageRank
Google has stopped publishing PageRank since 2016, but the concept remains operational in the algorithm. The simplified rule: each page distributes its authority to its outgoing links, divided by their number. A homepage with 80 outgoing links distributes 1/80 of its authority per link. A product page with 5 outgoing links distributes 1/5.
Practical consequence: the fewer outgoing links a page has, the more powerful each link is. That’s why the overloaded mega-menu is an SEO anti-pattern. That’s also why targeted and limited internal linking (3 to 5 contextual links per page) beats a footer loaded with 80 links.
On a typical 500-product-page PrestaShop store, well-executed semantic linking propagates 12 to 18% additional authority to long-tail pages, which translates empirically into +20 to +35% organic traffic on those pages over 4 to 6 months.
Topic clusters and siloing: the layer above similarity
Cosine similarity is an excellent starting point, but it doesn’t distinguish a “pillar → satellite” link from a “satellite ↔ satellite” link. Yet for SEO, those two links have different value:
- Pillar → satellite link: the pillar page (e.g. “complete sleep guide”) links to its satellite pages (memory mattress, latex mattress, mattress topper). Distributes authority to the long tail. To prioritise.
- Satellite → pillar link: each satellite links up to the pillar. Concentrates authority on the pillar, which becomes the reference page on the subject. To systematise.
- Satellite ↔ satellite link: two long-tail pages link to each other. Useful for crawling, weak for authority. To limit.
An AI linking module typically offers a “priority to pillar links” option, which forces a minimum quota of links to pages identified as thematic pillars (often main categories and editorial guides). It’s the business layer that turns a similarity computation into a siloing strategy.
Real AI cost and ROI
On a 2,000-product mid-market English store:
- Initialisation: 800,000 embeddings tokens ≈ $16 (OpenAI text-embedding-3-small) or $20 (Voyage AI). Plus anchor generation: 200,000 GPT-4o-mini tokens ≈ $0.03 per link × 6,000 links ≈ $5. Total: ~$25.
- Monthly maintenance: new products + modified products (typically 5-10% of catalogue) ≈ $2 to $4 per month.
- Multilingual: multiply by the number of active languages. Three languages = ~$75 initial + $9/month.
On the same store, ROI measured over 6 months (post-implementation vs baseline) hovers around +18% active organic pages in Search Console and +24% organic revenue on long-tail pages. AI cost payback is under 30 days.
The three mistakes that cost 30% of organic traffic
Mistake 1 — Over-linking
Adding 30 internal links per product page. Symptom: Google decreases the value of each link, the visitor doesn’t know where to click, bounce rate rises. Empirical rule: 3 to 5 contextual links in the body + 4 to 6 links in a dedicated “You might also like” block, graphically separated and marked differently (a nofollow on the dedicated block can even be justified on very large catalogues).
Mistake 2 — Generic or over-optimised anchors
“Click here” tells Google nothing. “Best cheap natural latex mattress free shipping” is over-optimised and triggers an algorithmic penalty. The good anchor is descriptive and natural: “our 160×200 natural latex mattress” suffices. A well-prompted AI generates this kind of anchor by default.
Mistake 3 — Footer or sidebar global injection
Internal links appearing on all pages (footer, sidebar) have been massively devalued by Google since 2022. A link within content body, contextual to the page, is worth 5 to 10 times more than a sitewide link. AI linking must inject within content, not around it.
PrestaShop integration: the right hooks
On PrestaShop 8 and 9, injection happens via two hooks:
displayProductAdditionalInfoordisplayFooterProductfor product pages.displayHomeor a CMS block for editorial pages.
Direct injection into description via SQL is tempting but inadvisable: it pollutes the source data and complicates migrations. The clean pattern is a hook that reads a dedicated table (e.g. df_semantic_links) and injects links at render time. This allows regenerating linking without touching product pages.
For PrestaShop multishops, beware of scoping the table by id_shop: the same product may have different internal links per shop (partial catalogue, dominant language, per-market SEO strategy).
AI linking and AEO: the 2026 bonus
AI agents — ChatGPT Shopping, Perplexity, Claude, Google AI Overviews — increasingly consume internal linking structure to reconstruct the category tree and entity relationships. A well-linked catalogue is better understood by these agents, which translates into more frequent citations in synthesised answers.
It’s complementary to other structured signals: global AEO optimisation, the llms.txt file serving as an index for LLMs, and Schema.org Product 2026 structured data. Semantic linking is the cement connecting all these signals together.
When an AI module is relevant — and when it isn’t
Manual linking remains valid for very small catalogues (under 100 pages) and for highly specialised mono-thematic stores where editorial content is limited. For everything else — 500-10,000 page mid-market catalogues, multiple languages, active blog, frequent updates — an AI module is the only way to maintain up-to-date linking without dedicating an SEO half-time to it.
The calculation is simple: an in-house SEO half-time is £25-35K/year. An AI module + embedding costs is under £200/year. The module doesn’t replace global SEO strategy, but it automates the most time-consuming execution layer.
FAQ: questions I get after every audit
Should the entire linking be regenerated with every catalogue change?
No. Only new or modified entities need to be re-embedded. The similarity matrix is updated incrementally (embedding cost for a new product is a few cents). A weekly or daily cron is enough for most stores.
Can you do multilingual (cross-language) semantic linking?
Technically yes, with a multilingual embeddings model (Voyage voyage-3, Cohere embed-multilingual-v3). But it’s rarely desirable: the UX of an English customer clicking on a link and landing on a German page is poor. Linking is intra-language by default; the multilingual bridge is handled by hreflang.
Are AI-generated internal links considered AI-generated content by Google?
No. Google cares about AI-generated content (paragraphs, descriptions), not internal links — which are HTML, not new semantic text. The generated anchor can be considered content, but at a few descriptive words per link, it’s below the scrutiny threshold.
What impact on crawl budget?
Positive. Well-done linking reduces the number of depth levels of the site, allowing Googlebot to crawl more pages with the same budget. On sites where Search Console reports “discovered but not indexed” pages, better linking is often the solution.
Does it replace external backlinks?
No. Internal linking distributes existing authority. External backlinks bring initial authority. Both work together: a site with excellent backlinks but poor internal linking wastes its authority; a site with excellent linking but zero backlinks amplifies a very weak signal.
In summary
AI semantic internal linking isn’t a gadget novelty — it’s the scaling of an SEO best practice known for fifteen years, now accessible to any catalogue exceeding 200 entities. For $25 initialisation and $3/month, you typically recover +20 to +35% organic traffic on the long tail, with a payback under 30 days.
The prerequisites are reasonable: a module that automates the five steps (extraction, embeddings, similarity, selection, injection), an integration via clean hooks (no overwriting of source descriptions), and monthly Search Console monitoring to measure real ROI.
To go further, the DataFirefly AI Semantic Internal Linking module implements this method on PrestaShop 8 and 9 with embeddings provider choice (OpenAI, Voyage, Cohere), business rule configuration, and link generation tracking. It naturally integrates with a complete SEO audit approach and with Google Search Console integration to measure impact over time.
For teams looking for broader support, our PrestaShop developer expertise covers custom integration, relevance matrix analysis, and advanced siloing strategies.