218

Whenever you do a search on Google, it will give the results which you then click on, obviously. But sometimes you hit back to go back to the results.
The problem is, Google waits a second to make some other searches pop up, and then I click on something I didn't want to click on.

Annoying "people also search for"

This GIF shows the accidental clicking due to the content-shifting animation:

GIF of how the animation shifts down the content to make you click on something unintended

And even searching for the answer just provides answers about the drop down suggestions. I'm looking for how to prevent the "people also search for" box from popping up that happens when I come back from a link I've already clicked.

8
  • Recently all of the solution no longer work to me, so I've create custom script: gist.github.com/acro5piano/e78e786b15e599ff41f61f1905c5848e Dec 7, 2020 at 9:22
  • @ThomasOrlita You don't need any reputation points to post an answer here, since this post isn't protected.
    – Flimm
    Jun 21, 2021 at 9:48
  • @Flimm This is a "highly active question" and I need to gain at least 10 reputation points on this SE site to be able to answer. And to get reputation, I need to answer questions (for example). And I can't answer this one because I don't have enough reputation and... catch 22. :/ If you want, feel free to post my comment as a community wiki answer so that more people will see it, instead of here in the comments where answers aren't supposed to be. Jun 21, 2021 at 14:09
  • @ThomasOrlita Huh, I don't see the indicator that this is a highly active question. That's weird.
    – Flimm
    Jun 21, 2021 at 20:39
  • 1
    I was able to click on the Gear/settings > Search Settings icon on the top right and turn off Auto-complete with trending searches. This really was driving me nuts due to the content-shifting causing frequent misclicks. I'm also unable to answer the question due to the 'highly active question' issue.
    – waffl
    Nov 8, 2021 at 11:33

10 Answers 10

60

While there is no official statement on the matter, from what I've been able to gather by trial and error, this frustrating feature seems to exist to try and push users into searches which yield more sponsored results, thus it'll probably never get a toggle.

Fortunately the frustration can be reduced with an amazing extension called uBlock Origin. In addition to enabling common blocklists and anti-annoyance lists, I also have these following entries for google under "My Filters" in uBlock options.

www.google.co.uk## .mw div[jsl^="$t"][jsl$="0;"][class^="r-"]
www.google.co.uk##div[class^="r-inw"]
www.google.co.uk##.exp-outline
www.google.co.uk##.ads-ad

Substitute .co.uk with .au, .com, .<whatever> and your search results stay still when navigating in and out of them.

Note that Google likes to change class names and ids, which means these filters may need to be updated in the future.


More from comments and other answers:

www.google.com# .mw .rc div[jsl^="$t"][jsl$="0;"][class^="r-"]
www.google.com##.rc [id^="ed"]
www.google.com##.exp-outline
www.google.com###ed_8
google.com##div[id^="ed_"]
www.google.*##div[jscontroller]:if(h4:has-text(People also search for))
www.google.*##h4:has-text(People also search for):xpath(ancestor::div[@jscontroller][1])
google.com##div[id^="eob_"]
https://www.google.*/xjs/*
www.google.com##[class*="g kno-kp mnr-c g-blk"]
www.google.com##:is([data-sokoban-container] > div:last-child):has([jscontroller])
www.google.com##.related-question-pair
0
23

As mentioned above, using uBlock Origin just add a filter for https://www.google.*/xjs/* that will stop for showing this nonsense for sure as the js files from this request are executing this popup

1
  • 7
    This works but, unfortunately, it also disables some really useful google functions. For example, when I search for the name of a place, I'm no longer shown the picture and map of the place on the right side.
    – Tea Tree
    Jul 28, 2020 at 18:43
13

Someone over in the Google Product Forums found this lovely bit of CSS if you have a CSS injection plugin:

.s + div, .exp-outline { 
    display: none;
}
1
  • 1
    This is the answer that worked for me. Adding google.com##.s + div to my ublock origin filters did the trick wonderfully. Aug 19, 2020 at 3:01
9

Own rules for AdblockPlus

google.com,google.co.uk##.AUiS2
google.com,google.co.uk##.exp-outline

Go to AdblockPlus settings -> Advanced -> MY FILTER LIST and add the entries there.

0
5

on AdGuard I added this line to my "User filter" in the chrome extension options and it fixed it:

google.com##div[id^="ed_"]

Replace .com where appropriate. ^= means "starts with", so any div starting with ed_ on google.com will be removed.

EDIT: this seems to have changed for me from "ed_" to "eod_". You can right click inspect element and look for the id attribute on the div then update "ed_" above to whatever prefix your divs have.

0
2

I have published a userscript on greasemonkey to get rid of it: https://greasyfork.org/en/scripts/431719

