{
    "version": 2,
    "url": "https://ullrutvikling.no/?p=1415",
    "final_url": "https://ullrutvikling.no/?p=1415",
    "redirects": [],
    "mode": "full",
    "language": "no",
    "scanned_at": "2026-10-13T08:32:34+02:00",
    "duration_ms": 2566.41,
    "overall_score": 69.8,
    "category_scores": {
        "bot_access": 98.6,
        "content": 75,
        "technical": 76.7,
        "structured_data": 0,
        "meta": 43.8,
        "performance": 93.8
    },
    "checks": [
        {
            "id": "robots_txt",
            "category": "bot_access",
            "title": "robots.txt",
            "status": "warning",
            "severity": "info",
            "value": "Ingen robots.txt – alle boter har tilgang.",
            "recommendation": "Legg til en robots.txt i roten av domenet. Den gir deg kontroll over hvilke boter som får tilgang, og bør peke til sitemap (Sitemap: https://…/sitemap.xml).",
            "duration_ms": 1683.68,
            "data": []
        },
        {
            "id": "bot_oai_searchbot",
            "category": "bot_access",
            "title": "OAI-SearchBot · OpenAI (ChatGPT search)",
            "status": "pass",
            "severity": "critical",
            "value": "robots.txt: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: ikke testet",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: ikke testet",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: ikke testet",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: ikke testet",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: ikke testet",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: svarer normalt (HTTP 200)",
            "recommendation": null,
            "duration_ms": 1873.45,
            "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: tillatt · server: blokkert (HTTP 403)",
            "recommendation": "Serveren avviser Bytespider selv om robots.txt kan tillate den. Sjekk brannmur/CDN: Cloudflare (Security → Bots / \"Block AI bots\"), Wordfence, Imunify360, ModSecurity eller Plesk-brannmur. Merk: noen brannmurer blokkerer bare falske boter (sjekker IP), så bekreft i brannmurloggen at ekte trafikk fra Bytespider slipper gjennom.",
            "duration_ms": 1873.45,
            "data": {
                "bot": "Bytespider",
                "vendor": "ByteDance",
                "purpose": "training",
                "robots": "allowed",
                "robots_has_own_group": false,
                "server": "blocked",
                "server_detail": "HTTP 403"
            }
        },
        {
            "id": "indexing_directives",
            "category": "bot_access",
            "title": "Indekseringsdirektiver (meta robots / X-Robots-Tag)",
            "status": "pass",
            "severity": "critical",
            "value": "Ingen blokkerende direktiver (<meta name=\"robots\"> = \"max-image-preview:large\").",
            "recommendation": null,
            "duration_ms": 16.01,
            "data": {
                "found": [
                    {
                        "source": "<meta name=\"robots\">",
                        "scope": "*",
                        "directives": [
                            "max-image-preview:large"
                        ]
                    }
                ]
            }
        },
        {
            "id": "sitemap_present",
            "category": "technical",
            "title": "Sitemap",
            "status": "fail",
            "severity": "warning",
            "value": "Fant ingen sitemap (sjekket robots.txt, /sitemap.xml, /sitemap_index.xml og /wp-sitemap.xml).",
            "recommendation": "Lag en XML-sitemap (i WordPress: Yoast/Rank Math, eller innebygd /wp-sitemap.xml) og oppgi den i robots.txt med \"Sitemap: https://…\".",
            "duration_ms": 32.28,
            "data": []
        },
        {
            "id": "tech_https",
            "category": "technical",
            "title": "HTTPS",
            "status": "warning",
            "severity": "info",
            "value": "Siden bruker HTTPS. http:// omdirigeres til https://. Mangler HSTS-header.",
            "recommendation": "HSTS (Strict-Transport-Security) sier til nettleseren at siden alltid skal åpnes med https. Kan slås på under SSL/TLS-sertifikater i Plesk.",
            "duration_ms": 1755.92,
            "data": []
        },
        {
            "id": "tech_host_variant",
            "category": "technical",
            "title": "www / uten www",
            "status": "pass",
            "severity": "warning",
            "value": "www.ullrutvikling.no sendes videre til ullrutvikling.no.",
            "recommendation": null,
            "duration_ms": 1755.92,
            "data": []
        },
        {
            "id": "tech_mixed_content",
            "category": "technical",
            "title": "Blandet innhold",
            "status": "pass",
            "severity": "warning",
            "value": "Ingen ressurser lastes over usikker http.",
            "recommendation": null,
            "duration_ms": 1755.92,
            "data": []
        },
        {
            "id": "tech_viewport",
            "category": "technical",
            "title": "Mobilvisning (viewport)",
            "status": "pass",
            "severity": "critical",
            "value": "viewport=\"width=device-width,initial-scale=1\"",
            "recommendation": null,
            "duration_ms": 1755.92,
            "data": []
        },
        {
            "id": "tech_images_alt",
            "category": "technical",
            "title": "Alt-tekst på bilder",
            "status": "warning",
            "severity": "info",
            "value": "8 bilder: 0 uten alt-attributt, 6 med tom alt (pynt). 6 av bildene med tom alt ser ut som innholdsbilder.",
            "recommendation": "6 bilder fra mediebiblioteket har tom alt (alt=\"\"). Det betyr «ren pynt», men bilder av ansatte, eiendommer og produkter er innhold og bør ha en kort beskrivelse, f.eks. navnet på personen. Legg inn alt-tekst i mediebiblioteket, eller sjekk at temaet faktisk bruker den.",
            "duration_ms": 1755.92,
            "data": {
                "lists": [
                    {
                        "key": "empty_alt_content",
                        "label": "Tom alt, men ser ut som innholdsbilder (6)",
                        "items": [
                            {
                                "url": "https://ullrutvikling.no/wp-content/uploads/2026/08/Reguleringsplan-GNP1-scaled-uai-2560x1440.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://ullrutvikling.no/wp-content/uploads/2026/07/FKN2_02-150x150.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://ullrutvikling.no/wp-content/uploads/2026/07/NK2a_01-150x150.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://ullrutvikling.no/wp-content/uploads/2026/07/N3_03-150x150.jpg",
                                "note": ""
                            },
                            {
                                "url": "https://ullrutvikling.no/wp-content/uploads/2026/08/ullr-scaled.png",
                                "note": "brukt 2 ganger"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "id": "tech_images_dimensions",
            "category": "technical",
            "title": "Bildestørrelse i HTML",
            "status": "pass",
            "severity": "info",
            "value": "0 av 8 bilder mangler width/height.",
            "recommendation": null,
            "duration_ms": 1755.92,
            "data": {
                "lists": []
            }
        },
        {
            "id": "tech_links_internal",
            "category": "technical",
            "title": "Interne lenker",
            "status": "pass",
            "severity": "warning",
            "value": "17 interne og 2 eksterne lenker.",
            "recommendation": null,
            "duration_ms": 1755.92,
            "data": []
        },
        {
            "id": "tech_links_text",
            "category": "technical",
            "title": "Lenketekster",
            "status": "warning",
            "severity": "info",
            "value": "Uklare lenketekster: \"les mer\" ×2. 3 lenker uten tekst.",
            "recommendation": "Lenketeksten forteller søkemotorer og AI hva målsiden handler om. Bruk f.eks. «Se priser på baderom» i stedet for «Les mer». Lenker med bare ikon trenger aria-label.",
            "duration_ms": 1755.92,
            "data": []
        },
        {
            "id": "llms_txt",
            "category": "bot_access",
            "title": "llms.txt",
            "status": "info",
            "severity": "info",
            "value": "llms.txt finnes ikke.",
            "recommendation": "Valgfritt: /llms.txt er et forslag til standard (llmstxt.org) der du oppsummerer nettstedet og lenker til viktigste sider i Markdown. Foreløpig begrenset effekt, men lite arbeid.",
            "duration_ms": 1683.45,
            "data": []
        },
        {
            "id": "content_raw_html",
            "category": "content",
            "title": "Innhold uten JavaScript",
            "status": "warning",
            "severity": "warning",
            "value": "Hovedinnhold: 116 ord (hele siden: 274 ord, tekstandel 1,9 %).",
            "recommendation": "Lite tekst i hovedinnholdet. AI-tjenester siterer sider som svarer konkret og utfyllende på spørsmål – vurder mer beskrivende tekst (tjenester, priser, område, kontaktinfo, FAQ).",
            "duration_ms": 47.89,
            "data": {
                "main_words": 116,
                "all_words": 274,
                "text_ratio": 0.019,
                "spa_signals": []
            }
        },
        {
            "id": "heading_h1_count",
            "category": "content",
            "title": "H1-overskrift",
            "status": "pass",
            "severity": "warning",
            "value": "Én H1: \"Akershus Eiendom er valgt som megler for partnersøk for Ull…\"",
            "recommendation": null,
            "duration_ms": 15.91,
            "data": []
        },
        {
            "id": "heading_order",
            "category": "content",
            "title": "Overskriftshierarki",
            "status": "warning",
            "severity": "info",
            "value": "Hopp i nivå: h2 → h4",
            "recommendation": "Bruk overskriftsnivåene i rekkefølge (H2 under H1, H3 under H2). Det gjør det lettere for AI å dele innholdet i meningsfulle avsnitt.",
            "duration_ms": 15.91,
            "data": []
        },
        {
            "id": "language_html_lang",
            "category": "content",
            "title": "Språk (lang-attributt)",
            "status": "pass",
            "severity": "warning",
            "value": "Språk: nb-NO",
            "recommendation": null,
            "duration_ms": 15.85,
            "data": []
        },
        {
            "id": "language_hreflang",
            "category": "content",
            "title": "hreflang",
            "status": "info",
            "severity": "info",
            "value": "Ingen hreflang (helt greit for nettsteder med ett språk).",
            "recommendation": null,
            "duration_ms": 15.85,
            "data": []
        },
        {
            "id": "content_freshness",
            "category": "content",
            "title": "Oppdateringsdato",
            "status": "warning",
            "severity": "info",
            "value": "Fant ingen dato for publisering eller oppdatering.",
            "recommendation": "Oppgi dateModified/datePublished i JSON-LD (gjøres automatisk av Yoast/Rank Math på innlegg). AI-tjenester foretrekker innhold de kan se er oppdatert.",
            "duration_ms": 16.28,
            "data": []
        },
        {
            "id": "meta_title",
            "category": "meta",
            "title": "Sidetittel (<title>)",
            "status": "warning",
            "severity": "warning",
            "value": "Tittelen er 89 tegn: \"Akershus Eiendom er valgt som megler for partnersøk for Ullr Eiendom på Gardermoen – ULLR\"",
            "recommendation": "Bruk en unik, beskrivende tittel på 10–60 tegn.",
            "duration_ms": 16.54,
            "data": []
        },
        {
            "id": "meta_description",
            "category": "meta",
            "title": "Metabeskrivelse",
            "status": "fail",
            "severity": "critical",
            "value": "Mangler metabeskrivelse.",
            "recommendation": "Skriv en beskrivelse på 50–160 tegn som oppsummerer siden.",
            "duration_ms": 16.54,
            "data": []
        },
        {
            "id": "meta_canonical",
            "category": "meta",
            "title": "Canonical",
            "status": "pass",
            "severity": "warning",
            "value": "Peker til seg selv: https://ullrutvikling.no/?p=1415",
            "recommendation": null,
            "duration_ms": 16.54,
            "data": []
        },
        {
            "id": "meta_og_tags",
            "category": "meta",
            "title": "Open Graph",
            "status": "warning",
            "severity": "info",
            "value": "Mangler: og:title, og:description, og:image",
            "recommendation": "Legg til Open Graph-tagger. De brukes ved deling og av mange AI-agenter som henter forhåndsvisning.",
            "duration_ms": 16.54,
            "data": []
        },
        {
            "id": "schema_org_present",
            "category": "structured_data",
            "title": "JSON-LD",
            "status": "fail",
            "severity": "critical",
            "value": "Ingen JSON-LD på siden.",
            "recommendation": "Legg til strukturerte data, minst Organization (eller LocalBusiness) og WebSite. Yoast/Rank Math gjør det meste automatisk når firmainfo er fylt ut.",
            "duration_ms": 0.02,
            "data": []
        },
        {
            "id": "performance_response_time",
            "category": "performance",
            "title": "Responstid",
            "status": "pass",
            "severity": "critical",
            "value": "Serveren svarte på 382 ms.",
            "recommendation": null,
            "duration_ms": 16.11,
            "data": []
        },
        {
            "id": "performance_html_size",
            "category": "performance",
            "title": "HTML-størrelse",
            "status": "pass",
            "severity": "warning",
            "value": "HTML: 92,2 KB",
            "recommendation": null,
            "duration_ms": 16.11,
            "data": []
        },
        {
            "id": "performance_compression",
            "category": "performance",
            "title": "Komprimering",
            "status": "pass",
            "severity": "warning",
            "value": "Komprimert med gzip.",
            "recommendation": null,
            "duration_ms": 16.11,
            "data": []
        },
        {
            "id": "performance_resource_count",
            "category": "performance",
            "title": "Antall ressurser",
            "status": "warning",
            "severity": "info",
            "value": "24 ressurser: 12 JS, 5 CSS og 7 bilder (2 av bildene lastes først ved scrolling). 22 hentes ved første visning.",
            "recommendation": "12 JavaScript-filer, hvorav 12 blokkerer visningen (uten async/defer). Fjern tillegg som ikke brukes, og slå sammen/utsett skript (f.eks. med LiteSpeed Cache, WP Rocket eller Autoptimize).",
            "duration_ms": 16.11,
            "data": {
                "js": 12,
                "js_blocking": 12,
                "css": 5,
                "images_eager": 5,
                "images_lazy": 2,
                "initial": 22
            }
        }
    ],
    "page_meta": {
        "title": "Akershus Eiendom er valgt som megler for partnersøk for Ullr Eiendom på Gardermoen – ULLR",
        "description": "",
        "h1": "Akershus Eiendom er valgt som megler for partnersøk for Ullr Eiendom på Gardermoen",
        "lang": "nb-NO",
        "canonical": "https://ullrutvikling.no/?p=1415",
        "hreflang": [],
        "words": 116,
        "simhash": "0d20232208d7a2d8",
        "links_internal": [
            "https://ullrutvikling.no/",
            "https://ullrutvikling.no/?page_id=81",
            "https://ullrutvikling.no/?page_id=79",
            "https://ullrutvikling.no/?page_id=83",
            "https://ullrutvikling.no/wp-content/uploads/2026/07/FKN2_02.jpg",
            "https://ullrutvikling.no/wp-content/uploads/2026/07/NK2a_01.jpg",
            "https://ullrutvikling.no/wp-content/uploads/2026/07/N3_03.jpg",
            "https://ullrutvikling.no/?p=1634",
            "https://ullrutvikling.no/?p=1417"
        ],
        "links_external": [
            "https://wonderful-roentgen.65-21-190-2.plesk.page/?page_id=81",
            "https://ohmy.no/"
        ]
    },
    "id": "ullrutvikling.no__20261013-083234-14850cf89d0df6d8"
}