KinetixSEO research method

Research sweep edition of 12 November 2026

Some of the figures in our articles come from the KinetixSEO research sweep: our own scanner run over the homepages of a seeded random draw of public websites. This page shows how those figures are computed, what they currently say, and what they cannot tell you.

Data last updated (3 days ago) · 7 published figures

This is a fixed edition: the figures, the sample and the outcomes on this page never change, so a figure quoted from it stays checkable. The method page always shows the newest edition.

What these figures mean for your site

The sample

Which sites were measured, and how to check it

The sites were drawn before anything was scanned, from Tranco list JZPGY (a research ranking of popular domains): 10,000 domains out of the 99,001 ranked 1,000 to 100,000. The seed was picked at random by the server, so nobody chose which sites landed in it.

Seed
5e2133590e30eb3d1cc64dafc0c7e2f0
Method
Every domain with min_rank <= rank <= max_rank gets the key sha256(seed + ":" + domain) as lowercase hex; the band is sorted by that key ascending and the first sample_size domains are the sample, in that order.
Scanned
5 November 2026 to 12 November 2026, one homepage per site, one attempt each
Full sample
Download the draw (JSON): list ID, seed, method and every domain in order. SHA-256 3cf12837c34ae8432a92310a8d977a2e17db6d5afb7d51b46126166d2fdbd68a

Exclusion rules, fixed before the draw

  • robots_blocked: robots.txt disallows the Kinetix-Research token (or *) at "/", or answers 429 or a server error (RFC 9309: complete disallow). Recorded before scanning; never fetched.
  • non_resolving: the homepage fetch fails, or robots.txt gets no answer (DNS, connection, TLS or timeout). Recorded as a failed scan; not retried until it succeeds.
  • non_html: the homepage answers with something other than an HTML document.
  • off_domain_redirect: the homepage redirects to a different registrable domain.

An excluded domain is counted below and never replaced, so the denominator stays the full draw.

What happened to every domain

6,767 of 10,000 homepages could be scanned

Scanned
6767
Could not be reached or read
2814
Asked us not to crawl (robots.txt)
359

14.5% of the 10000 sites refused our crawler: 1092 answered with HTTP 403, 406 or 429 (or a storefront wall) and 359 disallow it in robots.txt. Such an answer can be a bot filter, a firewall, a rate limit or a regional block; a site that refuses our crawler may refuse some search and AI crawlers the same way.

Unreachable covers no DNS answer, broken TLS, refused connections, timeouts and bot walls; a site that answered with no HTML page is counted there too. Tranco ranks domains by traffic and lookup signals, not by whether they have a website, so the draw also holds service domains with no homepage at all: DNS hosts, CDNs, tracking and API hosts. Most of the domains with no DNS answer are of that kind. The figures describe sites that have a homepage. 60 scans failed on our side and say nothing about the site; they are left out of every figure. Each domain got one attempt; a failure is recorded as a failure, not retried.

Every scan in this edition ran on one scanner version (runner image sha256:c5553e2c63dd0f2b2eea588ca48349a4b00e21d214f8b8b5671df1ed9928928c).

Methodology

How the data is collected

Our scanner runs over the homepage of each site in a seeded random draw of public websites. Each figure counts distinct sites, not scans: one site scanned several times is still one site.

Only sites where the check could actually run are counted. A homepage that did not load, or one where that part of the scan was unavailable, drops out of that figure's sample instead of counting as passing. Every figure states its own sample and the first and last scan dates it rests on, and a figure below 30 sites is not published at all.

Scans people run on their own sites with our free checker never feed these figures. Those sites chose themselves, so they cannot describe the web at large.

Figures in this edition

What this sweep measured

Share of homepages in our seeded random research sweep of public sites that publish no llms.txt file.

82% of the 6226 sites in the KinetixSEO research sweep, scanned Nov 5, 2026 to Nov 12, 2026, publish no llms.txt file.

n = 6226 · measured (3 days ago)

