{
    "edition": "2026",
    "sector": "plumber",
    "title": "Duyuz Home Services Website Benchmark 2026",
    "status": "measured",
    "label": "Duyuz plumber / home-services sample, not a census.",
    "framing": "2026 edition. Figures are from this disclosed sample only.",
    "measured_at": "2026-09-23T13:33:48+00:00",
    "generator": "scripts/sector-benchmark-measure.php plumber",
    "selection": "Editorial list of 14 public homepages. Editorial list of public plumber and home-services homepages across DK, DE, NL, FR, TR and EU. Not a trade register sample. Not a census.",
    "method": {
        "signals": [
            "https",
            "viewport",
            "h1",
            "title_length",
            "html_bytes",
            "has_schema",
            "has_booking_hint",
            "has_tel"
        ],
        "fetch": "Single HTTP GET per homepage. No browser. No JavaScript. No PageSpeed. No Core Web Vitals invented.",
        "timeout_seconds": 8,
        "max_body_bytes": 1200000,
        "user_agent": "DuyuzResearchBot/1.0 (+https://duyuz.com/en/research/european-small-business-digital-index-2026)",
        "limitations": [
            "Duyuz sample, not a census.",
            "Business size was not verified.",
            "JavaScript-only widgets may be invisible in server HTML.",
            "Sites that block this fetch are absent from n."
        ]
    },
    "attempted": 14,
    "n": 13,
    "aggregates": {
        "https_pct": 100,
        "viewport_pct": 100,
        "h1_pct": 92.3,
        "schema_pct": 76.9,
        "booking_hint_pct": 61.5,
        "tel_pct": 69.2,
        "title_length_ok_pct": 76.9,
        "median_html_bytes": 106759,
        "https_count": 13,
        "viewport_count": 13,
        "h1_count": 12,
        "schema_count": 10,
        "booking_hint_count": 8,
        "tel_count": 9,
        "title_length_ok_count": 10
    },
    "frame": [
        {
            "name": "Aarsleff",
            "country": "DK",
            "city": "Denmark",
            "requested_url": "https://www.aarsleff.dk/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Sanitär Berlin",
            "country": "DE",
            "city": "Berlin",
            "requested_url": "https://www.sanitaer-berlin.de/",
            "outcome": "failed",
            "reason": "tls",
            "http_status": 0
        },
        {
            "name": "Stadtentwässerung Dresden",
            "country": "DE",
            "city": "Dresden",
            "requested_url": "https://www.stadtentwaesserung-dresden.de/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Aroundhome",
            "country": "DE",
            "city": "Germany",
            "requested_url": "https://www.aroundhome.de/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Loodgieter.nl",
            "country": "NL",
            "city": "Netherlands",
            "requested_url": "https://www.loodgieter.nl/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Solvari",
            "country": "NL",
            "city": "Netherlands",
            "requested_url": "https://www.solvari.nl/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Plombier Paris",
            "country": "FR",
            "city": "Paris",
            "requested_url": "https://www.plombier-paris.fr/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Habitatpresto",
            "country": "FR",
            "city": "France",
            "requested_url": "https://www.habitatpresto.com/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Tesisat.com.tr",
            "country": "TR",
            "city": "Türkiye",
            "requested_url": "https://www.tesisat.com.tr/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Su Tesisatı",
            "country": "TR",
            "city": "Türkiye",
            "requested_url": "https://www.su-tesisati.com/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Baymak",
            "country": "TR",
            "city": "Türkiye",
            "requested_url": "https://www.baymak.com.tr/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "GROHE",
            "country": "EU",
            "city": "Europe",
            "requested_url": "https://www.grohe.com/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Uponor",
            "country": "EU",
            "city": "Europe",
            "requested_url": "https://www.uponor.com/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        },
        {
            "name": "Veolia (public)",
            "country": "EU",
            "city": "Europe",
            "requested_url": "https://www.veolia.com/",
            "outcome": "measured",
            "reason": null,
            "http_status": 200
        }
    ],
    "rows": [
        {
            "name": "Aarsleff",
            "country": "DK",
            "city": "Denmark",
            "requested_url": "https://www.aarsleff.dk/",
            "final_url": "https://www.aarsleff.dk/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 587,
            "html_bytes": 78403,
            "title": "Per Aarsleff A/S - Infrastruktur og byggeri til moderne samfund",
            "title_length": 63,
            "h1_count": 1,
            "viewport": true,
            "lang": "",
            "img_count": 10,
            "has_schema": false,
            "has_booking_hint": false,
            "has_tel": true,
            "has_form": true,
            "has_local_schema": false
        },
        {
            "name": "Stadtentwässerung Dresden",
            "country": "DE",
            "city": "Dresden",
            "requested_url": "https://www.stadtentwaesserung-dresden.de/",
            "final_url": "https://www.stadtentwaesserung-dresden.de/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 517,
            "html_bytes": 61089,
            "title": "Stadtentwässerung Dresden",
            "title_length": 25,
            "h1_count": 0,
            "viewport": true,
            "lang": "de-DE",
            "img_count": 25,
            "has_schema": true,
            "has_booking_hint": true,
            "has_tel": true,
            "has_form": true,
            "has_local_schema": false
        },
        {
            "name": "Aroundhome",
            "country": "DE",
            "city": "Germany",
            "requested_url": "https://www.aroundhome.de/",
            "final_url": "https://www.aroundhome.de/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 162,
            "html_bytes": 424127,
            "title": "Aroundhome - Fachfirmen für Ihr Hausprojekt finden",
            "title_length": 50,
            "h1_count": 1,
            "viewport": true,
            "lang": "de-DE",
            "img_count": 69,
            "has_schema": true,
            "has_booking_hint": true,
            "has_tel": true,
            "has_form": true,
            "has_local_schema": false
        },
        {
            "name": "Loodgieter.nl",
            "country": "NL",
            "city": "Netherlands",
            "requested_url": "https://www.loodgieter.nl/",
            "final_url": "https://www.loodgieter.nl/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 1271,
            "html_bytes": 87493,
            "title": "Goede lokale loodgieters tegen een vaste en eerlijke prijs",
            "title_length": 58,
            "h1_count": 1,
            "viewport": true,
            "lang": "nl",
            "img_count": 72,
            "has_schema": true,
            "has_booking_hint": true,
            "has_tel": true,
            "has_form": true,
            "has_local_schema": true
        },
        {
            "name": "Solvari",
            "country": "NL",
            "city": "Netherlands",
            "requested_url": "https://www.solvari.nl/",
            "final_url": "https://www.solvari.nl/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 277,
            "html_bytes": 622674,
            "title": "Solvari",
            "title_length": 7,
            "h1_count": 1,
            "viewport": true,
            "lang": "nl",
            "img_count": 8,
            "has_schema": true,
            "has_booking_hint": true,
            "has_tel": true,
            "has_form": true,
            "has_local_schema": false
        },
        {
            "name": "Plombier Paris",
            "country": "FR",
            "city": "Paris",
            "requested_url": "https://www.plombier-paris.fr/",
            "final_url": "https://www.plombier-paris.fr/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 198,
            "html_bytes": 61113,
            "title": "Plombier Paris 24h/24 – Urgence Fuite & Débouchage Pas Cher",
            "title_length": 59,
            "h1_count": 1,
            "viewport": true,
            "lang": "fr",
            "img_count": 9,
            "has_schema": true,
            "has_booking_hint": false,
            "has_tel": true,
            "has_form": false,
            "has_local_schema": true
        },
        {
            "name": "Habitatpresto",
            "country": "FR",
            "city": "France",
            "requested_url": "https://www.habitatpresto.com/",
            "final_url": "https://www.habitatpresto.com/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 545,
            "html_bytes": 89857,
            "title": "Trouvez le bon Professionnel pour vos Travaux | Habitatpresto",
            "title_length": 61,
            "h1_count": 1,
            "viewport": true,
            "lang": "fr",
            "img_count": 14,
            "has_schema": true,
            "has_booking_hint": true,
            "has_tel": true,
            "has_form": false,
            "has_local_schema": false
        },
        {
            "name": "Tesisat.com.tr",
            "country": "TR",
            "city": "Türkiye",
            "requested_url": "https://www.tesisat.com.tr/",
            "final_url": "https://www.tesisat.com.tr/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 60,
            "html_bytes": 85155,
            "title": "Tesisat Dergisi",
            "title_length": 15,
            "h1_count": 1,
            "viewport": true,
            "lang": "",
            "img_count": 93,
            "has_schema": false,
            "has_booking_hint": false,
            "has_tel": false,
            "has_form": true,
            "has_local_schema": false
        },
        {
            "name": "Su Tesisatı",
            "country": "TR",
            "city": "Türkiye",
            "requested_url": "https://www.su-tesisati.com/",
            "final_url": "https://www.su-tesisati.com/",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 46,
            "html_bytes": 106759,
            "title": "Su Tesisatçısı - 7/24 En Uygun Su Tesisatçı 0532 134 3258",
            "title_length": 57,
            "h1_count": 1,
            "viewport": true,
            "lang": "tr",
            "img_count": 15,
            "has_schema": true,
            "has_booking_hint": false,
            "has_tel": true,
            "has_form": false,
            "has_local_schema": false
        },
        {
            "name": "Baymak",
            "country": "TR",
            "city": "Türkiye",
            "requested_url": "https://www.baymak.com.tr/",
            "final_url": "https://www.baymak.com.tr/ana-sayfa",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 603,
            "html_bytes": 165531,
            "title": "Kombi, Klima, Isı Pompası, Şofben, Isıtma ve Soğutma Sistemleri | BAYMAK",
            "title_length": 72,
            "h1_count": 1,
            "viewport": true,
            "lang": "tr",
            "img_count": 46,
            "has_schema": true,
            "has_booking_hint": true,
            "has_tel": false,
            "has_form": true,
            "has_local_schema": false
        },
        {
            "name": "GROHE",
            "country": "EU",
            "city": "Europe",
            "requested_url": "https://www.grohe.com/",
            "final_url": "https://www.grohe.com/en-GB",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 197,
            "html_bytes": 999892,
            "title": "GROHE – Premium Bathroom Taps, Showers & Kitchen solutions",
            "title_length": 58,
            "h1_count": 1,
            "viewport": true,
            "lang": "en-GB",
            "img_count": 30,
            "has_schema": false,
            "has_booking_hint": true,
            "has_tel": false,
            "has_form": false,
            "has_local_schema": false
        },
        {
            "name": "Uponor",
            "country": "EU",
            "city": "Europe",
            "requested_url": "https://www.uponor.com/",
            "final_url": "https://www.uponor.com/en-en",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 295,
            "html_bytes": 331935,
            "title": "Plumbing, heating and cooling solutions | Uponor",
            "title_length": 48,
            "h1_count": 1,
            "viewport": true,
            "lang": "",
            "img_count": 18,
            "has_schema": true,
            "has_booking_hint": true,
            "has_tel": true,
            "has_form": false,
            "has_local_schema": false
        },
        {
            "name": "Veolia (public)",
            "country": "EU",
            "city": "Europe",
            "requested_url": "https://www.veolia.com/",
            "final_url": "https://www.veolia.com/fr",
            "http_status": 200,
            "https": true,
            "ttfb_ms": 556,
            "html_bytes": 123669,
            "title": "Veolia : gestion de l’eau, de l’énergie et du recyclage des déchets",
            "title_length": 67,
            "h1_count": 1,
            "viewport": true,
            "lang": "fr",
            "img_count": 21,
            "has_schema": true,
            "has_booking_hint": false,
            "has_tel": false,
            "has_form": true,
            "has_local_schema": false
        }
    ],
    "failed": [
        {
            "name": "Sanitär Berlin",
            "country": "DE",
            "city": "Berlin",
            "requested_url": "https://www.sanitaer-berlin.de/",
            "reason": "tls",
            "http_status": 0
        }
    ]
}
