{"shared_score":{"domain":"skanska.com","geo_score":76.0,"letter_grade":"C","full_score":{"top_fixes":[{"icon":"📄","score":0,"prompt":"Create an llms.txt file at yourdomain.com/llms.txt.\nFormat:\n  # Domain name\n  > Brief description of your site\n  ## Sections\n  - [Page title](https://domain.com/page): Description of page\n  Full spec: https://llmstxt.org/","dimension":"llms.txt","dimension_id":"llms_txt","customer_summary":{"why":"En lille fil (llms.txt) beskriver dit website for AI-tjenester. De fleste AI-crawlere læser den ikke bredt endnu — robots.txt-adgang og god indholdsstruktur vejer tungere i dag — men filen koster få minutter og gør dig klar, når standarden modnes.","what":"Filen kan laves på få minutter. Bed din webansvarlige lægge den op — eller brug vores generator, som laver den for dig.","title":"Fremtidssikr dit website med en llms.txt-fil","tech_details":"Create an llms.txt file at yourdomain.com/llms.txt.\nFormat:\n  # Domain name\n  > Brief description of your site\n  ## Sections\n  - [Page title](https://domain.com/page): Description of page\n  Full spec: https://llmstxt.org/"}},{"icon":"📊","score":30,"prompt":"Tilføj eller ret JSON-LD structured data på din hjemmeside.\nAnbefalede schema-typer: Organization, LocalBusiness, WebSite, Product (+ SoftwareApplication), Review, FAQPage, Service, BreadcrumbList.\n💡 Platform-forskel: Perplexity har en STRENG parser — ugyldig JSON-LD afvises.\n   ChatGPT tokeniserer JSON-LD som rå tekst og kan læse selv ugyldig markup.\n   → For maksimal synlighed på TVÆRS af alle platforme: altid valid JSON-LD.\nKritiske GSC-pitfalls — tjek disse 5:\n  1. Review.itemReviewed må ALDRIG bruge '@type': 'Service' — Google afviser det.\n     Brug '@type': 'Product' (eller '@id': reference til Product-blokken).\n  2. '@type': ['Organization', 'LocalBusiness'] ARRAYS BRYDER parsers — split i separate blocks.\n  3. SoftwareApplication skal have 'offers' + 'aggregateRating' for Software Apps rich results.\n  4. LocalBusiness skal have 'priceRange' + address.streetAddress (optional, men GSC advarer).\n  5. Article datePublished/dateModified = ISO 8601 med timezone ('+02:00'). author = Person med url.\n  Verificér altid med Google Search Console → Rich Results Test efter ændring.","dimension":"Structured Data","dimension_id":"structured_data","customer_summary":{"why":"Strukturerede data er små 'faktabokse' i din sides kode, som fortæller AI, hvad din virksomhed hedder, hvad I sælger, og hvor I ligger. Uden dem gætter AI — og gætter ofte forkert.","what":"Send den tekniske beskrivelse til din udvikler, eller brug vores schema-generator. Bagefter tjekker vi automatisk, at det virker.","title":"Fortæl AI præcis hvem I er (strukturerede data)","tech_details":"Tilføj eller ret JSON-LD structured data på din hjemmeside.\nAnbefalede schema-typer: Organization, LocalBusiness, WebSite, Product (+ SoftwareApplication), Review, FAQPage, Service, BreadcrumbList.\n💡 Platform-forskel: Perplexity har en STRENG parser — ugyldig JSON-LD afvises.\n   ChatGPT tokeniserer JSON-LD som rå tekst og kan læse selv ugyldig markup.\n   → For maksimal synlighed på TVÆRS af alle platforme: altid valid JSON-LD.\nKritiske GSC-pitfalls — tjek disse 5:\n  1. Review.itemReviewed må ALDRIG bruge '@type': 'Service' — Google afviser det.\n     Brug '@type': 'Product' (eller '@id': reference til Product-blokken).\n  2. '@type': ['Organization', 'LocalBusiness'] ARRAYS BRYDER parsers — split i separate blocks.\n  3. SoftwareApplication skal have 'offers' + 'aggregateRating' for Software Apps rich results.\n  4. LocalBusiness skal have 'priceRange' + address.streetAddress (optional, men GSC advarer).\n  5. Article datePublished/dateModified = ISO 8601 med timezone ('+02:00'). author = Person med url.\n  Verificér altid med Google Search Console → Rich Results Test efter ændring."}},{"icon":"🗂️","score":40,"prompt":"Add missing schema types:\n  1. Organization (required) with @id, sameAs (5+ platforms), knowsAbout\n  2. WebSite — publisher @id link to Organization\n  3. BreadcrumbList — vis sidestien for AI\n  4. FAQPage schema — KUN hvis siden viser en synlig FAQ (opmærkning uden synligt indhold skiller ikke; det gør spørgsmålsformen)\n  5. SoftwareApplication — med featureList for SaaS\n  6. Product schema for pricing pages\n  7. Review schema if you have testimonials\n  8. HowTo schema for 'how it works'-sider","dimension":"Schema Recommendations","dimension_id":"schema_recommendations","customer_summary":{"why":"Dit website mangler nogle af de datatyper, AI bruger til at forstå dine ydelser, anmeldelser og spørgsmål/svar. Jo flere relevante typer, jo oftere bliver du vist.","what":"Send listen over manglende typer til din udvikler, eller brug vores schema-generator til at lave koden.","title":"Tilføj de manglende 'faktabokse' (schema-typer)","tech_details":"Add missing schema types:\n  1. Organization (required) with @id, sameAs (5+ platforms), knowsAbout\n  2. WebSite — publisher @id link to Organization\n  3. BreadcrumbList — vis sidestien for AI\n  4. FAQPage schema — KUN hvis siden viser en synlig FAQ (opmærkning uden synligt indhold skiller ikke; det gør spørgsmålsformen)\n  5. SoftwareApplication — med featureList for SaaS\n  6. Product schema for pricing pages\n  7. Review schema if you have testimonials\n  8. HowTo schema for 'how it works'-sider"}},{"icon":"🔢","score":68,"prompt":"Erstat vage markedsføringspåstande med empiriske data i dit indhold.\nBaseret på KDD'24-studiet (Aggarwal et al., arXiv:2311.09735):\n  1. Udskift superlativ-claims ('markedsleder', 'Danmarks bedste', 'hurtigste') med konkrete tal\n     → 'Vi reducerede kunders time-to-insight fra 3 uger til 4 timer'\n  2. Tilføj resultater fra virkelige kunder/cases — kun tal I selv har målt,\n     og skriv gerne hvornår og hvordan de er målt\n  3. Inkluder specifikke tidshorisonter, priser og målbare effekter\n  4. Anvend 'Technical Justification'-mønster: forklar HVORDAN, ikke bare HVAD\n     → 'Geoa opdager GAB ved at sammenligne Brave Search + Perplexity-svar mod din sideindhold'\n  5. Citér gerne eksterne kilder (studier, analysefirmaer, branchedata)\n     → 'Gartner forudsiger 25% fald i traditionel søgetrafik inden 2026'\nMål: min. 1 empirisk udsagn per 100 ord, max. 1 vagt superlativ per side.","dimension":"Empirical Content Data","dimension_id":"empirical_density","customer_summary":{"why":"AI-søgemaskiner er trænet til at citere indhold med konkrete tal, procenter og case-resultater — og aktivt filtrere vagt markedsføringssprog fra. Er dine tekster fyldt med 'markedsleder' og 'landets bedste' uden beviser, springer AI dem over.","what":"Gå igennem dine vigtigste sider og erstat de vage påstande med reelle tal fra din egen forretning: 'Vi har leveret 240 projekter siden 2018' slår 'landets bedste' hver gang. Brug kun tal du kan dokumentere. Vi kan generere konkrete forslag til dig.","title":"Udskift tomme salgspåstande med konkrete tal","tech_details":"Erstat vage markedsføringspåstande med empiriske data i dit indhold.\nBaseret på KDD'24-studiet (Aggarwal et al., arXiv:2311.09735):\n  1. Udskift superlativ-claims ('markedsleder', 'Danmarks bedste', 'hurtigste') med konkrete tal\n     → 'Vi reducerede kunders time-to-insight fra 3 uger til 4 timer'\n  2. Tilføj resultater fra virkelige kunder/cases — kun tal I selv har målt,\n     og skriv gerne hvornår og hvordan de er målt\n  3. Inkluder specifikke tidshorisonter, priser og målbare effekter\n  4. Anvend 'Technical Justification'-mønster: forklar HVORDAN, ikke bare HVAD\n     → 'Geoa opdager GAB ved at sammenligne Brave Search + Perplexity-svar mod din sideindhold'\n  5. Citér gerne eksterne kilder (studier, analysefirmaer, branchedata)\n     → 'Gartner forudsiger 25% fald i traditionel søgetrafik inden 2026'\nMål: min. 1 empirisk udsagn per 100 ord, max. 1 vagt superlativ per side."}}],"dimensions":[{"id":"ai_crawler_access","icon":"🤖","name":"AI Crawler Accessibility","pass":true,"score":100,"issues":[],"weight":10,"fix_prompt":null},{"id":"server_side_rendering","icon":"🖥️","name":"Server-Side Rendering","pass":true,"score":100,"issues":["Content appears in HTML — SSR friendly ✓"],"weight":6,"fix_prompt":null},{"id":"llms_txt","icon":"📄","name":"llms.txt","pass":false,"score":0,"issues":["Ingen /llms.txt fundet — anbefales stærkt til AI-synlighed. Kald POST /llms-txt/generate/{customer_id} for at generere en automatisk.","Ingen /llms-full.txt — anbefalet supplement til llms.txt med fuld sideindholdsindeks. llms-full.txt øger citering på Claude og ChatGPT ved at give dem adgang til komplet kontekst."],"weight":3,"fix_prompt":"Create an llms.txt file at yourdomain.com/llms.txt.\nFormat:\n  # Domain name\n  > Brief description of your site\n  ## Sections\n  - [Page title](https://domain.com/page): Description of page\n  Full spec: https://llmstxt.org/"},{"id":"structured_data","icon":"📊","name":"Structured Data","pass":false,"score":30,"issues":["Mangler Organization/LocalBusiness schema — vigtigst for AI-entitetsgenkendelse","Mangler WebSite schema — hjælper AI med at identificere hjemmesidens rolle"],"weight":8,"fix_prompt":"Tilføj eller ret JSON-LD structured data på din hjemmeside.\nAnbefalede schema-typer: Organization, LocalBusiness, WebSite, Product (+ SoftwareApplication), Review, FAQPage, Service, BreadcrumbList.\n💡 Platform-forskel: Perplexity har en STRENG parser — ugyldig JSON-LD afvises.\n   ChatGPT tokeniserer JSON-LD som rå tekst og kan læse selv ugyldig markup.\n   → For maksimal synlighed på TVÆRS af alle platforme: altid valid JSON-LD.\nKritiske GSC-pitfalls — tjek disse 5:\n  1. Review.itemReviewed må ALDRIG bruge '@type': 'Service' — Google afviser det.\n     Brug '@type': 'Product' (eller '@id': reference til Product-blokken).\n  2. '@type': ['Organization', 'LocalBusiness'] ARRAYS BRYDER parsers — split i separate blocks.\n  3. SoftwareApplication skal have 'offers' + 'aggregateRating' for Software Apps rich results.\n  4. LocalBusiness skal have 'priceRange' + address.streetAddress (optional, men GSC advarer).\n  5. Article datePublished/dateModified = ISO 8601 med timezone ('+02:00'). author = Person med url.\n  Verificér altid med Google Search Console → Rich Results Test efter ændring."},{"id":"basic_page_signals","icon":"📝","name":"Basic Page Signals","pass":true,"score":100,"issues":[],"weight":7,"fix_prompt":null},{"id":"content_citability","icon":"💬","name":"Content Citability","pass":true,"score":75,"issues":["Kun 0/15 overskrifter er spørgsmål (0%) — anbefal 10%+","Få fremhævede nøglebegreber — fed tekst guider AI-opmærksomhed"],"weight":8,"fix_prompt":null},{"id":"brand_entity","icon":"🏷️","name":"Brand Entity","pass":true,"score":85,"issues":["Intet LinkedIn-link på hjemmesiden"],"weight":8,"fix_prompt":null},{"id":"security","icon":"🔒","name":"Security","pass":true,"score":100,"issues":["Security-headers kunne ikke måles (HTTP 301, bot-beskyttelse) — ikke medregnet"],"weight":5,"fix_prompt":null},{"id":"performance","icon":"⚡","name":"Performance","pass":true,"score":85,"issues":["LCP 3653ms (denne side, rigtige brugere) — for langsom; Googles grænse er 2500ms — og STIGENDE fra 1216ms over 25 uger"],"weight":6,"fix_prompt":null,"perf_source":"field","core_web_vitals":{"scope":"url","history":{"CLS":{"last":{"p75":0.04,"period_end":"2026-10-03"},"delta":0.04,"first":{"p75":0.0,"period_end":"2026-04-18"},"trend":"worsened","weeks":25,"points":[{"p75":0.0,"period_end":"2026-04-18"},{"p75":0.0,"period_end":"2026-04-25"},{"p75":0.0,"period_end":"2026-05-02"},{"p75":0.0,"period_end":"2026-05-09"},{"p75":0.0,"period_end":"2026-05-16"},{"p75":0.0,"period_end":"2026-05-23"},{"p75":0.0,"period_end":"2026-05-30"},{"p75":0.0,"period_end":"2026-06-06"},{"p75":0.03,"period_end":"2026-06-13"},{"p75":0.04,"period_end":"2026-06-20"},{"p75":0.04,"period_end":"2026-06-27"},{"p75":0.04,"period_end":"2026-07-04"},{"p75":0.04,"period_end":"2026-07-11"},{"p75":0.04,"period_end":"2026-07-18"},{"p75":0.04,"period_end":"2026-07-25"},{"p75":0.04,"period_end":"2026-08-01"},{"p75":0.04,"period_end":"2026-08-08"},{"p75":0.04,"period_end":"2026-08-15"},{"p75":0.04,"period_end":"2026-08-22"},{"p75":0.04,"period_end":"2026-08-29"},{"p75":0.04,"period_end":"2026-09-05"},{"p75":0.04,"period_end":"2026-09-12"},{"p75":0.04,"period_end":"2026-09-19"},{"p75":0.04,"period_end":"2026-09-26"},{"p75":0.04,"period_end":"2026-10-03"}]},"INP":{"last":{"p75":160,"period_end":"2026-10-03"},"delta":-2,"first":{"p75":162,"period_end":"2026-04-18"},"trend":"stable","weeks":25,"points":[{"p75":162,"period_end":"2026-04-18"},{"p75":169,"period_end":"2026-04-25"},{"p75":163,"period_end":"2026-05-02"},{"p75":163,"period_end":"2026-05-09"},{"p75":166,"period_end":"2026-05-16"},{"p75":163,"period_end":"2026-05-23"},{"p75":161,"period_end":"2026-05-30"},{"p75":161,"period_end":"2026-06-06"},{"p75":176,"period_end":"2026-06-13"},{"p75":188,"period_end":"2026-06-20"},{"p75":179,"period_end":"2026-06-27"},{"p75":171,"period_end":"2026-07-04"},{"p75":163,"period_end":"2026-07-11"},{"p75":154,"period_end":"2026-07-18"},{"p75":153,"period_end":"2026-07-25"},{"p75":154,"period_end":"2026-08-01"},{"p75":157,"period_end":"2026-08-08"},{"p75":156,"period_end":"2026-08-15"},{"p75":156,"period_end":"2026-08-22"},{"p75":154,"period_end":"2026-08-29"},{"p75":153,"period_end":"2026-09-05"},{"p75":153,"period_end":"2026-09-12"},{"p75":154,"period_end":"2026-09-19"},{"p75":158,"period_end":"2026-09-26"},{"p75":160,"period_end":"2026-10-03"}]},"LCP":{"last":{"p75":2572,"period_end":"2026-10-03"},"delta":1356,"first":{"p75":1216,"period_end":"2026-04-18"},"trend":"worsened","weeks":25,"points":[{"p75":1216,"period_end":"2026-04-18"},{"p75":1156,"period_end":"2026-04-25"},{"p75":1129,"period_end":"2026-05-02"},{"p75":1156,"period_end":"2026-05-09"},{"p75":1383,"period_end":"2026-05-16"},{"p75":1373,"period_end":"2026-05-23"},{"p75":1429,"period_end":"2026-05-30"},{"p75":1206,"period_end":"2026-06-06"},{"p75":3178,"period_end":"2026-06-13"},{"p75":3264,"period_end":"2026-06-20"},{"p75":3289,"period_end":"2026-06-27"},{"p75":3275,"period_end":"2026-07-04"},{"p75":3228,"period_end":"2026-07-11"},{"p75":3212,"period_end":"2026-07-18"},{"p75":3189,"period_end":"2026-07-25"},{"p75":3176,"period_end":"2026-08-01"},{"p75":3169,"period_end":"2026-08-08"},{"p75":3087,"period_end":"2026-08-15"},{"p75":3029,"period_end":"2026-08-22"},{"p75":2948,"period_end":"2026-08-29"},{"p75":2850,"period_end":"2026-09-05"},{"p75":2785,"period_end":"2026-09-12"},{"p75":2709,"period_end":"2026-09-19"},{"p75":2636,"period_end":"2026-09-26"},{"p75":2572,"period_end":"2026-10-03"}]}},"metrics":{"CLS":{"p75":0.02,"unit":"","rating":"good","good_threshold":0.1},"INP":{"p75":168,"unit":"ms","rating":"good","good_threshold":200},"LCP":{"p75":3653,"unit":"ms","rating":"needs_improvement","good_threshold":2500}},"complete":true,"assessment":"fail","metrics_available":["CLS","INP","LCP"]}},{"id":"mobile_adaptation","icon":"📱","name":"Mobile Adaptation","pass":true,"score":100,"issues":[],"weight":6,"fix_prompt":null},{"id":"internal_links","icon":"🔗","name":"Internal Links","pass":true,"score":100,"issues":[],"weight":5,"fix_prompt":null},{"id":"eeat_quality","icon":"⭐","name":"E-E-A-T Content Quality","pass":true,"score":50,"issues":["Moderat E-E-A-T — der er plads til forbedring i flere kategorier"],"weight":7,"fix_prompt":null},{"id":"platform_optimization","icon":"🎯","name":"Platform Optimization","pass":true,"score":80,"issues":["Ingen FAQ-/spørgsmålssektion fundet på forsiden — de citerede sider besvarer typisk kundernes spørgsmål direkte i teksten","Kun 1/2 community-validation signaler fundet — anbefal Trustpilot, G2, cases eller LinkedIn"],"weight":7,"fix_prompt":null},{"id":"schema_recommendations","icon":"🗂️","name":"Schema Recommendations","pass":false,"score":40,"issues":["Mangler Organization/LocalBusiness schema — vigtigst for AI-entitetsgenkendelse","Mangler WebSite schema — hjælper AI med at identificere hjemmesidens rolle","Mangler FAQPage schema — FAQ citeres hyppigt i AI-svar","Ingen sameAs i Organization schema — anfør sociale platforme"],"weight":7,"fix_prompt":"Add missing schema types:\n  1. Organization (required) with @id, sameAs (5+ platforms), knowsAbout\n  2. WebSite — publisher @id link to Organization\n  3. BreadcrumbList — vis sidestien for AI\n  4. FAQPage schema — KUN hvis siden viser en synlig FAQ (opmærkning uden synligt indhold skiller ikke; det gør spørgsmålsformen)\n  5. SoftwareApplication — med featureList for SaaS\n  6. Product schema for pricing pages\n  7. Review schema if you have testimonials\n  8. HowTo schema for 'how it works'-sider"},{"id":"empirical_density","icon":"🔢","name":"Empirical Content Data","pass":true,"score":68,"issues":["Lav empirisk tæthed: kun 1 af 81 sætninger indeholder konkrete tal, procenter eller kvantificerede resultater. At tilføje statistikker var blandt de mest effektive ændringer i KDD'24-studiet (30-40 % på studiets primære synlighedsmål)","1 sætning med vagt superlativ-sprog uden belæg. Overvej at tilføje konkrete tal som understøttelse","Intet konkret case-resultat fundet (fx 'sagsbehandlingstid fra 3 uger til 4 dage'). Kundehistorier med målbare resultater er stærkt citerbart indhold — brug kun tal, I selv har målt, og skriv gerne hvornår"],"weight":7,"fix_prompt":"Erstat vage markedsføringspåstande med empiriske data i dit indhold.\nBaseret på KDD'24-studiet (Aggarwal et al., arXiv:2311.09735):\n  1. Udskift superlativ-claims ('markedsleder', 'Danmarks bedste', 'hurtigste') med konkrete tal\n     → 'Vi reducerede kunders time-to-insight fra 3 uger til 4 timer'\n  2. Tilføj resultater fra virkelige kunder/cases — kun tal I selv har målt,\n     og skriv gerne hvornår og hvordan de er målt\n  3. Inkluder specifikke tidshorisonter, priser og målbare effekter\n  4. Anvend 'Technical Justification'-mønster: forklar HVORDAN, ikke bare HVAD\n     → 'Geoa opdager GAB ved at sammenligne Brave Search + Perplexity-svar mod din sideindhold'\n  5. Citér gerne eksterne kilder (studier, analysefirmaer, branchedata)\n     → 'Gartner forudsiger 25% fald i traditionel søgetrafik inden 2026'\nMål: min. 1 empirisk udsagn per 100 ord, max. 1 vagt superlativ per side."}],"letter_grade":"C","onpage_signals":{"country":null,"title_text":"Building places that move and inspire | Skanska in the US","word_count":2857,"cert_measured":false,"reviews_shown":false,"price_measured":true,"title_measured":true,"cert_terms_found":[],"reviews_measured":true,"has_opening_hours":false,"has_explicit_price":true,"internal_links_count":52,"opening_hours_measured":true,"price_questions_measured":true,"unanswered_price_questions":[]},"overall_geo_score":76.0},"dials":{"google":{"score":89,"grade":"B","color":"#16a34a"},"ai":{"score":67,"grade":"D","color":"#d97706"}},"created_at":"2026-07-11T17:28:19.231317+00:00"},"share_url":"/geo-score/share/5f75eb0ddde4","viewed_at":"2026-10-14T01:56:17.939327"}