Method: Scanned the homepage of each site in KinetixSEO's research sweep, a seeded random draw of public sites, between Nov 5, 2026 and Nov 12, 2026 with one unchanged version of the scanner, and counted the 6226 distinct sites on which the "Missing llms.txt file" check could run. A site counts once however often it was scanned, and counts as affected if any of its scans showed the issue. From scanner version 7 on, a site whose /llms.txt request got no usable answer (a timeout, a server error or a firewall refusal) is left out of the sample; in earlier sweeps it counted as having none, so their share is an upper bound. A site that answered with an HTML page in place of the file is counted as having none.

Share of homepages in our seeded random research sweep of public sites whose robots.txt blocks at least one AI crawler.

14% of the 6574 sites in the KinetixSEO research sweep, scanned Nov 5, 2026 to Nov 12, 2026, block at least one AI crawler in robots.txt.

n = 6574 · measured (3 days ago)

Method: Scanned the homepage of each site in KinetixSEO's research sweep, a seeded random draw of public sites, between Nov 5, 2026 and Nov 12, 2026 with one unchanged version of the scanner, and counted the 6574 distinct sites on which the "AI crawlers blocked in robots.txt" check could run. A site counts once however often it was scanned, and counts as affected if any of its scans showed the issue. A site whose robots.txt could not be read for another reason (a timeout, a 4xx response such as 403, or an HTML page served in its place) leaves no trace in the scan and is counted as not blocking, so the share is a lower bound.

Share of homepages in our seeded random research sweep of public sites that carry no JSON-LD structured data at all.

54% of the 6586 sites in the KinetixSEO research sweep, scanned Nov 5, 2026 to Nov 12, 2026, carry no JSON-LD structured data on their homepage.

n = 6586 · measured (3 days ago)

Method: Scanned the homepage of each site in KinetixSEO's research sweep, a seeded random draw of public sites, between Nov 5, 2026 and Nov 12, 2026 with one unchanged version of the scanner, and counted the 6586 distinct sites on which the "No structured data found" check could run. A site counts once however often it was scanned, and counts as affected if any of its scans showed the issue.

Share of homepages in our seeded random research sweep of public sites that have no meta description.

22% of the 6587 sites in the KinetixSEO research sweep, scanned Nov 5, 2026 to Nov 12, 2026, have no meta description on their homepage.

n = 6587 · measured (3 days ago)

Method: Scanned the homepage of each site in KinetixSEO's research sweep, a seeded random draw of public sites, between Nov 5, 2026 and Nov 12, 2026 with one unchanged version of the scanner, and counted the 6587 distinct sites on which the "Missing meta description" check could run. A site counts once however often it was scanned, and counts as affected if any of its scans showed the issue.

Share of homepages with images, in our seeded random research sweep of public sites, where at least one image has no alt text.

On 21% of the 5203 sites in the KinetixSEO research sweep with images on their homepage, scanned Nov 5, 2026 to Nov 12, 2026, at least one image has no alt text.

n = 5203 · measured (3 days ago)

Method: Scanned the homepage of each site in KinetixSEO's research sweep, a seeded random draw of public sites, between Nov 5, 2026 and Nov 12, 2026 with one unchanged version of the scanner, and counted the 5203 distinct sites on which the "Missing image alt text" check could run. A site counts once however often it was scanned, and counts as affected if any of its scans showed the issue.

Share of sites in our seeded random research sweep of public sites where no XML sitemap could be found.

On 32% of the 6496 sites in the KinetixSEO research sweep, scanned Nov 5, 2026 to Nov 12, 2026, no XML sitemap could be found.

n = 6496 · measured (3 days ago)

Method: Scanned the homepage of each site in KinetixSEO's research sweep, a seeded random draw of public sites, between Nov 5, 2026 and Nov 12, 2026 with one unchanged version of the scanner, and counted the 6496 distinct sites on which the "Missing XML sitemap" check could run. A site counts once however often it was scanned, and counts as affected if any of its scans showed the issue. The scanner looks for a sitemap declared in robots.txt and at the usual paths (/sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml). A sitemap kept at an unusual path and declared nowhere counts as missing, as it does for a crawler that looks in the same places.

Share of homepages in our seeded random research sweep of public sites that link no privacy policy, contact page or about page, or only some of them.

68% of the 6587 homepages in the KinetixSEO research sweep, scanned Nov 5, 2026 to Nov 12, 2026, do not link all three of a privacy policy, a contact page and an about page.

