Skip to main content
Shopify guide

Internal Linking for Shopify Stores

By ยท Updated ยท 7 min read

How Shopify Handles Internal Linking

Shopify generates URLs according to fixed directory prefixes: products live under /products/, collections under /collections/, blog posts under /blogs/[blog-handle]/, and pages under /pages/. These prefixes are hardcoded and cannot be changed. Every internal link you build must account for this structure โ€” a link to a collection page always points to /collections/[handle], never a custom path.

The platform also creates duplicate URLs by default. A product accessible via a collection has two valid URLs: /products/[handle] and /collections/[collection-handle]/products/[handle]. Shopify adds a canonical tag pointing to the /products/ path, but internal links that inadvertently point to the collection-scoped URL dilute link equity. Always link to the canonical /products/ URL in body copy, navigation, and cross-sell sections.

Where Internal Links Live in Shopify's Architecture

Navigation menus (built in Online Store > Navigation) produce the highest-volume internal links on most Shopify stores. Main menus, footer menus, and nested dropdown menus all create crawlable anchor links. Because these menus appear on every page, each link in them passes equity site-wide. Reserve menu slots for the highest-priority collections and landing pages; burying a key collection three levels deep in a mega-menu reduces both crawl frequency and click-through.

Collection pages create automatic internal links to the products they contain. Product pages link back to collections only if the theme includes breadcrumb markup โ€” many themes do, but the breadcrumb often links to the collection-scoped product URL rather than the canonical one. Check your theme's breadcrumb template (product.liquid or product.json sections) and correct the href if needed.

Blog posts in Shopify are the most flexible internal linking surface. Body content is written in a rich-text editor or HTML, so editors can place exact-match and partial-match anchor text links to any internal URL. A product-focused blog post linking directly to /collections/[handle] or /products/[handle] with descriptive anchor text is one of the highest-ROI internal linking actions available on the platform.

Shopify's Built-In Limits and Common Workarounds

Shopify does not have a native automated internal linking tool. Links in product descriptions, page content, and blog posts are all added manually through the rich-text editor or raw HTML. For stores with thousands of SKUs, this creates a scaling problem: editors cannot realistically add contextual links to every product description.

The workaround used by high-volume merchants is to focus automated linking efforts on collection pages and blog content rather than individual product pages. Collections aggregate many products and rank for broader category terms, so linking blog posts to collections โ€” rather than to every individual product โ€” concentrates equity efficiently. For product descriptions, a standard block of 'Related Categories' links added programmatically via a metafield or a Liquid snippet covers the gap without requiring per-product editorial work.

Shopify also does not allow custom URL slugs outside its fixed prefixes. A page meant to serve as a category hub must live at /pages/[handle] rather than /[handle], which means it lacks the /collections/ prefix that signals category intent to search engines. Some merchants use a collection with no assigned products as a hub page instead, gaining the /collections/ prefix while populating the page body with editorial content and links.

Apps and Tools That Extend Internal Linking in Shopify

Several apps in the Shopify App Store address internal linking at scale. Link Whisper (available via its own dashboard, not natively in Shopify's editor) and similar SEO apps scan store content and suggest internal links based on keyword overlap. These tools typically integrate with blog and page content but have limited access to product description fields depending on how the theme renders them.

SEO-focused apps like Plug In SEO and SEO Manager audit broken internal links and flag orphaned pages โ€” pages with no inbound internal links. Fixing orphaned pages is straightforward once identified: add links from relevant blog posts, collection descriptions, or the footer navigation. For stores running frequent promotions, these audits catch pages that were linked during a campaign but became orphaned after the campaign ended.

Shopify's Search & Discovery app allows merchants to configure related products that appear on product pages. These related-product carousels generate internal links at scale with no manual effort per product. While these links appear in dynamic sections rather than body copy, they are crawlable and contribute to site-wide link distribution across the product catalog.

Anchor Text Strategy Within Shopify's Editor

Shopify's rich-text editor defaults to using selected text as anchor text, which encourages generic anchors like 'click here' or 'this product.' Merchants should train content teams to select descriptive noun phrases โ€” the collection name, product category, or target keyword โ€” before creating the link. In HTML view, this means writing <a href='/collections/running-shoes'>men's running shoes</a> rather than <a href='/collections/running-shoes'>here</a>.

Avoid using the same anchor text for multiple different destination URLs. If 'trail running shoes' appears in three blog posts and each links to a different collection, search engines receive a conflicting signal about which page is authoritative for that term. Map anchor text to destination URLs consistently across the entire store, especially for top-revenue collections.

Actionable Starting Point for Shopify Internal Linking

Audit the store's current internal link profile using Screaming Frog or Ahrefs' site audit tool, both of which crawl Shopify stores accurately. Identify the pages generating the most organic traffic from Google Search Console, then check how many internal links point to each of those pages. High-traffic pages with fewer than five internal inbound links are the first priority for improvement.

For each priority page, find three to five blog posts or collection descriptions that are topically relevant and add a contextual link with descriptive anchor text. Then check the main navigation to confirm those pages appear in a menu. This two-step process โ€” contextual links plus navigation reinforcement โ€” is the fastest way to improve crawl depth and internal equity distribution on a Shopify store without waiting for new content to be published.

Frequently asked questions

Why does Shopify create duplicate URLs for products, and how does it affect internal links?

Shopify generates two URLs for any product assigned to a collection: /products/[handle] and /collections/[handle]/products/[handle]. Shopify sets a canonical tag on the /products/ version. Internal links should always point to the /products/ canonical URL. Links pointing to the collection-scoped version send mixed signals to search engines and dilute the equity flowing to the canonical page.

Can you change the URL structure in Shopify to support better internal linking?

No. Shopify's URL prefixes โ€” /products/, /collections/, /pages/, /blogs/ โ€” are fixed and cannot be customized. Merchants work within this structure rather than around it. The practical implication is that category hub pages must use either /collections/ or /pages/ paths, with /collections/ generally preferred for SEO because it signals product category intent.

What is the fastest way to find orphaned pages in a Shopify store?

Run a site crawl with Screaming Frog or a similar crawler, then cross-reference the crawled URLs against pages found in Google Search Console. Any page in Search Console with impressions but no inbound internal links from the crawl is orphaned. SEO apps like Plug In SEO also surface orphaned pages inside the Shopify admin without requiring a separate crawl tool.

Do related-product carousels generated by Shopify apps count as internal links for SEO?

Yes. As long as the carousel renders crawlable HTML anchor tags โ€” not JavaScript-only links that require interaction to load โ€” search engine crawlers follow them and count them as internal links. Shopify's Search & Discovery app renders standard href links. Verify any third-party related-product app does the same by inspecting the page source rather than the rendered DOM.

How many internal links should a Shopify product page receive?

There is no fixed number, but any page that targets a competitive keyword should receive internal links from at least three to five contextually relevant sources โ€” blog posts, collection descriptions, or navigation. Products in a store's top revenue tier warrant the most internal links. Products with no inbound internal links are functionally invisible to crawlers that haven't encountered them through a sitemap or external link.

MG
Written by

Matt is the founder of RunOctopus. He built All Angles Creatures from zero to page-1 rankings in reptile feeder insects in under 60 days using exactly this method โ€” turning a hard, entrenched niche into RunOctopus's proof store for programmatic SEO and AI search citation.

Connect on LinkedIn →

See what Otto would build for your store

Free architecture preview. No card required. Five minutes.

Generate Preview →