This is an open source Chrome extension that works like a CLI and manipulates Google search queries and parameters with little effort. It can chain commands (mostly) and it's customizable.
If you like this, please star this repository.
- Download this repository: ![https://github.com/dsottimano/dsottimano-google-cli-for-seos/archive/main.zip]
- Unzip the folder
- In Chrome go to chrome://extensions/
- Top right, select developer mode
- Top left, "load unpacked"
Program your own parameters. In this example (;esp), we change gl,hl,lr to Spain/Spanish and use Madrid's uule to search for pizza.
Use this in the omnibox. Warning, if you change the default operator from ; to /, Chrome will try to search your file system.
Change country, language interface and results language in an instant. ;g (country)(interface)(result_language), so in this example, ;g brfrde which means we're searching in Brazil, with a French language interface for German results.
Quickly cycle between search types. Here, we go from cat news to videos, to images and reset with the magic ;r parameter
You can change the default operator. Slash is nice, but can be a conflict for some searches as well as the omnibox.
Just add to the configuration object (https://github.com/dsottimano/dsottimano-google-cli-for-seos/blob/main/main.js#L25)
Basic query changing example
Only search ebay.com and amazon.com with shortcut ;es
{
operator: "es",
query: 'site:ebay.com OR site:amazon.com ',
param: null,
info: "limits results to ebay and amazon",
fn: null,
fnTakesInput: false
}
Basic parameter manipulation
Here we'll create a command with operator u to return 100 results and remove the dupe filter.
{
operator: "u",
query: null,
param: '&num=10&filter=0',
info: "set result number to 100 and sets filter to 0",
fn: null,
fnTakesInput: false
},
Basic function input example
Function inputs are when use a command and the following string separated by a space will be used in that function. Note, if you are using a function that needs to take input, you must set fnTakesInput to true.
{
operator: "s",
query: null,
param: null,
info: "shortcut for site: operator",
fn: function(q) {
return this.query = "site:" + q;
},
fnTakesInput: true
}
Why isn't this on the extension marketplace?
Not sure how stable this is with heavy usage so, I don't want to put out a bad product. If in a few weeks, everything hold up and Google doesn't break this, then I'll put up a nicer version with a GUI for config
Are you recording any of my data/keystrokes/etc?
No way. Please check the code or have someone review the code, there is nothing of that sort in the code and will never be.
Can you get blocked for using too many parameter searches?
Not blocked, but you'll get a captcha if you hit this too hard. For example, I had to exceed 30 queries in a minute for Google to block me with a captcha (temporarily of course)
How does this work?
Chrome's APIs allow blocking of a request URL. When you request Google's search, I check to see if you want to change that query with a shortcut.
After I change the parameters, they persist or the same parameters appear with the newest values, what's up?
No different to how normal search functions with param manipulation. If the same parameter appears twice, the last wins. You can always clear by using ;r