n = 6587 · measured (3 days ago)

Method: Scanned the homepage of each site in KinetixSEO's research sweep, a seeded random draw of public sites, between Nov 5, 2026 and Nov 12, 2026 with one unchanged version of the scanner, and counted the 6587 distinct sites on which the "Missing trust pages" check could run. A site counts once however often it was scanned, and counts as affected if any of its scans showed the issue. Only links on the homepage itself are read. A site that links its privacy policy, contact page or about page only from inner pages counts as missing it.

All data in this edition

Every finding, every score, 6,767 sites

Each rate is the share of the 6,767 sites in our research corpus for this sweep where the finding fired, with its 95% range. Only findings that fired on at least one site are listed. A check that could not run on a site counts as not firing there, so a rate can sit slightly below the same headline figure above, which leaves those sites out. Aggregates only: no site is named. A group of fewer than 30 sites reads "suppressed"; inside a larger group a count can be small.

Download the data

  • CSV (70 KB) · SHA-256 a059fa9c1474212c2611a2775a35587762f5080bf253bf7683206402e252f1ba
  • JSON (148 KB) · SHA-256 12b26d14ee76fde8c8680bbde02e2dba107fb8630082fccc20bb823f974d8095

Frozen 12 November 2026 with the sample, the scanner version and the caveats known then; the files never change, so the SHA-256 holds for a copy you saved. Free to reuse with attribution (license).

SEO health score · n = 6,767

Mean 68.2 · median 70 · middle half 60–77

  • 0–90
  • 10–190
  • 20–290
  • 30–3929
  • 40–49548
  • 50–591,094
  • 60–691,649
  • 70–792,224
  • 80–891,177
  • 90–10046
GEO readiness score · n = 6,767

Mean 59.7 · median 61 · middle half 52–67

  • 0–90
  • 10–190
  • 20–290
  • 30–3981
  • 40–491,172
  • 50–591,852
  • 60–692,458
  • 70–791,152
  • 80–8952
  • 90–1000

Scores by HTTPS

GroupSitesSEOGEO
HTTPS6,656mean 68.5, median 70mean 59.8, median 61
Not HTTPS111mean 50.3, median 49mean 50.1, median 47

Scores by top-level domain

GroupSitesSEOGEO
com3,139mean 68.4, median 70mean 60.0, median 61
org346mean 68.9, median 70mean 61.7, median 63
net316mean 65.2, median 67mean 57.7, median 58
ru198mean 65.5, median 66mean 55.7, median 56
de174mean 74.1, median 76mean 62.8, median 64
io130mean 72.2, median 75mean 63.9, median 64
fr93mean 70.7, median 72mean 60.5, median 62
edu81mean 70.8, median 71mean 68.1, median 71
jp79mean 66.7, median 68mean 57.6, median 60
com.br77mean 70.7, median 72mean 60.9, median 64
it67mean 72.5, median 73mean 61.7, median 61
nl60mean 71.7, median 72mean 59.5, median 61
co.uk57mean 71.0, median 73mean 60.4, median 61
in51mean 68.3, median 71mean 58.6, median 60
pl48mean 72.9, median 75mean 61.6, median 62
co46mean 70.7, median 73mean 59.0, median 59
cn41mean 54.1, median 55mean 51.8, median 50
ai40mean 72.9, median 73mean 63.0, median 63
tv38mean 67.8, median 69mean 58.0, median 59
cz37mean 71.2, median 72mean 61.0, median 60
app35mean 69.6, median 73mean 58.7, median 59
gov34mean 65.5, median 65mean 61.0, median 61
me33mean 66.0, median 68mean 56.4, median 56
se31mean 75.0, median 78mean 62.9, median 63
co.jp30mean 67.9, median 69mean 58.5, median 59
other1,486mean 66.5, median 68mean 58.3, median 59

Authority brand

CheckSitesRate95% rangeBy severity
No sourced, dated statistics geo_authority_brand_statistics6,73699.5%99.4–99.7%
Missing author/organization attribution geo_authority_brand_author_attribution5,97188.2%87.4–89.0%
Missing organization schema geo_authority_brand_organization_schema4,57767.6%66.5–68.7%
No external brand presence found geo_authority_brand_external_presence3,30048.8%47.6–50.0%
Inconsistent brand/entity naming geo_authority_brand_entity_consistency3,04445.0%43.8–46.2%
Missing named entities geo_authority_brand_named_entities1,19917.7%16.8–18.6%

