I'm not sure how long they've been doing it but I just noticed google using # in their search url instead of search?.
New way
http://www.google.com/#q=stackoverflow
Old way
http://www.google.com/search?q=stackoverflow
The pound/hash sign is generally used as an anchor to a section of a page.
Besides a shorter url what could be the benefits to Google? It seems to go against search engine convention, but then again Google sets convention. Are there any problems you can see to this approach?
UPDATE
To test for yourself use the general search box on www.google.com. You'll get some other junk in the url but the portion before the q= is what I'm referencing for this question.
UPDATE 2
Looks like this may be an experimental feature they're testing with random users as some people are being rerouted to the search? results when trying to go to the # results.
UPDATE 3
From the conversation here it appears this has been rolled out to all firefox users using the main google.com site for searching.
excerpts
4/27/09 The # in query parameters is a separate experiment that the search team was doing (AJAX based search results pages) that started some time back. It was discussed quite fervently in the Yahoo Web Analytics discussion group a few months ago. Random groups of people were/are assigned to be a part of the experiment, and that caused all the keyword data for that user to dissapear from every Analytics tool. It looks like the experiment is still going on.
4/28/09 The # in query parameters appears to have been rolled out to all Firefox users on www.google.com SERP`s, so this must have passed the testing stage. I am speculating that FireFox is able to handle AJAX better that IE, thus it has not been rolled out to IE users.
5/1/09 When I dug into the SERP's pages it looks like Google initially puts the websites "true" URL in the link, but once the link is clicked the URL is replaced with a Google redirect URL of the form www.google.com/url?q=flowers&blahblahblah. That redirect URL is what shows up in the HTTP referrer field and what gets reported by the web browser (and therefore the Analytics tools).
My google still uses the
search?
prefix, however the benefit of using the hash (#) is that it does not require reloading the page. Adding a query string (?) forces the page to reload in all browsers.By using the hash they can keep an item in 'memory' by allowing it to persist in the browser element. Adding the hash also creates a history object for the page. This maintains forward and back functionality, while allowing them to process your search using AJAX. Basically this means they can process your search quicker by only having to fetch a subset of the HTTP headers required to load an entire page without losing functionality of a full load.
A quick Google search (using the good ol'
?q=
method...) turns up this:Has Google.com changed to google.com/#q=flowers for FireFox users? (I was expecting google.com/url?q=flowers)
So, at one time this URL format was used for some subset of users, as part of one of the many tests that Google runs on unsuspecting subsets of its users. It caused problems for analytics software, so they switched to a different format for future tests, but still support the old hash-query URLs (by silently redirecting them to normal ?-query URLs).
Actually first above redirects to the second.
This move by Google seems to have generated unwanted results. Google now shows a redirect page for EVERY search which includes a # character. Try it - it's so annoying. As a developer I search for C# a lot - and this issue has made me consider Bing as a better experience.
Seems
#q=stackoverflow
redirects tosearch?q=stackoverflow&cad=h
.I don't know how you're getting that however - I get the usual one.
well, facebook uses this technique for loading images without unloading the page, but still letting the person be at a distinct URL.
if you change the search query then, you can update the url in the address bar without reloading the page (no new GET request should be fired by the browser when you modify stuff after #)