{
    "dataset": {
        "id": "ai-search-readiness-2026-technical-checks",
        "version": "1.0",
        "generated": "2026-10-15",
        "crawl_date": "2026-09-29",
        "engine_commit": "98996b7",
        "crawler": "SitequiryBot/1.0",
        "max_pages_per_site": 20,
        "aggregate_only": true,
        "license": "CC BY 4.0",
        "part_of": "ai-search-readiness-2026",
        "segments": "By site language (sl, de, en, other) as in the study; a segment under 15 sites is suppressed.",
        "note": "Site counts from the same convenience sample as the AI search readiness study (well-known sites, mostly Slovenian and German). Up to 20 pages per site, one crawl, one location. A site counts once per check, however many URLs were affected. Not representative of the web."
    },
    "populations": {
        "completed": {
            "description": "Sites whose Site Report completed (same 90 sites as the study).",
            "n": 90
        },
        "sitemap": {
            "description": "Completed sites where an XML sitemap was found.",
            "n": 75
        },
        "hreflang": {
            "description": "Completed sites with at least 5 analyzed content pages, at least one of them with hreflang alternates (the study's \"hreflang annotations\" sites).",
            "n": 31
        }
    },
    "metrics": [
        {
            "id": "broken_internal_links",
            "population": "completed",
            "definition": "At least one internal link on the analyzed pages leads to a URL that answers 4xx or 5xx. 401, 403, 429, 503 and bot-protection answers are not counted as broken.",
            "n": 90,
            "count": 18,
            "pct": 20,
            "segments": {
                "sl": {
                    "n": 33,
                    "count": 11,
                    "pct": 33
                },
                "de": {
                    "n": 23,
                    "count": 2,
                    "pct": 9
                },
                "en": {
                    "n": 15,
                    "count": 2,
                    "pct": 13
                },
                "other": {
                    "n": 19,
                    "count": 3,
                    "pct": 16
                }
            }
        },
        {
            "id": "internal_links_to_redirects",
            "population": "completed",
            "definition": "At least one internal link leads to a URL that redirects (often only http to https or a missing trailing slash).",
            "n": 90,
            "count": 67,
            "pct": 74,
            "segments": {
                "sl": {
                    "n": 33,
                    "count": 27,
                    "pct": 82
                },
                "de": {
                    "n": 23,
                    "count": 17,
                    "pct": 74
                },
                "en": {
                    "n": 15,
                    "count": 10,
                    "pct": 67
                },
                "other": {
                    "n": 19,
                    "count": 13,
                    "pct": 68
                }
            }
        },
        {
            "id": "redirect_chains",
            "population": "completed",
            "definition": "At least one checked URL needs two or more redirects before it answers.",
            "n": 90,
            "count": 23,
            "pct": 26,
            "segments": {
                "sl": {
                    "n": 33,
                    "count": 10,
                    "pct": 30
                },
                "de": {
                    "n": 23,
                    "count": 4,
                    "pct": 17
                },
                "en": {
                    "n": 15,
                    "count": 2,
                    "pct": 13
                },
                "other": {
                    "n": 19,
                    "count": 7,
                    "pct": 37
                }
            }
        },
        {
            "id": "client_rendered_pages",
            "population": "completed",
            "definition": "At least one analyzed page is a client-rendered shell: the server HTML has no readable content until JavaScript runs.",
            "n": 90,
            "count": 5,
            "pct": 6,
            "segments": {
                "sl": {
                    "n": 33,
                    "count": 0,
                    "pct": 0
                },
                "de": {
                    "n": 23,
                    "count": 0,
                    "pct": 0
                },
                "en": {
                    "n": 15,
                    "count": 2,
                    "pct": 13
                },
                "other": {
                    "n": 19,
                    "count": 3,
                    "pct": 16
                }
            }
        },
        {
            "id": "duplicate_titles",
            "population": "completed",
            "definition": "Two or more indexable analyzed pages share the same title.",
            "n": 90,
            "count": 16,
            "pct": 18,
            "segments": {
                "sl": {
                    "n": 33,
                    "count": 7,
                    "pct": 21
                },
                "de": {
                    "n": 23,
                    "count": 3,
                    "pct": 13
                },
                "en": {
                    "n": 15,
                    "count": 3,
                    "pct": 20
                },
                "other": {
                    "n": 19,
                    "count": 3,
                    "pct": 16
                }
            }
        },
        {
            "id": "canonical_to_unusable_url",
            "population": "completed",
            "definition": "At least one page names a canonical URL that answers with an error, redirects or is noindex.",
            "n": 90,
            "count": 1,
            "pct": 1,
            "segments": {
                "sl": {
                    "n": 33,
                    "count": 1,
                    "pct": 3
                },
                "de": {
                    "n": 23,
                    "count": 0,
                    "pct": 0
                },
                "en": {
                    "n": 15,
                    "count": 0,
                    "pct": 0
                },
                "other": {
                    "n": 19,
                    "count": 0,
                    "pct": 0
                }
            }
        },
        {
            "id": "noindex_homepage",
            "population": "completed",
            "definition": "The homepage carries noindex.",
            "n": 90,
            "count": 1,
            "pct": 1,
            "segments": {
                "sl": {
                    "n": 33,
                    "count": 1,
                    "pct": 3
                },
                "de": {
                    "n": 23,
                    "count": 0,
                    "pct": 0
                },
                "en": {
                    "n": 15,
                    "count": 0,
                    "pct": 0
                },
                "other": {
                    "n": 19,
                    "count": 0,
                    "pct": 0
                }
            }
        },
        {
            "id": "sitemap_url_redirects_or_errors",
            "population": "sitemap",
            "definition": "At least one analyzed URL taken from the XML sitemap redirects or answers 4xx/5xx.",
            "n": 75,
            "count": 15,
            "pct": 20,
            "segments": {
                "sl": {
                    "n": 27,
                    "count": 7,
                    "pct": 26
                },
                "de": {
                    "n": 20,
                    "count": 4,
                    "pct": 20
                },
                "en": {
                    "n": 13,
                    "suppressed": "n_too_small"
                },
                "other": {
                    "n": 15,
                    "count": 2,
                    "pct": 13
                }
            }
        },
        {
            "id": "sitemap_url_noindex",
            "population": "sitemap",
            "definition": "At least one analyzed URL taken from the XML sitemap carries noindex.",
            "n": 75,
            "count": 6,
            "pct": 8,
            "segments": {
                "sl": {
                    "n": 27,
                    "count": 0,
                    "pct": 0
                },
                "de": {
                    "n": 20,
                    "count": 2,
                    "pct": 10
                },
                "en": {
                    "n": 13,
                    "suppressed": "n_too_small"
                },
                "other": {
                    "n": 15,
                    "count": 0,
                    "pct": 0
                }
            }
        },
        {
            "id": "hreflang_missing_self",
            "population": "hreflang",
            "definition": "At least one page with hreflang does not list itself among its alternates.",
            "n": 31,
            "count": 3,
            "pct": 10,
            "segments": {
                "sl": {
                    "n": 8,
                    "suppressed": "n_too_small"
                },
                "de": {
                    "n": 14,
                    "suppressed": "n_too_small"
                },
                "en": {
                    "n": 4,
                    "suppressed": "n_too_small"
                },
                "other": {
                    "n": 5,
                    "suppressed": "n_too_small"
                }
            }
        },
        {
            "id": "hreflang_not_reciprocal",
            "population": "hreflang",
            "definition": "At least one hreflang alternate does not link back to the page that names it.",
            "n": 31,
            "count": 1,
            "pct": 3,
            "segments": {
                "sl": {
                    "n": 8,
                    "suppressed": "n_too_small"
                },
                "de": {
                    "n": 14,
                    "suppressed": "n_too_small"
                },
                "en": {
                    "n": 4,
                    "suppressed": "n_too_small"
                },
                "other": {
                    "n": 5,
                    "suppressed": "n_too_small"
                }
            }
        },
        {
            "id": "hreflang_any_error",
            "population": "hreflang",
            "definition": "Either of the two hreflang errors above.",
            "n": 31,
            "count": 4,
            "pct": 13,
            "segments": {
                "sl": {
                    "n": 8,
                    "suppressed": "n_too_small"
                },
                "de": {
                    "n": 14,
                    "suppressed": "n_too_small"
                },
                "en": {
                    "n": 4,
                    "suppressed": "n_too_small"
                },
                "other": {
                    "n": 5,
                    "suppressed": "n_too_small"
                }
            }
        }
    ],
    "totals": {
        "internal_links_checked": 12381,
        "broken_link_targets": 64,
        "redirecting_link_targets": 649,
        "redirect_chain_urls": 173
    }
}