Citability

CheckSitesRate95% rangeBy severity
Statistics not sourced, dated or on-topic geo_citability_supported_statistics6,37394.2%93.6–94.7%
No attributed quotations geo_citability_named_quotes6,22892.0%91.4–92.7%
No freshness signal geo_citability_freshness_signal5,45980.7%79.7–81.6%
Answer not front-loaded / off sweet spot geo_citability_frontloading_word_count4,63268.5%67.3–69.5%
No early, front-loaded answer geo_citability_answer_first3,29248.6%47.5–49.8%
Unsupported superlative claims geo_citability_evidence_backed_claims82212.2%11.4–12.9%
Stale content geo_citability_content_recency2433.6%3.2–4.1%
No full-length paragraph geo_citability_ideal_passage_length1712.5%2.2–2.9%
Stale statistics or outdated tech geo_citability_no_stale_references300.4%0.3–0.6%
Most paragraphs are very long geo_citability_passages_too_long50.1%0.0–0.2%
High hedge-word density geo_citability_low_hedge_density30.0%0.0–0.1%

Multi modal

CheckSitesRate95% rangeBy severity
No data table geo_multi_modal_data_table6,36394.0%93.4–94.6%
No video content geo_multi_modal_video_content5,32178.6%77.6–79.6%
Too few images geo_multi_modal_multiple_images2,33234.5%33.3–35.6%

Technical accessibility

CheckSitesRate95% rangeBy severity
No Accept: text/markdown negotiation geo_technical_accessibility_markdown_content_negotiation6,36294.0%93.4–94.6%
No AI-markdown-twin route geo_technical_accessibility_markdown_twin_route6,17191.2%90.5–91.8%
No RSL content licence declared geo_technical_accessibility_rsl_json6,09590.1%89.3–90.8%
Missing TDMRep file geo_technical_accessibility_tdmrep6,09490.0%89.3–90.7%
Missing ai.txt file geo_technical_accessibility_ai_txt5,93887.8%86.9–88.5%
No RSS/Atom feed autodiscovery geo_technical_accessibility_feed_autodiscovery5,57782.4%81.5–83.3%
Missing llms.txt file geo_technical_accessibility_llms_txt5,29678.3%77.3–79.2%
Content only appears after JavaScript runs geo_technical_accessibility_raw_html_content1,92828.5%27.4–29.6%
AI crawlers blocked in robots.txt geo_technical_accessibility_ai_bot_access96714.3%13.5–15.1%
Training-intent AI bots blocked geo_technical_accessibility_training_intent_bots_unblocked90713.4%12.6–14.2%
Citation-intent AI bots blocked geo_technical_accessibility_citation_intent_bots_unblocked72410.7%10.0–11.5%
Content-Signal opts out of AI retrieval geo_technical_accessibility_content_signal_ai_input90.1%0.1–0.3%

AI search readiness

CheckSitesRate95% rangeBy severity
No author signal ai_search_readiness_no_author_signal5,96988.2%87.4–89.0%
No freshness signal ai_search_readiness_no_freshness_signal5,45980.7%79.7–81.6%
Missing llms.txt file ai_search_readiness_missing_llms_txt5,29678.3%77.3–79.2%
No statistics detected ai_search_readiness_no_statistics3,75155.4%54.2–56.6%
No front-loaded answer ai_search_readiness_no_frontloaded_answer3,29248.6%47.5–49.8%
Below passage-level citability analysis ai_search_readiness_below_citability_analysis2,23333.0%31.9–34.1%
Low entity density ai_search_readiness_low_entity_density1,19917.7%16.8–18.6%
AI crawlers blocked in robots.txt ai_search_readiness_ai_bots_blocked96714.3%13.5–15.1%
Answers hidden in collapsed sections ai_search_readiness_answers_in_collapsed_content2333.4%3.0–3.9%
Content is going stale ai_search_readiness_stale_content2203.3%2.9–3.7%low 72 · medium 148
llms.txt missing site name ai_search_readiness_llms_txt_no_sitename2073.1%2.7–3.5%
No Google "Preferred Sources" button ai_search_readiness_no_preferred_source_button1321.9%1.6–2.3%

