Case and slash duplicates of one inner URL, by platform
| Platform | Sites | Uppercase URL serves 200 | Of those, canonical back | Slash flip serves 200 | All 3 load separately |
|---|---|---|---|---|---|
| Shopify | 2,068 | 1.2% | 25% | 95.4% | 0.6% |
| WordPress | 1,434 | 44.1% | 91% | 12.7% | 4.5% |
| Webflow | 34 | 0.0% | n/a | 2.9% | 0.0% |
| Other/custom | 3,575 | 24.8% | 54% | 29.0% | 11.6% |
| All | 7,111 | 21.7% | 68% | 44.9% | 6.9% |
Source: PageSpeed Matters, Oct 2026. One inner URL per site; the Shopify canonical share rests on very few uppercase duplicates.
Summary
Every page should live at one address. When the same page also loads at an uppercase version of its URL, or with the trailing slash added or removed, crawlers can find several working copies of it. Canonical tags can point them back to the original, but each copy is still a separate address that has to be fetched and sorted out.
We tested one inner URL on each of 7,111 sites that rank in Google's top 20 for US searches. On 21.7% of them, the uppercase version returned a 200 at that address instead of redirecting or returning a 404. Slash variants were even more common, and the platform a site runs on decides which kind of duplicate it tends to have.
What we measured
We started from the domains ranking in Google's top 20 for 10,019 US searches. On each homepage we took one internal link and requested it three ways: as it appears, with the path in uppercase, and with the trailing slash flipped (added if missing, removed if present).
A variant counts as a duplicate when it returns a 200 with no redirect, so the final address is the one we asked for. For uppercase duplicates we also checked whether the page's canonical tag points back to the original path. 7,111 sites returned all three variants. The data was collected in October 2026.
This is one link per site, not a full crawl, so it shows how a site's setup handles a typical inner URL rather than counting every duplicate on the site. Canonical tags soften duplicates but do not remove them, and this study does not measure whether any of these pages are indexed.
About one in five sites serves an uppercase copy
On 21.7% of the 7,111 sites, the uppercase version of an inner URL loaded as its own 200 page. The server treated the path as case-insensitive and served the same content at a second address.
Most of those sites had a safety net. 68% of the uppercase duplicates carried a canonical tag pointing back to the original path, which tells search engines which version to keep. The rest did not, so nothing on the page says which address is the real one.
URLs are case-sensitive by definition, so a server that answers both forms is creating a second address for every page that a mistyped or reformatted link can reach.
21.7%
Share of 7,111 ranking sites where the uppercase version of an inner URL loaded as its own 200 page.
Trailing slashes create even more duplicates
Flipping the trailing slash produced duplicates on even more sites. On 44.9% of sites, the page loaded without a redirect whether or not the URL ended in a slash. On 6.9%, all three variants loaded as separate 200 pages.
The style of the original link shapes which variant gets through. When the original link ended in a slash, 39.1% of 2,050 sites served the uppercase version but only 10.5% served the slashless one. Links without a trailing slash flipped the other way: of 5,061 such sites, 14.6% served the uppercase version and 58.8% served the page with a slash added.
That pattern suggests most sites redirect toward one preferred slash style when they have one, and the gaps show up where a platform or server does not enforce it.
WordPress and Shopify fail in opposite ways
The two biggest platforms in the sample make opposite mistakes. 44.1% of 1,434 WordPress sites serve the uppercase URL as a 200, but 91% of those canonicalize back to the original. Only 12.7% of WordPress sites serve the slash-flipped URL without a redirect, likely because WordPress normally redirects to its preferred slash style.
Shopify is the reverse. Just 1.2% of 2,068 Shopify stores serve the uppercase URL as a 200, but 95.4% serve the slash-flipped URL without a redirect. The behavior is so consistent that it likely comes from the platform's routing rather than from individual store settings.
Custom builds and other platforms carry the most full duplicates. 11.6% of 3,575 such sites load all three variants as separate 200 pages, and only 54% of their uppercase duplicates canonicalize back. Webflow sites rarely duplicate at all, though only 34 were in the sample.
Service sites are the most case-insensitive
Grouped by what they rank for, local and professional service sites are the most likely to serve uppercase copies: 34.5% of 1,694 do. Online store and product sites are the least likely, at 14.2% of 3,139. Publishers and how-to sites sit at 23.1%, and software and marketing sites at 21%.
Platform mix likely explains much of the gap. Service sites probably lean more on WordPress, which often serves uppercase URLs, while store sites include many Shopify stores, which almost never do.
What this means for your site
Start by testing one of your own inner pages. Request it in uppercase, then with the trailing slash added or removed, and check the status code in your browser's network panel. Each variant should redirect to the original with a 301, or return a 404.
- If uppercase URLs load as pages, add a server or CDN rule that redirects them to lowercase, and make sure every page carries a self-referencing canonical tag in the meantime.
- Pick one trailing slash style and redirect the other form to it. On platforms where you cannot change routing, check that canonical tags point to the form you link to.
- Keep internal links consistent with the preferred form, so crawlers rarely meet the variants in the first place.
- Look for case and slash variants in Search Console's page indexing report, under pages marked as duplicates or alternate pages.
Sources
- PageSpeed Matters analysis of Google top 20 results for 10,019 US searches, October 2026
- Google Search Central, How to specify a canonical URL with rel="canonical" and other methods: https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
Embed this research
Paste this on your site to embed the chart. It links back to the source automatically.
<iframe id="psm-uppercase-url-duplicates" src="https://www.pagespeedmatters.com/embed/data-studies/uppercase-url-duplicates" width="100%" height="600" style="width:100%;border:1px solid #E2E3E1;border-radius:12px" loading="lazy" title="Uppercase URL Duplicates: 21.7% of Ranking Sites - PageSpeed Matters"></iframe>
<script>window.addEventListener("message",function(e){if(e&&e.data&&e.data.psmEmbed==="uppercase-url-duplicates"&&e.data.height){var f=document.getElementById("psm-uppercase-url-duplicates");if(f){f.style.height=e.data.height+"px";}}});</script>
<p style="font:14px/1.5 system-ui,sans-serif">Source: <a href="https://www.pagespeedmatters.com/resources/data-studies/uppercase-url-duplicates">Uppercase URL Duplicates: 21.7% of Ranking Sites - PageSpeed Matters</a></p>
Frequently asked questions
Are uppercase URLs duplicate content?
They can be. On 21.7% of 7,111 ranking sites we tested, the uppercase version of an inner URL loaded as its own 200 page, and 68% of those pointed a canonical tag back to the original.
How common are trailing slash duplicates?
More common than case duplicates. On 44.9% of sites, adding or removing the trailing slash served the page without a redirect, and on 6.9% all three variants loaded as separate 200 pages.
Does WordPress or Shopify handle URL variants better?
Each fails differently. 44.1% of WordPress sites serve uppercase URLs as pages but only 12.7% serve slash variants, while just 1.2% of Shopify stores serve uppercase URLs and 95.4% serve slash variants without a redirect.
How do I check my site for case and slash duplicates?
Request one of your inner pages in uppercase and with the trailing slash flipped, then check the status code in your browser's network panel. Each variant should redirect to the original or return a 404.
Case and slash duplicates usually come from one routing or redirect rule, so a single server change can collapse every variant back to one address. Need help with this? See our technical SEO services.