Regensbot

Regensbot's thresholds

Google does not publish these numbers. Each one is Regensbot's own rule of thumb or comes from something Google said at an event, and the checks that use it say so in their findings. A change to any of them is named in the release notes.

All thresholds

ThresholdRequirementsWhat it means
80 % DEV-CAN-08 Pages of one template count as near-duplicates when their main content shares at least 80 % of its word sequences (Jaccard similarity of 5-word shingles).
4 clicks DEV-URL-04 A major template whose pages are more than 4 clicks from the home page on average (median) gets a warning. Google only says "a few clicks".
48 hours DEV-SRV-03 Pages may answer 503 for maintenance for up to 48 hours. Longer pauses fail; Google's guides say "a few days at most" and "1-2 days".
50 URLs DEV-URL-08 A filter or sort parameter that produces more than 50 distinct crawlable URLs on one template is flagged as a facet, and the crawl stops following it there.
3 seconds DEV-REN-06 A request of 3 seconds or more that the main content waits for gets a warning. Google's render timeout is not documented.
10 % DEV-PRF-03 When a tool billed per session counts more than 10 % more sessions than your analytics, sessions probably start before any user interaction.
150 px DEV-VID-01 A video player must be at least 150 px on each side once the page has loaded; a smaller one does not count as an embedded video.
150 px DEV-IMG-01 A CSS background image of at least 150 x 150 px in the main content is listed as a possible content image that search engines cannot find; you can dismiss decorative ones.
10,000 px DEV-REN-03, DEV-URL-07 Rendered checks use a viewport about 10,000 px tall and never scroll. The figure was said at a Google event; it is not in Google's documentation.
20 % DEV-IDX-02 When more than 20 % of verified Googlebot requests go to noindex, parameter or action URLs, crawl budget is being wasted.
50 % DEV-REN-01 When at least 50 % of the rendered main text or internal links exist only after JavaScript ran, the page fails: search engines that do not render see little of it.
10 % DEV-REN-01 From 10 % of the rendered main text or internal links that exist only after JavaScript ran, the page gets a warning.
150 characters DEV-REN-02 A click that adds at least 150 characters of new text opens a content panel, which is listed for review: content that appears only after a click may not be indexed.
10 % DEV-REN-04, DEV-REN-08 A render without the resources robots.txt blocks, or without WebGL, that lacks at least 10 % of the page's main text has lost content.
100 characters DEV-REN-04 A render without the resources robots.txt blocks whose main text is shorter than 100 characters is nearly empty, which risks a soft 404.
90 % DEV-REN-06 Two renders of the same page whose main texts share less than 90 % of their word sequences differ, so the content is not stable from one render to the next.
30 % DEV-REN-10 When an iframe from the same site holds at least 30 % of the page's text, the page gets a warning: Google may index that text for the iframe's own URL instead.
2 items DEV-URL-07 A list that gains at least 2 items when the page is scrolled or a load-more button is clicked loads its items on demand, so each of them needs a crawlable link or paginated URL.
120 px DEV-IMG-03 Text within 120 px of an image in the rendered layout counts as text next to it that can explain the image.
3,000 ms DEV-PRF-02 With the CPU slowed down four times, main text that reaches 80 % of its length later than 3,000 ms after navigation shows late.
50 % DEV-PRF-02 When more than 50 % of the rendered main text is missing from the raw HTML, the main content counts as generated by JavaScript, and its timing under a slowed-down CPU is what counts.
5 words DEV-HTM-06 Text of at least 5 words that a visitor cannot see is listed as possible hidden text for you to confirm or dismiss. It never fails on its own: tabs, accordions and screen-reader text are allowed.
1.1:1 DEV-HTM-06 Text whose colour has a contrast ratio of 1.1:1 or less against its background (nearly the same colour, such as white on white) counts as hidden, unless an image lies beneath it.
-999 px DEV-HTM-06 Text with a text-indent of -999 px or less is pushed out of view and counts as hidden.
120 characters DEV-HTM-07 Styled text of at most 120 characters that paragraph text follows can act as a heading; longer text is not listed. Google gives no number; this one is Regensbot's own.
1.2× DEV-HTM-07 Text at least 1.2 times the size of the page's body text that is no heading element (h1 to h6) is listed as styled to look like a heading. Google gives no number; this one is Regensbot's own.
600 DEV-HTM-07 Text with a font weight of 600 or more counts as bold: outside a heading element it is listed as a possible heading, inside a paragraph without strong or b as possible emphasis. Google gives no number; this one is Regensbot's own.
28 days DEV-HTM-02, DEV-INT-11, DEV-URL-04, DEV-VID-02 Checks that read Search Console's performance data (Search Analytics) look at 28 days of it.
3 days DEV-HTM-02, DEV-INT-11, DEV-URL-04, DEV-VID-02 Those 28 days end 3 days ago, because Search Console's numbers for the latest days still change.
63 days DEV-MON-03, DEV-MON-10, DEV-MON-11 Checks over URL Inspection results read the results and closed fixes of the last 63 days (nine weeks), enough to compare weekly trends.
5 URLs DEV-CAN-05, DEV-CAN-08, DEV-URL-10 Each week Regensbot inspects up to 5 URLs per template with Search Console's URL Inspection. Checks over this sample say so; it is not the totals of Search Console's reports.
10 % DEV-MON-03 When the share of sampled URLs that Google crawled but did not index is 10 percentage points higher than the week before, the share is rising and gets a warning.
5 URLs DEV-MON-03 A week's share of URLs crawled but not indexed is compared only when at least 5 sampled URLs of that week have an indexing state.
3 weeks DEV-MON-11 When the median time from publishing a URL to Google's first crawl of it rises 3 weeks in a row, the site gets a warning.
7 days DEV-MON-11 A new URL that Google has not crawled 7 days after it was published counts as late.
3 URLs DEV-URL-10 A section of the site is ranked by how much of it Google indexed only once at least 3 of its URLs were inspected.
80 % DEV-URL-10 A section with at least 80 % of its inspected URLs indexed is strong in Google's index.
50 % DEV-URL-10 A section with less than 50 % of its inspected URLs indexed is weak and gets a warning.
50 impressions DEV-INT-11 Spellings of the same search query (for example with and without umlauts) are compared only when together they had at least 50 impressions.
5 % DEV-INT-11 A spelling with less than 5 % of its group's impressions gets almost none of them.
50 % DEV-INT-11 A spelling with at least 50 % of its group's impressions dominates it; the others are compared with it.
10 impressions DEV-HTM-02 For a template without target terms, a search query is proposed as a term only when the template's pages had at least 10 impressions for it in Search Console's performance data.
5 items DEV-HTM-02 At most 5 search queries are proposed as target terms per template, those with the most impressions first.
30 days DEV-SRV-01 When Google's last crawl of an inspected URL in the last 30 days was refused or failed (a server error, 403 or another 4xx), the check fails; an older one only warns.
2 % DEV-MON-08 The clicks in the BigQuery bulk export may differ from Search Console's own total for the same day by up to 2 %; more gets a warning.
3 days DEV-MON-08 When a day is still missing from the bulk export's ExportLog 3 days after it was due, the check fails; a day missing for a shorter time warns, because Search Console retries a failed day the next day.
30 days DEV-MON-08 The bulk export check reads the ExportLog of the last 30 days.
2 days DEV-MON-08 An exported day can arrive up to 2 days late, so the last 2 days never count as missing.
3 days DEV-MON-08 Clicks are compared for the latest exported day that is at least 3 days old, once Search Console's numbers for it have settled.
7 days DEV-MON-08 Whether a site is large enough to need the bulk export (more than one page of 25,000 rows of page and query data for one day) is asked again every 7 days.
30 days DEV-MON-08 For a site without a registered export, the answer to whether it is large is used for 30 days at most.
14 days DEV-SHP-01, DEV-SHP-03 The Merchant Center checks read the newest sample of up to 50 products, and only while it is at most 14 days old.
24 hours DEV-SRV-01, DEV-PRF-01, DEV-MON-04 Raw log lines that Cloudflare Logpush or a storage bucket sends are deleted at the latest 24 hours after they arrive; only counts per template and verified crawler are kept. Lines pushed with regensbot logs push are read at once and never stored.
0.5 % DEV-SRV-01 When more than 0.5 % of verified Googlebot requests get a 429 (too many requests), the server is slowing Google down and the check fails.
1 % DEV-SRV-01 When more than 1 % of verified Googlebot requests get a server error (5xx, or no answer at all), the check fails.
1.5× DEV-PRF-01, DEV-MON-04 When the slowest 5 % of answers to verified Googlebot (p95) take more than 1.5 times as long as the visitors' on the same templates, or than Googlebot's own p95 of the days before, you get a warning.
100 requests DEV-AIF-04, DEV-IDX-02, DEV-MON-04, DEV-MON-11, DEV-PRF-01, DEV-SHP-02, DEV-SRV-01, DEV-SRV-09, DEV-URL-07, DEV-URL-08 A server log check passes only on at least 100 verified crawler requests in its window; with fewer it shows the counts and asks for more data. A problem fails or warns at any count.
30 days DEV-AIF-04, DEV-IDX-02, DEV-MON-04, DEV-MON-11, DEV-PRF-01, DEV-SHP-02, DEV-SRV-01, DEV-SRV-09, DEV-URL-07, DEV-URL-08 The server logs count as a source of a site while they delivered a parsed batch in the last 30 days.
28 days DEV-AIF-04, DEV-IDX-02, DEV-MON-04, DEV-MON-11, DEV-PRF-01, DEV-SHP-02, DEV-SRV-01, DEV-SRV-09, DEV-URL-07, DEV-URL-08 The server log checks decide on the crawler requests of the last 28 days.
20 requests DEV-PRF-01 Googlebot's and the visitors' response times on a template are compared only when each side has at least 20 timed requests.
50 % DEV-PRF-01 When Googlebot's p95 response time is more than 50 % above last week's, you get a warning.
40 % DEV-PRF-01 When Googlebot made more than 40 % fewer requests yesterday than on a typical day (the median) while its answers got slower, Google may have lowered its crawl capacity: you get a warning.
7 days DEV-PRF-01 That typical day is the median of at least 7 days with Googlebot traffic.
7 days DEV-MON-04, DEV-AIF-04 A log alert of the last 7 days gives a warning: a higher share of 5xx or 429 answers, robots.txt answering 5xx, a jump in Googlebot's response time, or a verified AI agent refused with 403, 429, a block or a challenge.
200 URLs DEV-IDX-02 To see whether the parameter URLs Googlebot spends its requests on are worth it, one sample crawl fetches at most 200 of them, within the crawl limits of your plan.
10 sources DEV-MON-04 A site may have up to 10 log sources (CLI pushes, Logpush jobs, S3 or R2 buckets).
20 requests DEV-MON-04 A share or response-time alert is raised only for a day with at least 20 verified Googlebot requests (and a baseline of as many).
7 days DEV-MON-04 The response-time alert compares a day with Googlebot's p95 of the 7 days before it.
6 hours DEV-MON-04 Yesterday's log alerts are worked out from 6 hours after midnight UTC, because CDN logs arrive late.
2 seconds DEV-SRV-01, DEV-SRV-09, DEV-MON-04, DEV-AIF-04 A crawler whose address is not on its vendor's IP list is checked by reverse and forward DNS; one DNS query may take 2 seconds.
60 seconds DEV-SRV-01, DEV-SRV-09, DEV-MON-04, DEV-AIF-04 One log batch waits at most 60 seconds in all for DNS answers; claims left unchecked count as not verified.
1,000 addresses DEV-SRV-01, DEV-SRV-09, DEV-MON-04, DEV-AIF-04 One log batch looks up at most 1,000 different addresses in DNS; claims beyond them count as not verified.
30 minutes DEV-SDA-11 When GitHub reports a successful deployment and no release record from regensbot ci arrives for its commit within 30 minutes, the pipeline skipped the check and you get a warning.
90 days DEV-MON-02, DEV-SDA-11, DEV-SDA-12 The release pipeline counts as a source of a site while regensbot ci posted a release record for it in the last 90 days.
50 releases DEV-MON-02 One site takes at most 50 release records per day (UTC); more are refused until the next day.
20 URLs DEV-MON-10 The re-checks after a release audit at most 20 production URLs, the first templates' URLs, each once.
100 URLs DEV-MON-10 The re-checks of one site audit at most 100 production URLs per day (UTC); a URL already audited that day is not audited again, and a re-check beyond the budget waits for the next day.
365 days DEV-MON-02, DEV-MON-10 A release record and its re-checks are kept for 365 days after they arrived.
30 days DEV-SDA-11 A GitHub delivery is kept for 30 days so that a replay changes nothing; a delivery older than that is ignored.
1 days DEV-MON-10 A robots.txt change in a release is expected to show in Google Search within 1 day (about a day; an estimate said at Search Central Live). Its re-check is due when that window closes.
21 days DEV-MON-10 A noindex change in a release is expected to show in Google Search within 7 to 21 days (one to three weeks; an estimate said at Search Central Live). Its re-check is due when that window closes.
21 days DEV-MON-10 A canonical change in a release is expected to show in Google Search within 7 to 21 days (one to three weeks; an estimate said at Search Central Live). Its re-check is due when that window closes.
14 days DEV-MON-10 A structured data change in a release is expected to show in Google Search within 0 to 14 days (hours to two weeks; an estimate said at Search Central Live). Its re-check is due when that window closes.
21 days DEV-MON-10 A title and snippet change in a release is expected to show in Google Search within 1 to 21 days (a day up to several weeks, read as three; an estimate said at Search Central Live). Its re-check is due when that window closes.
90 days DEV-MON-10 A site-move change in a release is expected to show in Google Search within 30 to 90 days (one to three months; an estimate said at Search Central Live). Its re-check is due when that window closes.
14 days DEV-MON-10 A content change in a release is expected to show in Google Search within 0 to 14 days (hours to two weeks; an estimate said at Search Central Live). Its re-check is due when that window closes.
1 days DEV-MON-10 When URL Inspection says Google last crawled a production URL before the release, the re-check asks again after 1 day.
14 days DEV-MON-10 After the window closed, the re-check asks URL Inspection once a day for at most 14 days; a URL Google has not crawled again by then stays not yet processed.
1,000 rows DEV-CAN-10 regensbot ci requests at most 1,000 rows of a redirect map on staging per run.
10 URLs DEV-CAN-10 When at least 10 old URLs redirect to one target and they are more than half of the map's redirects, you get a warning: Google may treat such redirects as soft 404s.
50 % DEV-CAN-10 That share: more than 50 % of the redirect map's redirects onto one target.
600 seconds DEV-CAN-10 One run checks the redirect map for at most 600 seconds; rows left unchecked are listed as such.
2,000 images DEV-IMG-08 One run compares at most 2,000 of the pipeline's output images with their originals.
8,000,000 bytes DEV-IMG-08 Of each image file, regensbot ci reads at most 8,000,000 bytes for its metadata.
5,000,000 bytes DEV-CAN-10 regensbot ci reads at most 5,000,000 bytes of a redirect map file; a larger file is refused.
2,000,000 bytes DEV-MON-02 One release record holds at most 2,000,000 bytes; Regensbot refuses a larger one unread.
100 templates DEV-MON-02 One release record holds at most 100 template results; the redirect map and the image comparison take one each.
200 findings DEV-MON-02 One template result in a release record holds at most 200 findings.
20 items DEV-MON-02 A site's checklist has at most 20 items of its own for release records. Beyond that, the oldest release item that only machines made goes; one a person acted on or that still needs work stays, and the new release's result then goes to the site's own item.
1,000,000 bytes DEV-SDA-11 One GitHub webhook delivery holds at most 1,000,000 bytes; a larger one is refused unread.