Non-Canonical URLs in Your Sitemap
Every URL in your sitemap should be self-canonical - meaning the <link rel="canonical"> tag on the page points to the same URL that appears in the sitemap. When the two disagree, you're telling Google "discover this URL, but actually index that one instead" - a mixed signal that dilutes ranking authority.
What is this error?
A non-canonical URL error happens when a page listed in your sitemap has a <link rel="canonical" href="..."> tag pointing to a different URL. For example, your sitemap lists /product?color=red, but the page's canonical tag says /product. Google Search Console surfaces these as "Alternate page with proper canonical tag" in the Pages report.
Why does it happen?
This commonly occurs on e-commerce sites where variant URLs (color, size, sort order) all canonical to the base product page but still end up in the sitemap. It also happens after URL migrations when the sitemap still lists old URLs that now canonical to new ones, or on paginated pages where /page/2 canonicals to /page/1 but is listed separately in the sitemap.
Why does it hurt SEO?
Google will not index a non-canonical URL - it processes the signal and drops the URL from candidacy. That wastes a slot in your sitemap and wastes crawl budget. Worse, Google tracks the ratio of self-canonical to non-canonical URLs in your sitemap as a quality signal. A sitemap where 30%+ of URLs are non-canonical gets treated with less trust overall.
How to detect it
Search Console's Pages report under "Alternate page with proper canonical tag" is the authoritative source. Sitemap Fixer fetches each sitemap URL, parses the <link rel="canonical"> tag (including HTTP Link headers), and reports every mismatch - so you can see the problems before Google does.
How to fix it
1. For each non-canonical URL in the sitemap, note what its canonical points to. 2. If the canonical target is already in the sitemap: just remove the non-canonical duplicate. 3. If the canonical target is missing: replace the non-canonical URL with the canonical one. 4. Update your sitemap generator to only include pages where URL === canonical. 5. Regenerate, resubmit in Search Console, and validate the fix in the Pages report. 6. Long-term: add a build-time validator that blocks non-canonical URLs from entering the sitemap.
Real-world example
A fashion retailer had 45,000 URLs in their sitemap - but 28,000 were size/color variants that canonicalled to the parent product. After filtering to only self-canonical URLs, the sitemap shrank to 17,000 entries and Google's "Indexed" count for products jumped 19% within 3 weeks.
Common mistakes
- Listing paginated pages like /blog/page/2 when they canonical to /blog
- Including faceted filter URLs where the canonical strips the filter parameters
- Forgetting that canonical tags are case-sensitive on the path