SEO Folklore vs. What Google Actually Documents
We traced 14of the most-repeated SEO rules back to their primary sources: Google Search Central, sitemaps.org, ogp.me, Meta's sharing guide. 11 are contradicted by the documentation outright, 1 quietly became true this year, and the real documented limits are stranger than the folklore. Every verdict below links to the doc that settles it.
Where this came from
The trigger was a confident public teardown of a small travel site: the site was “beyond the budget of robots” because crawlers “can process a maximum of 2 MB of website size,” the og:descriptionwas wrong because “70 characters is optimal,” and a stack of CSS-complexity metrics was presented as ranking evidence. The teardown was roughly one-third right: the site really did declare hreflang="ja" over Cyrillic text, and 21 MB of unoptimized images really is a problem. But every correct observation was attached to an invented number or the wrong mechanism.
That mix is the norm, not the exception. So we did the boring thing: pulled each claim, found the primary source, and read it. The result became both this article and a permanent policy file in the open-source repo: docs/folklore.md, the list of checks pseolint refuses to implement, each with the doc that contradicts it.
The scoreboard
The remaining 2 are misreadings: a real documented number attached to the wrong object. Those are the most dangerous kind, because they survive fact-checks; the number itself is findable. Every figure on this scoreboard is counted from the same array the verdicts below render from, so it cannot drift away from the list.
The claims, one by one
- #1False
“Meta descriptions must stay under 155 to 160 characters”
Google's snippet documentation says it outright: there is no limit on how long a meta description can be. Truncation is a display behaviour that varies with device width, not an indexing event. The documented failures are a MISSING description (Google then writes the snippet itself) and one templated description repeated across a whole cluster.
- #2False
“Title tags over 60 characters get penalised or rewritten”
Google's title-link page opens with the opposite of the folklore: while there is no limit on how long a title element can be, the title link is truncated in Search results as needed, typically to fit the device width. That is display-side cropping measured in pixels, not an indexing or ranking event, and no character count appears anywhere on the page. What the same page DOES document is why Google replaces a title link, and none of it is length: part of the title text missing (its own example is the literal "| Site Name"), boilerplate repeated across a subset of pages, a stale year on a page reused annually, a title that does not describe the page. pseolint checks the first two, which are mechanical; the last two need editorial judgement a crawler does not have, so we leave them to you rather than guess.
- #3Unsupported
“og:description should be 70 characters”
No such number exists in any specification. Meta's sharing guide says a description is usually between 2 and 4 sentences; ogp.me asks for one to two sentences. Open Graph tags are not a ranking input at all, they shape the social and AI-summary card. What IS in the spec and widely missed: og:type and og:url are required properties.
- #4Misread
“Search engines can only process 2 MB of total website size”
A real number attached to the wrong object. Googlebot's documented limit is 2 MB per fetched FILE, uncompressed: every HTML page, stylesheet and script gets its own budget, and PDFs get 64 MB. There is no total-site or total-page-weight crawl ceiling. A 21 MB page whose HTML is 112 kB has a Core Web Vitals problem, not a crawl-truncation one.
- #5Outdated
“Googlebot indexes the first 15 MB of your HTML”
This one was true. The 15 MB figure lived in Google's documentation for years and most SEO tools still cite it. The February 2026 revision of the Googlebot page cut the documented per-file crawl limit to 2 MB. Folklore and fact swap places when the source document moves, which is why every rule here links to the living doc rather than a summary of it.
- #6False
“A missing meta keywords tag hurts your ranking”
Google's supported-tags page lists keywords as a tag it does not use, with no effect on indexing or ranking at all, and it has said so publicly since 2009. Any audit that still flags a missing keywords tag is dating itself.
- #7Misread
“A wrong or missing html lang attribute is an SEO problem”
Google is explicit that it does not use code-level language information such as lang attributes, and detects language from visible content instead. The consequence cuts the other way: when your declared language and your actual content diverge, Google indexes by what it DETECTED, so the declared targeting silently fails. The attribute still matters for accessibility.
- #8False
“Sitemaps need priority and changefreq values”
Google documents that it ignores both. It does use lastmod, but only when the value is consistently and verifiably accurate. A sitemap that stamps every URL with the same generated timestamp teaches Google to distrust the one sitemap field that actually works.
- #9Obsolete
“Paginated archives need rel=next and rel=prev”
Google's pagination guidance is one sentence long and carries no date: in the past Google used rel=next and rel=prev to identify next-page and previous-page relationships, Google no longer uses these tags, although these links may still be used by other search engines. The 2019 announcement that made the rounds said support had already been dropped years earlier, so nobody outside Google knows when it actually stopped. Harmless to keep for whichever other engines read it; pointless to add for Google.
- #10False
“Pages need 300 or more words to rank”
Google's helpful-content guidance answers this in its own words: are you writing to a particular word count because you heard Google has a preferred one? No, they do not. Word-count floors exist in SPAM detection at template scale, where a thousand 40-word pages differing by one city name is a doorway pattern, but that is a policy-risk signal rather than a per-page ranking factor.
- #11Unsupported
“Multiple meta description tags trigger a penalty”
Neither Google's documentation nor Lighthouse checks for it. Duplicated tags carrying different content are undefined behaviour worth tidying, but the place duplicates genuinely hurt is robots directives: Google applies the MOST RESTRICTIVE rule it finds across meta robots, meta googlebot and the X-Robots-Tag header, so one forgotten noindex in a conflicting pair silently wins.
- #12Unsupported
“An hreflang set is invalid without x-default”
Google's wording is consider adding a fallback page and use the x-default value: a recommendation, not a requirement. What the same page does document as a hard constraint is the code itself: only ISO 639-1 languages and ISO 3166-1 Alpha 2 regions are supported, and it names es-419 outright as a code that is not. Read the failure precisely, because the popular summary overstates it: for a code reserved for something else, Google ignores THAT PART of the annotation, naming EU, UN and UK as examples. So en-UK is not discarded, it degrades to a bare en that now collides with whatever real en alternate the set already declares. Either way nothing is surfaced in Search Console.
- #13Obsolete
“FAQPage JSON-LD earns you an FAQ rich result”
It did, for anyone, until September 2023, when Google narrowed the FAQ rich result to well-known authoritative government and health sites. It then stopped appearing at all: the changelog entry dated May 8, 2026 announced the feature would no longer appear in Google Search starting May 7, 2026, and on June 15, 2026 Google deleted the FAQPage documentation outright. There is no successor. QAPage still has a live rich result, but its own documentation restricts it to pages where users can submit answers, which a site-authored FAQ is not. Writing real question-and-answer content still pays, as extractable prose that an answer engine can lift whole; the markup no longer buys anything in Google Search.
- #14Unsupported
“CSS complexity hurts your ranking”
Rule counts, duplicated selectors, !important usage and vendor prefixes have no documented ranking role. They matter through exactly two documented mechanisms: a single file blowing past the per-file fetch limit, or rendering slow enough to degrade Core Web Vitals. Fix those two and selector count is a code-review topic rather than an SEO one.
The folklore that came true
Claim #5 deserves its own section, because it breaks the comfortable story that folklore is simply wrong. For years, “Googlebot reads the first 15 MB” was the correct, documented answer, and the skeptics repeating “2 MB” were garbling it. Then the February 2026 revision of the Googlebot documentation cut the per-file figure to 2 MB, and overnight the garbled number was closer to the truth than the well-sourced one.
Two lessons. First, the folklore is still wrong in the way that matters: the limit is per fetched file, never “total website size,” so the panic it powers is misdirected. Second, any tool or article that hard-codes a number without citing the living document will eventually be confidently outdated. That is why every pseolint finding links to the doc that backs it, and why this article will be revised with a dated note when one of these sources moves again.
What the docs say to check instead
Debunking is only useful if the real checks replace the fake ones. Each folklore rule above has a documented counterpart, and because they're documented, they're lintable. This research shipped as code: an 11-rule batch in the open-source engine, every rule citing its source.
Instead of: Counting description characters
Check the description exists and is unique per record
A missing meta description hands your snippet to Google's rewriter; a templated duplicate collapses your SERP identity across thousands of pages.
content/meta-description-presenceandcontent/meta-uniqueness.Instead of: Fearing total page weight at 2 MB
Check each HTML file against the per-file crawl cutoff
Content, internal links, and JSON-LD past the 2 MB uncompressed mark of a single file are invisible to Googlebot.
tech/html-sizewarns at 1.5 MB.Instead of: Polishing the lang attribute for rankings
Check the declared language matches the detected script
Google indexes by detected language, so
hreflang="ja"over Cyrillic text silently voids the targeting.tech/language-mismatchcompares declarations against Unicode script analysis;tech/hreflang-validitycatches theen_US/jp/en-UKcodes Google drops without an error.Instead of: Worrying about duplicate description tags
Check for conflicting robots directives
Across meta robots, meta googlebot, and X-Robots-Tag, the most restrictive directive wins: an accidental
noindexin any one of them deindexes the page.tech/meta-robots-conflict.Instead of: Tuning sitemap priority and changefreq
Check lastmod is honest and URLs are on-host
Future-dated or mass-identical lastmod values teach Google to ignore the field; cross-host URLs are dropped per the protocol.
tech/sitemap-hygiene, plustech/robots-txt-limitsfor the 500 KiB robots.txt cap and the no-longer-supportednoindex:directive.Instead of: Auditing CSS selector counts
Check your links are crawlable at all
An onclick-handler div styled as a link is invisible navigation, because Google only follows
<a href>. On a programmatic site this silently orphans entire templates.links/crawlable-anchors.
Run the real checks
One command runs all 59 documented checks, and none of the folklore, against your site:
npx pseolint https://your-site.com
Every finding links to the primary source that documents the behavior, so you can verify the rule before you act on it; that is the same standard this article holds itself to. The rule index with per-rule explainers is at /rules.
Frequently asked questions
- Is there a character limit for meta descriptions or title tags?
- No. Google's snippet documentation states there is no limit on meta description length, and no title-tag character limit is documented anywhere. Truncation in search results is display-side cropping that varies by device. The documented failure modes are different: missing descriptions, descriptions duplicated across a template, and low-quality titles (half-empty, boilerplate-repeated, stale). Those trigger Google to rewrite or replace your snippet and title.
- How much of a website can Googlebot actually crawl?
- As of the February 2026 revision of Google's Googlebot documentation, Googlebot crawls the first 2 MB of each fetched file, uncompressed (64 MB for PDFs). The limit is per resource (every HTML page, stylesheet, and script gets its own budget), and there is no documented total-site or total-page-weight ceiling. The old 15 MB figure that most tools still cite was retired in that revision.
- Does the lang attribute on <html> affect Google rankings?
- No. Google documents that it ignores code-level language information, including the lang attribute, and detects language from visible content instead. The attribute still matters for accessibility (screen readers), and a declaration that contradicts the detected language (hreflang="ja" on Russian-script text) means every piece of declared language targeting silently fails, because Google indexes by what it detected.
- Are sitemap priority, changefreq, and lastmod used by Google?
- Priority and changefreq: no, Google documents that it ignores both. Lastmod: yes, but only when it is consistently and verifiably accurate. Sitemaps that stamp identical or future lastmod dates on every URL train Google to distrust the field. Two more sitemap rules people miss: URLs must live on the same host as the sitemap (cross-host entries are dropped per the sitemaps.org protocol), and a robots.txt over 500 KiB has its remaining rules ignored.
- Is noindex in robots.txt still supported?
- No. Google stopped honoring noindex directives inside robots.txt in September 2019. Pages you 'noindexed' that way are not excluded from the index. Use a robots meta tag or an X-Robots-Tag header instead, and watch for conflicts: when directives disagree across those sources, Google applies the most restrictive one, so an accidental noindex anywhere wins.
- How do I check my site against the real documented rules instead of folklore?
- Run npx pseolint https://your-site.com. Every one of its 67 rules cites the primary source that documents the behavior: the finding links straight to the Google, sitemaps.org, or ogp.me page that backs it. The checks this article debunks (character limits, keyword tags, word-count floors) are deliberately absent, and the project's docs/folklore.md explains each refusal with its contradicting source.
Cite this article
Published under CC BY 4.0, quote and reuse with attribution to the canonical URL.
Kam, P. (2026). SEO folklore vs. what Google actually documents. Ouranos Labs. https://pseolint.dev/research/seo-folklore-vs-google-docs
Find out what the documented checks say about your site.
Run a free auditSources
- Google Search Central: How to write meta descriptions (snippets): States there is no limit on meta description length and explains when Google rewrites snippets; the source behind verdicts #1 and #11.
- Google Search Central: Influencing your title links in search results: Documents the quality triggers for title rewrites (half-empty, boilerplate, stale) with no character limit anywhere; verdict #2.
- Google Search Central: Googlebot and its crawl limits: The February 2026 revision documenting the 2 MB per-file crawl limit (64 MB for PDFs); verdicts #4 and #5.
- Google Search Central: Meta tags and HTML attributes Google supports: Google's list of supported meta tags, which excludes keywords from any indexing or ranking role; verdict #6.
- Google Search Central: Managing multi-regional and multilingual sites: States that Google ignores code-level language information like lang attributes and detects language from visible content; verdict #7.
- Google Search Central: Build and submit a sitemap (lastmod guidance): Documents that priority and changefreq are ignored and lastmod is used only when consistently and verifiably accurate; verdict #8.
- sitemaps.org: Sitemaps XML protocol: The protocol requirement that sitemap URLs reside on the same host as the sitemap, with non-compliant entries dropped.
- Google Search Central: Search updates: removing the FAQ rich result: The changelog entries announcing that the FAQ rich result stopped appearing in Google Search on May 7, 2026 and that the FAQPage documentation was removed on June 15, 2026; the source behind the FAQPage verdict, and the reason neither this page nor /folklore emits FAQPage markup any more.
- Google Search Central: Pagination and incremental page loading: The single sentence that settles it: Google no longer uses these tags, “although these links may still be used by other search engines.” No retirement date appears on the page; verdict #9.
- Google Search Central: Creating helpful, reliable, people-first content: Google's own words on word counts: “No, we don't” have a preferred one; verdict #10.
- Google Search Central: Robots meta tag, data-nosnippet, and X-Robots-Tag: Documents that the most restrictive robots directive wins across meta tags and X-Robots-Tag headers; the real risk behind verdict #11.
- Google Search Central: Tell Google about localized versions (hreflang): Documents x-default as a recommendation (“consider adding a fallback page”), restricts supported values to ISO 639-1 languages and ISO 3166-1 Alpha 2 regions (naming es-419 as unsupported), and states that for a code reserved for something else Google ignores that part of the annotation; verdict #12.
- Google Search Central: How Google interprets the robots.txt specification: Documents the 500 KiB robots.txt limit and the 2019 retirement of noindex support in robots.txt.
- ogp.me: The Open Graph protocol: The Open Graph specification: og:type and og:url are among the four required properties; descriptions are “one to two sentences” with no character count. Verdict #3.
- Google Search Central: Make your links crawlable: Google only follows <a> elements with resolvable hrefs; the documented check that replaces CSS-complexity folklore in the final section.