Baron Munchausen’s Crawl Test Lab

Uppercase URLs: Are URLs Case Sensitive?

I ordered my gunners to FIRE in capital letters, and the Turks, who read only small ones, took no notice.

The short answer

What it is
An uppercase URL has one or more capital letters in its path. The path is case sensitive by standard, so /Page and /page are two different addresses.
Why it matters
If both forms load, one page has two URLs that split links and signals. If only one form loads, a mistyped capital leads to an error.
How a crawler should report it
Report a URL format warning with the cause set to uppercase in path, and show the exact URL. Check only the path, because the scheme and host are case insensitive and browsers lowercase them anyway.
Live examples
A marble bust of the Baron, with an enormous nose and a curled wig.
Fig. 1. The Baron, case sensitive about his capital B.

Which Parts of a Web Address Care About Capitals

Is a URL case sensitive? Part of it is. The URL standard says the scheme and host are not, so EXAMPLE.com and example.com are the same site. The path and query are case sensitive. That makes /Shoes/ and /shoes/ two separate URLs by rule. What happens next depends on the server. Linux file systems usually treat them as different files. Windows servers usually treat them as the same file.

Capital letters get in through many doors. A CMS may keep the case of a page title. A developer may name a route in camel case. Marketing teams often type mixed-case links for campaigns, and a file named Logo.PNG keeps its case when it is uploaded. A site that moves from Windows to Linux can also break overnight. Links that used to work by luck now fail with the wrong case.

Browsers lowercase the host but send the path exactly as written. Search engines do the same, so they treat each spelling as its own URL. If both load the same content, they may pick one as the canonical, but it may not be the one you want. Links and crawl time get split across both. Google does not prefer lowercase for ranking. The problem is duplication and broken links, not the capital letters.

To detect the issue, search your crawl for any capital letter in the path. Then test each one in lowercase and compare the responses. To fix it, choose lowercase as your standard and add a 301 redirect from any mixed-case form. Most servers can do this with a rewrite rule. Update internal links and sitemaps so that they use the final form. Set a canonical tag on each page as a backstop. Then make your CMS lowercase new slugs by default.