Encoding Type Showdown

All of the criteria used to evaluate the the different encoding types are placed in the positive, so that a mark against the criteria can be considered as a bad thing. In the redundant information column, a percentage of the information that is redundant, with the base line being the type 0 encoding technique set at 100. So for example, a mark of 50 would mean that the same information is encoded in half the space of the query parameters. The redundancy level of type 0 could be encoded into a much shorter version and you could optimise this so that can be changed such that the URL length (including the http://example.com/) could be reduced, when balancing this information with the other details. The idea is to provide the most SEO friendly information in the least amount of space and should be coupled with the redundant information.

First, the URLs that we will be using from our examples:

  • Type 0: http://example.com/search.jsp?query=super&cat=action&cat=drama&sort=price&edition=special&num=25
  • Type 1: http://example.com/search/action/drama/special/?q=super&cat=action&cat=drama&sort=price&edition=special&num=25
  • Type 2: http://example.com/search/query/super/cat/action/cat/drama/edition/special/num/25/sort/price/
  • Type 3: http://example.com/search/super/action/drama/special/25/price/
  • Type 4: http://example.com/search/super/action/drama/special/25/qccensp/
  • Type 5: http://example.com/search/super/action-dvds/drama-dvds/special-editions/25/qccensp/
Type 0 Type 1 Type 2 Type 3 Type 4 Type 5
Request parameters used Yes Yes No No No No
URL length (number of characters1) 96 110 93 62 64 83
Number of redundant characters2 41 64 30 03 8 8
% redundancy 42.7 58.1 32.2 0 12.5 9.6
Flexible parameter position No Yes Yes No Yes Yes
Flexible parameter numbers Yes Yes Yes No Yes Yes
Overall rating 1 4 2 3 5 6

Notes:

  • Request query parameters are considered bad as there doesn’t seem to be any consensus as to whether SEPs will parse these, or if they do how many they will parse.
  • The overall rating is from 1-6 where 6 being the most SEO friendly and 1 being the least.
  • The aim is to reduce redundancy within the URL
  • Flexible parameter positions allow the SEO URL to be tweaked should the need arise. This is more for long term maintainability than anything else. Query parameters and the order in which they appear are fixed depending on the position in the form and the browser implementation
  • Flexible parameter numbers allow the SEO URL to increase or decrease if the dataset changes in the long term.

The winner

Although I have ordered the above table with respect to SEO friendliness of URLs, from an implementation perspective Type 1 is arguably the easiest to implement. However, there is still all of the redundant information in the URL to contend with. Some of the items in the Type 5 encoding may be used as well to increase the SEO friendliness of the URL.

My personal preference between the rest is type 4 or 5. I must admit that this is due in part to the fact that I have already got a working implementation. That detail aside, the LPSE creates the most SEO friendly URL with limited redundancy. Is easily capable of creating search result snippets and SEO friendly links without the need to have parameters also encoded in the URL.

Up next

A final note on SEO friendly encoding of the URL Final Note »

Navigation:

Use the following links to skip straight to a page, or browse through the pages one by one.

  1. The Site Search Appliance
  2. Type 0 – Request Parameters
  3. Segue into URL binding
  4. Type 1 – Throwaway URLs with Request Parameters
  5. Type 2 – Parsing Hint Positional URLs
  6. Type 3 – Hard-coded Positional Parameters
  7. Type 4 – Positional Parameters with Encoded Parsing Hints
  8. Type 5 – Extra Information Positional Parameters with Encoded Parsing Hints
  9. Encoding Type Showdown
  10. Final Note

Footnotes:

  1. including the http://example.com/
  2. This assumes that all query keys are redundant.
  3. remembering that if some of the queries are not present then a blank placeholder will be inserted

Like my footnotes?
Want to add footnotes to your blog?
They can be added easily to your WordPress installation