The primary menu now starts with Tools, Content, Newsletter, and Services; duplicate changelog and newsletter-archive links were removed; the footer was regrouped by task. The content library now includes published AI-labeled work and places search above the full browser, while open stats disclose AI-labeled publishing activity separately from reviewed achievement totals.
The hreflang validator now uses its returntag - hreflang checker product name, the free crawler now matches its Scout Site Audit Free registry name, large common-issue galleries were replaced by a compact verification-capability note, and changelog type filters now narrow to one type at a time.
Release notes moved from separate area pages into one changelog. Tabs switch between tools, content, and site changes without leaving the page, every note keeps a permanent link, and retired area addresses redirect to the matching view.
Added the same SEO-versus-paid spending-dynamics comparison used by the SEO ROI Calculator so the article and tool explain timing, persistence, and useful financial comparators from one shared source.
Corrected a research misattribution: the March 2026 '38% of AI Overview citations' re-run is by Xibeijia Guan, not Patrick — reworded the body prose that said 'when we re-ran it' and moved the study out of 'My related writing & research' into 'From around the industry' with author attribution.
Corrected a research misattribution: the schema/AI-citations observational study is by Louise Linehan and Xibeijia Guan, not Patrick — reworded the body prose that said 'we ran'/'I'm holding back' and moved the study out of 'My related writing & research (Ahrefs)' into 'From others' with author attribution.
Corrected a research misattribution: the 'We Tracked 1,885 Pages Adding Schema' AI-citations study is by Louise Linehan and Xibeijia Guan, not Patrick, so moved it out of 'My related writing' into 'From around the industry' with proper author attribution.
The AI + SEO data view now runs deterministic, structure-aware chunk diagnostics from each article source at build time. Its optional browser model remains a separate semantic comparison, preserving the best-matching-term score without forcing a model download on readers.
Articles with archived snapshots can expose an on-demand comparison from their changelog. Revision checks also require current editorial updates to carry a matching meaningful changelog or history record, so the visible record cannot silently lag the source.
The new help hub directs visitors to tool and MCP guidance, explains common result and availability states, and documents what to include—or leave out—when reporting a problem.
Corrected this article's own sourceUrl after the ai-search measurement-and-reporting taxonomy confirmed the retrieved-mentioned-cited article's canonical path.
Corrected this hub's own sourceUrl after the how-search-works taxonomy reorg dropped the intermediate crawling segment from the discovery article's canonical path.
Repaired a stale internal link to the QAPage schema article after the structured-data taxonomy reorg moved it under the social-community subsubcluster.
Repaired stale internal links after the on-page taxonomy reorg relocated the title tag, canonical tag, meta robots, alt text, semantic HTML, and HTML lang attribute articles under new subcluster paths.
Fixed a dead Ahrefs link in the Resources lens — the old AI-search-optimization URL 404s; replaced with Ahrefs' current LLM-citations article, which covers the same shift from ranking pages to being cited in AI answers.
Added a Scrum-vs-Kanban section sourced to the Scrum and Kanban guides, tightened the cargo-cult explanation with the Scrum Guide's own mechanics, and added rollback/reversibility and Jira-configuration notes to the ticket-writing guidance.
Added current, provider-specific citation exceptions from official OpenAI, Microsoft, and Gemini documentation so a missing source link is not misreported as a publisher defect.
Corrected an unverified claim about which AI assistant has gained the most ground since my Sept 2025 talk data; an independent tracker shows a different leader than the article previously named.
Fixed a dead Bing Webmaster help link in the Official Docs lens — the old bing.com/webmasters/help URL 404s; replaced with the live support.microsoft.com equivalent, which covers the same relevance/quality/authority ranking signals.
Verified the article's core mechanics against Anthropic's current artifact-publishing and embedding docs (no factual corrections needed to the pitch itself), and fixed the AI Summary lens quoting a different 'calculator' search-volume figure than the one shown in the article's own Ahrefs screenshot and caption.
Added two current Bing non-factor boundaries: ranking-parameter weights vary by search and over time, and payment cannot improve organic blue-link ranking.
Corrected an RE2 case-sensitivity error in the regex guidance and added Google's own data-mechanics caveats (anonymized queries, UI/API row limits) so reported branded/non-branded splits don't get read as reconciling to the site's total organic clicks.
Corrected the Carrd-vs-Linktree cost comparison: Linktree does not offer a custom domain option at any price (confirmed live via Linktree's own help center), not '~$24/month' as previously stated; fixed the Gary Illyes 'without content' quote citation to the Search Engine Land article that actually contains it. The improvement packet for this pass was synthetic/ungrounded (dismissed in full); Carrd's own plan pricing, feature gating, and multi-page/section-anchor architecture were re-verified live and found accurate as written.
Fact-checked every Google quote and #:~:text= deep link against the live pagination, faceted-navigation, URL-structure, site-structure, structured-data, breadcrumb, and canonical-mistakes docs (raw HTML, not summaries) — pagination guidance, the faceted-navigation URL, and the no-fixed-word-count content guidance all confirmed current and accurate. Found and fixed one broken quote: the faceted-navigation 'overcrawling' quote in the Advanced lens and Quotes lens spliced Google's list intro into a phrase that isn't a substring of the live page, so its matching deep link silently failed to anchor.
Ran an autonomous update pass: confirmed the article's existing framing (composable as SEO-neutral architecture, MACH Alliance as vendor consortium not a certification) already holds up, verified every cited vendor/Google URL is live, and added the MACH Alliance's current Open/Composable/Connected principles -- its definitional framing has moved beyond the classic acronym -- to sharpen what actually counts as 'composable' versus merely separately purchased.
Removed a dead third-party Dropsolid citation from the Resources lens — Dropsolid rebuilt their site and the knowledge-hub article no longer exists at any URL, so no live replacement covers the claim.
Fact-check pass against Google's live documentation: fixed a stale faceted-navigation doc URL (it 301s to a new crawling.google.com path), corrected a spliced/inaccurate crawl-budget quote, attributed two previously-unsourced statistics (Gary Illyes' ~60% duplicate-content estimate, my 51.3% multiple-H1 study figure), and rewrote the Product schema audit steps to separate merchant-listing required properties (name, image, offers) from product-snippet eligibility (name plus one of review/aggregateRating/offers) instead of treating them as one required list.
Autonomous update pass: verified every cited Google doc and quote against the live pages (all current, no folklore-shaped click-depth or link-count rules found — the article already correctly frames the 3-click rule as industry consensus, not a Google directive), and corrected one stale citation title.
Corrected an outdated claim that Ecwid's image alt text is automatic and locked; Ecwid now lets merchants set custom per-image alt text (and show it as a visible gallery caption).
Autonomous fact-check pass: re-verified every cited quote (Google's testing/cloaking docs, Cloudflare Workers, Bing, Akamai, Optimizely, SearchPilot) against the live pages, all confirmed accurate word-for-word — no article facts changed. Fixed one stale citation link.
Corrected platform drift the known-bad research packet couldn't be trusted to catch: verified every named edge platform against its current live docs and fixed a wrong Cloudflare Workers paid-plan CPU limit, an outdated Vercel product name, Cloudflare's retired single AI-bot toggle, and Sloth's now-dead product site.
Removed an unsourced Core Web Vitals origin pass-rate statistic ("Jan 2026 CrUX": ~68% LCP / ~87% INP / ~81% CLS / ~56% pass-all-three) from the Stats lens — it carried no first-party citation, and the aggregate-dashboard tool that kind of figure is normally pulled from (Google's CrUX Dashboard in Looker Studio) is now deprecated. Reviewed the article against a Wave 94 structured-research packet (screened synthetic/templated, used for topic-coverage only); verified the crawl-budget doc citation still resolves and its 1M-pages-weekly/10K-pages-daily threshold text is unchanged, and confirmed the quoted Martin Splitt lines against Search Engine Journal's and ppc.land's coverage.
Tempered an absolute "AI crawlers don't render JavaScript" claim to match the article's own better-hedged wording, and sourced the Gary Illyes 60%-duplicate-content figure to a dated, corroborated primary event instead of an unverified secondary attribution.
Added a metric-definition contract before the tiered KPIs, clarified GSC's CTR denominator and average-position semantics, labeled traffic value/SoTV as modeled estimates, documented GSC-GA4-CRM reconciliation lineage, and reframed the three tier cadences as adaptable defaults rather than fixed rules.
Tightened the article's root-cause reasoning so each organizational diagnosis needs a decision trail, not just an observed symptom — added chronology tests, backlog-materiality checks, decision-oriented reporting language, an intent-ownership test for keyword cannibalization, and a clearer automation/migration-controls framing.
Corrected how AI Overviews/AI Mode clicks actually show up in GA4 (they carry a google.com referrer and land in Organic Search, not 'Direct'/'Other'), added GSC's Gen AI performance reports' subset-rollout and impressions-only scope, added the new GA4 AI Assistant channel (May 2026) and its explicit exclusion of Google's own AI surfaces, labeled Ahrefs traffic value/Share of Traffic Value as modeled estimates, dated and scoped the Ascend2 attribution stat, and added audience/narrative/lineage/alert caveats so fixed prescriptions read as defaults rather than universal rules.
Made every published benchmark declare its own scope: fixed the Conductor/Forrester traffic-growth and PPC-reduction figures to match the source's 'up to' framing (not flat averages), added the missing citation for the 300,000-keyword Ahrefs CTR study, and added explicit model-contract, incrementality, defensive-value, and key-event-governance caveats so a reader can't mistake a modeled or attributed number for observed revenue.
Corrected a stale redirects limitation: Framer's redirect manager now supports wildcard folder redirects, capture groups, and slug matching, not just one-to-one mapping. Added the accurate remaining limit (no cross-domain redirects) and the Pro+ plan gate, fixed the PageSpeed Insights quote's source link, and added Framer's newly documented CMS-field JSON-LD templating syntax.
Independently re-verified the GEO paper's strategy percentages, GEO-bench composition, author affiliations, and Google's mythbusting quotes directly against the primary sources (arXiv:2311.09735 and Google's live AI-optimization guide) — all checked out, no fact changed. Replaced the one unattributed statistic in the stats lens (a bare 'Source: Search Engine Land' B2B AI Overview citation-rate figure) with the named study, publisher, byline date, and sample scope.
Corrected a stale framework claim (Shopify Hydrogen now runs on React Router 7, not Remix — confirmed via npm registry: @shopify/hydrogen peer-depends on react-router with no Remix dependency, and @shopify/remix-oxygen carries a formal deprecation notice) and flagged that Shopify's own SEO doc still shows Remix-flavored prose; updated the BigCommerce Catalyst sitemap doc link to its current URL (developer.bigcommerce.com path now 301s to docs.bigcommerce.com).
Corrected a stale framework claim (Shopify Hydrogen runs on React Router 7, not Remix, since a late-2024 migration confirmed via npm registry and Shopify's own deprecated @shopify/remix-oxygen package), fixed a fabricated John Mueller quote that did not exist on its cited source page, corrected the Martin Splitt quote's source description, fixed a dead Onely link, and swapped a Google Merchant Center citation that resolved to a navigation hub for the actual free-listings help article.
Removed an unsourced '40–80% traffic decline' figure for review aggregators (no Google or verified-evidence source supports a fixed traffic-loss threshold), updated the March 2024 '40% reduction' figure with Google's later-reported actual 45%, and added a clarifying distinction between the algorithmic core-ranking effect and the separately enforceable scaled-content-abuse manual action.
First editorial fact-check pass: verified Google's site-move-no-url-changes guidance, DNS TTL mechanics, Cloudflare cache/TTL/Origin CA claims, and all quoted text against live sources; updated the Verify Googlebot citation to Google's current URL after confirming the old one now permanently redirects.
Verified the Yahoo! Japan / Google relationship against current Japanese-language sources and added a more current, dated fact: LINE Yahoo's May 2024 earnings disclosure confirmed a 2-year contract extension keeping Google-powered search running through at least March 2027, after LINE Yahoo shelved a considered switch to Naver's search technology over unresolved data-security concerns.
Re-verified every named model/cutoff against current vendor docs; GPT-5 (original) and Claude Opus 4.1 are now deprecated and Gemini 3 is now legacy behind Gemini 3.5, so the cutoff-vs-release and Anthropic reliable/training tables were updated to current models with dated verification notes rather than silently overwritten.
Verified every named measurement tool and official-source claim against its live page: updated Ahrefs Brand Radar's prompt-index figure from 350M+ to 400M+ and flagged it as a growing, live-updating count; corrected a fabricated Microsoft/Copilot quote in the Quotes lens (the exact sentence didn't exist on the cited page) to a verified quote from Bing's own AI Performance announcement; and corrected the Semrush and Scrunch tool descriptions to match their current product names/positioning.
Dead-link fix: replaced three 404'd Adobe Experience League citations with their current live URLs after Adobe restructured the commerce-admin doc paths.
Verified every named tool/report against its live source (GSC Gen AI Performance Reports, GA4 AI Assistant channel, Bing Webmaster Tools AI Performance) — all still live and described accurately — and fixed a stale Brand Radar figure plus two paraphrased quotes that weren't exact matches to the source.
Scoped Merchant feed limits away from HTML metadata, added the discontinued Merchant API v1beta boundary, and recorded the accepted image formats with the dated 500×500 enforcement notice.
Added a new Advanced-lens section on Shopping Campaign reporting and conversion tracking (UET, goals, attribution windows, and why Microsoft's numbers won't match Google's) — a topic-coverage gap the article previously didn't address. Reviewed the rest of the article against a fresh research pass; the existing free-vs-paid distinction, feed-spec, and country-footprint facts all held up and needed no correction.
Fixed a misquoted MUM statistic, separated query/retrieval/output modality as distinct dimensions, named the research architectures behind shared embedding spaces, added preprocessing failure modes, and reinforced that documented guidance is an eligibility aid, not a ranking guarantee.
Fetched Naver's own Korean-language Search Advisor guide pages directly (plain HTTP requests succeeded where an earlier revision reported them unfetchable) and corrected several claims against Naver's own text — most importantly, that Naver documents its own IndexNow-compatible endpoint, contradicting the previous claim that it had no push protocol of its own. Also corrected the registration-requirement framing, expanded verification failure modes, added a new partner crawl-request API section and a robots.txt/Yeti section, and replaced several secondary-sourced figures with Naver's own stated numbers.
Re-verified all source-code claims against OpenCart's current release (4.1.0.3, up from the 4.0.2.3 tag originally checked) and corrected two facts that had drifted: the shipped robots.txt default is no longer identical between OpenCart 3 and 4, and the native blog shipped in January 2025 (OpenCart 4.1.0.0), not April 2026 as previously stated. Dismissed nine synthetic-packet recommendations (fabricated source URLs, templated claim text) with no groundable evidence.
Verified all cited docs, quotes, and package versions live (opentelemetry.io, Vercel, Next.js, Honeycomb, OneUptime, SigNoz, Embrace, npm) — everything checked out current and unchanged. Added a new Advanced-lens section on signal-selection and operational edge cases (metrics vs. traces, log correlation, versioned semantic conventions, propagation gaps, sampling, metric-attribute cardinality, Baggage sensitivity) that the research packet had flagged as coverage gaps, each grounded in opentelemetry.io's own concept docs.
Fixed a source/dataset mismatch on the brand-mentions correlation stat, corrected how Google Search Console reports AI-feature traffic, and softened correlation-as-budget-directive language into testable hypotheses.
Cross-checked this hub against same-day fact corrections made to its five linked child articles (wordpress-seo, shopify-seo, webflow-seo, headless-cms-seo, next-seo). Found and fixed one contradiction: the hub repeated the now-corrected false claim that Shopify restricts robots.txt editing to non-standard plans, and separately implied Webflow restricts robots.txt like Wix/Squarespace does. WordPress version facts, Webflow CMS caps/redirects, and the Shopify Hydrogen/React-Router migration are not mentioned in this hub, so no change was needed for those.
Re-verified every cited Google/schema.org/Bing source directly (not the packet, which was screened synthetic); fixed a quote from Google's faceted-navigation doc that no longer matches the live page, corrected a schema.org ItemList quote to match its actual (typo'd) wording, and replaced a miscited source for the 'no Product rich results on listing pages' claim with the Google doc that actually states it.
First editorial/fact-check pass: verified every Google Search Console and site-move claim (traffic-drop guide, URL Inspection live-test limits, redirect duration, canonicalization signal strength, hreflang self-reference/cross-domain support) and the Patrick-authored Ahrefs source against the live docs, confirmed the quoted http/https line against the page body, and checked all internal tool/article links resolve. Fixed one garbled metrics-lens bullet; no factual claims required correction.
Tightened the idea-validation and signup-gate sections around an explicit experiment model: idea validation now requires customer evidence, feasibility/risk, and a written falsifiable activation hypothesis alongside keyword demand, and gate placement is now framed as a measured experiment (a defined discovery-to-activation event chain compared against a local baseline) rather than a one-time design decision.
Verified the required-vs-recommended structured-data split and every quoted Google/Bing passage against the live docs; corrected a truncated faceted-navigation quote, added real dates/scope to two review-conversion stats, and removed a third-party traffic figure whose attribution didn't hold up on verification.
Corrected the ChatGPT Search / Bing framing: OpenAI's own crawler documentation confirms OAI-SearchBot does independent fetching and indexing for search citations, and OpenAI has since positioned ChatGPT Search as a standalone competitor to Bing rather than a wrapper around it — the exact current retrieval mix isn't published, so the article no longer states 'retrieves through Bing' as a flat fact. Verified the Lewis et al. 2020 RAG paper's author list, venue (NeurIPS 2020), and all direct quotes (NVIDIA, Anthropic, Google Research, AWS, Gao et al. survey) against primary sources; all matched exactly.
Restored the sourced, dated redirect-hop statements that the prior revision incorrectly treated as invented, while keeping them separate from Google's current documentation and Patrick's observations.
Corrected the ChatGPT Search / Bing framing to match the verified OAI-SearchBot correction made across the corpus tonight, tempered an absolute claim that AI crawlers don't run JavaScript, fixed a duplicated word, and corrected an unattributed semantic-completeness stat to its sourced figure.
Ran a full update pass against the Wave 93 research packet (screened synthetic; used for topic coverage only) and re-verified every live-doc quote in the article (Splitt/SEJ framing, crawl-budget, Page Indexing report, Crawl Stats, Core Web Vitals thresholds, web.dev lab-vs-field, JavaScript SEO basics) word-for-word against the current pages -- all held up unchanged, so no factual edit was warranted. Fixed one stale link label.
Update pass: verified sanity/@sanity/client and every named plugin (sanity-plugin-seo, sanity-plugin-seofields, deprecated sanity-plugin-seo-pane, @portabletext/react, @portabletext/to-html, @sanity/block-content-to-react, @portabletext/markdown) against the npm registry — no version drift found, all still current or correctly flagged as legacy/deprecated. Tempered two absolute 'AI crawlers don't run JavaScript at all' claims (beginner lens and the Advanced AI-search section) into 'typically don't render JavaScript today,' naming Google's Gemini pipeline as a documented exception and noting provider behavior isn't a fixed contract. Confirmed the headless-boundary framing (Sanity stores content, the frontend owns SEO output) and Sanity's published/drafts perspective docs are still accurate and live (all three cited docs return HTTP 200, no removals).
Re-verified Google's testing guidance against the live doc (still current, no Google Optimize dependency) and added an explicit statistical-honesty caveat about page-group independence.
Corrected two verified-against-primary-source inaccuracies: fixed WCAG 2.2's total success-criteria count from the vague "~87" to the precise 86 (78 from WCAG 2.1, plus 9 added in 2.2, minus 4.1.1 Parsing which 2.2 removed), and removed a false claim that 'the page experience system' appears among Google's named ranking systems on its ranking-systems guide — confirmed by raw fetch that it does not; Core Web Vitals is documented separately under page experience, not as one of the guide's enumerated systems.
Added a forecast-contract step before method selection, separated point estimate/model interval/scenario as three distinct concepts, added a sensitivity-analysis section and a Prophet back-testing workflow, and replaced the fixed monthly/quarterly review mandate with a default cadence plus explicit rebuild triggers.
Fixed a self-contradiction where the beginner lens used a bare ranking target as a valid Key Result example while the advanced lens calls that a vanity metric, tightened an under-scoped Lumar misalignment statistic to its real survey date/sample, labeled Ahrefs traffic value as a modeled estimate rather than observed revenue, added a controllability test before accepting a key result, distinguished outcome-shaped Key Results from initiative/milestone bullets in the examples, and softened the OKR-to-KPI lifecycle language from automatic to a management choice.
Corrected a required-vs-recommended structured-data error in the Advanced lens's product-schema checklist item, and fixed a broken sentence in the Advanced TL;DR.
Verified every version-gated claim against Shopware's own docs and the shopware/shopware GitHub release history (current stable v6.7.12.1), fixed a stray taxonomy field, and added a native feature the last pass missed.
Confirmed and noted Sitecore's current-docs rebrand of XM Cloud to SitecoreAI (JSS now published as Content SDK), and added the editing-host vs rendering-host distinction for headless deployments — only the rendering host serves crawler-facing traffic.
Verified generator versions/roster against npm and GitHub release data, replaced a direct Astro quote that no longer appears on the live docs page with an accurate one, and added a dated note about Gatsby's markedly slower 2026 release cadence next to its comparison-table recommendation.
Corrected an overstated claim that AI crawlers don't run JavaScript at all, and fixed stale Strapi 5 plugin guidance (the sitemap plugin cited throughout is Strapi-4-only).
First-pass fact-check: fixed a dead crawling-indexing/overview link (404) in the Official Docs lens and aligned three crawl-budget doc references to the doc's current title/URL for consistency with the rest of the corpus.
Google renamed and moved its large-site crawl-budget guide (now 'Optimize your crawl budget' under Crawling Infrastructure docs, was 'Large site owner's guide to managing crawl budget' under search/docs/crawling-indexing); updated all four citations to the new URL and re-verified every quoted Google/Bing sentence in the article word-for-word against the live pages. No facts, thresholds, or figures changed — all verified exact-match.
Fixed a source misattribution on the TPU 'thermal limit' quote, added vendor-variance qualification to the input/output budget claim, and scoped 'Lost in the Middle' to its named 2023 study.
Corrected a vendor-naming drift: Google has re-platformed its recall/latency service away from the 'Vertex AI Vector Search' name to 'Vector Search' under the Gemini Enterprise Agent Platform, confirmed by a live redirect and doc-title check.
Removed a fabricated quote that had been attributed to Google's AI Optimization Guide across six places in the article (a claim that 'Gemini can also use passage indexing...'). Direct curl fetches and a Wayback Machine snapshot from the brief's own research date confirm that page never contained the words 'Gemini' or 'passage.' Replaced it everywhere with Google's real, currently-documented Passage ranking system (from Google's ranking-systems guide), quoted verbatim and explicitly scoped as general core ranking, not AI-Overviews-specific. Also corrected two Bing Web IQ quotes that had been lexically simplified rather than quoted verbatim, and softened passage-level SEO claims so they read as defensible practice rather than a guaranteed reranker win.
Reconciled this hub against the ten child articles, all of which were fact-corrected tonight: fixed a stale 'add FAQ schema for rich results' example (Google removed the FAQ rich result from Search in May 2026, per duda-seo) and corrected Duda's robots.txt capability, which the comparison table and prose understated as 'Limited'/absent from the top control tier — Duda actually lets you replace robots.txt outright, closer to Webflow/Framer than to Wix. No contradictions found against the other eight corrected children (weebly-seo, webnode-seo, framer-seo, strikingly-seo, jimdo-seo, wix-seo, carrd-seo) — this hub doesn't repeat any of their specific corrected claims.
Fixed a staging-hygiene error (the article told readers to noindex staging AND block it with robots.txt — the robots.txt block hides the noindex tag from Google entirely), repointed dead FAQPage-doc links to Google's changelog after confirming the doc was removed (301 redirect), and softened an unverified claim that IndexNow names a redesign as an explicit full-resubmission trigger.
Added a section distinguishing reference type, factuality vs. faithfulness, citation existence vs. entailment, and named RAG failure stages, so hallucination claims and benchmark rates get evaluated against the right yardstick.
Added qualification around what attribution signals are actually observable, cross-analytics-tool differences, and the distinction between an attributed conversion and a proven causal effect.
Added functional-image guidance (icon-only controls), scoped the ADA/WCAG and search-outcome claims, and sharpened the purpose-first framing of alt text per the 2026-07-17 research correction.
Linked the AMP canonical/amphtml pairing rules directly to Google's own documentation of that relationship; reviewed the article against seven needs-review evidence claims and five competitive-gap findings and confirmed the existing cache-dating, ranking/eligibility separation, and removal-as-migration guidance already holds up without new assertions.
Distinguished the three mechanisms behind 'answer engine' (extraction, retrieval-and-citation, generation) and clarified that 'GEO' traces to a specific 2023 research paper narrower than the industry's everyday usage.
Added the documented boundary conditions Google/Android/Apple attach to app-link verification and measurement, so the article doesn't overstate what a valid setup or a Search Console filter actually guarantees.
Reframed the templated 'there's no B2B SaaS algorithm' opener and TL;DR around the actual difficulty: ranking for a buying committee rather than a single searcher.
Replaced the templated 'there is no B2B algorithm' intro heading and opener with framing built around the real differentiator — the buying committee and how you measure it — and fixed a broken sentence in the beginner TL;DR.
Corrected the Bingbot desktop/mobile user-agent strings: removed a trailing "Edg/W.X.Y.Z" fragment that isn't in Microsoft's finalized 2022 strings, and swapped a stale example IP for one that resolves live today.
Fixed a dead Search Console help link in the Official Docs lens (404 on the old breadcrumbs-report URL); replaced with the current Rich result report overview help page, which covers the same valid/invalid breadcrumb item monitoring.
Added WAI-ARIA landmark/current-page accessibility checks, reframed breadcrumb-type choice around Google's typical-user-path guidance, and made the eligibility-vs-outcome distinction explicit (no guaranteed display, rankings, traffic, or AI citations).
Added ownership/governance/cost factors to the architecture decision and a migration-risk checklist, and softened an overstated hreflang-hierarchy claim.
Corrected the property-type requirement (root-level URL-prefix properties qualify, not just Search Console's Domain property type), separated redirect duration from old-domain-registration retention, added the www/non-www exclusion, and toned down unsupported ranking-transfer language.
Added verified-evidence qualification to chunk size, overlap, semantic chunking, and Lost in the Middle, plus a new section on contextual prefixes and their failure mode.
Deepened the request-path, redirect-ownership, HTMLRewriter safety, cache-diagnosis, and release-discipline sections with route precedence, idempotency testing, and rollout controls grounded in current Cloudflare docs.
Added a scope boundary against About/Privacy/Terms, an explicit disclosure-boundary statement, source links for the named Cloudflare/Astro/MCP platforms, and a credits section.
Fact-check pass against RFC 9110/9111 and Google's crawling docs: corrected a self-inconsistent example date in the curl scripts (weekday didn't match the calendar date), and independently re-verified the article's validator-precedence and 304 body-rule claims against RFC 9110 sections 8.8, 13.2.2, and 15.4.5 directly rather than relying on secondary sources.
Sharpened the refresh-prioritization framework: a GSC decline is a prompt to investigate, not proof that stale content caused it, and added risk/cost as explicit prioritization factors alongside decline, stale facts, and SERP movement.
Corrected a stale fact: Yandex no longer honors crawl-delay (dropped it February 22, 2018), contradicting the article's prior claim that it treats the value as literal seconds.
Tightened the definition of crawl depth to a seed-relative shortest path and added measurement-methodology caveats (render mode/device, depth distribution vs. maximum, and how to test a depth change without over-claiming causality).
Qualified the 'no penalty' claim against Google's separate spam policies, added the same-language/best-substitute canonical rule, and hedged the Search Console/swap mechanics to the podcast-explanation source rather than a written spec.
Fixed a dead Indexing API quickstart link in the Official Docs lens (old developers.google.com/search/docs/crawling-indexing/... path 404s); replaced with the current developers.google.com/search/apis/indexing-api/v3/quickstart URL.
Verified every Google quote in this article against the live spam-policies and 2015 doorway-update pages (body text, not the page's own AI summary) — all confirmed accurate. Removed an unsourced '80–95% identical' similarity figure (appeared four times) that had no first-party backing, and corrected an overstated claim that Google's 2024–2025 core/spam updates 'specifically targeted' and 'actively deindexed' location-page stacks — the March 2024 core update's own announcement introduces scaled content abuse and other new spam policies but does not name location or doorway pages specifically.
Fixed a dead Google hreflang documentation link (in both prose and the Official Docs lens) — the old localization-vs-internationalization URL 404s; replaced with the current localized-versions page, which covers the same reciprocal hreflang requirement.
Added the FAQ rich result's removal from Google Search (May 2026) and the multi-language 200-page site cap; re-verified canonical lock-in and hreflang auto-generation against Duda's current docs and live output.
Corrected the variant-canonicalization guidance: canonical consolidation is for genuinely duplicate URLs, not every product variant, and now distinguishes single-page from multi-page variant architecture.
Gated the CDN cache-fragmentation cost as a vendor estimate rather than a universal number, separated Vary's protocol-level caching role from Google's own crawl-discovery signal, and added a repeated-request/cache-edge check to the audit checklist.
Verified eBay's Best Match factor list, '80-character title'/'24 photos' guidance, and the 2%-general/0.5%-Top-Rated defect-rate thresholds directly against eBay's current Help Center pages (all still current, still worded as at last review). Replaced the vague 'Promoted Listings costs have been rising' line with a dated, sourced account of the November 2024 ad-rate increase and the January 13, 2026 US/Canada attribution change.
Replaced the implied platform-ranking framing with a requirements-and-ownership selection method, and generalized the variant-URL and faceted-navigation guidance to match Google's documented range of supported approaches instead of one prescribed pattern.
Replaced the templated 'it's the same algorithm' opener with framing built around ecommerce's real problem: a store that manufactures URLs faster than Google will crawl them.
Replaced the templated 'there is no enterprise algorithm' intro heading and opener with framing built around what actually makes enterprise SEO hard — scale and organizational drag.
Verified every Etsy source directly (WebFetch/curl were 403'd by Etsy's edge; a real browser session got through) and fixed a terminology-accuracy issue: 'listing quality score' isn't Etsy's own name for the conversion-based ranking factor — Etsy calls it listing engagement rate and reserves 'quality score' for the Ads auction. Added Etsy's April 27, 2026 title-guidance update (shorter, less keyword-stuffed titles), a Star Seller / Etsy Plus ranking clarification, and fixed four dead Seller Handbook/Help Center links that were silently redirecting to generic landing pages.
Reordered the control decision tree around crawl need first, separated UI/URL/index-page states in the mechanism section, and tightened the strategic-decision and monitoring guidance.
Clarified that browser-tab display isn't proof of Google acceptance and removed unsupported click-through-rate causality claims; qualified Bing's propagation timing as practitioner-reported rather than an official SLA.
Applied the 2026-07-17 evidence-and-correction pass: category distinctness now leads over page-count bands, page-count/click-depth bands are explicitly labeled practitioner heuristics (not verified cutoffs), the audit section segments by template/priority/discovery source and treats GSC Crawl Stats as aggregate first-party data rather than per-URL proof, and remediation now frames every fix as reversible/testable with a monitoring window and rollback trigger, with no promised crawling/indexing/ranking/traffic/AI-citation outcomes.
Tightened claims the brief's evidence review flagged as overreaching: distinguished Google's officially named surfaces (Gemini) from practitioner-reported AI Mode/AI Overviews coverage, qualified default opt-in and top-placement claims, softened 'only lever' ranking language, added local-listing eligibility gates, clarified Bing parity as launch-era reporting pending current Microsoft docs, and added a report-definition comparison for free-listing measurement.
Added dimension-scope guidance (session vs. first-user) and expanded the honest-limits section to cover data retention, property start date, consent thresholding, channel-group edit recency, and attribution-model credit.
Corrected the article's universal build-time-HTML framing: Gatsby actually has four rendering paths — SSG, DSG, SSR, and client-only routes — and only SSG guarantees pre-rendered HTML at build time.
Added guardrails against over-claiming: correlation-vs-causation caveat on the brand-mention data, an outcome-separation/no-guarantee note, scoped Google's 'still SEO' guidance to Google's own surfaces, and scoped AI-visibility measurement to provider/prompt/model/market/date.
Cross-linked the image-sitemaps deep dive instead of duplicating its tag mechanics, added an explicit eligibility-isn't-a-guarantee note for structured-data rich treatment, and added a segmentation caution before attributing a Search Console change to one optimization.
Re-verified the JobPosting/BroadcastEvent-only scope directly against Google's live docs (unchanged) and added quota, batching, and removal-prerequisite details the article was missing.
Qualified the feed-quality 'ranking factor' framing and the srsltid attribution claims against current evidence, and clarified that Merchant Center is still required for some surfaces (the Shopping tab) even after the September 2022 structured-data eligibility change.
Separated genuine data-sampling limits from the 1,000-row display cap, added the platform-property rollout and role/verification distinction, and scoped the 'first-party data' framing so it doesn't read as 'every signal Google holds.'
Qualified the categorical entity/index architecture claim as an inferred working model, disclosed freshness/crawl-processing limits, dated the scale figures, and made clear the merchant checklist improves eligibility and verification rather than guaranteeing inclusion, ranking, AI citation, or conversion.
Added the 14-day partition-expiration minimum and the within-a-day export-start timing, and softened language that overstated bulk export's completeness (anonymized queries still stay hidden) and Bing-connector parity.
Added a compact triage order for working the report and clarified what the URL Inspection live test does and doesn't cover for canonical/duplicate statuses.
Tightened ranking-weight and title-link-selection language to match current evidence, and clarified the H1 vs. title-element distinction and the JS-audit approach.
Corrected an implied H1-to-H6 SEO weighting ladder, qualified the skipped-heading-level accessibility claim, and added the terminology/decision-rule and outline-algorithm gaps flagged by review.
Corrected overclaiming: the CMS shapes implementation (modeling, API, preview, publishing) even though the frontend rendering is still the biggest SEO lever, added an explicit no-inherent-ranking-advantage statement, and separated preview access control from noindex.
Added explicit CMS/API/frontend ownership boundaries, locale/hreflang ownership, metadata field validation rules, preview-defense ordering, and a publish/unpublish/rename cache-purge matrix — closing gaps flagged by the article-improvement review against current CMS/framework docs.
Fixed a dead web.dev link in the Resources lens (web.dev/articles/javascript-seo-basics 404s, page retired); replaced with Google Search Central's current JavaScript SEO basics page, which already appears as a live citation elsewhere in this article's Official Docs lens.
Fixed a dead March 2024 core update link in the Official Docs lens (invented developers.google.com/search/blog/2024/03/core-update-march-2024 URL 404s); replaced with the real Google Search Central blog post URL for that announcement.
Added Hexo config/permalink/theme details that top-ranking pages miss: root: for subdirectory deploys, url_for vs full_url_for, the non-persistent :id permalink token, the separate trailing_index/trailing_html controls, theme-vs-plugin tag-ownership conflicts, and the generator API's route inventory — plus a hedge on the Baidu-indexing claim.
Corrected the article's causal framing of host status — it's the underlying robots.txt/DNS/server failure that throttles crawling, not the label itself — and softened overstated automatic-recovery claims, added the dotted-line/5% DNS threshold detail, and reframed DNS/server-connectivity causes as hypotheses to confirm rather than certainties.
Live-reverified every needs-review claim and source from this pass's evidence packet (Bing's current ranking-parameters page, Google's index-scale figure, and all three Patrick Stox source pages); the packet's Bing-factor-list gap turned out to be stale — live-checked, 'User engagement' is still its own top-level heading, so the article's six-factor list was left as-is. Added one clarifying sentence noting the index also draws on partnerships, feeds, and the Knowledge Graph, not just crawling.
Corrected the non-owner path — Google's own removal-information doc now routes non-owners with personal/sensitive-information problems to a separate "Remove your personal information from Google" troubleshooter instead of the Refresh Outdated Content tool, so this split is now covered in Beginner, Advanced, the decision tree, the checklist, Official Docs, and the Quotes lens. Also upgraded the Bing Block URLs ~90-day claim from paraphrased to a verbatim quote captured from Bing Webmaster Tools' own interface text.
Hedged the 30/180-day tooling wind-down as an announced schedule rather than confirmed completion, and added a quick-decision list and a visible-content checklist.
Tightened evidence-gated qualifications on the definition, code contract, delivery methods, reciprocity, and canonicalization sections against current Google docs.
Tightened the audit methodology against Google's own documentation: scoped the reciprocity failure to the affected pair (not the whole cluster), distinguished Google's supported hreflang codes from generic BCP 47 validity, added a normalized extraction-schema step before matrix-building, connected non-canonical checks to Google's canonical-preference guidance, and added Google's explicit caveat that third-party hreflang tools aren't maintained or checked by Google.
Corrected the validation workflow's dependence on Search Console's retired International Targeting report and filled three verified gaps against Google's own hreflang documentation: the HTML attribute-mixing rule, the HTTP header's every-response full-set invariant, and sitemap xhtml:link order/URL-limit behavior.
Minor precision pass: qualified assistive-technology behavior as varying by tool/voice, distinguished a syntactically valid lang tag from a correct one, and added a bullet distinguishing the in-document lang declaration from the HTTP Content-Language header. No facts changed.
Added explicit routing links to the sibling element-specific articles (title tag, canonical tag, meta robots, alt text, semantic HTML, HTML lang attribute) this hub was already naming but not linking, added a consolidated audit-workflow checklist, and tightened the validity-vs-consequences framing.
Bounded several overstated claims (isolated-error harmlessness, soft-404 crawl-budget wording, Bing parity) to what the evidence actually supports, and added a triage evidence/action matrix plus a monitoring observation-record checklist.
Added a compact method/user-agent/region/cache/chain/log diagnostic workflow for status-code checking, and cited the underlying RFC 9110 spec alongside Google's own documentation.
Corrected the HTTP/3 head-of-line-blocking claim (no longer 'every file travels independently'), qualified 0-RTT/connection migration, restated HTTP/2 priority via RFC 9218, scoped Server Push removal to Chrome/Chromium, added HTTP/3 discovery and UDP-fallback guidance, and softened absolute 'Googlebot never crawls HTTP/3' wording to match what Google's docs actually say.
Corrected the 'HTTP row almost always means a conflicting signal' and 'not evaluated is often benign' framing to a cause-first triage, separated the HTTPS report from Page Indexing/URL Inspection instead of calling them the same machinery, removed the unverified ~40-signals figure and mixed-content-as-canonical-cause claim, and hedged the unconfirmed 2014 ranking quote.
Added outcome-guarantee caveats (static output alone doesn't guarantee CWV/crawlability/indexing/rankings), version-scoped Hugo behavior to v0.164.x, distinguished canonifyURLs from canonical tags, flagged the SALT.agency benchmark figures as unverified third-party research, and added the buildDrafts/buildFuture/buildExpired and cache-freshness caveats.
Qualified the RRF-parameter and fusion-superiority claims flagged in review: exposed RRF's constant and candidate depth as configurable system parameters rather than fixed values, named weighted-fusion alternatives (Weaviate, OpenSearch) alongside RRF, and bounded the DPR/hybrid-superiority figures to their tested datasets instead of implying a universal win.
Added an extension-vs-Content-Type-vs-actual-bytes section, reframed renames explicitly as URL migrations with an audit checklist, sourced the hyphens rule to Google's general URL-structure guidance, and hedged Mueller's 'couple of months' bulk-rename estimate as an unverified secondary-recap figure rather than a measured duration.
Added SVG's script/external-resource security boundary, separated animated-image accessibility semantics from format compatibility, and hedged the compression-percentage figures as representative rather than guaranteed for every image.
Added explicit no-guarantee framing for Core Web Vitals/ranking/traffic outcomes, refined the lazy-loading criterion from a fixed 'below the fold' line to the initial viewport, and explained the inaccurate-sizes oversized-download failure mode.
Tightened discovery-and-presentation claims against seven needs-review evidence items and five competitive-gap findings: added explicit eligibility-not-guarantee language for structured data and image sitemaps, a page-context note alongside the discovery markup rules, and a crawlable-candidate note for responsive images. Declined a proposed scope split moving all performance/compression/LCP content to a separate Image Optimization page — that recommendation rested on a needs-review claim with no verified backing, and the hub already links out to the dedicated Image Optimization and Core Web Vitals articles for implementation depth.
Tightened the ranking-factor section to cover Google's display-not-guaranteed language and to state plainly that no reviewed source establishes an AI-citation effect from ImageObject.
Reframed Crawled/Discovered as hypotheses to test against page examples rather than a fixed diagnosis, added an explicit no-guarantee statement for Validate fix, and tightened the known-URL/sample-list scope caveats.
Tightened frequency and snippet claims to Google's actual conditional wording, replaced categorical 'leave it' guidance for junk URLs with a bounded triage checklist, added a practitioner escalation checklist for recurring/intermittent robots.txt blocks, and cited primary sources on the intent tree's index/deindex steps.
Added Google's precise URL-vs-report indexing check, a compact decision rule for which pages belong in the index, and links to the dedicated deindexing guide for removal edge cases.
Re-verified the protocol spec directly against indexnow.org and added mechanics the article was missing: the HTTP 202 response code (key-still-verifying, first submission only), how a non-root keyLocation scopes which URLs a key can submit, confirmation that IndexNow publishes no fixed daily URL quota, and a newly-listed (unconfirmed-on-homepage) Amazon submission endpoint.
Added the production-hardening gaps the research review flagged: a real back/forward navigation-state contract, distinct loading/error/end-of-results states, accessibility and Core Web Vitals guidance, and clearer dated-observation framing around the tall-viewport figures.
Added the patent-family continuation, distinguished SEO's 'information gain' from Shannon information theory and IR novelty/diversity research, and hedged the AI-citation claim so it no longer implies a guarantee.
Added verified-source depth on interaction grouping, the lab-vs-field distinction, and lifecycle edge cases; ranking framing and open evidence items were reviewed and recorded, not changed.
Added three grounded qualifications the research review flagged as missing: the title-attribute/image-alt anchor-text fallbacks, JavaScript rendering as a separate discovery stage, and the boundary between a crawlable link and destination-level indexability (redirects, errors, noindex, canonicalization) plus nofollow's alternate-discovery caveat.
Added canonical-plus-hreflang guidance for same-language regional duplicates, the locale-adaptive crawler risk, a ranking-hierarchy qualifier on the URL-structure decision, and explicit no-guarantees language, plus routing links to the hreflang and pillar child pages that own the deeper mechanics.
Added a market-prioritization gate before architecture, explicit non-guarantee language around outcomes, a signal-to-job breakdown (language detection vs. locale targeting vs. hreflang vs. canonicalization), and framed the subdirectory default and redirect avoidance more precisely against Google's own documentation.
Added a locale-inventory step, a Googlebot request-state test matrix for geo-redirects, a spam-policy-grounded nuance on machine translation, and an observed-vs-estimated caveat for country performance data.
Added a no-guarantees caveat: market-specific research improves query fit and prioritization but doesn't guarantee indexing, rankings, traffic, conversions, or AI citations.
Tightened claims the research review flagged as overstated: removed the invented '20–30 seconds' safe-delay figure for timed popups, softened 'rankings recover' to reflect that Google never guarantees a ranking bounce-back after a recrawl, added a caveat that Google's legal-interstitial exemption isn't legal advice, and added focus/keyboard/background-inertness tests to the audit checklist.
Fixed a real accuracy gap in the same-type rule: Google's Carousels (Beta) documentation explicitly permits mixing entity types, which the article previously implied was disallowed everywhere. Also dropped an unsupported generic claim that ItemList broadly helps 'how AI systems read a page' and reinforced that carousel eligibility never guarantees display.
Walked back an unproven PageRank/ranking-parity claim to what Google actually documents (a canonicalization signal, not identical outcomes to a 301), removed a fixed 'seconds to weeks' render-queue timing claim Google doesn't publish, added a caveat that the GSC 'Page with redirect' label reflects a sampled state rather than a guarantee, softened a blanket claim about Hugo's aliases behavior to account for version drift, and added an explicit navigation-vs-history-state distinction for the JS redirect method table.
Hedged the historical ~5-second render-median and 'two waves' stats as dated evidence, added Google's current no-fixed-delay render-queue guidance and its noindex-skips-rendering statement, scoped the most-restrictive-directive rule to robots meta tags, and softened absolute tall-viewport and rendering-mode risk claims into testable, dependency-based framing.
Corrected two factual overstatements against Google's live JobPosting docs: expired-listing manual action removes the postings from Google for Jobs (not a whole-site penalty), and TELECOMMUTE always requires naming at least one eligible country via applicantLocationRequirements (or a jobLocation default) — there's no unrestricted-remote scenario with zero location fields. Also softened an unqualified salary-disclosure-law claim and added an explicit notification-not-guarantee note to the Indexing API section.
Version-drift update: Joomla 6 shipped October 2025 and is now the current major (5.x still maintained in parallel), and the Joomla 5.2 self-referencing hreflang bug (#44297) was fixed in 5.3, not still open.
Corrected several overstated absolutes: @context isn't universally schema.org, @id and @graph aren't required, and the AI-crawler JavaScript claim is now scoped as provider-specific rather than a blanket rule. Added a test/proves/does-not-prove validation table.
Tightened the AI-search-grounding claim to a labeled industry inference (Google hasn't confirmed the mechanism), added Google's live-verified 'doesn't manually create or delete Knowledge Panels' policy line, distinguished a site's own content graph from Google's Knowledge Graph, and noted the 2014 Bing Knowledge Widget announcement URL no longer resolves.
Added Google's explicit language-detection boundary (visible content only, never hreflang/HTML lang/URL) and a new implementation-traps section covering locale-adaptive single URLs, auto-redirects, same-language canonical+hreflang, and boilerplate-only translation — all grounded in verified Google documentation. Softened the ccTLD 'fading boost' framing to attribute it clearly to Illyes' podcast remarks rather than state it as settled policy, and hedged the Bing content-language claims as rep statements/blog coverage rather than one maintained current spec.
Verified the LCP definition, thresholds, eligible-element list, and candidate-finalization behavior against the live web.dev and W3C sources, then fixed two overstated claims: the four sub-part percentages are now framed as web.dev's own 'guidelines, not strict rules' instead of fixed targets, and the ranking section drops the unsupported 'tiebreaker' characterization for Google's actual documented boundary (used by ranking systems, no published weight or guarantee). Added a note on current LCP API limitations (bfcache, SPA navigation, prerendering, early input) and a caveat that preload and fetchpriority solve different problems and shouldn't both be applied by habit.
Confirmed the Lighthouse 10 Performance-score weights and color bands live against the current scoring doc and the Lighthouse 13 release notes (no scoring change, only non-scored audits consolidated into shared Insights), then expanded the CI, run-reproducibility, and score-variance guidance with an official collect/assert/upload workflow and additional environment controls.
Sharpened the accuracy boundary between an LLM's training stages and inference, and added a benchmark-scoping caveat, per a research-backed accuracy review.
Added Google's exact openingHoursSpecification edge-case patterns (overnight, all-day, closed) and clarified that the restaurant carousel has limited provider access.
Removed an unattributed crawl-waste percentage stated as a general fact, and added two grounded clarifications: verified AI-bot hits don't prove model training or citation, and logs can carry sensitive data that needs exclusion/masking before analysis.
Ran a research-informed accuracy pass: live-verified the current scaled-content-abuse policy wording (unchanged from what the article already quoted), reframed MTPE as a risk-control practice rather than an official Google compliance step, added an explicit note that fluent output/human review/valid hreflang don't guarantee indexing or ranking, surfaced the technical minimum gate directly in the Advanced technical-layer section, and added a non-legal-advice caution about checking a translation provider's data-handling terms before sending sensitive content.
Added the configurable/simple-product canonicalization problem (a duplicate-content driver the article didn't previously cover), distinguished Adobe Commerce as a Cloud Service (ACCS) from self-hosted Adobe Commerce/Magento Open Source and from PWA Studio, and distinguished standard layered navigation from Adobe's paid Live Search facets and URL rewrites from HTTP redirects — all per Adobe's current documentation.
Softened the unverified 'Submitted URL marked noindex' error-status claim to match current Google documentation, replaced invented recrawl-timing figures (days/2–4 weeks) with Google's own 'can take months' guidance, and added verified body-placement and conflicting-rules coverage.
Added guardrails against stating marketplace ranking factors as universal or fixed: the four-layer framework and per-platform algorithm descriptions now note that no marketplace publishes fixed ranking weights, the funnel diagnosis adds an eligibility/policy gate before copy changes and requires logging platform/category/date and separating organic from sponsored placements.
Replaced the stale 'no AI-only opt-out' framing with Google's new property-level Search generative AI control, added exact Discover image requirements (1200px/300,000 pixels/16:9), documented invalid-value handling, denied indexing/ranking/traffic guarantees more explicitly, and scoped the most-restrictive-rule and Bing claims to Google specifically.
Corrected an overclaim on hidden-until-hover content: the article previously said hover/accordion-hidden links are 'indexed the same as visible content,' but the underlying Mueller quote only establishes that Google takes hidden-in-HTML content into account, not that it carries identical ranking weight to always-visible content — that specific question isn't documented either way. Reworded this across the TL;DRs, the dedicated section, the AI summary, the cheat-sheet myth table, and the quiz. Also added a mobile keyboard/focus disclosure check (WAI-ARIA disclosure-navigation pattern), a closing note that none of these checks guarantee crawling/indexing/rankings/traffic, and a light definition tweak foregrounding the disclosure pattern.
Verified every disapproval reason name, timeline, and the misrepresentation new-account claim against Google's live Merchant Center help docs (platform-drift pass): corrected the recrawl timeframe, the warning-period length, and Google's current misrepresentation category names, and softened the domain-binding claim to match what Google actually documents.
Corrected several stats and platform claims against Google's live product data specification: replaced the unverifiable 'up to 40% more clicks' GTIN figure with Google's own published average (20%), softened the universal '#1/#2 lever' framing around titles and GTINs into catalog-dependent priorities, and removed the implied direct feed relationship between the Shopping Graph and third-party AI shopping tools like ChatGPT (kept as correlation, not causation). Fixed an invalid `identifier_exists = false` value to the correct `no`, added the missing 10-digit ISBN-10 GTIN length, corrected the outdated 'one rule per attribute' claim about Attribute Rules, and updated Content API references to Merchant API (Content API for Shopping sunsets August 18, 2026).
Corrected an unsupported exact rollout date and softened an over-broad 'nothing changed' framing per live re-verification of Google's migration and rollout documentation.
Corrected the report's item classification to Google's current terminology (valid/invalid based on critical issues, with non-critical issues as enhancement opportunities), replacing the outdated errors/warnings/valid framing. Added item-vs-page-vs-issue counting guidance, an eligibility/feed ownership matrix, explicit no-guarantee-of-display language, and removed an unverified 'couple of weeks' validation timeframe.
Re-verified every required property, enum value, and the precedence order against Google's live return-policy doc and schema.org; fixed a property-type-name error (refundType's type is RefundTypeEnumeration, not RefundType) and added grounded caveats distinguishing schema.org's full vocabulary from Google's documented support, and separating markup validity from actual display, ranking, legal, and AI-surface guarantees.
Added the full BOM/HTTP-header/meta-tag encoding-precedence order (a byte-order mark, when present, outranks both the HTTP header and the in-page tag), verified against the live WHATWG encoding-sniffing algorithm.
Attributed every rewrite-rate percentage (Ahrefs 62.78%, Portent ~68–71%) to its named, dated study instead of stating it as a permanent universal rate, and rewrote every 'bolding lifts CTR' claim (beginner, advanced, ai-summary, checklist, quiz) to stop asserting an unproven causal link — Google documents that it bolds matched query terms, but no cited source establishes that this drives clicks. Added a new Advanced section on programmatic/structured descriptions for large database-driven sites, sourced directly from Google's snippet documentation.
Removed the framing that meta-frameworks automatically solve the SPA SEO problem — Next.js, Nuxt, and SvelteKit all let rendering mode, metadata delivery, and client-only boundaries be set per route or component, so a meta-framework project can still ship an unrendered route. Expanded the mistakes and validation sections with metadata-streaming behavior, HTTP status testing after streaming, hydration failures, server-to-client data exposure, and production adapter/runtime parity.
Scoped the 'no engine uses it' claim to Google and Bing only (the Yandex/Baidu caveat was already in the body but the description and beginner summary overstated it), reordered the Google section to lead with the current live docs rather than the 2009 post, added the HTML Standard's valid keyword-token definition to distinguish HTML conformance from Google's non-use, reinforced the historical framing of the Bing spam-signal claim, and added a caution to check internal search/CMS consumers before bulk-deleting the tag.
Walked back an unproven PageRank/link-equity-parity claim to what Google actually documents (a canonicalization signal, not identical outcomes to a 301), added HTML Standard detail on the declarative-refresh algorithm (relative URL resolution, first-refresh-wins, javascript: rejection, cancellation/preferences/sandbox), flagged that the current Standard specifies replace history handling against the widely repeated 'keeps the old page in history' framing, softened WCAG technique references (H76/G110/F41) to 'sufficient technique, not mandatory conformance rule,' removed an unsourced 'Bing directionally agrees with Google' claim, and consolidated a meta-refresh source-page audit sequence in the Advanced lens and checklist.
Corrected the crawler-token, placement, and directive-lifecycle claims against Google's live robots-meta-tag docs, and added the AI Overviews/AI Mode scope of nosnippet and max-snippet.
Added two verified implementation gotchas from Google's own docs: invalid head markup (a stray iframe/img) silently truncates everything after it, and Google's own guidance to avoid JavaScript-injected meta tags where possible. Reviewed the flagged needs-review claim about metadata not guaranteeing outcomes and confirmed the article already scopes each tag's effect individually rather than making a collapsed categorical claim.
Corrected the risk-profile claim that these four types can never draw a manual action — Google's general structured-data guidelines cover more than eligibility, and deliberately misleading or fake markup (not just a stale JobPosting) can still trigger one. Also added an explicit disclaimer that none of these types is a documented E-E-A-T, entity-consolidation, Knowledge Panel, or AI-citation signal.
Added the two Google parity requirements the article was missing — headings and video structured data — to the parity checklist, cheat sheet, AI summary, and quotes lens; live-verified the rollout-complete framing and Bing/mobile-friendliness distinctions were already accurate.
Tightened the hub boundary: shortened the Site configuration and Mobile usability sections to overviews and linked out to the dedicated Responsive design, Dynamic serving, Mobile usability, and Viewport meta tag deep dives, and expanded the Where to go next list to include all six cluster deep dives with direct links.
Replaced the deprecated CrUX Dashboard with CrUX Vis in the current-tools list, and added a caveat that clearing the checklist doesn't guarantee rankings or indexing.
Added the WCAG 2.2 Target Size Minimum (24×24 CSS px, Level AA) as a distinct accessibility standard alongside Lighthouse's 48px tap-target audit, clarified that the viewport meta tag is necessary but not sufficient for a responsive layout, and noted that no single tool proves end-to-end mobile usability. Live-verified the report/tool retirement facts and the WCAG 2.5.8 threshold against current sources before editing; the article's retired-report framing already held up.
Verified every required/recommended property, the review-snippet import for aggregateRating/review, and the image aspect-ratio rule live against Google's current Movie docs, and added the ItemList/Carousel wrapper requirement that the article previously omitted — a standalone Movie object isn't itself the documented carousel implementation.
Ran a research-informed accuracy pass: corrected the machine-translation-and-SEO framing to match Google's current scaled-content-abuse policy (value/purpose gates the policy, not the fact that a translation was machine-produced), matching the live-verified policy wording and the site's dedicated machine-translation-seo article.
Corrected an overstated claim that AI crawlers never execute JavaScript, split JSON-LD's node-merge behavior from genuine @id conflicts in the duplicate-declarations mistake, clarified that an orphaned @id reference is a semantic gap rather than invalid JSON-LD syntax, hedged the Rich Results Test behavior description as observed tool behavior rather than official documentation, and refreshed the sd-policies 'last updated' citation to its current date.
Turned the hub into an actual router instead of a dead-end summary: added links from each surface section to its dedicated deep-dive article, added a cross-surface eligibility caveat (no surface's inclusion carries over to another), and added a new section on keeping Search/News/Discover measurement separate rather than blending them into one traffic number.
Corrected 'zero JavaScript' and 'crawling is fine' claims to match Qwik's and SolidJS's current official docs, and added the constraints each mechanism has in practice.
Live-verified the next-seo npm package's current maintenance status (v7.2.0, not archived, still active) and confirmed its own docs recommend the built-in Metadata API for App Router meta tags — resolved the package-vs-built-in question the article previously left implicit. Added a per-route rendering qualification, a version-gated note on streaming-metadata behavior with a direct-request-vs-client-navigation test, and a consolidated production-checks table for cache age, HTTP status, redirect context, streamed metadata, and client transitions.
Corrected the article's central claim after live-verifying Google's current robots-meta-tag documentation: noarchive is now documented as an ignored, unused rule on Google, not a directive Google 'still respects.' Also clarified noarchive is not an access-control/security measure and added a freshness caveat to the Bing AI-training claim.
Corrected an absolute 'never blocked crawling' claim to match Google's own pre-2020 policy, and linked to the sponsored/ugc sibling article for paid-link depth.
Corrected the robots-meta-tag body/head claim, added Google's own 'may take months' removal-timing quote, hedged the noindex,follow decay claim to its actual 2017 source, scoped the noindex+canonical caution to Google's exact wording, and added a new 'what noindex doesn't guarantee' section covering crawl budget, confidentiality, ranking recovery, cross-engine timing, sitemaps, and the Google-Extended/AI-features distinction — all verified live against current Google Search Central docs.
Added the static-image-thumbnail exception to nosnippet, the structured-data and featured-snippet interactions for data-nosnippet, the dynamic-node JavaScript guidance, and the new Search Console generative-AI opt-out control.
Bounded four overstated claims flagged by the 2026-07-16 research refresh: reconciled the 'discovered without a sitemap' opening with the article's own current-sitemap diagnosis, qualified URL Inspection's Referring page as one possible discovery clue rather than a complete link source, dropped the Validate Fix speed promise (validation is optional and has no guaranteed SLA), and narrowed the 'not a quality/ranking signal' claim so it no longer implies a 404 on an important linked URL is harmless. Also removed several invented specific timeframes (2-4 weeks, 'several weeks', 'a month') that Google does not commit to, and attributed the 404-vs-410 speed difference to Patrick's own practitioner observation rather than stating it as platform fact, since Google's documentation treats 4xx codes other than 429 identically.
Reframed rendering and module claims as per-route/optional rather than project-wide defaults, and added coverage of hydration, ClientOnly risk, status codes, and Nitro deployment/cache boundaries.
Tightened attribution in the Precedence and silent-failure sections so the four-tier stack and the 'no error until rejection' sequence are credited to magstags' practitioner analysis, distinct from the two links Google's own Merchant Center docs document directly.
Corrected an overclaimed 'universal 1200×630 og:image size' into platform-attributed figures (LinkedIn, Google Discover both live-verified), removed an unattributed Google 'AI surfaces/March 2026' claim that Google's own Images/Discover docs don't state (reattributed to trade press), hedged unverifiable cache-duration and Slack byte-limit figures, and added protocol-level array/structured-property and og:image:alt guidance verified against ogp.me.
Replaced 'feeds/eligible to feed the Knowledge Panel' language with Google's bounded can-help-disambiguate / can-influence-visual-elements wording; corrected the commerce-adjacent property dates that were previously lumped into the November 2023 expansion; softened sameAs to not require literal ownership; added an optional @id/@graph reuse example.
Added a pre-link eligibility check and a specific false-positive checklist for orphan candidates, plus an ownership requirement for intentional orphans.
Softened backlink/link-equity framing so redirects and tombstone retention aren't overstated as a guaranteed value transfer, separated Merchant Center feed enforcement from Search indexing/ranking, and added variant-level availability coverage.
Corrected the definition away from 'blank index entry' storage language, added the explicit not-robots-block boundary, fixed the indexed-vs-live-test claims, replaced the fixed 1-5 cause ranking with evidence-led branches, distinguished cloaking (requires intent) from accidental serving bugs, and removed invented recovery/monitoring timeframes.
Corrected three overclaims flagged by the 2026-07-16 research refresh against Google's current Page Indexing report doc: dropped the flat 'the destination gets indexed' framing in favor of Google's own 'might or might not be indexed' boundary, removed the promise that a post-migration spike necessarily resolves to zero, and softened the 'collapse every extra redirect hop' framing to match practitioner guidance that only genuinely long/unreliable chains are worth chasing.
Tightened the line between what Google actually documents about PageRank and what's practitioner inference: the opening definition now leads with recursive graph importance (links-are-votes is the analogy, not the definition); the formula section is explicitly labeled the published historical model, with a small illustrative worked example added; the Reasonable Surfer section now frames the patent as described possible methods rather than confirmed production weights; the 2024 API leak's field names and the crawl-budget/canonicalization claims are now attributed to leak reporting and practitioner analysis rather than stated as Google-confirmed facts; third-party authority scores are labeled vendor models with no guaranteed outcome instead of the 'closest proxy' superlative.
Replaced the stale CrUX Dashboard recommendation with CrUX Vis (the Dashboard was deprecated at the end of November 2025, confirmed against two current Google/Chrome sources), added the PSI API's planned discontinuation of CrUX field data, documented the INP-only no-data assessment exception, added lab-run metadata-retention guidance and the current Lighthouse version note, and qualified the field-CWV-equals-ranking-input wording to not overstate identity between PSI's public display and Google's internal ranking pipeline.
Reviewed against fresh research evidence (canonical/self-reference, rel=prev/next, noindex, infinite scroll, and structured-data claims) and confirmed the article's existing guidance already holds up against Google's live pagination documentation — no facts changed. Added one honest-caveat note that correct pagination setup doesn't guarantee crawling, indexing, rankings, traffic, or AI citations, only that it removes the architectural reasons deeper pages get missed.
Clarified that the paywall markup is a declaration, not a ranking guarantee, and corrected the required-vs-recommended split between isAccessibleForFree and hasPart/cssSelector.
Stopped calling the report's data "sampled" (Google's own docs describe privacy filtering and aggregation, not statistical sampling), corrected the by-property/by-page aggregation mechanic to follow the dimension you're viewing rather than a manual toggle, dated both hidden-query studies, and added a preliminary-data note for the 24-hour view and hourly API.
Corrected attribution inflation: jobTitle/worksFor/image were presented as Google-recommended Article-author properties when Google's recommended table lists only name and url (sameAs as an alternative); jobTitle appears in Google's example only, worksFor/image aren't documented at all. Added ProfilePage's actual required properties (mainEntity, name).
Verified PrestaShop's current release status live: as of mid-2026 the platform maintains two active major branches at once (9.x, currently 9.1.4, and an 8.2.x LTS branch still shipping in parallel). Confirmed against PrestaShop's v9 SEO & URLs documentation that friendly URLs, canonical redirect options, robots.txt generation, and the route-schema tokens are unchanged from v8, and added a module-compatibility caveat since a module built for one branch isn't guaranteed to work on the other.
Scoped the 'feed is the page' framing to provider-specific behavior (OpenAI's feed-first ChatGPT flow vs. Google's documented crawl+feed+markup blend), corrected Google's Conversational Attributes from eight to the documented six (reclassifying product_highlight/product_detail as pre-existing fields), added the live-verified Instant Checkout partner-approval caveat, and softened definitive staleness-breaks-every-transaction language to risk framing.
Live-verified the article's most error-prone claims against current primary sources — the restricted/coupon GTIN prefixes, the identifier_exists true/false values, and the 2019/2021/Dec-2023 enforcement timeline and Bing behavior — all checked out as already accurate. Added qualifying nuance in three spots: brand is still separately required even with a GTIN present, category labels like 'vintage' or 'handmade' aren't a blanket identifier_exists exemption, and Google's variant/bundle feed instructions are distinct from GS1's underlying number allocation.
Verified the XML schema and matching rules against Google's live docs, then corrected two places where the article overstated certainty: identifier matching is a hierarchy (GTIN strongest; SKU/Brand+MPN/URL only attempted as fallbacks and generally match worse), not a flat list of equal options, and SKU is required-if-known like GTIN rather than plainly optional. Clarified that Google's full-feed deletion only removes reviews from Google's own submitted dataset, not from the merchant's source review platform. Softened the on-page schema vs. Shopping-stars claim to match what Google's current Review Snippet docs actually state (organic rich results/Knowledge Panels; no documented Shopping path) instead of an unsourced blanket 'no effect' claim, and made explicit that meeting Google's Product Ratings eligibility requirements doesn't guarantee display.
Corrected the FTC fake-review civil penalty figure throughout the article (the FTC's routine 2025 inflation adjustment raised the maximum from $51,744 to $53,088 per violation, unchanged for 2026), added an explicit caveat that the freshness/uniqueness/long-tail SEO benefits of review UGC are a practitioner-observed mechanism rather than a named Google ranking signal, expanded the rendered-HTML troubleshooting entry with specific pagination/lazy-load/consent/moderation/variant-rollup causes, and made explicit that the customer-review, structured-data, Merchant Center feed, and editorial reviews-system "lanes" never prove each other.
Scoped the 'universal minimum' rule to product snippets specifically (merchant listings require offers outright, not as one of three options) and qualified the AI-shopping-agent claims as unverified practitioner theory rather than documented Google behavior.
Corrected the ProductGroup required-vs-recommended property table against Google's current documentation (only name is required; productGroupID and variesBy are recommended, not required), fixed an overclaim that JS-only variant selection is categorically invisible to Googlebot (it's an addressability problem, not a rendering one), softened the crawl-budget arithmetic from a universal cost into a worked example with GSC Crawl Stats/log-based diagnostics, labeled the demand-plus-unique-content decision gate as practitioner strategy rather than a Google requirement, and qualified the BigCommerce canonical-handling claim as a practitioner assessment.
Verified the required-vs-recommended property split, the single-page canonical / multi-page self-contained rules, and the productGroupID vs item_group_id reconciliation against Google's live Product variant structured data docs — all confirmed already accurate. Separated what Google documents from what's practitioner-observed for the two 'silent failure' claims (plain-string variesBy, mismatched productGroupID): Google requires the full-URL form and the ID match, but its docs don't describe what happens on a violation, so that specific failure behavior is now labeled as testing-based observation rather than an official Google statement, across the Advanced lens and its checklist/cheat-sheet/anti-pattern/quiz echoes.
Separated recurring-event/hub pages from genuinely one-time promotions for lifecycle guidance, removed an overstated authority-accumulation claim, and added the Merchant Center feed/Promotions layer that sits alongside on-page schema.
Added browser/OS installability variance (iOS Safari has no beforeinstallprompt, install is manual Add to Home Screen) to the app-like-features section, checklist, and quotes/official-docs lenses, sourced to MDN's PWA installability guide; reviewed the article against seven needs-review evidence claims and five gap-analysis findings and confirmed the existing myth-bust, manifest, service-worker, HTTPS, and Core Web Vitals guidance already holds up without new assertions.
Fixed an eligibility/coexistence ambiguity in the required-properties section (answerCount: 0 vs. rich-result eligibility, and acceptedAnswer/suggestedAnswer being additive rather than either-or), added the author.url/ProfilePage and commentCount recommendations, and removed an unsupported "can't hurt on Bing" / cross-provider-parity claim, all verified live against Google's current QAPage docs.
Ran an autonomous update pass against the refreshed query-fan-out research packet: confirmed the existing hedging around undisclosed sub-query counts, provider-specific scope, and observability limits already holds up, and added one explicit clarifying line that being retrieved for a sub-query doesn't guarantee citation.
Corrected an unqualified 'zero JavaScript on load' claim (the ~1 KB Qwikloader is real JS that runs), reframed SSR/SSG and 'content is in the HTML' claims as per-route rather than project-wide, added a router-head.tsx rendering caveat to the JSON-LD example (verified live against current qwik.dev docs), noted Qwik's current v2-beta status, and added noSerialize()/useVisibleTask$() failure-mode notes.
Added the React 19 native metadata-hoisting story (verified live against react.dev and react-helmet-async's own docs) and a version-scoped createRoot vs. hydrateRoot section covering hydration-mismatch handling, closing the gaps the improvement packet flagged around React-the-library vs. its default CSR toolchain.
Live-verified the Recipe property tables against Google's current docs: added the exact image guidance (crawlable, 50,000-pixel minimum, no 1,200px rule), the conditional pairing rules for nutrition.calories/recipeYield and prepTime/cookTime, the review-snippet reviewer-name requirement, and Google's second host-carousel page model (all-in-one anchored page, not just the summary page). Softened unverified ROI/CTR/ranking framing to describe a visible payoff without implying a measured traffic or ranking effect.
Corrected the redirect-hop-count section: Google's crawling documentation now publishes a default of up to 10 hops for Googlebot (previously stated as 'no fixed limit'), and clarified that Google Inspection Tools doesn't follow redirects at all while live URL Inspection does but doesn't expose the chain. Also corrected the bad/empty-URL cause to stop implying relative Location values are inherently invalid, made the fix guidance choose redirect type from intended URL behavior instead of always prescribing a 301, and removed an unsourced 'days to weeks' recovery timeframe.
Reviewed against the refreshed research packet (13 claim decisions, 5 gap findings, 8 source-verify checks). Removed unverified claims — the Bing documentation-absence statement, the unrecovered 2019 Mueller quote, and the 'single most common cause' framing for CDN/SSL-mode mismatches — and requalified the DDoS-risk and hop-limit language to depend on stated conditions instead of reading as universal. Switched the diagnosis workflow from a HEAD-only curl trace to a GET-based trace (HEAD kept only as a secondary check), and added the request-state caveat for confirming a true cycle.
Removed an unsourced redirect-hop timing detail, sharpened the 301/302/303/307/308 method-preservation language to match RFC-9110-grounded MDN/Fetch-Standard specifics, added Google's 'hint, not a rule' canonical caveat, and synced the subcluster index and checklist with sibling articles that now exist.
Corrected an internal overgeneralization: reciprocal pairing applies to hreflang, mobile-alternate, and AMP, not to RSS/Atom feed autodiscovery, which is one-way — and added that none of these annotations guarantee crawling, indexing, consolidation, traffic, feed subscriptions, or AI citations.
Distinguished algorithmic link-spam enforcement (discounted signals, lower rankings) from a manual action as a separate, human-reviewed escalation, rather than presenting a manual action as the direct consequence of an untagged paid link; verified live against Google's qualify-outbound-links and spam-policies docs.
Added a short recommendation-provenance note (manual/co-purchase/similarity sources are distinct, per Shopify and Adobe docs) and an eligibility-check caveat before adding SEO-driven rescue links (check status, canonical, and index eligibility first, echoing the orphan-pages fix) — both grounded in the current research packet's verified claims. Confirmed the rest of the article's Google-vs-vendor attribution, no-position-weighting framing, and layered testing/metrics approach already held up without further changes.
Live-verified the current Remix/React Router product relationship: React Router is now on v8 (v7 still security-supported), and Remix 3 (beta) is a separate, newer full-stack framework rather than just a renamed React Router. Corrected the framework's rendering-mode claims to note static prerendering and SPA are also supported configurations, softened outcome-guarantee language, and added scope/version notes to the route-API walkthrough.
Reviewed against seven needs-review/gap findings from the current Google Search Console Help and Search Central docs; the article's temporary-vs-permanent framing, six-month duration, and robots.txt guidance already held up without correction. Added the one confirmed gap: the Removals tool only affects Google Search, not other Google properties or other search engines, plus a note that clearing the snippet doesn't stop the page from matching a query pre-reindex.
Corrected two overstated claims Google's current documentation contradicts (render-blocking JS does not force pages into the rendering queue; the 2 MB figure is a per-resource fetch limit, not a processing penalty), qualified the 'CSS/scripts are render-blocking by default' framing against MDN and the HTML spec (media/disabled/dynamic-insertion and the explicit blocking="render" attribute), updated Lighthouse references to the current Lighthouse 13 Insight, added a critical-CSS/preload decision framework, and rewrote the crawl-queue quiz question that tested the corrected claim.
Dated and scoped the render-queue timing claim; the ~5-second median figure is a historical conference data point, not a current published Google metric.
Corrected an over-broad claim that preload is always high priority (it's a mandatory fetch, but default priority depends on the resource type — fetchpriority is the separate hint for raising it), replaced deterministic/tiebreaker ranking language with Google's actual page-experience framing (no single signal, no ranking guarantee), added modulepreload as a fifth hint, and added attribute-matching and overuse-privacy guidance.
Added content-driven breakpoint guidance and an explicit note that one responsive codebase doesn't guarantee identical rendering, accessibility, or presentation across browsers and devices; reviewed the article against nine research-packet recommendations and confirmed the existing ranking-myth, viewport-prerequisite, and configuration-comparison content already held up without changes.
Added a currentSrc-based validation test to confirm the browser actually loads the expected srcset candidate, and tightened the sizes guidance to check the image's real rendered CSS width instead of guessing.
Live-verified Google's review-snippet and general structured-data-guidelines docs against the current corrective research addendum: added HowTo as a confirmed supported itemReviewed type, replaced the manual-action consequence with Google's precise current wording (rich-result eligibility only, no ranking impact), tightened the nested-review name requirement, and added an explicit no-workaround note on the self-serving rule plus a single-review-vs-aggregate clarification.
Fixed a dead Sitelinks Searchbox deprecation link in the Official Docs lens (invented developers.google.com/search/blog/2024/11/sitelinks-searchbox URL 404s); replaced with the real Google Search Central blog post, published Oct 2024, announcing the Nov 21, 2024 removal.
Currency/accuracy pass: corrected the FAQ documentation-removal status (a mid-pass check that silently followed the doc URL's redirect wrongly suggested the page was still live; raw status check confirms it 301s and Google's changelog records removal on June 15, 2026), replaced a dead SparkToro zero-click link with the current June 2026 study, updated the stale 2024 zero-click stat (56-58%) to the current ~68% figure, and hedged the unverifiable 30-35% star-rating CTR-lift figure into a directional estimate across the tldr, Advanced, AI Summary, Metrics, and Quiz lenses. Re-verified the ~25 supported rich-result type list live against Google's current Search Gallery — unchanged.
Refreshed the 2026-07-16 brief addendum's live-verified findings: added Google's post-30-day 5xx fallback (crawling resumes with no restrictions if the site is otherwise reachable), clarified that a specific User-agent group is never merged with the wildcard `*` group, updated the Google robots.txt spec link to its current canonical URL, and expanded the OpenAI crawler section with OAI-AdsBot, the independent-controls wording, the ChatGPT-User 'robots.txt rules may not apply' caveat, and the ~24-hour Search update lag — all re-verified against the live Google and OpenAI docs today.
Corrected a scope overreach in the Feedfetcher section: Google's Feedfetcher docs are scoped to Google News and WebSub, and that documentation doesn't establish which fetcher handles every Search sitemap-submitted feed. Also added a feed-identity-vs-Search-controls table (guid/id, canonical, X-Robots-Tag, authentication are separate mechanisms), reframed the full-content-vs-summary checklist item as an editorial/rights decision rather than an SEO recommendation, and softened validation-test language that implied guaranteed processing windows or discovered-URL counts.
Replaced the templated 'there is no SaaS algorithm' opener with framing that leads on why the same six mistakes recur: they're structural, baked into how SaaS orgs build sites.
Replaced the templated 'there's no SaaS algorithm' opener in both lenses and the TL;DR with framing built around the specific technical surface a SaaS site presents.
Named Salesforce's newer Storefront Next storefront framework (GA in the 2026 release cycle) and scoped the PWA Kit-specific crawlability mechanics to PWA Kit rather than implying they cover every headless SFCC build.
Verified the policy quotes against the live Google spam-policies page (unchanged) and tightened three places where the article read more confident than the evidence supports: the beginner lens's three-condition breakdown is now explicitly labeled Patrick's reading rather than Google's own structure, the 'AI that helps is fine' line now carries Sullivan's own 'we didn't say that' correction so no workflow reads as an automatic safe harbor, and the penalties section drops an unsupported 'most common' prevalence claim and a loose continuous-enforcement claim tied to the June 2024 update.
Corrected a wrong FAQ documentation-removal date (was cited as Jun 12, 2026; Google's changelog confirms Jun 15, 2026), verified live via a raw fetch of the changelog HTML and the FAQPage doc's 301 redirect. Replaced the exactly-two-dates framing with a five-milestone model (announcement, display, documentation, tooling, API), added a Status column distinguishing completed from scheduled table rows, added a clicks/impressions caveat to the ranking-change guidance, replaced the universal leave-it removal rule with a type-by-type check, and tightened the Bing/AI wording to be explicit that it's an inference, not a confirmed Bing policy.
Tightened the gap between what schema markup makes possible and what it guarantees: Article markup no longer implies Top Stories inclusion, Organization markup no longer implies a Knowledge Panel, Google's dynamic-injection JSON-LD support is scoped to Google (not other engines/AI crawlers), cross-provider AI-citation benefits are now framed as unverified hypotheses, and the validate-before-you-ship section spells out the full parser-to-ranking layer ladder.
Tightened claims that overstated schema's AI mechanism as proven: the entity-disambiguation-to-Knowledge-Graph-to-AI-Overview chain is now labeled a plausible hypothesis rather than a 'real, defensible mechanism' or something schema 'demonstrably' does. The Wells Fargo case study is now attributed as an unverified vendor case, and the schema-type tables no longer imply a universal AI-visibility priority order.
Tightened API-vs-UI parity claims, added the URL Inspection live-test limitation, the sc-domain: property-identifier form, the Search Analytics load-quota/dataState detail, and reordered the row-limit section to lead with the top-rows caveat.
Corrected the issue taxonomy, sample-URL scope, warning-surface mapping, Security-Issues-vs-Manual-Actions distinction, and review timelines against Google's current documentation.
Expanded beyond the landmark elements to cover links vs. buttons, tables, image alt text, and native disclosure widgets, added the correct ARIA landmark role mapping, and corrected the 'nesting <section> implies a heading level' myth (the document outline algorithm was never implemented and is no longer defined that way in the WHATWG spec).
Deepened the RDF/knowledge-graph technical grounding with boundaries the article previously stated only loosely: formal RDF term types and blank-node identity, why a set of triples isn't automatically a production knowledge graph, why valid JSON-LD parsing isn't the same as every consumer treating it as an asserted triple, why prose-extracted relations carry their own uncertainty, and Google's explicit no-guarantee language on structured-data eligibility. No previously stated fact was reversed; each addition is a scoped qualification grounded in live-verified primary sources (W3C RDF Concepts, W3C JSON-LD 1.1, Google's structured-data policies).
Added a written scope contract, cohort-sampling/completeness-labeling guidance for gathering audit data, expanded finding fields (confidence, risk, dependencies, owner) alongside the impact/effort framework, and a post-release verification step so approved fixes get checked against a dated baseline instead of assumed to have worked.
Corrected the robots.txt-5xx section from a flat 'blocks all crawling' claim to Google's actual staged behavior (12-hour pause, then up to 30 days on the cached robots.txt, then a fallback to no restrictions), added Google's 'limit functionality first' preference and its 'no fixed recovery time' warning to the planned-downtime section, removed an unverified Gary Illyes attribution, replaced an invented Validate Fix turnaround window with an accurate no-fixed-cadence framing, added a Googlebot-user-agent-spoofing caveat before changing security rules, reframed the 500/502/503/504 code table around RFC 9110's own wording as a starting point rather than proof of which layer failed, and updated links/quotes to Google's HTTP-status-codes doc after it moved to a new URL (confirmed via HTTP status, not just rendered content).
Fixed a robots.txt plan-restriction error repeated across several lenses, and added international SEO / hreflang coverage sourced from Shopify's own developer docs.
Folklore-guard pass: added the physical/virtual Bruce Clay naming history so 'silo' isn't conflated with topic clusters/hub-and-spoke as interchangeable terms, hedged the 'hub gathers authority from spokes' language as a practitioner PageRank-flow planning heuristic rather than a guaranteed effect, and added an audit-limits paragraph to Step 6 (reachability, cross-group edges, user-navigation review, and tracking discovery/crawl/index separately from ranking without claiming traffic causality).
Reworked the article against the structured evidence record: led with a crawlable-discovery-and-navigation definition instead of URL folders, labeled silo/hub-and-spoke/topic-cluster as overlapping practitioner terms rather than a single Google-endorsed model, removed invented click-depth thresholds (Google hasn't published a specific number), converted topical-authority and AI-search benefits from stated outcomes to hedged hypotheses, and regrounded the strict-silo critique in user navigation and relevance instead of assumed authority mechanics.
Corrected outdated best-practices quotes to match Google's current live doc, split documented recommendations from practitioner inference, added the site-name/sitelinks/searchbox distinction, and scoped the click-share stat and Search Console's reporting limits.
Corrected an over-attributed source claim: the 'don't nest an index inside an index' rule was presented as a verbatim sitemaps.org quote, but a live re-check of both sitemaps.org's protocol page and Google's sitemap-index docs found no such sentence on either. Reworded every instance (Advanced, Quotes, cheat sheet, AI summary, anti-patterns, troubleshooting, quiz) to source the rule honestly from the protocol's <loc> tag definition and universal tooling practice instead.
Re-scoped the 'why priority and changefreq got ignored' explanation across the article, glossary, and quiz: the self-reported-and-gamed mechanism is now labeled as the common industry explanation rather than a stated Google/Bing rationale, since neither company documents a motive for ignoring the tags — only that they do. Verified live via direct fetch that Google's build-sitemap doc and Bing's Feb 2023 lastmod post still state 'Google ignores <priority> and <changefreq> values' and 'Bing largely disregards these fields' respectively (2026-07-18).
Added sitemap lifecycle guidance (resubmit, delete, API, property/robots.txt scoping) and the Discovered videos count, plus explicit troubleshooting actions for each status.
Corrected an unverified Bing FAQPage-support claim, removed unsupported 'Google says it's harmless/no need to remove' attributions around dead FAQPage/HowTo markup, flagged that Google's dedicated FAQPage doc now 301-redirects to its removal changelog, and added a short ProfilePage routing note (author/org identity pages aren't one of this hub's six types).
Corrected the universalized LinkedIn 1200×630 figure to LinkedIn's own documented numbers (1200×627 min, 1.91:1, 5 MB cap, 401px thumbnail threshold — live-verified), scoped Google's og:image thumbnail claim to Search and Discover only (Google's docs don't extend it to 'AI' surfaces), and updated the X/developer.x.com documentation status from an HTTP 402 paywall to its current dead redirect/404.
Bounded two overstated claims flagged by the 2026-07-16 research refresh: qualified the categorical 'wastes crawl budget' framing (no universal cost/threshold is documented) and reframed the smartphone-only detection rule as a 2021 secondary report, not a current confirmed Google mechanic. Also refreshed dead/moved Google-doc URLs — the old http-network-errors doc now redirects to a restructured crawling/docs path — and added Google's newer, more direct troubleshoot-crawling-errors page as a primary citation for the cause list and three-branch fix structure.
Added Google's VideoGame co-typing requirement (a VideoGame page alone isn't eligible for the Software App rich result and must be co-typed with another application type), corrected the now-inaccurate claim that subtype choice 'costs nothing' across the board, tightened the no-guaranteed-outcomes language (downloads/rankings/CTR/AI-citations, and Bing feature parity), and clarified that SoftwareApplication-vs-Product type choice follows the entity and target feature rather than a blanket per-business-model rule.
Corrected the SolidStart router/metadata claim against the live docs (they are not auto-bundled — @solidjs/router and @solidjs/meta are explicit project choices), reframed 'SEO-viable' language to be per-route rather than project-wide, version-gated the rendering-mode list to SolidStart's current beta docs, and softened the Core Web Vitals section to avoid promising outcomes the framework alone can't guarantee.
Corrected the article to define an SPA independently of the app-shell rendering pattern (app shell is one implementation, not the definition), added a five-state matrix distinguishing server response/rendered DOM/Search processing/full navigation/soft navigation, qualified the SSR recommendation as conditional rather than universal, qualified 'render timeout' as one possible cause of shared-shell duplicates rather than an automatic diagnosis, and added the initial-noindex-can-skip-rendering caveat to the soft-404 fix.
Live-reverified Google's Speakable doc and schema.org's SpeakableSpecification page (both HTTP 200, unchanged) and tightened three accuracy spines: eligibility now cites Google's explicit 'news content' requirement instead of an inferred 'built for news publishers' framing, the AI-Overviews section is reframed from an implied proven zero-effect to 'not a documented lever,' anchored to Google's own 'no special schema.org structured data' quote, and the dormant-not-deprecated read is now labeled explicitly as inference rather than a Google-confirmed status. Also added a real implementation gotcha the article was missing: schema.org spells the locator property lowercase 'xpath' while Google's own docs and examples use camelCase 'xPath.'
Added current cross-origin/CSP prerender constraints, prerendering-page lifecycle details (session storage cloning, activationStart), and a version-dependence caveat on eagerness triggers, all verified against live MDN/Chrome docs.
Expanded the Limitations section with dynamic-content edge cases, a pixel-vs-usefulness boundary, and run-to-run variability, and added filmstrip/repeated-run guidance to the optimization section — all live-reverified against Chrome's Lighthouse docs, MDN, and DebugBear.
Corrected an unattributed crawl-share percentage presented as a universal fact, fixed a misattributed/conflated source for Google's crawl-issue breakdown, and updated stale doc URLs that now redirect.
Verified this article's central claims directly against Squarespace's own current support docs (this topic's structured research packet was templated boilerplate and unusable for fact-checking, per owner flag). Every checked claim — the category/tag page no-custom-SEO ceiling, the single-URL variant model, the 200-vs-10,000 product limits, sold-out handling, Google Shopping's US/English-US/physical-only gates, and the reviews-don't-feed-AggregateRating gap — held up as current (Squarespace's own Google Shopping doc was last updated 2026-07-09, days before this pass). Strengthened the category-page sourcing with a direct official quote and tightened the Google Product-schema required-vs-recommended framing.
Live-checking the platform-version guard against current Squarespace docs turned up real errors, not just stale wording: blog posts DO have a code-injection field (Post Blog Item Code Injection), just a collection-wide one that runs the same code on every post rather than letting you target a single post — the article had flatly said blog posts have no code injection at all in eight places, including a quiz question. Also caught that Squarespace renamed its 'Business' plan to 'Core' in 2025, so the plan-tier references were stale. Added two smaller verified details: the sitemap's up-to-24-hour update window with its automatic exclusion list, and the ?/&/# character restriction on URL Mappings redirects.
Reviewed against the schema hub's needs-review claims (sameAs guarantees, cross-provider parity) and content-gap findings; confirmed the existing vocabulary-vs-format, eligibility-vs-ranking, and sameAs framing already hold up. Replaced the hedged rich-result-type count with the number verified directly against Google's Search Gallery and its dated last-updated stamp.
Tightened the empty-shell claim to the documented ssr=false cause, added hierarchical/per-route page-option coverage and a Svelte 5.x/SvelteKit 2.x version gate (all live-verified against svelte.dev), and rescoped AI-crawler and performance/CWV claims from universal facts to provider-specific/mechanism-not-outcome framing, matching the sibling react-seo article's treatment.
Reviewed against a fresh research packet and re-verified Google's current syndication guidance live — the article's noindex-over-canonical position holds. Added the crawlability precondition for noindex: it only works if Google can crawl the reprint and see the tag, so a partner's robots.txt block or gated page defeats it.
Replaced the templated 'there is no technical SEO algorithm' intro heading and opener with framing built around what is genuinely distinctive — technical SEO gates eligibility, and its leverage is negative.
Sharpened the diagnostic guidance: added a caveat that duplication/templating patterns aren't automatically thin on their own, a check for non-content causes (canonical selection, crawl/indexing issues) before calling something algorithmic suppression, a per-page task-satisfaction check, and dependency checks (internal links, backlinks, remaining traffic) before removing a page.
Corrected the Lighthouse audit name from 'Reduce initial server response time' to its current 'Reduce server response times,' and noted that as of Lighthouse 13 the check surfaces inside the 'Document request latency' insight rather than as a standalone audit. Live-verified the 0.8 s/1.8 s thresholds, the TTFB component list, the server-rendered-vs-client-rendered nuance, and CrUX's navigation-only/experimental-metric status against current web.dev and CrUX methodology docs — all confirmed already accurate, no other changes needed.
Verified TTI's deprecated status is still current (all Google docs live, Lighthouse v13 release notes unchanged), then added grounded qualifications: SPA/hydration extends the same 'looks interactive but isn't' failure mode, Lighthouse 10's removal rolled out across CLI/Canary/Chrome 112/PSI in stages rather than all at once, the JSON-compatibility promise is dated to 2023 and unrevisited through v13.4 rather than a permanent guarantee, and LCP/TBT/INP are explicitly not a one-for-one TTI substitute.
Live-reverified the field-measurement, Lighthouse-weight, and long-task-attribution claims against current Google/W3C sources, and corrected the article's blanket 'never field-measurable' framing to match what web.dev actually says: field TBT calculation is technically possible but discouraged, not impossible.
Fixed a real redirect-loop bug in the copy-pasteable Apache trailing-slash-removal snippet (it could self-redirect the homepage), added the same root-exclusion and query-preservation guidance to the server-config prose and Nginx notes, and upgraded two previously unverified/paraphrased quotes (Google's 2010 blog post and John Mueller's root-domain post) to direct verbatim quotes after both sources loaded live on a fresh fetch this pass.
Tightened ranking-outcome framing in the MTPE/production-tier section so quality and review depth read as inputs to ranking, not guarantees — added risk-scaled human-review guidance and scoped legal review as outside SEO.
Corrected the developer.x.com/docs.x.com status (redirect + 404, not HTTP 402), and removed unverifiable reach-suppression percentage figures in favor of clearly separating card rendering from post distribution.
Corrected the reserved routing-alias semantics (umbracoRedirect is a 302, not an internal rewrite) and refreshed the whole article for Umbraco's current LTS/STS version landscape — Umbraco 17, not 13, is now the current LTS, and 13 is approaching its December 2026 end of life.
Re-verified UCP's live-surface and adoption claims by HTTP request against Google's and the UCP project's current docs (not cached summaries): removed an unconfirmed YouTube Shopping claim, made clear Google gates every UCP integration behind a merchant-approval waitlist rather than general availability, softened an unsourced 'directly suppresses selection probability' causal claim to attributed industry framing, and corrected two source quotes whose wording had drifted from the live pages since this article was drafted.
Fixed a real bug in the Nginx njs redirect snippet (Scripts lens) that silently dropped the query string on every redirect and could over-trigger on case-insensitive-path/uppercase-query URLs; added caveats grounded in the structured research pass — filesystem defaults can be overridden by proxies/CDNs/routers, blanket lowercase redirects need a pre-flight inventory of legitimately case-sensitive paths, rel=canonical can't merge content that isn't actually a duplicate, and Unicode slugs need an explicit normalization policy.
Added the owner/full-user permission requirement for Request Indexing and Google's own advice to submit a sitemap instead of requesting URLs one at a time, scoped the canonical/redirect limits of Test Live URL, and softened the discovery-fields wording so a missing sitemap/referring-page entry reads as a signal to investigate rather than a confirmed verdict.
Added verification caveats to the active/passive framework and parameter-management steps, and fixed a stale Google faceted-navigation doc link that now 301-redirects.
Structured-research pass: made explicit that the User-Agent header is optional, client-supplied metadata (not authenticated identity) and that RFC 9309's token/string substring rule is a SHOULD-level convention with documented exceptions; added a proxy/CDN caveat and an evidence-ladder section clarifying a verified request only proves a request arrived, not that it was rendered, indexed, or used for AI retrieval/training; added a new section on Chrome's User-Agent reduction and Client Hints; fixed stale Google IP-range JSON URLs that had moved to a new path and been renamed.
Corrected the report's prominence issue names to Google's current post-June-2023 categories, reframed click-to-load as one testable cause among several instead of an unproven '#1' cause, added a page-first/live-stream/embed/third-party troubleshooting section, and clarified the report shows last-crawl state rather than a real-time inventory.
Split Google's video indexing requirements from recommended metadata (structured data, sitemaps aren't a hard gate), corrected the VideoObject required-field count from four to three, added the discovery prerequisites (no interaction-gated or fragment-only loading), Google's watch-page-purpose test, and the third-party embed duplicate-indexing note.
Corrected the 32-tag limit (it's specifically a cap on repeated video:tag elements, not total metadata fields per video), added the missing content_loc/player_loc-can't-equal-loc requirement, and tightened the 'when you need one' framing to match Google's own newly-added/hard-to-discover value case.
Corrected the Clip key-moments markup to match Google's own required/recommended split (name, startOffset, and url are required; endOffset is recommended — the article previously implied all four were required), replaced 'precise control' framing with the doc's actual publisher-specified-labels framing, added the required-together BroadcastEvent timing fields and scheduled/live/ended state logic for the LIVE badge, clarified that contentUrl/embedUrl/watch-page are three distinct URLs, and layered the video-indexing test into watch-page, placement, and asset-fetchability checks. All changes verified directly against Google's live Video structured-data and Video SEO best-practices pages (raw HTML, not a rendered summary).
Corrected overgeneralized rendering and accessibility claims per structured research review: qualified the ~980px fallback and media-query behavior to "some/many mobile browsers" instead of universal, replaced the blanket "WCAG violation" framing with the specific W3C ACT rule (b4f0c3) it fails, and separated Google's documented mobile-friendliness signal from the industry's inference about page-experience ranking.
Fixed a wrong Vapor Mode version claim (it shipped experimental in the Vue 3.6 beta/RC line, not stable Vue 3.5), reframed the CSR-by-default claim to scope it to the plain Vite scaffold rather than Vue core, and added grounded guidance on SSR per-request state, hydration-suppression limits, router-fallback scoping, and the no-outcome-guarantee caveat for SSR/SSG.
Caught Lighthouse's new experimental Agentic Browsing category (v13.3, May 2026), versioned the Performance-score weight table, narrowed the CWV ranking-signal wording, and expanded the toolkit beyond the three named tools (DevTools live metrics/traces, Search Console URL grouping, synthetic monitoring, private RUM) per the 2026-07-16 research addendum.
Fixed a ranking-weight quote contradiction (the article's own conclusion understated a Mueller quote it had just presented), grounded the ranking section directly in Google's current page-experience FAQ wording, and added the dated experimental-to-pending-to-stable lifecycle history for the INP transition.
Updated CMS item caps to Webflow's 2026 plan restructure — the old Business/CMS plan split is gone, and the item ceiling moved from 10,000 to 20,000 on the new Premier site plan.
Corrected the redirect story after Webnode's 2025 alternative-URL rollout: dropped the unsupported 'auto-canonical on URL change' claim and replaced the 'no general 301 redirect capability' framing with the verified 301 alternative-URL feature (separate workflows for pages, blog posts, and products). Scoped the ecommerce multilingual exclusion to the legacy editor (unverified for the newer editor) and added the header-code project-creation-date gate.
Tightened evidence-and-causality language throughout (a result is one configured run, not a universal measurement; waterfall/filmstrip alignment is a hypothesis, not proof; Lighthouse is a distinct versioned audit, not merged WebPageTest metrics) and fixed two stale citations: the Ahrefs 'Advanced PageSpeed Insights' guide now redirects to its Core Web Vitals guide (updated all six links), and the 2022 Search Engine Land Opportunities & Experiments article has been retired from that site (dropped the dead link, reframed as historical coverage).
Verified all Google/schema.org quotes and dates directly against live raw HTML (confirming the blog post's John Mueller byline and correcting a paraphrased quote to the exact wording), then added Google's site-name scope rules (domain/subdomain equivalence, duplicate-homepage consistency, subdomain fallback), the alternateName selection behavior, and a feature-boundary table separating Site Names from ordinary sitelinks, title links, and Knowledge Panels.
Broadened the definition so website structure covers the visible hierarchy, navigation, breadcrumbs, and URLs (internal linking is now framed as the primary signal Google reads, not the whole definition); removed the unverifiable 'Bing three-click rule' everywhere it appeared after a raw-fetch check found no recoverable primary-source text; added explicit breadcrumb (typical user path, not URL mirror) and no-guaranteed-outcomes guidance; and tightened the sitemap and URL-role passages to match documented Google guidance.
Live-verified protocol status: the W3C republished WebSub as a Recommendation in June 2026 (security fixes only), and Bing's news-scoped PubHub stopped taking new publishers in June 2025. Expanded subscription mechanics, added a bounded self-hosted-hub security note, and clarified what publisher-side verification can and can't prove.
Corrected a false 'Square stopped accepting new signups' claim (signup flow verified live), replaced vague shutdown speculation with Weebly's own dated, 67-country wind-down notice, and updated Square Online's rename to Square Websites. Softened the absolute no-auto-redirect claim to reflect documented-but-unconfirmed behavior, added applicability caveats for plan/theme/app variance, and added a stay-vs-migrate acceptance test suite.
Corrected the /product-page/ prefix-change section to state that Wix auto-creates redirects by default when you customize URL structure in SEO Settings (it isn't a manual redirect-mapping task), and added the SEO Settings duplicate-and-edit custom markup workflow (5-markups-per-page cap, Include/Exclude toggle) — with an explicit warning that leaving the original preset included alongside a duplicated custom markup is the real source of duplicate Product structured data, not the character cap. Both verified against current Wix Help Center documentation.
Corrected a blanket claim about automatic 301 redirects (Blog posts are a real exception), added Velo's setLinks() overwrite behavior and custom-router SEO requirements, and added the CSV redirect import limits and canonical-restore condition — all verified against current Wix and Google documentation.
Corrected two version-attributed facts against WordPress core's own documentation: core canonical output dates to WordPress 2.9 (not 4.6, which only added a filterable refactor), and the WordPress 6.4 attachment-page default (not 6.4.3) redirects new-install requests to the file itself, not the parent post. Also refreshed Rank Math's free-tier schema-type count to match its current WordPress.org listing.
Added the cookie-scope consequence of hostname choice (host-only vs. Domain-scoped cookies, with a migration continuity step), separated Mueller's subdomain/subdirectory quote from the www/non-www ranking evidence so it no longer looks like support for a claim it doesn't make, and made explicit that hostname consistency doesn't guarantee rankings, traffic, or AI citations.
Corrected a fabricated 2013 Google quote, added Google's 2023-documented third x-default target (an ordinary default page, not just selector/redirect), and hedged claims that outran current evidence: the redirect-reciprocity exemption, multiple-x-default conflict resolution, and Bing's hreflang handling.
Scoped the meta-tag/X-Robots-Tag directive equivalence to Google specifically (Google's own doc notes other search engines may not treat the rules the same way), added Google's documented multiple-rules/conflict-resolution behavior, tightened server-config and curl verification guidance (Nginx add_header inheritance trap, GET vs HEAD), and added a worked non-HTML noindex example.
Reviewed the article against the sitemaps update-pass brief (limits, ignored-tag treatment, canonical-vs-directive framing, and hosting scope all reverified against Google's and sitemaps.org's live docs and confirmed accurate); added the one documented exception to the same-path hosting default.
Re-verified the leak-coverage and corporate-divestment sourcing (Search Engine Roundtable, Search Engine Land, the Nebius newsroom statement, and the Wikipedia Nebius Group rename/Nasdaq dates) against live pages, corrected a stale 403-fetch note now that Search Engine Roundtable is directly accessible, and cited Yandex's own localized-pages documentation to separate the site-wide region declaration from page-level hreflang markup.
Corrected an overstated verification claim (Yandex's own docs allow a redirect to a 200-OK page, not just a bare 200), added Yandex's November 2025 Site diagnostics split into Errors/Recommendations/Manual checks tabs (confirming the 'I've fixed everything' button and its 30-day recheck cooldown, both previously flagged unverified), clarified that language/locale targeting runs through separate hreflang-style markup rather than Site region, and added an access-reality note on Yandex ID sign-up and the sanctions/compliance context for organizations outside Russia and the CIS.
Corrected a stale claim about YandexAdditionalBot (now officially documented), made DNS verification the answer-first identity check, and added a testable checklist for JavaScript rendering plus a fetchability nuance for Disallow vs. noindex.
Corrected the article's categorical "no Article rich result" claim against Google's current docs, tightened the Top Stories/Discover eligibility framing, and added the 50,000-pixel image guidance.
Qualified Astro's rendering advantages and documented the route-level conditions that determine what crawlers actually see, following an editorial review against current Astro docs.
Tightened restore-guarantee language, distinguished bfcache from the browser resource cache and service worker Cache Storage, scoped Chrome's 2025 no-store exception to its actual conditions, generalized the open-connections/observers blocker list into a close-at-pagehide/reconnect-at-pageshow pattern, added a pagehide-vs-pageshow lifecycle event/state matrix, added per-frame diagnostics for opener/permissions/frame blockers, and bounded the Core Web Vitals/CrUX claims to the navigations that actually get restored.
Corrected the 403/401 semantics against RFC 9110, added an intent gate before treating every 403 as a bug, softened unverified prevalence and recovery-timing claims, and made the 'why it loads for you but not Google' explanation a checklist of hypotheses to confirm in logs rather than a categorical rule.
Refreshed against current Google guidance: dropped the recommendation to re-block a page after noindex removal, corrected the robots.txt report vs. URL-tester distinction, added a security caveat that robots.txt isn't an access control, and scoped Patrick's block experiment to already-indexed pages.
Corrected the Google banner-removal date to November 5, 2025, added a provider-onboarding checklist for Book Actions, and removed an unverified AI-citation claim around sameAs.
Clarified how Google's own docs handle a page reachable through more than one category: separate, independently valid BreadcrumbList objects per path, not one adaptive trail.
Sharpened Cache-Control directive semantics against RFC 9111/MDN — separated distinct browser-side caching mechanisms, clarified no-store/immutable/must-revalidate scope, and added the general freshness/Age model ahead of the Googlebot-specific validator rules.
Corrected the syndication guidance to match Google's current troubleshooting docs, added the canonical-target health check (redirect/chain/noindex/error) separate from source crawlability, and bounded the URL Inspection lag and two-week re-evaluation claims.
Tightened the causal claims about consolidation, crawl budget, and canonical selection against Google's current documentation, and added an edge-case matrix plus URL Inspection's indexed-vs-live limits.
Conditioned the TTFB/crawl-rate benefit claims on cache hit/region/topology, tied network-timeout consequences to current status/network-error docs instead of stating them as automatic, clarified what a CDN is versus generic hosting/caching/WAF/TLS, and added a region/cache-state verification test.
Stopped calling the whole Performance panel lab-only (it can optionally overlay real-user CrUX field data), added a reproducibility note for trace settings, and flagged that Insights-sidebar findings and flame-chart nesting are hypotheses, not proof of cause.
Corrected the universal-shell and fixed-delay framing per the brief's evidence review, added a per-route rendering decision list, and expanded the checklist and troubleshooting sections with route/stage-level validation cases.
Broadened the 'schema doesn't rank you' disclaimer to also cover CTR, actual display, and AI-citation/revenue causality; added routing to the separate Review-schema eligibility profile and the Organization-level-return-policy-vs-Offer-level-shipping-exception split.
Qualified universal compression-ratio and CPU-level claims with RFC-backed negotiation detail, and added BREACH scoping and cache/validator checks that were missing.
Removed the unsupported 'lightweight ranking signal / tiebreaker' framing and the overclaim that Google always ranks on public page-level data; added the all-three-metrics and same-threshold-different-device-assessment nuance.
Bounded the three-course-minimum wording so it no longer implies a single Course is worthless, surfaced Google's own name/description/provider requirement inconsistency, split the Course Info retirement into its three dated milestones, and rejected a competitor claim that CourseInstance has been mandatory since 2024.
Repointed Google's official crawl-budget doc links to its current canonical URL, qualified the shared-Googlebot-pool claim as a practitioner observation, and added an explicit crawl-vs-indexing distinction.
Qualified the three-factor demand formula, labeled the queue-order model as Patrick's synthesis, and reframed the demand-vs-capacity diagnostic as a hypothesis with alternative causes to rule out first.
Reconciled the article with the 2026-07-16 research calibration: hedged illustrative page-type intervals as examples rather than fixed schedules, noted Google's demand factors go beyond popularity/staleness, corrected the Crawl Stats description to drop an unverified discovery-vs-refresh breakdown claim, and added Google's explicit warning that repeated recrawl requests don't speed things up.
Corrected several overclaims flagged in the structured research review: root-level property access, the closest-to-logs framing, response/Googlebot-type thresholds, Discovery vs Refresh interpretation, and the small-site crawl-budget threshold.
Corrected the robots.txt 5xx and spider-trap-threshold claims to match current evidence, and qualified several places where the article stated more certainty than the underlying sources support.
Bounded categorical cause-and-effect language to what Google's current guidance actually supports, and added a report-vs-live-inspection discrepancy explainer.
Qualified the discover-fetch-parse-schedule loop as a mental model rather than a universal contract, dropped an unverified AI-bot overtake projection, and added a crawler-vs-scraper distinction.
Removed an unsupported 30-day WRS cache-duration claim and added a discovery/fetch/render/index diagnostic path plus a Googlebot Verifier tool-pitch placement.
Corrected the false 'Google never uses CreativeWork' claim (Google's paywalled-content profile lists the base type), replaced the opaque rich-result tier table with a dated consumer/profile matrix, pinned exact dates to the June–November 2025 lifecycle changes (Course Info, Critic Review, Book Actions deprecation-banner removal), and removed unverified entity/AI-understanding claims in favor of vocabulary/entity-understanding language with no AI-specific benefit asserted.
Added CSP/state/font production landmines, qualified the 14 KB guidance as historical, turned the diagnose section into a four-gate decision, and added vendor-neutral plugin guidance.
Qualified overstated claims (Googlebot/user rendering equivalence, FCP-as-literal-CRP-measurement, absolute CSS/JS blocking), added the compositing/display pipeline step and a preload-vs-fetchpriority nuance, and added a client-rendered-shell edge case.
Replaced 'opted-in Chrome users' shorthand with the documented eligibility criteria, corrected the 28-day-window/p75 framing away from a literal 'rolling average' and a fixed 30-day recovery promise, clarified that a missing CrUX result means unavailable rather than a pass/fail, added a CrUX-vs-private-RUM-vs-synthetic boundary note, version-gated the access-surface cadence/quota tables, and dated the 2022 Ahrefs study figures explicitly as a historical snapshot.
Added the November 5, 2025 Google clarification that Dataset structured data is Dataset-Search-only, a Dataset-vs-distribution-vs-version model grounded in Schema.org/DCAT 3, a license/access/rights breakdown with a not-legal-advice boundary, and canonical-landing-page/sameAs/sitemap publishing guidance; bounded unverified audience-composition, no-Bing-equivalent, AI-discovery, and crawl-timeline claims to what the evidence supports.
Tightened undisclosed-threshold and canonical-suppression framing, added the report's default view/granularity and the Generative AI report's documented scope, and qualified eligibility/image guidance as non-guarantees.
Tightened several unverified frequency claims (the ~90% crawl-budget stat, 'usually sitewide' / 'almost always demand' framing, and URL-pattern-quality inference) into clearly hedged, evidence-first language, added the Page Indexing report's 1,000-example sampling caveat, and reframed 'Crawled – currently not indexed' as a multi-cause indexing evaluation rather than a single quality verdict.
Qualified overclaimed 'dominant channel' language, added Google's official stage-model framing, replaced a single-cause 'Discovered – currently not indexed' explanation with a hypothesis ladder linking to the dedicated deep dive, and dated/hedged the IndexNow participant list and Bing daily-discovery statistic.
Gated the digitalSourceType and AI-readability framing to what Google actually documents, and split the required-properties floor into a context table (root post, comment, external-url representation).
Updated the syndication guidance to match Google's current recommendation, and bounded several claims (crawl impact, cluster serving, canonical guarantees) that were stated more absolutely than current documentation supports.
Tightened the diagnosis around three specific URLs, removed an unverifiable exact signal-count and an unconfirmed recovery timeframe, and replaced blanket harmlessness language with a conditional check. Added a new section on international, paginated, and parameter URL edge cases.
Corrected overclaims about what "User-declared canonical: None" and the live URL test can prove, added the not-an-error framing, and gave pagination and same-language regional duplicates their own edge-case treatment instead of folding them into the generic fix list.
Added three implementation edge cases: eleventyComputed dependency ordering, collections-vs-emitted-URLs, and verifying the production artifact (not just the local build) before treating a page as indexed.
Tightened evidence boundaries: hedged the AI-recognition/citation claims to an explicit unproven hypothesis, clarified the entity-schema taxonomy is non-exhaustive, anchored sameAs and @id to their actual spec definitions rather than implied Google cross-page behavior, and added Ahrefs' counter-argument (with a Patrick quote) that entity SEO isn't a separate discipline.
Bounded a series of unverified statistics and universal platform claims per an editorial research-correction addendum — kept the practical guidance, removed or qualified figures and claims that outran the available evidence.
Corrected the outdated 'INP can't be measured in a lab' claim, added a population/aggregation edge-case checklist for CrUX, and tightened the ranking-input wording so public CrUX values aren't overstated as the literal internal ranking contract.
Version-gated Lighthouse-specific numbers, removed the 'field is always higher/more true' framing, and stopped implying fixing FCP guarantees an LCP fix.
Corrected the retirement timeline: Search Console dropped FID on March 12, 2024 (the same day INP took over), not September 9 — that date only applies to Chrome tools, PageSpeed Insights, and the live CrUX API. Added the CrUX BigQuery 202409 cutoff and an explicit no-conversion guard between FID, TBT, and INP.
Corrected the font-display timing table to be explicit that exact ms/s figures are Chromium-documented behavior, not a cross-browser spec guarantee, and added the discovery/CORS/cache-state pipeline, preload request-matching, metric-override support caveats, and a decision-factors framing for Google Fonts vs. self-hosting and subsetting (no universal savings percentage).
A permanent release-history page began documenting visible launches, tool improvements, corrections, expert commentary, and methodology changes, with uncertain historical deployment dates labeled as “Shipped by.”
After a supported check runs, its result now connects the observed finding to a bounded repair, a relevant guide, and either a rerun or a follow-up verification tool. The expansion covers 43 diagnostics—not generators, calculators, or every tool in the directory.
Visitors can save and switch among as many as 12 sites, autofill compatible tools, and keep recent checks in the browser without an account or server sync. File and pasted-input checks stay separate, sensitive URL details are stripped from history, and tools that publish their own findings remain the source of truth.
Common-issue galleries now show a focused screenshot only when the image cleanly supports the finding; otherwise the repair stays text-only. The tool directory also gained clearer task filters and labels that distinguish checks, generators, calculators, live requests, local processing, and precomputed references.
The precomputed explorer maps eligible, human-reviewed articles around the site’s semantic center, compares topic coherence, and supports search, sorting, filtering, and CSV export. Its distances are editorial review cues for this corpus—not Google signals or universal quality scores.
Experts can now find reader questions awaiting an answer in one public queue and respond with attributed text or up to two minutes of audio for publication alongside the related article.
Sixty-three tool pages moved from preview into the public directory across technical SEO, AI search, content, paid and organic search, and reporting. Many of the engines already existed in preview; this release made the workflows publicly reachable and added consistent previews and trust context.
Twenty-five diagrams and charts were integrated into guides covering crawling, rendering, indexing, canonicalization, hreflang, Core Web Vitals, redirects, RAG, structured data, and SERP behavior so readers can inspect relationships that prose alone can hide.
Tool pages added clearer input-handling notes, sample reports, authorship, and result context so visitors can judge what a check does before supplying data or acting on it.
The initial directory grouped public checks and generators for robots.txt, XML sitemaps, structured data, SERP snippets, redirects, status codes, bots, hreflang, and SEO business cases. Tools still in preview remained outside the listing.
Verified practitioners can add notes to specific article passages and answer reader questions. Published contributions remain attributed to the expert and appear alongside the original article.
New public pages exposed first-party site statistics, an interactive internal-link and PageRank graph, and a guide to the site’s article Markdown, corpus indexes, structured data files, and read-only MCP access.
The international SEO workflow added broader language and region coverage, cluster auto-detection, return-tag checks, and more actionable explanations.
Two international SEO articles no longer describe Bing Webmaster Tools’ retired Geo Targeting feature as active. The replacement guidance now points readers to supported language signals and cites the correction.
The library moved from generic content URLs into pillar and cluster paths. Redirects preserved the earlier addresses while the new structure made each guide’s place in the subject hierarchy visible.
The site gained a working small-screen menu, skip navigation, labeled forms, keyboard-accessible glossary help, reduced-motion support, real redirects, a 404 page, RSS discovery, richer article metadata, and optimized images. Fonts also moved to the same origin as part of the switch to Cloudflare Worker static hosting.
The Astro-based site opened with consulting services, an initial technical SEO article and glossary, speaking and recognition archives, privacy and terms pages, and a working contact flow. The first reading upgrade followed the same day with author context, article SEO data, glossary tooltips, and new guides.