Now I have to optimize one site that have alot of contents, with each contents located on url formatted like this: www.abc.com?id=1 www.abc.com?id=2 www.abc.com?id=3 ... Code (markup): As you can see, those url format are bad as there are no keywords in them. Question is, can I change each url to something like this: www.abc.com?id=1&page=gurri-berry www.abc.com?id=2&page=elephant-hide www.abc.com?id=3&page=tanning-leather ... Code (markup): Will google catch keywords located in "&page" parameters, given that I make sure all links on the site formatted like the above examples? Thanks for all input! ()
No reply? I guess this is not a standard question where you can spam replies To answer my own question, it seems querystring are ok, but human-friendly urls are tad better. Guess I'll have to do a mod_rewrite on all of my files or something
Well query strings are okay, if you're willing to settle for okay.. But in terms of SEO, nothing beats plain directories and .html files so your best bet is to use /tanning-leather/ or /tanning-leather.html - I don't think it matters which, but right now I think I prefer using a .htm extension (not html, if i want to be fussy ) Chuckun
Google will find keywords in the query string, however even that is not optimal. If you're going to take the time to rewrite the URLs so they have keyword rich query strings, why not rewrite them so they don't use query strings at all and instead use keyword rich page names like: This is not that hard as long as your CMS has a field where you can store the path of the desired page name relative to the root of your web like /qurri-berry/, /elephant-hide/, /tanning-leather/, etc. When someone requests www.example.com/gurri-berry/ you have to query your CMS to find the ID value that correspondes to the page named '/guirri-berry/'. Once you have the ID simply URL rewrite (NOT redirect) to www.example.com?id=1. This will leave www.example.com/gurri-berry/ in the browser but return the page from www.example.com/?id=1. As with anytime you're doing URL rewriting, you'll also want a 301 redirect, so that if someone requests the OLD URL www.example.com?id=1 that the web server will redirect them to www.example.com/gurri-berry/. The browser will see the 301 return status with a new Location value, changing the address in the browser to the new Location - www.example.com/gurri-berry/. Then the browser will make a 2nd page request for the new Location www.example.com/gurri-berry/, and the web server will URL rewrite the request to www.example.com?id=1. This is basically how most CMSs implement Search Engine Friendly URLs.
I've read more and turn out querystring is not ok. As only one version of a file will got indexed (ex. only ?id=1 got indexed), and the ?id=2, ?id=3, etc will be indexed as "similar result" instead. Guess I'll have to go to mod_rewrite solution edit: just see Canonical's post, and that's how I going to go with, thanks
Google and the other engines index URLs and no longer have a problem w/ query strings (they did years ago). As long as they are unique they will index them separately. So they will see the 6 examples you gave as 6 different pages in their index.