Normalize URLs 1.0 released

My latest plugin release fixes multiple core wordpress problems to handle HTTP requests properly at once: Normalize URLs.

It does so by normalizing every incoming URL to a form that is to be expected by the wordpress core. That way, wordpress can properly compare the requested URL against the permalinks structure and post/page/taxonomy slugs.

This is useful for every wordpress based installation, but if your blog is in a language other then English or if your blog runs with the default UTF-8 encoding this can be even more important.

This entry was posted in Hakre's Tips, Plugin Plugout, Pressed and tagged , , , , , , , , , , . Bookmark the permalink.

2 Responses to Normalize URLs 1.0 released

  1. Aurimas says:

    Hey, I stumbled upon this plugin and spent quite some time trying to figure out what exactly it does. Could you provide a real-world example why it is useful? Thanks.

    • hakre says:

      WordPress is programmed with a certain understanding of how a URL has to be written so that it works. But the standards allow much more way of writings. So some sites might store URLs to your blog in some other form then wordpress needs them. Even those sites follow the standards, your blog can not deal with them.

      This plugin normalizes all requests coming in into a form that works better with wordpress based sites.

      For example, some users reported that their sites do redirects to the same location. That makes no sense and some browsers read this as an endless redirect. Search engine robots might rate this as bad behavior as well.

      This plugin does normalize all of these requests to a form that is syntactically the same and in a form that wordpress can deal with them.

      In the end your site is more inter-operable, so to say it “works better”. Part of this might become part of the wordpress core in the future as it is based on some tickets I’ve been working on but this may take some time. The plugin is intended to be use-able right away.

      You asked for an example to make visual what this plugin does. Let’s assume there is a tag called Apple on a blog. The slug of that tag could then be apple.

      The example URL to that tag is:

      http://example.com/tag/apple/

      But other valid URLs would be those as well:

      http://example.com/tag/%61pple/
      http://example.com/t%61g/%61pple/

      Requesting those would lead to a redirect to the first URL which is when you compare any of the three URLs with each other, the same URL. So this is a redirect to the same URL, which is considered bad.

      This is an example only to better understand. If you try this with your own browser, you will see, that the browser already normalizes those two last URLs. This shows a non-technical user as well, that these URLs are the same. Otherwise your browser would not touch the writing.

      So that what your browser does with these example URLs is comparable to what this plugin does. With the term “Apple” this might not make much sense in real life, but there are numerous other, more technical and less easy to understand cases for which it makes sense.

      I hope this helps to better understand.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s