Technical SEO

CheckSitesRate95% rangeBy severity
Missing security headers technical_seo_missing_security_headers5,84186.3%85.5–87.1%high 4,045 · medium 1,796
Third-party scripts without integrity checks technical_seo_missing_subresource_integrity4,51466.7%65.6–67.8%
target="_blank" links without rel="noopener" technical_seo_unsafe_target_blank3,91757.9%56.7–59.1%
No analytics tool detected technical_seo_no_analytics_detected2,68139.6%38.5–40.8%
Missing XML sitemap technical_seo_missing_sitemap2,23233.0%31.9–34.1%
Cookies missing security flags technical_seo_insecure_cookie_flags2,19632.5%31.3–33.6%
Server version disclosed in response headers technical_seo_server_fingerprint_disclosed1,98929.4%28.3–30.5%
Uncrawlable links technical_seo_uncrawlable_links1,76826.1%25.1–27.2%high 746 · medium 1,022
Slow server response time technical_seo_slow_ttfb1,76526.1%25.1–27.1%low 1,236 · medium 529
Inconsistent www/non-www redirect technical_seo_inconsistent_www_redirect1,22718.1%17.2–19.1%
Exposed mailto email address technical_seo_mailto_exposure1,19917.7%16.8–18.6%
Soft 404 page technical_seo_soft_4041,01715.0%14.2–15.9%
Hreflang tag issue technical_seo_hreflang_issue92313.6%12.8–14.5%
Text compression not enabled technical_seo_no_text_compression82912.3%11.5–13.1%
Dead-end page with no links technical_seo_dead_end_page5738.5%7.8–9.2%
Clickable elements that aren't real buttons technical_seo_non_semantic_interactive_elements5478.1%7.5–8.8%
Risky redirect signal technical_seo_risky_redirect_signal5367.9%7.3–8.6%high 248 · medium 288
Inconsistent trailing-slash handling technical_seo_inconsistent_trailing_slash3264.8%4.3–5.4%
Noindex directive present technical_seo_noindex_directive2804.1%3.7–4.6%
Mixed content on HTTPS page technical_seo_mixed_content2603.8%3.4–4.3%
Google API key in page source technical_seo_exposed_google_api_key2423.6%3.2–4.0%
Invalid HTTPS certificate technical_seo_invalid_https_certificate2293.4%3.0–3.8%
Invisible but clickable elements technical_seo_transparent_functional_overlays1952.9%2.5–3.3%
Page returns an HTTP error technical_seo_http_error_status1802.7%2.3–3.1%
Not served over HTTPS technical_seo_not_https1111.6%1.4–2.0%
Content built with APIs Google can't run technical_seo_unsupported_indexing_api1041.5%1.3–1.9%
robots.txt points to a broken sitemap technical_seo_declared_sitemap_unusable1001.5%1.2–1.8%
Sitemap did not answer in time technical_seo_sitemap_unreachable971.4%1.2–1.7%
Cross-domain canonical URL technical_seo_cross_domain_canonical851.3%1.0–1.6%
Malformed sitemap technical_seo_malformed_sitemap570.8%0.7–1.1%
Requires JavaScript to render technical_seo_js_required_rendering460.7%0.5–0.9%
Form submits over insecure HTTP technical_seo_insecure_form_action270.4%0.3–0.6%
robots.txt blocks all crawlers technical_seo_robots_disallow_all160.2%0.1–0.4%
robots.txt returns a server error technical_seo_robots_txt_server_error140.2%0.1–0.3%
Unresolved redirect technical_seo_unresolved_redirect50.1%0.0–0.2%
Leaked credential in page source technical_seo_leaked_secret40.1%0.0–0.2%
Page blocked by robots.txt technical_seo_robots_page_disallowed30.0%0.0–0.1%
Invalid video sitemap entry technical_seo_invalid_video_sitemap_entry20.0%0.0–0.1%
Links point to localhost technical_seo_localhost_links20.0%0.0–0.1%
Invalid image sitemap entry technical_seo_invalid_image_sitemap_entry10.0%0.0–0.1%

