Ask HN: How to stop Google indexing dynamic search pages?
A few months ago I received a manual action penalty from Google as they detected spam pages on our domain. The problem was that when people were searching on our site they are directed to a page with the following:
https://$domain/search?query=$QUERY
Some users (most likely bots) are generating huge spam searches on our search page and somehow Google is indexing these and there are no inbound links to these pages (at least I cannot find any).
To resolve this I did the following:
* On our search page I set the following header: X-Robots-Tag: noindex (based off of the documentation here https://developers.google.com/search/reference/robots_meta_tag).
* Submitted URLs to be dropped from Google Index via Webmaster console
* Submitted 3 reconsideration requests to Google to avoid the penalties
In theory this should stop all search pages being indexed (as they all contain the noindex header) and it has helped drop the number of indexed pages marked as spam by 99% however we still have a significant number of urls marked as spam and so our site has a penalty from Google.
Has anyone had this issue before? How can I stop these pages becoming indexed when I have the noindex header set _and_ if you search the spam urls there are no inbound links to them?
Any help appreciated folks!
38 comments
[ 0.26 ms ] story [ 90.9 ms ] threadA.- I would also add "nofollow, noarchive" tags [1] to your X-Robots-Tag header:
- "nofollow" -> do not to follow (i.e., crawl) any outgoing links on the page.
- "noarchive" -> prevents Google from showing the Cached link for a page.
B.- I would specify in Search Console (former Webmaster Console) how should Google handle "query" parameter [2]
C.- Prevent those spam searches by blocking source IP address, User-Agents, combinations of both, etc.
Good luck!
[1] https://support.google.com/webmasters/answer/79812?hl=en
[2] https://www.google.com/webmasters/tools/crawl-url-parameters...
A) I'm going to add the nofollow and noarchive to see if that helps the issue.
B) I've already set the search console to ignore the query parameter but I'm still getting new spam results coming in.
C) I've been looking into this but so far the meta information for the spam requests is not consistent and it's tricky to identify so far.
Thanks for the help and the luck, I think I'll need it!
https://www.deepcrawl.com/blog/best-practice/noindex-disallo...
Specifically the part:
>Noindex (robots.txt) + Disallow: This prevents pages appearing in the index, and also prevents the pages being crawled. However, remember that no PageRank can pass through this page.
They can still end up in the index, just with a not that says "no description is available for this page"
I remember years ago the debate Matt Cutts asked if G should index and pointed out that other engines were indexing pages that were robots.txt blocked.. meh.
I had to setup a 301 to homepage redirect system to zap all the pages I took out... although some other engines still spider looking for those pages even though I removed them with 301s over a year ago - perhaps the spammers still have links going to them?
I started just blocking all indexing from sogu or whatever it's called and similar bots in the robots.txt and then started to look at ip / cidrs to block further after thinking they would get the hint after several months.
Hope your situation is different.
Edit: Maybe it is also worth annotating the search field (https://developers.google.com/search/docs/data-types/sitelin...) so that google can match it against your search results page.
You want robots NOT to index pages but to still follow links on your search pages.
Create clean sitemap.xml file and submit it to Search Console.
Another way is to just canonicalize all search results pages to your search page.
With Google and these things time is involved. Once it's in the index it will take time to properly clean everything up. How was the traffic before this happened? Did the website rank for any decent keyword? Sometimes when this happens the smart thing to do is to just start from scratch with a new domain.
If you want more extensive help email me.
https://moz.com/blog/canonical-url-tag-the-most-important-ad...
Actually, Google’s Jon Mueller is pretty forthcoming with this information and he would likely say the same.
For Google Webmaster Tools / Search Console I cannot say since I run this everywhere.
That said, Google & co could set a date, whereby new content / pages will not be indexed unless its marked as indexable. This would allow historic content to remain indexed, and new content be opt-in at the expense of any new search engines being unable to index historic content. How can they tell if the content has not opted in, or is just no longer actively maintained without having a pre-existing index?
GoogleBot is broken.
User-agent: *
Disallow: /search
Disallow: /search