Here's the actual code that does the trick and it needs to run at startup:

    const config = { attributes: true, childList: false, subtree: true };
    const callback = function(mutationsList, observer) {
        for(let mutation of mutationsList)
            if (mutation.attributeName==="style"&&mutation.target.getAttribute("style")==="display: block; opacity: 1;") {
                mutation.target.parentElement.parentElement.style.height="auto";//cancel out the container-div expanding which it does to contain annoying box
                mutation.target.remove();//remove the annoying box
                return observer.disconnect();
            }
    };
    const observer = new MutationObserver(callback);
    observer.observe(document.body, config);

Naturally it doesn't have the side-effect of disabling other features of the google-page by blocking the js-file that introduces the annoying box.

The other userscripts mentioned here do not work (anymore).

I intend to update the script if it ever stops working.

0
0

I am not sure what kind of side effects this may cause beyond the fact that it works, but I got a little more specific with the filter and confirmed that it works in UBlock since UBlock can use AdBlock filters as well.

google.com#?#div:-abp-has( > div > div > div > h2:-abp-contains(People also ask))

These directly look for the internal text for any of these elements, so any element with "People also" in the text portion will be removed. I figured doing it this way is better because they won't randomly generate the internal text like they will the classes and stuff. It works for me just fine in Chrome.

You can change it to be the exact text if you want or have issues.

In UBlock you need to go to the icon that says "Open The Dashboard" in the tool tip. It is just an icon on the right side of the popup when you click the icon in the browser, looks like a settings icon. Then select the tab that says "My filters" and paste the provided code inside.

In AdBlock Plus, click the ABP icon on the right of the browser and click the setting icon on the top right. Then go to advanced on the left menu and go to the bottom and click the button that says "Start Creating my Filter List." You can paste the provided code in there as well. I haven't tested it on Ad Block Plus as much as UBlock because I didn't see a reason to do both, so proceed with caution.

Also, you could probably add additional ones for other items you want to remove from the browser. 

0

Using uBlock Origin Chrome extension (works as of Jan 19, 2020):

  1. Go to chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/dashboard.html#1p-filters.html
    (if that doesn't work, then go to Chrome://extensions and then "uBlock" and then "details" and then "extension options"

  2. Enter this on the bottom line:
    www.google.com##[class*="g kno-kp mnr-c g-blk"]

  3. No more annoying suggestions to scroll past

If the filter didn't work, then hit Ctrl+Shift+C on a sample Google search and mouse over the containing box of the suggestions and find the class name, and then replace it in the filter code (between quotes).

0
0

This was not something I noticed until recently when Google changed the css location of this block of searches; it became prominent enough to piss me off.

Similar to prior suggestions, I use a global plug-in called Stylus for all of my client-side tweaks for a variety of sites; they also have a decent lib of user-made styles. This plug is similar to the classic for Firefox.

I found (as of 2.18.23) the best way to get rid of the suggested searches block as well as the battery of ads block, that appears towards the top is to inject a client-side CSS code of:

.iv_desc, .iv_disc {display: none !important;}

I used 'important,' because technically, even though client-side css should take precedence, it does not in some real-world cases, or the if detected will fall back on similar rules but from different names/sources.

-1

Use a user script that was created by Charlie Hayes, on Greasemonkey, Tampermonkey, or Violentmonkey. I think I found it on Greasyfork website, but it is no longer there. I found an older version elsewhere. The version I have is from June 9th, 2018. I placed it available for download at https://nerdondemand.com/remove-google-people-also-search-for.user.js. You can also create it yourself:

// ==UserScript==
// @name          Remove google 'people also search for'
// @namespace     http://userstyles.org
// @description   Remove annoying 'people also search for' box that shows up on google results when you click back.
// @author        Charlie Hayes
// @homepage      https://userstyles.org/styles/157106
// @include       http://google.com/*
// @include       https://google.com/*
// @include       http://*.google.com/*
// @include       https://*.google.com/*
// @run-at        document-start
// @version       0.20180315072605
// ==/UserScript==
(function() {var css = [
    ".s + div, .exp-outline { ",
    "        display: none;",
    "}"
].join("\n");
if (typeof GM_addStyle != "undefined") {
    GM_addStyle(css);
} else if (typeof PRO_addStyle != "undefined") {
    PRO_addStyle(css);
} else if (typeof addStyle != "undefined") {
    addStyle(css);
} else {
    var node = document.createElement("style");
    node.type = "text/css";
    node.appendChild(document.createTextNode(css));
    var heads = document.getElementsByTagName("head");
    if (heads.length > 0) {
        heads[0].appendChild(node);
    } else {
        // no head yet, stick it whereever
        document.documentElement.appendChild(node);
    }
}
})();
1
  • This one is not working anymore
    – Clox
    Sep 3, 2021 at 9:32