One of the many reasons Firefox has enjoyed a strong following is the ability to extend its functionality with add-ons. These optional enhancements allow users to incorporate a huge variety of features and formatting changes to the browser, such as FTP, Web Design, Ad Blocking and Synchronization. One particular add-on, called Greasemonkey is unique in that it “allows users to install scripts that make on-the-fly changes to HTML web page content on the DOMContentLoaded event, which happens immediately after it is loaded in the browser (also known as augmented browsing). As Greasemonkey scripts are persistent, the changes made to the web pages are executed every time the page is opened, making them effectively permanent for the user running the script. Greasemonkey can be used for adding new functions to web pages (for example, embedding price comparison in Amazon.com web pages), fixing rendering bugs, combining data from multiple webpages, and numerous other purposes.” (Wikipedia).
I’m going to show you a simple Greasemonkey script that will remove undesirable search results from a Google so you don’t have to manually filter through them. The necessity came to me because I regularly use Google for research and have noticed a high number of “false positives” resulting from a certain site’s aggressive (and inaccurate) SEO practices,. Once this script is installed, their domain’s results will no longer appear in Google searches performed from my web browser.
- Firefox Browser
- Greasemonkey Add-On
- Text/Code Editor (NOT a word processor)
Once you have these install, the next step is to understand the structure of a Greasemonkey script. A comprehensive guide to Greasemonkey script is available online, but here is a quick summary.
Greasemonkey Script Header
// ==UserScript== // @name A Unique Name For Your Script // @namespace URL Location the script was initially published at // @description So, uhm, what does this script do exactly? // @include What domains/urls should this script be applied to? // @exclude What domains/urls should this script be NOT apply to? // ==/UserScript==
The // ==UserScript== begins and terminates this section, encapsulating the various elements and their definition (called meta-data). @include and @exclude can be listed multiple times if several locations need to be specified and the wildcard definition * can be used to define “all” domains.
The next section of a Greasemonkey script. This can be relatively simple, such as in our case or an entire sophisticated application.
var count = 0; list = document.getElementsByTagName('a'); for (i=0; i
Replace "domain-name" with the offending search result. Example: www.awful-serp-polluter.com would simply be "awful-serp-polluter" (no quotes). This will also filter subdomains, but not domains with similar names (i.e. sub.awful-serp-polluter would be blocked but awful-serp-polluter.blogger.com would not).
Installing Greasemonkey Script
Here is a the completed script ready for install. This version blocks spammy Torrent Reactor results in Google searches. Install/Download SERPS Cleaner, Torrent Reactor.