Trust compliance

CheckSitesRate95% rangeBy severity
Low E-E-A-T signal count local_seo_low_eeat_signal_count5,73484.7%83.9–85.6%
Missing trust pages trust_compliance_missing_legitimacy_pages4,67369.1%67.9–70.1%low 2,984 · medium 1,689
Weak E-E-A-T signals trust_compliance_eeat_weak3,99459.0%57.8–60.2%high 808 · medium 3,186
Tracking loads before consent trust_compliance_tracking_without_consent1,82226.9%25.9–28.0%
Fails YMYL E-E-A-T standards trust_compliance_eeat_block1,38120.4%19.5–21.4%
AI-manipulation patterns in the content trust_compliance_ai_manipulation_signals68310.1%9.4–10.8%
Possible cloaking signal local_seo_cloaking_risk_medium5017.4%6.8–8.1%
Some link spam signals local_seo_link_spam_medium4686.9%6.3–7.5%
Link-farm pattern trust_compliance_link_farm4126.1%5.5–6.7%
Hidden text detected local_seo_hidden_text2353.5%3.1–3.9%high 1 · medium 234
Keyword stuffing suspected local_seo_keyword_stuffing1912.8%2.5–3.2%
Some scaled-content signals local_seo_scaled_content_medium1702.5%2.2–2.9%
UGC links missing rel attributes local_seo_ugc_link_compliance1532.3%1.9–2.6%
Some doorway page signals local_seo_doorway_risk_medium1372.0%1.7–2.4%
Malware signals detected local_seo_malware_signals_high1171.7%1.4–2.1%
Affiliate links without review language local_seo_thin_affiliation_medium1081.6%1.3–1.9%
No internal links on the page trust_compliance_orphan_page_risk911.3%1.1–1.6%
Possible full-screen overlay on load trust_compliance_intrusive_interstitial570.8%0.7–1.1%
Undisclosed sponsored content local_seo_sponsored_content_undisclosed470.7%0.5–0.9%
Suspicious third-party iframes local_seo_malware_signals_iframe440.7%0.5–0.9%
Few internal links on the page trust_compliance_few_internal_links330.5%0.3–0.7%
Prompt injection aimed at AI readers trust_compliance_prompt_injection200.3%0.2–0.5%
Third-party author byline local_seo_third_party_author170.3%0.2–0.4%
High cloaking risk local_seo_cloaking_risk_high60.1%0.0–0.2%
High link spam risk local_seo_link_spam_high40.1%0.0–0.2%
Thin affiliate content local_seo_thin_affiliation_high40.1%0.0–0.2%
Unsupported claims on a comparison page trust_compliance_comparison_overclaims30.0%0.0–0.1%

Structural readability

CheckSitesRate95% rangeBy severity
Missing semantic <article> element geo_structural_readability_article_element5,14776.1%75.0–77.1%
No question-per-section structure geo_structural_readability_question_per_section4,79170.8%69.7–71.9%
No lists for scannability geo_structural_readability_lists4,48666.3%65.2–67.4%
Missing semantic <main> landmark geo_structural_readability_main_landmark3,61553.4%52.2–54.6%
Missing semantic <section> elements geo_structural_readability_section_elements2,93243.3%42.2–44.5%
Headings styled with div/span instead of h1-h6 geo_structural_readability_fake_headings1,35520.0%19.1–21.0%
Question headings not directly answered geo_structural_readability_question_answer_quality1,06215.7%14.8–16.6%
Headings that do not name their topic geo_structural_readability_generic_headings170.3%0.2–0.4%

On page SEO

