Why do I say “in 2012″? Well, the Google URL changed over time and more parameters were added to keep pace with the increasing complexity of the search product, the Google interface and the integration of verticals. Before looking at the parameter table below, though, I encourage you to quickly perform the following 2 things:
- Go directly to Google and search for your name. Look at the URL.
- Go directly to DuckDuckGo and perform the same search. Look at the URL.
This little exercise serves well to demonstrate just how simple and how complicated URLs used by search engines can look like. These two cases are at the opposing ends: While DuckDuckGo has only one search parameter, your query, and is therefore quite readable, Google uses a cryptic construct that only IT professionals can try to decipher. What I find interesting is that on my Smartphone, though, the Google search URL is much simpler than on the desktop.
This blog post is primarily aimed at Google’s web search. I will not look at their other verticals such as scholar or images. But because image search is so useful, I encourage you to look at the image section of the Unofficial Google Advanced Search guide. Google also shares some of their well-known parameters in their search protocol reference, so you might want to refer to it for languages, countries and other standard things.
Now, without any more interruptions look at the search parameters Google reveals to us.
Normal Search – all you really need
DuckDuckGo shows us all we really need when searching, a “search?” initializer followed by the query. Not more and not less. When sharing Google searches online you might want to limit the URL to only this single one parameter.
Parameter (with example) | Description |
q=your+query | Primary Google search parameter containing your query. Usually appears directly after the search? initiator. When you search directly via the Google website you don’t see the search? initiator anymore. But searches from e.g. Browser toolbars still have it. |
Advanced search operators
Google is quite versatile. It offers many ways to filter results. Therefore, knowing the advanced search operators can significantly enhance your productivity when working with Google. You will find some parameters more interesting than others. Try combining the different values to get the results you are really looking for.
Parameter (with example) | Description |
as_q=should+contain | The results should contain all of the words entered, same as normal search |
as_epq=must+include | It’s the exact phrase that you’re looking for. It can also be entered in brackets like “must include” |
as_oq=any+of+these | The results should contain any of these words, the search operator is OR |
as_eq=none+of+these | The results should contain none of these words, the search operator is - |
as_dt=e | What as_eq is for queries as_dt is for operators, as_dt=e excludes the following operator, as_dt=i includes it, e.g. as_dt=e&as_filetype=pdf returns results excluding pdfs, can also be entered using the - in front of the operator |
as_filetype=pdf | Returns results of a certain filetype, e.g. pdf, can be entered into query filetype: |
as_lq | Returns a sample of links to any site, also usable via the link: command |
as_sitesearch | Search a specified site, you can also use the operator site: |
as_rq | Shows a sample of related websites, also addressable using related: |
as_occt=any | Specify where keywords shall occur on the page |
as_nlo=1 | Numbers range starts with 1 |
as_nhi=44 | Numbers range ends with 44 a range. It can be typed into the search bar using 2 full stops .. between the first and last number |
as_rights=cc_attribute | This attribute limits the search results to pages that have certain rights. It is quite useful for things like image or graphics search. The possible attributes are: - cc_publicdomain
- cc_attribute
- cc_sharealike
- cc_noncommercial
- cc_nonderived
You can combine all of these attributes in one query putting them in brackets and combining them via the | character. |
num=100 | Sets the number of results per page. It can only be used if Google Instant results are turned off (see below complete=0). Instant limits results to 10 per page. |
Country and language
Google uses certain country codes and language names in its search. For more localized results you can even enter certain cities or provinces.
Parameter (with example) | Description |
hl=en | Language settings passed down by your browser, here English |
lr=lang_cs | The language the results should be in, here in Czech |
cr=countryZA | The region the results should come from, here South Africa |
gl=ca | Can be used to find results as if the search was conducted in a specified location, here Canada. However, given the fact that Google uses many cues for determining your actual location the results can be unreliable. Try turning off localization as much as possible to increase accuracy. The following article shows a way to remove localization from the Google results and this blog post offers a concise guide. |
gr=US-NY | Just as gl shows you how results look in a specified country, gr limits the results to a certain region, here New York |
gcs=Pittsburg | Limits results to a certain city, you can also use latitude and longitude |
gpc=1020547 | Limits results to a certain zip code, here agin Pittsburg |
gm=619 | Limits results to a certain metropolitan region, here Springfield MO |
ie=utf-8 | input encoding |
oe=utf-8 | output encoding |
Google’s advanced search tools
Parameter (with example) | Description |
tbs=rl%3A1%2Crls%3A0 | Reading level: only basic results |
tbs=rl%3A1%2Crls%3A1 | Reading level: only intermediate results |
tbs=rl%3A1%2Crls%3A2 | Reading level: only advanced results |
tbs=rl%3A1 | Reading level: annotate reading level |
tbs=dfn:1 | Dictionary: definition of a word |
tbs=img:1 | Sites with images |
tbs=sts:1 | More text |
tbs=clir:1 | Translated foreign pages |
tbs=li:1 | Verbatim results |
tbs=vid:1 | Video results |
tbs=nws:1 | Google news results |
tbs=rltm:1 | Google realtime results |
tbs=qdr | You can specify different time periods - tbs=qdr:s – previous second
- tbs=qdr:n – previous minute
- tbs=qdr:h – previous hour
- tbs=qdr:d – previous day
- tbs=qdr:w – previous week
- tbs=qdr:m – previous month
- tbs=qdr:y – previous year
- specify filter results by time frame, by appending it with ,sbd:1, such as tbs=qdr:m,sbd:1 you get search results sorted by date
|
oi=video_result | The “oi” parameter is used for universal search results. You can use it in Google analytics filter to understand when people come to your site via the universal search results. Different universal search categories have their own parameters, here video results. Other notable categories are: - Revisions_inline – related searches
- image_result – image results
- spell – spelling suggestion
- Blogsearch_group – blog search results
|
Other factors
This section contains some of the most important Google parameters. You will learn how to turn off personalization and about the diverse filters that are applied by default.
Parameter (with example) | Description |
pws=0 | Parameter that allows you to turn-off personalization |
cd=2 | Passes down the keyword rank clicked. In analytics suites this can come in handy if you’d like to track the keyword rank. A guide how this can be applied can be found here |
pq=previous+query | Shows the previous query. This parameter appears when switching queries during one Google session. It might be quite valuable to extract this parameter for analytics purposes to detect search chains. (thanks for the suggestion Reinier) |
oq=original+query | Shows the original query. Try searching for one thing, say sunflowers and then searching on for sunflower seeds. You’ll notice in the URL that a parameter oq=sunflower+X appears. X might be “seeds” or just nil depending on whether or not you have clicked on the Google suggest query. The query parameter will show the full query “&q=sunflower+seeds”, though. (thanks for the suggestion Reinier) |
filter=0 | Include omitted results |
complete=0 | Turn auto-suggest and Google Instant on (=1) or off (=0) |
nfpr=1 | Turn off auto-correction of spelling |
ncr=1 | No country redirect: Allows you to set the Google country engine you would like to use despite your current geographic location. Though it works best if no Google cookie has been set yet. |
safe=on | Turns the adult content filter on or off |
biw=1920 | Browser inner width, here 1920px |
bih=832 | Browser inner height, here 832px |
start=30 | Show results rankings from this number, so 30 is page four for 10 results per page |
sa= | User search behavior parameter - sa=N – User searched
- sa=X – User clicked on related searches in the SERP
|
ei= | Passes on an alphanumeric parameter that decodes the originating SERP where user clicked on a related search. For instance when looking for coconut water and clicking on “Whole Foods” you will notice the ei=… parameter. This parameter will be equal for all related search links. However, if you click on “Amazon” and then on “Whole Foods” (all through the related results links) you will notice a different “ei” parameter value for the same SERP, because the originating SERP “Amazon coconut water” was different from just “coconut water”. |
btnG=”Search” | Text that appears on the search button (customization option for including search on one’s own site), here “Search” |
newwindow=1 | Open the results in a new window |
navclient/client/sourceid=ie7 | Where the search originated from, e.g.: - navclient – Google toolbar
- navclient-ff – Google search toolbar for Firefox
- firefox-a – Firefox search box
- chrome
|
rls=org.mozilla:en-US:official | Source of query with version of the client and language set, other examples are can be found here |
source=univ | Google navigational parameter specifying where you came from, here universal search |
tbo=1 | Always show search tools in the left sidebar |
prmd= | Parameter that determines which of Google’s vertical search engines are suggested in the left sidebar besides web, they can be combined, the most important ones are: - prmd=a – only applications
- prmd=b – only books
- prmd=c – only places
- prmd=d – only discussions
- prmd=i – only images
- prmd=n – only news
- prmd=s – only shopping
- prmd=p – only patents
- prmd=u – none (only web)
- prmd=v – only video
|
stick= | The stick parameter is one of the newest additions that we will likely see more and more. It encodes the knowledge graph box that is shown on the right next to many different queries. Try playing around with it. Have a look at this post that goes into more detail. (Thanks a lot for the suggestion Lev) |
Unclear Parameters
Google keeps adding new parameters to its URL. While most parameters are known, some aren’t. During my research I could not come up with the function of the following parameters. If you’re aware of what they do please post it into the comments section.
Parameter | Description |
ved= | Passes on an alphanumeric parameter. Not clear what it is used for. |
fp= | Passes on an alphanumeric parameter. Not clear what it is used for. However, results change when parameter is removed. |
usd= | Passes on an alphanumeric parameter. Not clear what it is used for. Often contains part of the query string. |
channel=fflb | ? |
qscrl=1 | ? |
hs=jXu | ? |
Deconstructing Google url search parameters