{"shared_score":{"domain":"sallinggroup.com","geo_score":62.8,"letter_grade":"D","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":0,"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":30,"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":32,"prompt":"Fix page metadata:\n  1. Ensure exactly ONE <h1> per page\n  2. Title tag: 10-70 characters, include primary keyword\n  3. Meta description: 120-160 characters, include call to action\n  4. Use H2-H4 for subheadings — never skip levels","dimension":"Basic Page Signals","dimension_id":"basic_page_signals","customer_summary":{"why":"Sidernes titler og overskrifter er det første, både Google og AI læser. Er de uklare eller mangler, bliver du sværere at finde og anbefale.","what":"Giv hver side én tydelig hovedoverskrift og en sigende titel. Det kan de fleste selv rette i deres website-system (fx WordPress).","title":"Ryd op i sidernes titler og overskrifter","tech_details":"Fix page metadata:\n  1. Ensure exactly ONE <h1> per page\n  2. Title tag: 10-70 characters, include primary keyword\n  3. Meta description: 120-160 characters, include call to action\n  4. Use H2-H4 for subheadings — never skip levels"}},{"icon":"💬","score":55,"prompt":"Improve content structure for AI extraction:\n  1. Keep paragraphs 40-60 words — no text walls >100 words\n  2. Put the core answer in the first 60 words (BLUF)\n  3. Use tables for comparative data\n  4. Add stats, numbers, prices (factual density)\n  5. Use bold for key terms — guides AI attention\n  6. Brug 'Answer-First'-mønster: placer et 40-60 ord svar DIREKTE under hver spørgende H2/H3\n  7. Optimal RAG passage-længde: 134-167 ord — den semantiske sweet spot for AI-ekstraktion","dimension":"Content Citability","dimension_id":"content_citability","customer_summary":{"why":"AI-tjenester foretrækker korte afsnit, klare svar og konkrete tal. Lange tekstvægge bliver sprunget over — og så citerer AI konkurrenten i stedet.","what":"Del lange afsnit op, start hvert emne med selve svaret, og tilføj tal og priser hvor det giver mening. Vi kan også generere optimeret indhold for dig.","title":"Gør dine tekster nemmere for AI at citere","tech_details":"Improve content structure for AI extraction:\n  1. Keep paragraphs 40-60 words — no text walls >100 words\n  2. Put the core answer in the first 60 words (BLUF)\n  3. Use tables for comparative data\n  4. Add stats, numbers, prices (factual density)\n  5. Use bold for key terms — guides AI attention\n  6. Brug 'Answer-First'-mønster: placer et 40-60 ord svar DIREKTE under hver spørgende H2/H3\n  7. Optimal RAG passage-længde: 134-167 ord — den semantiske sweet spot for AI-ekstraktion"}}],"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":0,"issues":["Ingen JSON-LD structured data fundet"],"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":false,"score":32,"issues":["Ingen H1-overskrift fundet — H1 er kritisk for AI-entitetsgenkendelse","Overskiftshierarki springer niveauer over (f.eks. H2→H4)","Ingen canonical-tag fundet — fortæller søgemaskiner og AI hvilken udgave af siden der er den rigtige","Manglende Open Graph / Social Sharing tags — AI-crawlere (Perplexity, ChatGPT plugins) bruger og:title og og:description til entitetsgenkendelse og uddrag. Mangler: Mangler og:image meta-tag, Mangler twitter:card/twitter:title meta-tags"],"weight":7,"fix_prompt":"Fix page metadata:\n  1. Ensure exactly ONE <h1> per page\n  2. Title tag: 10-70 characters, include primary keyword\n  3. Meta description: 120-160 characters, include call to action\n  4. Use H2-H4 for subheadings — never skip levels"},{"id":"content_citability","icon":"💬","name":"Content Citability","pass":false,"score":55,"issues":["BLUF (Bottom Line Up Front) mangler — kernen bør stå i første 60 ord","Kun 0/12 overskrifter er spørgsmål (0%) — anbefal 10%+","Få fremhævede nøglebegreber — fed tekst guider AI-opmærksomhed"],"weight":8,"fix_prompt":"Improve content structure for AI extraction:\n  1. Keep paragraphs 40-60 words — no text walls >100 words\n  2. Put the core answer in the first 60 words (BLUF)\n  3. Use tables for comparative data\n  4. Add stats, numbers, prices (factual density)\n  5. Use bold for key terms — guides AI attention\n  6. Brug 'Answer-First'-mønster: placer et 40-60 ord svar DIREKTE under hver spørgende H2/H3\n  7. Optimal RAG passage-længde: 134-167 ord — den semantiske sweet spot for AI-ekstraktion"},{"id":"brand_entity","icon":"🏷️","name":"Brand Entity","pass":true,"score":65,"issues":["Ingen Wikipedia-side — højt signal for AI-autoritet","Ingen Wikidata-entry — mindre entitets-genkendelse i AI"],"weight":8,"fix_prompt":null},{"id":"security","icon":"🔒","name":"Security","pass":false,"score":60,"issues":["Mangler X-Content-Type-Options: nosniff header","Mangler X-Frame-Options header","Mangler Strict-Transport-Security header (HSTS) — anbefales til AI-crawlere"],"weight":5,"fix_prompt":"Fix security issues:\n  1. Install SSL certificate (HTTPS)\n  2. Redirect HTTP → HTTPS (301 redirect)\n  3. Add security headers: X-Content-Type-Options, X-Frame-Options\n  4. Use HSTS header: Strict-Transport-Security: max-age=31536000; includeSubDomains\n  5. Use CORS: Access-Control-Allow-Origin for API endpoints"},{"id":"performance","icon":"⚡","name":"Performance","pass":true,"score":100,"issues":[],"weight":6,"fix_prompt":null,"perf_source":"field","core_web_vitals":{"scope":"url","history":{"CLS":{"last":{"p75":0.0,"period_end":"2026-10-03"},"delta":0.0,"first":{"p75":0.0,"period_end":"2026-04-18"},"trend":"stable","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.0,"period_end":"2026-06-13"},{"p75":0.0,"period_end":"2026-06-20"},{"p75":0.0,"period_end":"2026-06-27"},{"p75":0.0,"period_end":"2026-07-04"},{"p75":0.0,"period_end":"2026-07-11"},{"p75":0.0,"period_end":"2026-07-18"},{"p75":0.0,"period_end":"2026-07-25"},{"p75":0.0,"period_end":"2026-08-01"},{"p75":0.0,"period_end":"2026-08-08"},{"p75":0.0,"period_end":"2026-08-15"},{"p75":0.0,"period_end":"2026-08-22"},{"p75":0.0,"period_end":"2026-08-29"},{"p75":0.0,"period_end":"2026-09-05"},{"p75":0.0,"period_end":"2026-09-12"},{"p75":0.0,"period_end":"2026-09-19"},{"p75":0.0,"period_end":"2026-09-26"},{"p75":0.0,"period_end":"2026-10-03"}]},"INP":{"last":{"p75":104,"period_end":"2026-10-03"},"delta":1,"first":{"p75":103,"period_end":"2026-04-18"},"trend":"stable","weeks":25,"points":[{"p75":103,"period_end":"2026-04-18"},{"p75":104,"period_end":"2026-04-25"},{"p75":105,"period_end":"2026-05-02"},{"p75":106,"period_end":"2026-05-09"},{"p75":108,"period_end":"2026-05-16"},{"p75":109,"period_end":"2026-05-23"},{"p75":111,"period_end":"2026-05-30"},{"p75":112,"period_end":"2026-06-06"},{"p75":112,"period_end":"2026-06-13"},{"p75":112,"period_end":"2026-06-20"},{"p75":112,"period_end":"2026-06-27"},{"p75":113,"period_end":"2026-07-04"},{"p75":112,"period_end":"2026-07-11"},{"p75":111,"period_end":"2026-07-18"},{"p75":112,"period_end":"2026-07-25"},{"p75":108,"period_end":"2026-08-01"},{"p75":108,"period_end":"2026-08-08"},{"p75":107,"period_end":"2026-08-15"},{"p75":105,"period_end":"2026-08-22"},{"p75":106,"period_end":"2026-08-29"},{"p75":104,"period_end":"2026-09-05"},{"p75":104,"period_end":"2026-09-12"},{"p75":104,"period_end":"2026-09-19"},{"p75":103,"period_end":"2026-09-26"},{"p75":104,"period_end":"2026-10-03"}]},"LCP":{"last":{"p75":1546,"period_end":"2026-10-03"},"delta":100,"first":{"p75":1446,"period_end":"2026-04-18"},"trend":"worsened","weeks":25,"points":[{"p75":1446,"period_end":"2026-04-18"},{"p75":1427,"period_end":"2026-04-25"},{"p75":1426,"period_end":"2026-05-02"},{"p75":1470,"period_end":"2026-05-09"},{"p75":1472,"period_end":"2026-05-16"},{"p75":1482,"period_end":"2026-05-23"},{"p75":1482,"period_end":"2026-05-30"},{"p75":1511,"period_end":"2026-06-06"},{"p75":1535,"period_end":"2026-06-13"},{"p75":1553,"period_end":"2026-06-20"},{"p75":1585,"period_end":"2026-06-27"},{"p75":1617,"period_end":"2026-07-04"},{"p75":1706,"period_end":"2026-07-11"},{"p75":1785,"period_end":"2026-07-18"},{"p75":1803,"period_end":"2026-07-25"},{"p75":1782,"period_end":"2026-08-01"},{"p75":1700,"period_end":"2026-08-08"},{"p75":1645,"period_end":"2026-08-15"},{"p75":1631,"period_end":"2026-08-22"},{"p75":1569,"period_end":"2026-08-29"},{"p75":1522,"period_end":"2026-09-05"},{"p75":1494,"period_end":"2026-09-12"},{"p75":1461,"period_end":"2026-09-19"},{"p75":1493,"period_end":"2026-09-26"},{"p75":1546,"period_end":"2026-10-03"}]}},"metrics":{"CLS":{"p75":0.0,"unit":"","rating":"good","good_threshold":0.1},"INP":{"p75":100,"unit":"ms","rating":"good","good_threshold":200},"LCP":{"p75":1276,"unit":"ms","rating":"good","good_threshold":2500}},"complete":true,"assessment":"pass","metrics_available":["CLS","INP","LCP"]}},{"id":"mobile_adaptation","icon":"📱","name":"Mobile Adaptation","pass":true,"score":85,"issues":["299 faste pixel-bredder fundet — brug responsive enheder (%, rem)"],"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":62,"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":65,"issues":["Ingen FAQ-/spørgsmålssektion fundet på forsiden — de citerede sider besvarer typisk kundernes spørgsmål direkte i teksten","Få spørgsmål-svar mønstre — AI citerer ofte direkte svar","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":30,"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","Mangler BreadcrumbList schema — strukturerer sidestien for AI","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":70,"issues":["Moderat empirisk tæthed (5 af 43 sætninger med konkrete tal). Mål: mindst 1 empirisk udsagn per ~8 sætninger","2 sætninger 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","Lav teknisk forklaringsdybde (0 sætninger forklarer mekanismen bag jeres løsning). AI prioriterer indhold der forklarer HVORDAN frem for HVAD ('vi bruger RAG + vektor-søgning til ...')"],"weight":7,"fix_prompt":null}],"letter_grade":"D","onpage_signals":{"country":null,"title_text":"Salling Group","word_count":1044,"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":false,"internal_links_count":45,"opening_hours_measured":true,"price_questions_measured":false,"unanswered_price_questions":[]},"overall_geo_score":62.8},"dials":{"google":{"score":69,"grade":"D","color":"#d97706"},"ai":{"score":59,"grade":"F","color":"#d97706"}},"created_at":"2026-07-11T17:27:59.396394+00:00"},"share_url":"/geo-score/share/26093424d8ce","viewed_at":"2026-10-14T03:03:27.821919"}