This page is served at /canonicals/trailing-slash-mismatch/ (with trailing slash) but its canonical tag points to /canonicals/trailing-slash-mismatch (no trailing slash). These are technically different URLs. Check view-source to see the live mismatch.
What this demonstrates
The canonical tag on this page points to a URL that differs from the page's actual address by one character: the trailing slash. The page is served at /canonicals/trailing-slash-mismatch/ but the canonical declares /canonicals/trailing-slash-mismatch as the preferred version — a different URL.
This is one of the most common CMS-generated canonical issues — easy to introduce, hard to spot without specifically comparing the Address column against the Canonical URL column in a crawl.
Why it matters
When the canonical URL doesn't exactly match the served URL, Google may treat them as two separate URLs and have to decide which one to index. It may disregard the canonical hint entirely, or it may follow it — but the signal is weakened by the inconsistency.
This issue commonly appears after CMS updates, template changes, or migrations where canonical tag generation logic and URL generation logic aren't perfectly in sync. On large sites it can affect thousands of pages at once.
The code
The canonical on this page versus what it should be. One character of difference.
<!-- This page's actual URL -->
https://sallymills.com/canonicals/trailing-slash-mismatch/
<!-- Canonical on this page — missing the trailing slash -->
<link rel="canonical" href="https://sallymills.com/canonicals/trailing-slash-mismatch">
<!-- Correct: canonical matches the served URL exactly -->
<link rel="canonical" href="https://sallymills.com/canonicals/trailing-slash-mismatch/">
What Google does
- Googlebot crawls this page at
/canonicals/trailing-slash-mismatch/. - It reads the canonical pointing to
/canonicals/trailing-slash-mismatch— a slightly different URL. - Google may attempt to crawl the canonical destination, which will 301-redirect back to the trailing-slash version.
- Google may interpret the mismatch as a weak or contradictory signal and use its own judgement to determine the canonical.
- On a page-by-page basis this is usually recoverable, but at scale — thousands of pages with the same pattern — the confusion compounds.
How to detect it
-
view-source
Ctrl+U(Windows) /Cmd+U(Mac) → search forcanonical→ compare the href value to the URL in your browser's address bar. Look closely at the trailing slash — it's easy to miss. -
curl
Open Command Prompt (Windows) or Terminal (Mac) and run:
curl -L https://sallymills.com/canonicals/trailing-slash-mismatch/ | grep canonical— The canonical tag in the response will show the URL without trailing slash, while the URL you requested has one. (Windows: replace| grep canonicalwith| findstr canonical.) - Google Search Console May show this page under "Duplicate, Google chose different canonical than user" — indicating Google noticed the mismatch and made its own call.
- Screaming Frog Canonicals tab → compare the "Address" column (the crawled URL) against the "Canonical URL" column. A trailing slash difference will appear as a mismatch. This is the most reliable way to catch this at scale across an entire site.
How to fix it
Ensure canonical tags exactly match the served URL — same scheme, domain, path, and trailing slash. After any CMS update, template change, or migration, run a Screaming Frog crawl and compare the Address and Canonical URL columns. Any rows where they differ by only a trailing slash are this issue in the wild.