-
-
Save markstachowski/eeb7a59e4aacb38973cfe2de0c875e0e to your computer and use it in GitHub Desktop.
google-search-url-parameters-query-string-
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Google Search Better Privacy | |
// @description Delete unnecessary params and add useful params on Google Search. | |
// @version 0.0.4 | |
// @include http://*.google.*/search* | |
// @include http://*.google.*/imgres* | |
// @include https://*.google.*/search* | |
// @include https://*.google.*/imgres* | |
// @exclude http://play.google.com/* | |
// @exclude http://mail.google.com/* | |
// @exclude https://play.google.com/* | |
// @exclude https://mail.google.com/* | |
// @author nodaguti | |
// @license MIT License | |
// @run-at document-start | |
// @namespace https://greasyfork.org/users/1453 | |
// ==/UserScript== | |
(function(){ | |
//--- Config --- | |
//For more information about parameters, please see | |
//http://www.blueglass.com/blog/google-search-url-parameters-query-string-anatomy/ or | |
//http://www.seomoz.org/ugc/the-ultimate-guide-to-the-google-search-parameters | |
var addParams = [ | |
'safe=off', //Disable safe search | |
'newwindow=1', //Open links in new tab | |
'pws=0', //Disable personalized search | |
'complete=0', //Disable instant search | |
// 'as_qdr=y15', //Display when sites released | |
// 'adtest=on', //Turn off AdWords database connection | |
//See https://developers.google.com/custom-search-ads/docs/reference#adtest for detail | |
]; | |
var deleteParams = [ | |
//--- Tracking Params --- | |
//Thx: http://www.blueglass.com/blog/google-search-url-parameters-query-string-anatomy/ | |
'client', //Browser Name | |
'sclient', //Browser Name | |
'sourceid', //Source of the query | |
'source', //Source of the query | |
'oq', //What you typed before you made a selection | |
//from the suggestions | |
'aq', //Google Suggest Tracking (Shows which suggestion you choose) | |
'pq', //Previous Query | |
'sa', //Google SERPs navigation behavior tracking | |
'swrnum', //The number of results the initial query returned | |
'as_q', //When searching within results, the query is added as_q | |
'oi', //Universal search: Group name | |
'resnum', //Universal search: Number of a result within the group | |
//--- Maybe Tracking Params, but details unknown --- | |
'gs_l', //Location? | |
'bav', | |
'bvm', | |
'bpcl', | |
'biw', //Client display width? | |
'bih', //Client display height? | |
'w', | |
'h', | |
'tbnh', | |
'tbnw', | |
'fp', | |
'ei', | |
'usg', | |
'sig2', | |
'tbs', | |
'ved', | |
//--- Appearance Setting Params (default: Disabled) --- | |
// If you want to delete these params, please reveal the comment out. | |
// 'tbo', //tbo=1: Display search toolbar | |
// 'prmdo', //prmdo=1: Expand 'services' in toolbar | |
// 'sout', //sout=1: Change UI of Google Image Search to old version | |
// 'esrch', //esrch=instantpreviews: Enable instant preview | |
// 'filter', //filter=1: Filter similar pages | |
// 'hl', //Interface language | |
// 'lr', //Search target language | |
// 'ie', //Query encoding | |
// 'oe', //Search result encoding | |
// 'noj', //noj=1: No JavaScript | |
//--- Unknown Params --- | |
'pdx', | |
'ech', | |
'psi', | |
'emsg', | |
'facrc', | |
'imgdii', | |
'iact', | |
'ndsp', | |
'tx', | |
'ty', | |
]; | |
// --- /Config --- | |
var delParamReg = new RegExp('&(?:' + deleteParams.join('=[^&#]*|') + '=[^&#]*)', 'g'); | |
var overwriteParamReg = new RegExp( | |
'&(?:' + | |
addParams | |
.map(function(i){return i.split('=')[0];}) | |
.join('=[^&#]*|') + '=[^&#]*)', 'g'); | |
//Delete and add params | |
function urlFix(url){ | |
var _url = url; | |
//delete params | |
_url = url.replace(delParamReg, ''); | |
//overwrite and add params | |
_url = _url.replace(overwriteParamReg, '').replace(/&$/, ''); | |
_url += '&' + addParams.join('&') + '&urlfixed=1'; | |
return _url; | |
} | |
//Reload page when hash is changed (when search from textbox on result page) | |
function hashChange(){ | |
//Exclude Image Search | |
if(location.search.indexOf('tbm=isch') !== -1) return; | |
var newURL = ('https://' + | |
location.host + '/search' + | |
location.search + '&' + | |
location.hash.substr(1)); | |
newURL = urlFix(newURL); | |
location.replace(newURL); | |
} | |
if(location.href.indexOf('urlfixed=1') === -1){ | |
location.replace(urlFix(location.href)); | |
} | |
window.addEventListener('hashchange', hashChange, false); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment