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.

13
  • 146
    This "feature" of Google's drives me crazy for the same reason.
    – JYelton
    Jun 6, 2018 at 15:58
  • 2
    When sites (like Google) add annoying Javascript features I quickly become accustomed to disabling javascript for that domain when not using it. And Noscripts prevents google's scripts from loading on all external sites, So by them inspiring me to seek workarounds they have encouraged me to just block them almost entirely. Maybe they will experience large drops in traffic as they become more assertive?
    – Logic1
    Jun 7, 2019 at 5:29
  • 3
    I wouldn't mind having this box on the screen, as long as it doesn't pop up dynamically under where I'm trying to click. If a userscript could move it off to the side or something, that would be fine
    – endolith
    Oct 14, 2020 at 15:11
  • 2
    Also everyone should click the "Send feedback" link at the bottom of the search results, and highlight this box in yellow in the screenshot and complain to them.
    – endolith
    Oct 14, 2020 at 15:12
  • 2
    I've made a very simple (5 lines of code) Chrome extension to remove the "People Also Search For" box: github.com/ThomasOrlita/remove-people-also-search-for-box (I will post this as an answer once I gain more reputation points) Mar 17, 2021 at 18:01

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
17
  • 6
    This one covers it at the moment www.google.com##.rc [id^="ed"]. And www.google.com##.exp-outline to hide an outline Apr 17, 2019 at 12:46
  • 6
    OMG! THANK YOU THANK YOU THANK YOU! This latest by simoyd works google.com##div[id^="ed_"] Apr 14, 2020 at 23:28
  • 37
    A bit crude, but www.google.*##div[jscontroller]:if(h4:has-text(People also search for)) works for me in uBlock Origin, no jumpy animation like some filters have.
    – Mint
    Aug 24, 2020 at 9:45
  • 4
    @SemyonVyskubov's approach does not work for me as of today. Mint's does.
    – A_P
    Sep 2, 2020 at 19:34
  • 9
    As of Jul 2021 this is what's working for me: www.google.*##h4:has-text(People also search for):xpath(ancestor::div[@jscontroller][1])
    – bagonyi
    Jul 23, 2021 at 8:44
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

2
  • Thank you for this practical answer, I realize javascript isnt really necessary anyway for a simple google search and is otherwise a waste of processing to begin with. I like this block because it solves the problem at the root
    – Tom
    Jun 13, 2020 at 3:21
  • 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;
}
2
  • 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
  • 2
    It would even be good if we could just move the box to the side where it doesn't shift the layout around while I'm clicking
    – endolith
    Oct 14, 2020 at 15:05
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.

3
  • 4
    Could you add a few more instructions as to where to place these rules, etc.?
    – jonsca
    May 30, 2018 at 22:03
  • 1
    Thank you. This also works on Brave, if you go to brave://adblock/ and paste the rules into the box at the bottom. Oct 14, 2020 at 12:16
  • This works wonderfully, thanks. Feb 9, 2021 at 19:44
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.

3
  • This did it for me. Thank you so much Apr 14, 2020 at 23:27
  • Doesn't work for me unfortunately.
    – Idodo
    Jun 7, 2020 at 7:09
  • @Idodo answer updated a bit. Should get you going now.
    – Simoyd
    Oct 1, 2020 at 14:47
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.

2
  • Just want to add that all the other user-scripts to solve the issue seem to be outdated.
    – Clox
    Sep 1, 2021 at 6:57
  • I went with a solution for UBlock Origin from a buried comment here, but this is elegant, too.
    – Tomalak
    Sep 3, 2021 at 8:09
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).

1
  • I'm using ##:is([data-sokoban-container] > div:last-child):has([jscontroller]) May 29, 2022 at 14:41
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