CheckSitesRate95% rangeBy severity
Missing Twitter Card tags on_page_seo_missing_twitter_card3,79956.1%55.0–57.3%
Heading appears before its parent level on_page_seo_heading_level_skipped_in_document_order3,57052.8%51.6–53.9%
Missing og:image tag on_page_seo_missing_og_image3,36849.8%48.6–51.0%
Missing og:description tag on_page_seo_missing_og_description3,04745.0%43.8–46.2%
No social profile links on_page_seo_missing_social_profile_links2,83541.9%40.7–43.1%
Missing og:title tag on_page_seo_missing_og_title2,76340.8%39.7–42.0%
First heading is not the H1 on_page_seo_first_heading_not_h12,62838.8%37.7–40.0%
Missing canonical tag on_page_seo_missing_canonical2,52737.3%36.2–38.5%
Title tag too short on_page_seo_title_too_short2,23833.1%32.0–34.2%
Heading level skipped on_page_seo_heading_hierarchy_skip2,07130.6%29.5–31.7%
Missing H1 heading on_page_seo_missing_h12,03930.1%29.0–31.2%
Outdated meta keywords tag on_page_seo_meta_keywords_present1,82427.0%25.9–28.0%
Missing meta description on_page_seo_missing_meta_description1,64624.3%23.3–25.4%
Meta description too long on_page_seo_meta_description_too_long1,63724.2%23.2–25.2%
Multiple H1 headings on_page_seo_multiple_h11,15117.0%16.1–17.9%
Generic anchor text on_page_seo_generic_anchor_text1,01114.9%14.1–15.8%
Missing html lang attribute on_page_seo_missing_html_lang89413.2%12.4–14.0%
Title tag too long on_page_seo_title_too_long74211.0%10.2–11.7%
Too much bold text on_page_seo_strong_tag_overuse6319.3%8.7–10.0%
Deprecated HTML tag on_page_seo_deprecated_html_tag3975.9%5.3–6.5%
Missing title tag on_page_seo_missing_title1942.9%2.5–3.3%
Duplicate canonical tags on_page_seo_duplicate_canonical540.8%0.6–1.0%
Non-descriptive URL path on_page_seo_non_descriptive_url_path70.1%0.1–0.2%
Page type mismatch with SERP on_page_seo_page_type_mismatch_serp10.0%0.0–0.1%

Images

CheckSitesRate95% rangeBy severity
Images without width and height images_missing_dimensions3,77055.7%54.5–56.9%
Missing responsive image srcset images_missing_srcset3,66454.1%53.0–55.3%
Legacy image format images_legacy_image_format3,28848.6%47.4–49.8%low 540 · medium 2,748
No images on page images_no_images1,53222.6%21.7–23.7%
Oversized image files images_oversized_files1,19017.6%16.7–18.5%low 537 · medium 653
Video issue detected images_video_issue1,12116.6%15.7–17.5%
Missing image alt text images_missing_alt_text1,11016.4%15.5–17.3%high 631 · medium 479
Lazy-loaded hero image images_lazy_loaded_lcp_image1,10916.4%15.5–17.3%
Images set as CSS backgrounds images_css_background_images73310.8%10.1–11.6%
Camera or placeholder filenames images_generic_filenames3545.2%4.7–5.8%
Placeholder alt text images_generic_alt_text2293.4%3.0–3.8%
Robots rules limit image display images_robots_restrict_images340.5%0.4–0.7%low 25 · medium 9
Keyword-stuffed alt text images_keyword_stuffed_alt_text210.3%0.2–0.5%low 15 · medium 6

Schema

CheckSitesRate95% rangeBy severity
No structured data found schema_missing_json_ld3,71054.8%53.6–56.0%
Invalid breadcrumb markup schema_breadcrumb_invalid69010.2%9.5–10.9%
Missing required schema field schema_missing_required_field68810.2%9.5–10.9%
Schema uses HTTP @context schema_http_context5177.6%7.0–8.3%
SERP-retired schema type schema_serp_retired_type2523.7%3.3–4.2%
Client-side rendering blind spot schema_csr_blind_spot1572.3%2.0–2.7%
No breadcrumb trail on a deep page schema_breadcrumb_missing1332.0%1.7–2.3%
Conflicting or duplicate schema entities schema_duplicate_id470.7%0.5–0.9%low 17 · medium 30
Unsupported app category in schema schema_invalid_application_category470.7%0.5–0.9%
Article schema missing image schema_article_missing_image440.7%0.5–0.9%
Article schema image too small schema_article_image_too_small120.2%0.1–0.3%
Deprecated schema type schema_deprecated_type90.1%0.1–0.3%
Low-quality FAQ markup schema_faq_quality60.1%0.0–0.2%
Article headline too long schema_article_headline_too_long40.1%0.0–0.2%
Article schema violation schema_article_violation_other10.0%0.0–0.1%

