Internal Linking to Preferred URLs
In this lesson
- Why internal links are a canonicalization signal
- The link problems that undermine preferred URLs
- How to find them in a crawl
- How to fix them at the template level
Short answer
Internal links tell Google which URL you prefer. Links to canonicalized, redirected, parameter, HTTP, or alternate-host versions send mixed signals and waste crawling. Find them by filtering your crawl's inlinks for non-indexable targets and parameters, then update templates and content so every internal link points directly to the preferred, indexable URL.
A Cagayan de Oro furniture store set canonicals on every product to the clean URL. But the “Best Sellers” widget on every page linked to ?ref=bestsellers versions. Google saw 3,000 links to the parameter URL and a canonical pointing elsewhere. It chose the parameter URL for several products.
Links are votes
Every internal link is a vote for a URL. Canonicalization works best when your links vote for the same URL your canonical, sitemap, and redirects name.
Link problems to find
- Links to canonicalized URLs (parameters, variants)
- Links to redirected URLs (Lesson 3.5)
- Links to HTTP or alternate hosts
- Links with tracking parameters like UTMs
- Links with inconsistent trailing slashes or case
- Links to noindexed pages from prominent places
How to find them
- Bulk export All Inlinks from your crawl, with target indexability and status.
- Filter where the target is non-indexable (canonicalized, redirected, noindex).
- Filter targets containing ?, http://, or the non-preferred host.
- Group by target and count sources to find templates.
- Check link position (navigation, footer, content) to prioritize.
How to fix
- Update templates first: menus, widgets, breadcrumbs, related product modules.
- Strip tracking parameters from internal links. Use analytics events instead.
- Bulk replace old hosts and protocols in content.
- Recrawl and confirm non-indexable inlinks dropped.
Practice: fix or fine?
Sort each item into the right group.
-
Widget links to /chair/?ref=bestsellers
Answer: Fix the link.
-
Menu links to https://www.example.ph/sofas/
Answer: Fine as is.
-
Footer links to http://example.ph/contact
Answer: Fix the link.
-
Banner links to /promo/?utm_campaign=sale
Answer: Fix the link.
-
Breadcrumb links to the self-canonical category URL
Answer: Fine as is.
Common mistakes
- UTM parameters on internal banners. They split signals and break analytics sessions.
- Fixing content links but not widgets.
- Checking raw HTML only. Script-built menus can differ.
Your action
You have finished Module 5. In Module 6, you will audit technical on-page elements at scale.
Key terms
- Canonicalized link target
- An internal link pointing to a URL whose canonical points somewhere else.
- Non-indexable inlink
- Any internal link pointing to a URL that is redirected, noindexed, canonicalized, or erroring.
- Relative link
- A link written without the domain, such as /rooms/, which inherits the current protocol and host.
- Absolute link
- A link with the full URL, such as https://www.example.ph/rooms/.
Questions beginners ask
Can internal links override a canonical tag?
They can outweigh it. If most internal links point to a parameter version, Google may choose that version despite your canonical.
Relative or absolute links?
Both work. Relative links avoid hardcoded wrong hosts, but on misconfigured servers they can spread alternate hosts. Absolute links on the preferred host are the safest.
What about links in JavaScript components?
Check rendered HTML. Menus built by scripts often add parameters or old URLs that the raw HTML does not show.
Is this the same as Lesson 3.5?
Lesson 3.5 covered links to redirects. This lesson adds links to canonicalized, parameter, and alternate-host URLs, so the full set of link signals points to preferred URLs.
Related lessons
Want someone to handle SEO for your business while you learn? The team at Remar Digital can help.