{
    "version": 2,
    "url": "https://www.pk-hus.no/boliger-til-salgs/familievennlig-arkitekttegnet-enebolig-med-dobbelt-garasje-og-utsikt-kort-innflyttingstid-boligen-er-under-oppforing",
    "final_url": "https://www.pk-hus.no/boliger-til-salgs/familievennlig-arkitekttegnet-enebolig-med-dobbelt-garasje-og-utsikt-kort-innflyttingstid-boligen-er-under-oppforing",
    "redirects": [],
    "mode": "full",
    "language": "en",
    "scanned_at": "2026-10-13T08:55:02+02:00",
    "duration_ms": 1282.09,
    "overall_score": 90.9,
    "category_scores": {
        "bot_access": 100,
        "content": 88.9,
        "technical": 91.7,
        "structured_data": 85.7,
        "meta": 71.4,
        "performance": 93.8
    },
    "checks": [
        {
            "id": "robots_txt",
            "category": "bot_access",
            "title": "robots.txt",
            "status": "pass",
            "severity": "warning",
            "value": "robots.txt exists and can be read.",
            "recommendation": null,
            "duration_ms": 786.39,
            "data": []
        },
        {
            "id": "robots_txt_wildcard",
            "category": "bot_access",
            "title": "robots.txt: all bots (*)",
            "status": "pass",
            "severity": "critical",
            "value": "The rule for all bots (User-agent: *) allows this page.",
            "recommendation": null,
            "duration_ms": 786.39,
            "data": []
        },
        {
            "id": "bot_oai_searchbot",
            "category": "bot_access",
            "title": "OAI-SearchBot · OpenAI (ChatGPT search)",
            "status": "pass",
            "severity": "critical",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "OAI-SearchBot",
                "vendor": "OpenAI (ChatGPT search)",
                "purpose": "search",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_claude_searchbot",
            "category": "bot_access",
            "title": "Claude-SearchBot · Anthropic (Claude)",
            "status": "pass",
            "severity": "critical",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Claude-SearchBot",
                "vendor": "Anthropic (Claude)",
                "purpose": "search",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_perplexitybot",
            "category": "bot_access",
            "title": "PerplexityBot · Perplexity",
            "status": "pass",
            "severity": "critical",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "PerplexityBot",
                "vendor": "Perplexity",
                "purpose": "search",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_googlebot",
            "category": "bot_access",
            "title": "Googlebot · Google (Search, AI Overviews, Gemini)",
            "status": "pass",
            "severity": "critical",
            "value": "robots.txt: allowed · server: not tested",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Googlebot",
                "vendor": "Google (Search, AI Overviews, Gemini)",
                "purpose": "search",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "not_tested",
                "server_detail": ""
            }
        },
        {
            "id": "bot_bingbot",
            "category": "bot_access",
            "title": "Bingbot · Microsoft (Bing + Copilot)",
            "status": "pass",
            "severity": "critical",
            "value": "robots.txt: allowed · server: not tested",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Bingbot",
                "vendor": "Microsoft (Bing + Copilot)",
                "purpose": "search",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "not_tested",
                "server_detail": ""
            }
        },
        {
            "id": "bot_applebot",
            "category": "bot_access",
            "title": "Applebot · Apple (Siri/Spotlight)",
            "status": "pass",
            "severity": "critical",
            "value": "robots.txt: allowed · server: not tested",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Applebot",
                "vendor": "Apple (Siri/Spotlight)",
                "purpose": "search",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "not_tested",
                "server_detail": ""
            }
        },
        {
            "id": "bot_chatgpt_user",
            "category": "bot_access",
            "title": "ChatGPT-User · OpenAI (ChatGPT)",
            "status": "pass",
            "severity": "warning",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "ChatGPT-User",
                "vendor": "OpenAI (ChatGPT)",
                "purpose": "user",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_claude_user",
            "category": "bot_access",
            "title": "Claude-User · Anthropic (Claude)",
            "status": "pass",
            "severity": "warning",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Claude-User",
                "vendor": "Anthropic (Claude)",
                "purpose": "user",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_perplexity_user",
            "category": "bot_access",
            "title": "Perplexity-User · Perplexity",
            "status": "pass",
            "severity": "warning",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Perplexity-User",
                "vendor": "Perplexity",
                "purpose": "user",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_gptbot",
            "category": "bot_access",
            "title": "GPTBot · OpenAI",
            "status": "pass",
            "severity": "info",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "GPTBot",
                "vendor": "OpenAI",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_claudebot",
            "category": "bot_access",
            "title": "ClaudeBot · Anthropic",
            "status": "pass",
            "severity": "info",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "ClaudeBot",
                "vendor": "Anthropic",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_google_extended",
            "category": "bot_access",
            "title": "Google-Extended · Google (Gemini training)",
            "status": "pass",
            "severity": "info",
            "value": "robots.txt: allowed · server: not tested",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Google-Extended",
                "vendor": "Google (Gemini training)",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "not_tested",
                "server_detail": ""
            }
        },
        {
            "id": "bot_applebot_extended",
            "category": "bot_access",
            "title": "Applebot-Extended · Apple (Apple Intelligence training)",
            "status": "pass",
            "severity": "info",
            "value": "robots.txt: allowed · server: not tested",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Applebot-Extended",
                "vendor": "Apple (Apple Intelligence training)",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "not_tested",
                "server_detail": ""
            }
        },
        {
            "id": "bot_ccbot",
            "category": "bot_access",
            "title": "CCBot · Common Crawl",
            "status": "pass",
            "severity": "info",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "CCBot",
                "vendor": "Common Crawl",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_meta_externalagent",
            "category": "bot_access",
            "title": "Meta-ExternalAgent · Meta",
            "status": "pass",
            "severity": "info",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Meta-ExternalAgent",
                "vendor": "Meta",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_amazonbot",
            "category": "bot_access",
            "title": "Amazonbot · Amazon",
            "status": "pass",
            "severity": "info",
            "value": "robots.txt: allowed · server: responds normally (HTTP 200)",
            "recommendation": null,
            "duration_ms": 961.24,
            "data": {
                "bot": "Amazonbot",
                "vendor": "Amazon",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "ok",
                "server_detail": "HTTP 200"
            }
        },
        {
            "id": "bot_bytespider",
            "category": "bot_access",
            "title": "Bytespider · ByteDance",
            "status": "info",
            "severity": "info",
            "value": "robots.txt: allowed · server: blocked by bot check/CAPTCHA (HTTP 403)",
            "recommendation": "The server rejects Bytespider even if robots.txt may allow it. Check your firewall/CDN: Cloudflare (Security → Bots / \"Block AI bots\"), Wordfence, Imunify360, ModSecurity or the Plesk firewall. Note: some firewalls only block fake bots (by IP), so confirm in the firewall log that genuine Bytespider traffic gets through.",
            "duration_ms": 961.24,
            "data": {
                "bot": "Bytespider",
                "vendor": "ByteDance",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "challenge",
                "server_detail": "HTTP 403"
            }
        },
        {
            "id": "indexing_directives",
            "category": "bot_access",
            "title": "Indexing directives (meta robots / X-Robots-Tag)",
            "status": "pass",
            "severity": "critical",
            "value": "No meta robots or X-Robots-Tag – no restrictions.",
            "recommendation": null,
            "duration_ms": 12.61,
            "data": {
                "found": []
            }
        },
        {
            "id": "sitemap_present",
            "category": "technical",
            "title": "Sitemap",
            "status": "pass",
            "severity": "warning",
            "value": "Sitemap found with 134 URLs (https://www.pk-hus.no/sitemap.xml). 134 of 134 entries have lastmod.",
            "recommendation": null,
            "duration_ms": 34.23,
            "data": []
        },
        {
            "id": "sitemap_contains_page",
            "category": "technical",
            "title": "Page in sitemap",
            "status": "pass",
            "severity": "warning",
            "value": "The page is listed in the sitemap (https://www.pk-hus.no/sitemap.xml).",
            "recommendation": null,
            "duration_ms": 34.23,
            "data": []
        },
        {
            "id": "sitemap_in_robots",
            "category": "technical",
            "title": "Sitemap in robots.txt",
            "status": "pass",
            "severity": "info",
            "value": "Declared in robots.txt: https://www.pk-hus.no/sitemap.xml",
            "recommendation": null,
            "duration_ms": 34.23,
            "data": []
        },
        {
            "id": "tech_https",
            "category": "technical",
            "title": "HTTPS",
            "status": "warning",
            "severity": "info",
            "value": "The page uses HTTPS. http:// redirects to https://. Missing HSTS header.",
            "recommendation": "HSTS (Strict-Transport-Security) tells browsers to always open the site over https. It can be enabled under SSL/TLS Certificates in Plesk.",
            "duration_ms": 850.77,
            "data": []
        },
        {
            "id": "tech_host_variant",
            "category": "technical",
            "title": "www / non-www",
            "status": "pass",
            "severity": "warning",
            "value": "pk-hus.no redirects to www.pk-hus.no.",
            "recommendation": null,
            "duration_ms": 850.77,
            "data": []
        },
        {
            "id": "tech_mixed_content",
            "category": "technical",
            "title": "Mixed content",
            "status": "pass",
            "severity": "warning",
            "value": "No resources are loaded over insecure http.",
            "recommendation": null,
            "duration_ms": 850.77,
            "data": []
        },
        {
            "id": "tech_viewport",
            "category": "technical",
            "title": "Mobile view (viewport)",
            "status": "pass",
            "severity": "critical",
            "value": "viewport=\"width=device-width,initial-scale=1\"",
            "recommendation": null,
            "duration_ms": 850.77,
            "data": []
        },
        {
            "id": "tech_images_alt",
            "category": "technical",
            "title": "Image alt text",
            "status": "pass",
            "severity": "info",
            "value": "71 images: 0 without alt attribute, 39 with empty alt (decorative).",
            "recommendation": null,
            "duration_ms": 850.77,
            "data": {
                "lists": [
                    {
                        "key": "empty_alt",
                        "label": "Empty alt – treated as decorative (39). Check that these really are decorative.",
                        "items": [
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/661d3f27a8c238b46cf6394d_PK-Hus-30-hoved.svg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef56e369835a022d693a7_IMG_5700.JPG",
                                "note": "used 4 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef9bd4785dd53206b46d8_IMG_5724.JPG",
                                "note": "used 3 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef5c1693677e6f8e8e597_IMG_5697.JPG",
                                "note": "used 3 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef9d0a2e7b173abbf3347_IMG_5716.JPG",
                                "note": "used 3 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/61978d6efad720781163c7df_Lightbox%20Image.svg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef601849e56342e7e8ce8_IMG_5720.JPG",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef8354785dd53206a87df_IMG_5711.JPG",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef925b853586844547c93_IMG_5735.JPG",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef913289a1dbe902a9d9d_IMG_5729.JPG",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef9183e94a6fbe22bf9f2_IMG_5730.JPG",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab29e7212c17c499f8fe3_20250929%20REV%20FASADE_Side_2.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6461eca9373c8d19eaa86b5d_Fasade%20nordvest%2C%20Inngangsparti.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab2a7328573af0bb57123_20250929%20REV%20FASADE_Side_3.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4c05d0344079aec095f_20250929%20REV%20FASADE_Side_4.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4c3747fde05ffe27f6d_20250929%20REV%20SNITT.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4dca7c2dd29c068a36b_Kampestad%20tomt%204-1%20Garasje%20Fasader.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4df07da594dcc6f1f4b_Kampestad%20tomt%204-1%20Garasje%20Plan_snitt.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6461ecbcff1a6812941d1ec5_Plan%20hovedetg.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6461ecbfff1a6812941d1f94_Plan%20u.etg.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4fb07da594dcc6f2f06_Situasjonskart%20rev.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab61fdfd44f46a83a4f2c_Oversiktsbilde%20med%20tomt.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/655f666b8e483d2423643efd_Kampestad_v1-5.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/67eba650436be70d0db61db9_Kampestad_v1-8.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/655f64c87ec172eb46ae2a61_Kampestad_v1-23.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/652fc6ef4885ab642710906e_Kampestad_v1-16.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/661d3f3284c89854e6aebc92_PK-Hus-30-outline.svg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/6419abf6fb159fe8ce92871d_icons8-facebook%20(1).svg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/6419abfdc9609e6be72ad4ad_icons8-linkedin%20(1).svg",
                                "note": ""
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/6419ac0984665ccf1ad5d12d_icons8-instagram%20(1).svg",
                                "note": ""
                            }
                        ]
                    }
                ]
            }
        },
        {
            "id": "tech_images_dimensions",
            "category": "technical",
            "title": "Image dimensions in HTML",
            "status": "warning",
            "severity": "info",
            "value": "71 of 71 images lack width/height.",
            "recommendation": "Set width and height on images so the browser reserves space. It stops the page from jumping while loading (CLS in Core Web Vitals).",
            "duration_ms": 850.77,
            "data": {
                "lists": [
                    {
                        "key": "missing_dims",
                        "label": "Missing width/height (71)",
                        "items": [
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/661d3f27a8c238b46cf6394d_PK-Hus-30-hoved.svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef56e369835a022d693a7_IMG_5700.JPG",
                                "note": "missing both width and height, used 4 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef9bd4785dd53206b46d8_IMG_5724.JPG",
                                "note": "missing both width and height, used 3 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef5c1693677e6f8e8e597_IMG_5697.JPG",
                                "note": "missing both width and height, used 3 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef9d0a2e7b173abbf3347_IMG_5716.JPG",
                                "note": "missing both width and height, used 3 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/61978d6efad720781163c7df_Lightbox%20Image.svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/61978d6efad720b0fc63c7ee_Fullscreen.svg",
                                "note": "missing both width and height, used 28 times"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/61978d6efad720762063c7d6_Bed.svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/61978d6efad7207a1e63c7db_Shower.svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/61978d6efad720319e63c7d9_Ruler.svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef601849e56342e7e8ce8_IMG_5720.JPG",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef8354785dd53206a87df_IMG_5711.JPG",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef925b853586844547c93_IMG_5735.JPG",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef913289a1dbe902a9d9d_IMG_5729.JPG",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6a7ef9183e94a6fbe22bf9f2_IMG_5730.JPG",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab29e7212c17c499f8fe3_20250929%20REV%20FASADE_Side_2.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6461eca9373c8d19eaa86b5d_Fasade%20nordvest%2C%20Inngangsparti.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab2a7328573af0bb57123_20250929%20REV%20FASADE_Side_3.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4c05d0344079aec095f_20250929%20REV%20FASADE_Side_4.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4c3747fde05ffe27f6d_20250929%20REV%20SNITT.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4dca7c2dd29c068a36b_Kampestad%20tomt%204-1%20Garasje%20Fasader.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4df07da594dcc6f1f4b_Kampestad%20tomt%204-1%20Garasje%20Plan_snitt.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6461ecbcff1a6812941d1ec5_Plan%20hovedetg.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/6461ecbfff1a6812941d1f94_Plan%20u.etg.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab4fb07da594dcc6f2f06_Situasjonskart%20rev.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/693ab61fdfd44f46a83a4f2c_Oversiktsbilde%20med%20tomt.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/655f666b8e483d2423643efd_Kampestad_v1-5.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/67eba650436be70d0db61db9_Kampestad_v1-8.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/655f64c87ec172eb46ae2a61_Kampestad_v1-23.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/652fc6ef4885ab642710906e_Kampestad_v1-16.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad7205def63c7bc/68ef5f434c6962bdf4e6c00b_Portrett%202_liten%20fil.jpg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/661d3f3284c89854e6aebc92_PK-Hus-30-outline.svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/6419abf6fb159fe8ce92871d_icons8-facebook%20(1).svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/6419abfdc9609e6be72ad4ad_icons8-linkedin%20(1).svg",
                                "note": "missing both width and height"
                            },
                            {
                                "url": "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/6419ac0984665ccf1ad5d12d_icons8-instagram%20(1).svg",
                                "note": "missing both width and height"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "id": "tech_links_internal",
            "category": "technical",
            "title": "Internal links",
            "status": "pass",
            "severity": "warning",
            "value": "37 internal and 7 external links.",
            "recommendation": null,
            "duration_ms": 850.77,
            "data": []
        },
        {
            "id": "tech_links_text",
            "category": "technical",
            "title": "Link text",
            "status": "warning",
            "severity": "info",
            "value": "2 links without text.",
            "recommendation": "Link text tells search engines and AI what the target page is about. Use e.g. \"See bathroom prices\" instead of \"Read more\". Icon-only links need an aria-label.",
            "duration_ms": 850.77,
            "data": []
        },
        {
            "id": "llms_txt",
            "category": "bot_access",
            "title": "llms.txt",
            "status": "info",
            "severity": "info",
            "value": "llms.txt does not exist.",
            "recommendation": "Optional: /llms.txt is a proposed standard (llmstxt.org) summarising the site and linking to key pages in Markdown. Limited effect so far, but little work.",
            "duration_ms": 786.03,
            "data": []
        },
        {
            "id": "content_raw_html",
            "category": "content",
            "title": "Content without JavaScript",
            "status": "pass",
            "severity": "critical",
            "value": "Main content: 859 words (whole page: 872 words, text share 6.5 %).",
            "recommendation": null,
            "duration_ms": 39.05,
            "data": {
                "main_words": 859,
                "all_words": 872,
                "text_ratio": 0.065,
                "spa_signals": []
            }
        },
        {
            "id": "heading_h1_count",
            "category": "content",
            "title": "H1 heading",
            "status": "pass",
            "severity": "warning",
            "value": "One H1: \"Familievennlig arkitekttegnet enebolig med dobbelt garasje …\"",
            "recommendation": null,
            "duration_ms": 12.22,
            "data": []
        },
        {
            "id": "heading_order",
            "category": "content",
            "title": "Heading hierarchy",
            "status": "warning",
            "severity": "info",
            "value": "Skipped levels: h1 → h3",
            "recommendation": "Use heading levels in order (H2 under H1, H3 under H2). It helps AI split the content into meaningful sections.",
            "duration_ms": 12.22,
            "data": []
        },
        {
            "id": "language_html_lang",
            "category": "content",
            "title": "Language (lang attribute)",
            "status": "pass",
            "severity": "warning",
            "value": "Language: no",
            "recommendation": null,
            "duration_ms": 12.05,
            "data": []
        },
        {
            "id": "language_hreflang",
            "category": "content",
            "title": "hreflang",
            "status": "info",
            "severity": "info",
            "value": "No hreflang (fine for single-language sites).",
            "recommendation": null,
            "duration_ms": 12.05,
            "data": []
        },
        {
            "id": "content_freshness",
            "category": "content",
            "title": "Last updated",
            "status": "warning",
            "severity": "info",
            "value": "Only the HTTP header Last-Modified: Tue, 13 Oct 2026 06:51:03 GMT (often just when the page was generated).",
            "recommendation": "Provide dateModified/datePublished in JSON-LD (done automatically by Yoast/Rank Math on posts). AI services prefer content they can see is up to date.",
            "duration_ms": 13.06,
            "data": []
        },
        {
            "id": "meta_title",
            "category": "meta",
            "title": "Page title (<title>)",
            "status": "warning",
            "severity": "warning",
            "value": "The title is 100 characters: \"Familievennlig arkitekttegnet enebolig med dobbelt garasje og utsikt | Kort innflyttingst…\"",
            "recommendation": "Use a unique, descriptive title of 10–60 characters.",
            "duration_ms": 13.48,
            "data": []
        },
        {
            "id": "meta_description",
            "category": "meta",
            "title": "Meta description",
            "status": "warning",
            "severity": "warning",
            "value": "234 characters: \"Velkommen til Bellerudløkka 28 - Arkitekttegnet enebolig med dobbel garasje og fantastisk utsikt! Dette er boligen for …\"",
            "recommendation": "Write a 50–160 character description summarising the page.",
            "duration_ms": 13.48,
            "data": []
        },
        {
            "id": "meta_canonical",
            "category": "meta",
            "title": "Canonical",
            "status": "pass",
            "severity": "warning",
            "value": "Self-referencing: https://www.pk-hus.no/boliger-til-salgs/familievennlig-arkitekttegnet-enebolig-med-dobbelt-garasje-og-utsikt-kort-innflyttingstid-boligen-er-under-oppforing",
            "recommendation": null,
            "duration_ms": 13.48,
            "data": []
        },
        {
            "id": "meta_og_tags",
            "category": "meta",
            "title": "Open Graph",
            "status": "pass",
            "severity": "info",
            "value": "og:title, og:description and og:image present.",
            "recommendation": null,
            "duration_ms": 13.48,
            "data": []
        },
        {
            "id": "schema_org_present",
            "category": "structured_data",
            "title": "JSON-LD",
            "status": "pass",
            "severity": "critical",
            "value": "4 objects: GeneralContractor, PostalAddress, GeoCoordinates, OpeningHoursSpecification",
            "recommendation": null,
            "duration_ms": 0.18,
            "data": {
                "types": [
                    "GeneralContractor",
                    "PostalAddress",
                    "GeoCoordinates",
                    "OpeningHoursSpecification"
                ]
            }
        },
        {
            "id": "schema_org_key_types",
            "category": "structured_data",
            "title": "Key schema types",
            "status": "warning",
            "severity": "warning",
            "value": "Found: GeneralContractor. Missing: WebSite.",
            "recommendation": "Add WebSite. It tells AI services who is behind the site.",
            "duration_ms": 0.18,
            "data": []
        },
        {
            "id": "schema_org_organization_completeness",
            "category": "structured_data",
            "title": "Organisation / business",
            "status": "pass",
            "severity": "warning",
            "value": "GeneralContractor has all recommended fields.",
            "recommendation": null,
            "duration_ms": 0.18,
            "data": []
        },
        {
            "id": "performance_response_time",
            "category": "performance",
            "title": "Response time",
            "status": "pass",
            "severity": "critical",
            "value": "The server responded in 49 ms.",
            "recommendation": null,
            "duration_ms": 13.23,
            "data": []
        },
        {
            "id": "performance_html_size",
            "category": "performance",
            "title": "HTML size",
            "status": "pass",
            "severity": "warning",
            "value": "HTML: 97.5 KB",
            "recommendation": null,
            "duration_ms": 13.23,
            "data": []
        },
        {
            "id": "performance_compression",
            "category": "performance",
            "title": "Compression",
            "status": "pass",
            "severity": "warning",
            "value": "Compressed with gzip.",
            "recommendation": null,
            "duration_ms": 13.23,
            "data": []
        },
        {
            "id": "performance_resource_count",
            "category": "performance",
            "title": "Number of resources",
            "status": "warning",
            "severity": "info",
            "value": "44 resources: 8 JS, 1 CSS and 35 images (14 of the images load only on scroll). 30 are fetched on first view.",
            "recommendation": "21 images load immediately. Images below the first screen should have loading=\"lazy\" (WordPress adds it automatically, but custom theme templates often bypass it). Also check that listing views use a small image size, not the original.",
            "duration_ms": 13.23,
            "data": {
                "js": 8,
                "js_blocking": 5,
                "css": 1,
                "images_eager": 21,
                "images_lazy": 14,
                "initial": 30
            }
        }
    ],
    "page_meta": {
        "title": "Familievennlig arkitekttegnet enebolig med dobbelt garasje og utsikt | Kort innflyttingstid | PK Hus",
        "description": "Velkommen til Bellerudløkka 28 - Arkitekttegnet enebolig med dobbel garasje og fantastisk utsikt! Dette er boligen for deg som ønsker en moderne, funksjonell og arkitekttegnet enebolig og garasje med flott beliggenhet og høy kvalitet!",
        "h1": "Familievennlig arkitekttegnet enebolig med dobbelt garasje og utsikt | Kort innflyttingstid",
        "lang": "no",
        "canonical": "https://www.pk-hus.no/boliger-til-salgs/familievennlig-arkitekttegnet-enebolig-med-dobbelt-garasje-og-utsikt-kort-innflyttingstid-boligen-er-under-oppforing",
        "hreflang": [],
        "words": 859,
        "simhash": "9afc32489ff0ddff",
        "links_internal": [
            "https://www.pk-hus.no/",
            "https://www.pk-hus.no/bygge-hus",
            "https://www.pk-hus.no/katalog",
            "https://www.pk-hus.no/boliger-til-salgs",
            "https://www.pk-hus.no/eiendomskategori/enebolig",
            "https://www.pk-hus.no/eiendomskategori/leiligheter",
            "https://www.pk-hus.no/eiendomskategori/rekkehus",
            "https://www.pk-hus.no/eiendomskategori/tomter",
            "https://www.pk-hus.no/rehabilitering-pabygg-eller-tilbygg",
            "https://www.pk-hus.no/rehabilitering-bad",
            "https://www.pk-hus.no/artikler",
            "https://www.pk-hus.no/galleri",
            "https://www.pk-hus.no/om-oss",
            "https://www.pk-hus.no/hvorfor-velge-oss",
            "https://www.pk-hus.no/ansatte",
            "https://www.pk-hus.no/referanser",
            "https://www.pk-hus.no/kontakt",
            "https://www.pk-hus.no/reklamasjonsskjema",
            "https://www.pk-hus.no/kampestad-boligomrade",
            "https://www.pk-hus.no/klemskvartalet",
            "https://www.pk-hus.no/personvern"
        ],
        "links_external": [
            "https://www.facebook.com/pkhusas",
            "https://www.linkedin.com/company/pk-hus-as/",
            "https://www.instagram.com/pk_hus/",
            "https://www.hornmedia.no",
            "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/6a353bcf5158a7563f13cf92_PKH%20redgj%C3%B8relse%20for%20aktsomhetsvurd%20%20etter%20%C3%85penhetsloven%202025.pdf",
            "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/667d5842bc9863786eac4620_PK-Gruppen_Etiske-retningslinjer-for-leverandorer.pdf",
            "https://cdn.prod.website-files.com/61978d6efad72036b963c79c/685a555e96faccd0150f8153_PK_Gruppen_B%C3%A6rekraftsrapport_2024.pdf"
        ]
    },
    "id": "www.pk-hus.no__20261013-085502-27f872aa3c9dc505"
}