tags:

views:

64

answers:

1

I just starting reading about SEO and realized that I should change my "GET" queries to / separated keywords for SEO purposes.

Here's my question:

I have a multi-select checkbox on my form, so my query string would be:

http://www.domainname.com/searchitem.html?cat[]=A&cat[]=B&cat[]=C&param1=p1&param2=p2

Whats the convention for handling this kind of queries? changing it to search/catA/catB/catC/p1/p2 doesn't seem right to me but i don't know what else to do

Thanks

+2  A: 

It isn't just good for SEO, but it is also the proper RESTful way to structure your website, and it is proper web 2.0 etiquitte to not expose your implementation as you are doing with your current URL scheme; you are exposing the fact that the file is named "searchitem.html" and that you are using GET variables to control what is being shown... using the RESTful style, hides these implementation details from users (which also gives you more leeway in your own implementation down the line). Some resources you may like:

Ironically, some of the pages above do not respect the proper RESTful URL convention.

For your particular application, I would recommend the following URL scheme:

http://www.domain.com/search/?q=queryterm

For this particular case, you can't really hide the GET variables, but you can at least hide the name of the page that is serving the results. However, I am assuming that there is no structure to the queries. If you are searching with tags or categories, and then searching for something else, then you can use:

http://www.domain.com/tags/name_of_tag/?param=parameter

Or, if you are searching for all posts within a category by a given user:

http://www.domain.com/tags/name_of_tag/users/name_of_user

How exactly you structure it really depends on what categories, parameters, etc. you have.

Michael Aaron Safyan