Content quality

CheckSitesRate95% rangeBy severity
Thin content content_quality_thin_content3,40850.4%49.2–51.6%critical 2,252 · high 1,141 · medium 15
No first-hand experience signals content_quality_no_firsthand_experience2,17732.2%31.1–33.3%
No specific claims or data content_quality_no_specific_claims1,87127.7%26.6–28.7%
Low readability content_quality_low_readability1,29919.2%18.3–20.2%high 378 · medium 921
H1 doesn't match page content content_quality_h1_content_mismatch67710.0%9.3–10.7%
Paywalled or gated content content_quality_paywalled2583.8%3.4–4.3%
AI-generic filler language content_quality_filler_language10.0%0.0–0.1%

Local SEO

CheckSitesRate95% rangeBy severity
Missing geo coordinates local_seo_missing_geo_coordinates871.3%1.0–1.6%
Missing opening hours local_seo_missing_opening_hours590.9%0.7–1.1%
Incomplete NAP data local_seo_incomplete_nap400.6%0.4–0.8%
Phone number contradicts the schema local_seo_conflicting_nap_phone220.3%0.2–0.5%
Local business without LocalBusiness schema local_seo_unmarked_local_business130.2%0.1–0.3%
Low review count local_seo_low_review_count10.0%0.0–0.1%
Checks that could not run (11)

Not a problem on the site: how often a part of the scan was unavailable. Kept apart so it never reads as a defect rate.

  • Core Web Vitals not measured (performance_cwv_not_measured): 100.0%
  • Text-in-image check not run (geo_multi_modal_text_in_images_not_measured): 54.1%
  • ai.txt could not be checked (geo_technical_accessibility_ai_txt_not_measured): 10.7%
  • RSL licence could not be checked (geo_technical_accessibility_rsl_json_not_measured): 9.7%
  • TDMRep file could not be checked (geo_technical_accessibility_tdmrep_not_measured): 9.6%
  • Markdown twin route could not be checked (geo_technical_accessibility_markdown_twin_route_not_measured): 8.2%
  • llms.txt could not be checked (geo_technical_accessibility_llms_txt_not_measured): 5.6%
  • llms.txt could not be checked (ai_search_readiness_llms_txt_not_measured): 5.6%
  • Markdown content negotiation could not be checked (geo_technical_accessibility_markdown_content_negotiation_not_measured): 2.9%
  • Content couldn't be analyzed (content_quality_segment_unavailable): 0.1%
  • Structured data couldn't be checked (schema_segment_unavailable): 0.0%

Editions

Every sweep, kept as it was published

  • 12 November 2026 · 6767 of 10000 homepages scanned · Tranco list JZPGY (shown on this page)
  • 25 October 2026 · 3096 of 5000 homepages scanned · Tranco list 262W9
  • 20 October 2026 · 347 of 500 homepages scanned · Tranco list GQG5K

Quote a figure from its edition page: it never changes, so a reader who follows your link finds the number you quoted.

Limitations

What these figures do not tell you

  • Only the homepage of each site is scanned. Inner pages, which often differ, are not measured.
  • Each figure counts sites where the check could actually run. Sites that failed to load, or where that part of the scan was unavailable, are left out of that figure's sample rather than counted as passing.
  • A site counts as affected if any of its scans in the period showed the issue, so a site that fixed the issue between two scans still counts once as affected.
  • Figures are only computed within one unchanged version of the scanner. When our checks change, the figure restarts from the newest version rather than mixing the two.
  • Scans that people ran on their own sites, and scans we ran for outreach or competitor research, are never used. Those sites chose themselves or were chosen by us, so they say nothing about the web at large.

How to cite

Use this data

KinetixSEO (2026). Research sweep edition of 12 November 2026 [Method and data]. KinetixSEO research sweep, retrieved 12 November 2026. https://kinetixseo.com/learn/methods/research-sweep/2026-11-05-tranco-JZPGY-5e213359

Published under a CC BY 4.0 license: free to reuse with attribution. Quote a figure together with its sample size and measurement date, as shown above.

Where does your own site land?

Run the same kinds of checks on your own page with a free SEO and GEO audit. No signup.