Semrush says Google has been returning inaccurate results to automated collectors since late summer, the first time the company has publicly addressed what SEOs now call “poisoned SERPs.” The statement, shared on X by SEO consultant Nick LeRoy, says the effect on users’ tracked rankings has been limited.
A poisoned SERP is a Google results page that looks complete and normal, but with most of the usual organic results swapped for others. There is no error and no CAPTCHA, so rank trackers store it as real data, and a site can appear to fall out of the top 10 overnight.
Other rank trackers are dealing with the same problem, and AccuRanker published its own data on October 19, showing a sharp spike in late September that has since settled to around 1% of its keyword checks, while Nozzle and SEO consultants have put the problem at a much larger scale.
Semrush says most bad results appear beyond page one
According to Semrush, the problem has mostly shown up in deeper results rather than the page one rankings most users watch, and its team has added extra checks that keep changing as Google does:
“We’ve been seeing Google return inaccurate results to automated collectors since late summer. The team added checks to filter and double-check the results we return, and keeps adjusting them as Google changes its behaviour.The impact on the rankings our users track has been limited, and we haven’t seen any service interruptions. Individual cases can still appear, with most showing up beyond the first page of results. Users can report any inconsistencies to our support team so we can check each case.
Accurate data is our priority, and the team keeps adapting its checks as search changes.”
Nozzle found 8% of its SERPs were poisoned
While Semrush didn’t put a number on the problem, rank tracker Nozzle analyzed 27.5 million SERPs across 49 countries and found 8.0% came back poisoned from September 13, against 0.17% before. Requests first started failing on September 13, and from September 20 the requests that got through returned altered pages. On September 27 to 29, about a quarter of all SERPs were affected.
“Google is not refusing these requests; it answers them with a complete page whose results are wrong, and nothing on the page says so,” Nozzle wrote. “A refused request tells a scraper to try again, while a poisoned one gets stored as real.”
On poisoned pages, only 20.7% of the previous day’s sites remained, compared with 88.5% normally. A tracked project’s own site was missing from the top 10 on 58.6% of them, against 2.7% in the baseline. Reddit and Facebook took more of the top 10, and legal queries were hit hardest, peaking at 51.3% on September 27.
DemandSphere separately reported spurious results on about 11% of its daily collected SERPs on October 7.
AccuRanker saw a one-day spike, then a rate near 1%
AccuRanker’s analysis dates its main spike to late on September 24. More than a quarter of the keywords in its sample showed a swapped page one the next day, peaking at 30.2% on desktop and 25.7% on mobile, and the rate fell below 5% within two days.

Smaller rounds of the same pattern appear in its stored rankings from late January, hitting local searches first. Google tightened detection again on October 15, mostly on mobile, and both devices were back under 1% by October 17.
AccuRanker says Google “appears to decide per browser session, not per keyword,” so poisoning follows how data is collected rather than what is tracked.
The problem was spread evenly across AccuRanker’s 22 markets, with the poisoned share in each staying between 1.1% and 1.7% from late September to mid-October.

Measured with Nozzle’s method, AccuRanker’s own share averaged about 1.5% from October 1 to 9, roughly a fifth of Nozzle’s figure. The two vendors define a poisoned page differently, so their rates can’t be compared directly.
Its fix is to compare each new page one with sites seen on recent days and re-fetch it with another session when fewer than half match. Search Engine Roundtable’s running coverage quotes SE Ranking as saying “the issue still affects roughly 2% of tracked results, and that share continues to shrink.”
Most poisoned rankings return within days
In AccuRanker’s data, 93.7% of poisoned spells lasted a single day, and three in four re-fetches with another session returned a normal page. Nozzle found 77.9% of poisoned SERPs had their usual sites back within three days.

SERP data providers that supply results to other tools have been slower to fix it. SerpApi has an open issue about irrelevant results on its Google Search API, and on October 14 said an update “should reduce the number of instances” without fully fixing it.
SEOs blame Google’s fight against AI scrapers
Google’s spam policies already prohibit scraping results for rank-checking without permission, and it has been testing new anti-bot checks in Search since September, but it hasn’t said anything publicly about the swapped results trackers are seeing.
SEO consultant Brodie Clark suggests Google may be poisoning results to stop LLM competitors such as ChatGPT from using its data, leaving rank trackers as “collateral damage.” Nozzle’s Derek Perkins described a three-part approach to Search Engine Roundtable: wide IP blocking aimed at residential proxy networks, more CAPTCHAs, and bad data injected into suspect SERPs.
Clark says almost every data provider has been affected, and that Ahrefs data was “completely inaccurate” in some cases.
Check Search Console before acting on a ranking drop
A one-day drop out of the top 10 or top 100 that reverses the next day is the clearest sign of a poisoned check, especially when most usual competitors vanish at the same time. Local results showing businesses from the wrong city are another.
Compare the same query, date, country and device in Search Console, which reflects what real searchers saw. If impressions and position held, the drop was in the tracker’s data, not in Google. The same bot filtering is already skewing other SEO reports, so ask your tracker how it detects and re-checks bad pages before reporting.
Source: X, AccuRanker, Nozzle
Start the conversation by posting the first comment