[wp-trac] [WordPress Trac] #65163: Force URLs/URIs of Posts and Feeds to Redirect (301) to All Lowercase

WordPress Trac noreply at wordpress.org
Mon May 4 18:16:58 UTC 2026


#65163: Force URLs/URIs of Posts and Feeds to Redirect (301) to All Lowercase
--------------------------+------------------------------
 Reporter:  chiarella86   |       Owner:  (none)
     Type:  defect (bug)  |      Status:  new
 Priority:  normal        |   Milestone:  Awaiting Review
Component:  General       |     Version:  6.9.4
 Severity:  normal        |  Resolution:
 Keywords:                |     Focuses:
--------------------------+------------------------------
Description changed by sabernhardt:

Old description:

> Two problems exist with the current WordPress setup:
>
> 1. An otherwise correct write-up of an RSS feed that has some uppercase
> letters will result in a 404. This is very bad for user experience. I can
> set up redirects to ignore casing for the “wrong” version for the
> redirect (so that `/feed/`, `/FEED/`, `/Feed/`, and `/fEed` can go to
> `/feed`^1), but if I have a redirect that ignores casing on `/feed` and
> redirects to `/feed` or make a redirect that ignores casing and trailing
> slash for `/feed` or `/feed/` that redirects to `/feed`, then I have
> created a loop. An infinite loop creates breakage because “Ignore Case”
> will also redirect the correct version to itself, and then again to
> itself, and yet again, ad infinitum.
>   I have no way to redirect all instances except the correct one. I can
> only redirect URLs/URIs that have right or wrong casing *and also* the
> wrong presence or absence of a trailing slash.
>
> 2. All posts, regular posts, create duplicates with the wrong case. This
> means that `https://www.example.com/bar` and
> `https://www.example.com/Bar` both exist, and that destroys page ranking.
> Incorrect absence of a trailing slash will 301 to the other version, but
> it will not fix the casing. If the presence or absence of a trailing
> slash is right, then nothing happens not all. The URL/URI goes through
> and the page loads a duplicate of the canonical version.
>
> **Hence, the site should force lowercase on everything (both feeds and
> posts, as well as pages).**
>
> I would even say it is good universally if the user knows that all media
> library assets must be in lowercase. (In a more complicated way,
> WordPress would have to rename all previously uploaded files and check
> for conflicts before flipping a mandatory switch, but that solution is a
> major request.)
>
> Thank you for your time.
>
> ^1: By the way, I set up permalinks etc. to not add a trailing slash.
> Also, I prefer the slash-less version of the feed(s), and WordPress makes
> both version anyway, and so I set up redirects there in any case, with
> the Redirection plugin from John Godley.

New description:

 Two problems exist with the current WordPress setup:

 1. An otherwise correct write-up of an RSS feed that has some uppercase
 letters will result in a 404. This is very bad for user experience. I can
 set up redirects to ignore casing for the “wrong” version for the redirect
 (so that `/feed/`, `/FEED/`, `/Feed/`, and `/fEed` can go to
 `/feed`^[#note1 1]^), but if I have a redirect that ignores casing on
 `/feed` and redirects to `/feed` or make a redirect that ignores casing
 and trailing slash for `/feed` or `/feed/` that redirects to `/feed`, then
 I have created a loop. An infinite loop creates breakage because “Ignore
 Case” will also redirect the correct version to itself, and then again to
 itself, and yet again, ad infinitum. \\ \\
   I have no way to redirect all instances except the correct one. I can
 only redirect URLs/URIs that have right or wrong casing *and also* the
 wrong presence or absence of a trailing slash. \\ \\
 2. All posts, regular posts, create duplicates with the wrong case. This
 means that `https://www.example.com/bar` and `https://www.example.com/Bar`
 both exist, and that destroys page ranking. Incorrect absence of a
 trailing slash will 301 to the other version, but it will not fix the
 casing. If the presence or absence of a trailing slash is right, then
 nothing happens not all. The URL/URI goes through and the page loads a
 duplicate of the canonical version.

 **Hence, the site should force lowercase on everything (both feeds and
 posts, as well as pages).**

 I would even say it is good universally if the user knows that all media
 library assets must be in lowercase. (In a more complicated way, WordPress
 would have to rename all previously uploaded files and check for conflicts
 before flipping a mandatory switch, but that solution is a major request.)

 Thank you for your time.

 [=#note1 ^1^] By the way, I set up permalinks etc. to not add a trailing
 slash. Also, I prefer the slash-less version of the feed(s), and WordPress
 makes both version anyway, and so I set up redirects there in any case,
 with the Redirection plugin from John Godley.

--

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/65163#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list