Google Search Result Domain Blocklist
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script lets you block specific domains from appearing in Google search results. When you search, the script scans each organic result, extracts its domain, and checks it against your personal blocklist. If a domain matches, the entire result container is hidden—removing it completely from your view. You can add domains to the blocklist either from the settings panel or by clicking the "Block this domain" button that appears on each search result. A counter in the corner shows how many results were blocked. The blocklist is stored locally and persists across sessions, so your blocked domains stay blocked until you remove them. This is especially useful for filtering out low-quality content farms, paywalled sites, or any domains you simply don't want to see in your search results.
WHERE IT RUNS
The script runs on all major Google domains, including .com, .co.uk, .ca, .de, .fr, .it, .es, .com.au, and .co.jp. It works on search results pages (/search?q= or ?q=). It handles both desktop and mobile views, and updates dynamically as new results load via infinite scroll.
HOW TO USE
After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:
- The "Enable domain blocklist" toggle enables or disables the blocking.
- The "Blocked Domains" list shows all currently blocked domains. Click the ✕ button next to any domain to unblock it.
- Enter a domain in the input field and click "Add Domain" to block it manually (e.g., "pinterest.com").
- Click "Refresh results" to re-scan the page and apply the blocklist.
- Click "Clear blocklist" to remove all blocked domains.
On search results, each unblocked result has a "Block this domain" button. Click it to instantly add that domain to your blocklist and hide the result.
TECHNICAL SECTION — REAL MECHANISM
The script detects search result containers using selectors like .g, .srg .g, .MjjYud, and .Gx5Zad. For each result, it extracts the domain by looking for the visible URL in elements like .yuRUbf a, .r a, and a[jsname="UWckNb"], or by parsing the URL text from cite and .TbwUpd elements. The extracted domain is normalized (lowercase, www. removed) and compared against the blocklist using exact matching and subdomain matching (e.g., "sub.example.com" matches "example.com"). If a match is found, the result container is hidden using CSS properties: display:none, visibility:hidden, height:0, overflow:hidden, and zero padding/margin/border. The script uses a WeakSet to track processed results and avoid duplicate work. A MutationObserver watches for new results being added to the page and triggers processing with a debounce. Each unblocked result gets a "Block this domain" button inserted after the result title. The blocklist is stored as an array of strings via GM_setValue, and the panel allows users to manage this list with add, remove, and clear operations.
THE PANEL
The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or actions are performed. All settings and the blocklist save automatically via GM_setValue.
PLEASE NOTE
This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. Google frequently updates its search results page structure, which may affect domain extraction or result container detection. If the script stops working, please check for updates. The script hides results visually after they load—it does not prevent them from being fetched or rendered. The blocklist is stored locally and is specific to your browser. The script stores only the blocklist and enabled state via GM_setValue. No data is sent externally—all data is stored locally in your browser. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, classList, WeakSet) and never use innerHTML.