Prompt
How do I troubleshoot missing canonical tags on a publisher site?
Latest observation
To troubleshoot missing canonical tags on a publisher site, work through the issue in this order:
1) Confirm the tag is actually missing
Check the page source, not just the rendered DOM.
- Open the page
- View source
- Search for:
<link rel="canonical" href="...">
If it’s present in the HTML source but not visible in DevTools after load, JavaScript may be modifying or removing it.
2) Check whether the tag is being injected by the CMS or template
Common causes on publisher sites:
- template-level SEO setting disabled
- article page template missing canonical logic
- tag only added on certain content types
- a plugin/module stopped working after a deployment
Review:
- page templates
- CMS SEO fields
- theme/header includes
- any recent releases
3) Look for conflicting canonical implementations
Sometimes the tag exists, but multiple canonicals are present or one overwrites another.
Check for:
- more than one
<link rel="canonical"> - canonical set by CMS plus another by a plugin
- canonical inserted in AMP/mobile versions incorrectly
- canonical added via JavaScript after load
Best practice: only one canonical tag in the final HTML source.
4) Verify the tag is not being blocked or stripped
A missing canonical may be caused by:
- an edge/CDN rule stripping head elements
- server-side sanitization
- minification/optimization tools removing tags
- security middleware altering HTML
Check the raw server response if possible:
curl -I https://example.com/page
curl https://example.com/page
Look at the returned HTML source, not just the browser view.
5) Test different page types
Publishers often have different templates for:
- homepage
- section pages
- article pages
- gallery pages
- tag pages
- AMP pages
- paginated pages
A canonical bug may only affect one template. Compare working and non-working pages.
6) Inspect redirects and URL variants
Canonical tags are often missing on pages that:
- redirect from http to https
- redirect from www to non-www
- have trailing slash inconsistencies
- use tracking query parameters
- have print/mobile/AMP variants
Make sure the site consistently resolves to one preferred URL format.
7) Check robots and noindex settings
Some CMSs suppress canonical tags when a page is set to:
- noindex
- unpublished/draft
- password protected
- excluded from SEO metadata
Also confirm the page is indexable and not blocked by robots.txt.
8) Validate with SEO tools
Use tools like:
- Google Search Console URL Inspection
- Screaming Frog
- Sitebulb
- Ahrefs / Semrush crawlers
These can show:
- whether canonical is missing
- whether it points to the wrong URL
- whether Google chose a different canonical
9) Compare against similar pages
If one article has a canonical and another doesn’t, compare:
- metadata fields
- template assignment
- publication status
- article type
- syndication/source flags
- authoring workflow differences
This often reveals a pattern.
10) Fix and re-test
Once you identify the cause:
- restore canonical output in the template/CMS
- ensure only one canonical tag is emitted
- use absolute URLs
- make it self-referential unless there’s a deliberate alternate canonical
Example:
<link rel="canonical" href="https://www.example.com/news/article-title/" />
Then re-crawl the affected URLs.
Common publisher-specific causes
- article template doesn’t render canonical on syndicated content
- legacy CMS pages missing SEO module
- AMP pages canonicalizing incorrectly or not at all
- category/tag pages excluded by design
- JavaScript rendering issues in head management
- CDN/optimization tool stripping head tags
If you want, I can also give you a step-by-step troubleshooting checklist or a Screaming Frog workflow for finding missing canonicals at scale.