Rapport SEO : eatonline.dk
Généré le 28 avril 2026 · 41 constatations · 2.9s
Les sites institutionnels privilégient l'accessibilité, la sécurité et une indexation rigoureuse pour permettre aux citoyens et usagers d'accéder facilement à l'information.
Détail des scores
Score moyen Général : 50
Projection du score
Amélioration estimée sur la base des constatations identifiées dans ce rapport
Prêt à améliorer votre SEO ?
Commencez un essai gratuit et découvrez comment améliorer votre score.
Détail par module
Toutes les constatations (36)
Critique (6)
- highheaders
Missing strict-transport-security
HSTS header is missing. The site may be vulnerable to downgrade attacks.
Add Strict-Transport-Security header with max-age of at least 31536000
- highheaders
HTTP 403 error
Server returned HTTP 403
Fix the server error to return a 200 status
- highssl
SSL certificate not found
Could not retrieve SSL certificate
Ensure the site has a valid SSL certificate installed
- highaccessibility
1 form fields without labels
Form inputs without associated labels are inaccessible
Use <label for="id"> or aria-label on every form field
- highaccessibility
2 buttons without accessible name
Buttons with no text, aria-label, or title are invisible to screen readers
Add visible text or aria-label to all buttons
- highpage experience
Intrusive interstitials detected
Found 22 potential popup/overlay elements
Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties
Moyen (12)
- mediumdns
Missing DMARC record
No DMARC policy found at _dmarc subdomain.
Add a DMARC TXT record to prevent email spoofing
- mediumheaders
Missing content-security-policy
CSP header is missing. The site may be vulnerable to XSS attacks.
Add a Content-Security-Policy header to restrict resource loading
- mediumheaders
Missing x-content-type-options
X-Content-Type-Options is missing. MIME-sniffing attacks are possible.
Add X-Content-Type-Options: nosniff header
- mediumheaders
Missing x-frame-options
X-Frame-Options is missing. The site may be vulnerable to clickjacking.
Add X-Frame-Options: DENY or SAMEORIGIN header
- mediumheaders
CORS allows all origins
Access-Control-Allow-Origin: * allows any website to make requests
Restrict CORS to specific trusted origins if the page handles sensitive data
- mediummeta
Canonical / og:url mismatch
Canonical: https://www.eatonline.dk/ og:url: https://www.eatonline.dk
Ensure canonical URL and og:url match
- mediumrobots
No sitemap in robots.txt
robots.txt does not reference a sitemap
Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt
- mediumtechnology
Render-blocking scripts
27 scripts load synchronously without async/defer
Add async or defer to non-critical scripts to improve page load speed
- mediumcontent
External links without noopener
1 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- mediumaccessibility
Missing main landmark
No <main> element or role="main" found
Wrap primary content in a <main> element for screen reader navigation
- mediumaccessibility
No skip navigation link
No skip-to-content link at the top of the page
Add a visually hidden skip link as the first focusable element
- mediumbrand checker
No Organization schema
No Organization JSON-LD found
Add Organization structured data with name, logo, and contact information
Faible (18)
- lowcookies
1 cookie missing HttpOnly flag
Cookies without HttpOnly can be accessed by JavaScript, increasing XSS risk
Add HttpOnly to session and authentication cookies
- lowcookies
1 cookie missing SameSite attribute
Missing SameSite defaults to Lax in modern browsers but should be explicit
Set SameSite=Strict or SameSite=Lax on all cookies
- lowheaders
Missing referrer-policy
Referrer-Policy is not set. Full URLs may leak to third parties.
Add Referrer-Policy: strict-origin-when-cross-origin
- lowheaders
Missing permissions-policy
Permissions-Policy is missing.
Add Permissions-Policy to restrict browser feature access
- lowheaders
Missing Cache-Control header
No Cache-Control header — browser caching is undefined
Add Cache-Control with appropriate max-age for static and dynamic resources
- lowmeta
Title too long
Title is 153 characters (recommended: 50-60)
Shorten the title to 50-60 characters
- lowstructured data
Missing Organization schema
No Organization or LocalBusiness structured data found
Add Organization schema with name, logo, and contact info
- lowstructured data
Missing WebSite schema
No WebSite structured data found
Add WebSite schema with SearchAction for sitelinks search box
- lowtechnology
Many inline scripts
18 inline <script> blocks found
Move inline scripts to external files for caching and CSP compliance
- lowtechnology
Many external CSS files
17 external stylesheets loaded
Consider bundling CSS files to reduce HTTP requests
- lowcontent
Empty anchor links
6 links point to "#" or "javascript:void(0)"
Use proper URLs or button elements instead of empty anchors
- lowcontent
Lazy images without dimensions
37 lazy-loaded images lack width/height — causes layout shift
Add width and height attributes to lazy-loaded images
- lowmobile
Missing autocomplete attributes
2 form fields lack autocomplete hints
Add autocomplete attributes (email, tel, name) for faster mobile form filling
- lowmobile
Unresponsive images
2 images lack srcset or responsive sizing
Use srcset and sizes attributes for responsive images
- lowaccessibility
Missing navigation landmark
No <nav> element or role="navigation" found
Wrap navigation links in a <nav> element
- lowrate limits
No rate limiting detected
No explicit rate-limit headers or 429 responses detected. Cloudflare WAF provides platform-level protection.
Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks
- lowbrand checker
No WebSite schema
No WebSite JSON-LD found
Add WebSite structured data for sitelinks search box in Google
- lowbrand checker
No web app manifest
No manifest.json linked — PWA features unavailable
Add a web app manifest for installability and brand customization
AI Fix Prompt
Copiez ce prompt dans ChatGPT ou Claude pour obtenir des instructions de correction détaillées étape par étape
Fix all SEO issues found in the audit of eatonline.dk.
Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.
```json
{
"domain": "eatonline.dk",
"scores": {
"overall": 71,
"performance": 0,
"seo": 90,
"accessibility": 51,
"bestPractices": 91,
"security": 54
},
"findings": [
{
"module": "dns",
"severity": "medium",
"title": "Missing DMARC record",
"description": "No DMARC policy found at _dmarc subdomain.",
"recommendation": "Add a DMARC TXT record to prevent email spoofing"
},
{
"module": "headers",
"severity": "high",
"title": "Missing strict-transport-security",
"description": "HSTS header is missing. The site may be vulnerable to downgrade attacks.",
"recommendation": "Add Strict-Transport-Security header with max-age of at least 31536000"
},
{
"module": "headers",
"severity": "medium",
"title": "Missing content-security-policy",
"description": "CSP header is missing. The site may be vulnerable to XSS attacks.",
"recommendation": "Add a Content-Security-Policy header to restrict resource loading"
},
{
"module": "headers",
"severity": "medium",
"title": "Missing x-content-type-options",
"description": "X-Content-Type-Options is missing. MIME-sniffing attacks are possible.",
"recommendation": "Add X-Content-Type-Options: nosniff header"
},
{
"module": "headers",
"severity": "medium",
"title": "Missing x-frame-options",
"description": "X-Frame-Options is missing. The site may be vulnerable to clickjacking.",
"recommendation": "Add X-Frame-Options: DENY or SAMEORIGIN header"
},
{
"module": "headers",
"severity": "medium",
"title": "CORS allows all origins",
"description": "Access-Control-Allow-Origin: * allows any website to make requests",
"recommendation": "Restrict CORS to specific trusted origins if the page handles sensitive data"
},
{
"module": "headers",
"severity": "high",
"title": "HTTP 403 error",
"description": "Server returned HTTP 403",
"recommendation": "Fix the server error to return a 200 status"
},
{
"module": "ssl",
"severity": "high",
"title": "SSL certificate not found",
"description": "Could not retrieve SSL certificate",
"recommendation": "Ensure the site has a valid SSL certificate installed"
},
{
"module": "meta",
"severity": "medium",
"title": "Canonical / og:url mismatch",
"description": "Canonical: https://www.eatonline.dk/\nog:url: https://www.eatonline.dk",
"recommendation": "Ensure canonical URL and og:url match"
},
{
"module": "robots",
"severity": "medium",
"title": "No sitemap in robots.txt",
"description": "robots.txt does not reference a sitemap",
"recommendation": "Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt"
},
{
"module": "technology",
"severity": "medium",
"title": "Render-blocking scripts",
"description": "27 scripts load synchronously without async/defer",
"recommendation": "Add async or defer to non-critical scripts to improve page load speed"
},
{
"module": "content",
"severity": "medium",
"title": "External links without noopener",
"description": "1 external links with target=\"_blank\" lack rel=\"noopener\"",
"recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
},
{
"module": "accessibility",
"severity": "high",
"title": "1 form fields without labels",
"description": "Form inputs without associated labels are inaccessible",
"recommendation": "Use <label for=\"id\"> or aria-label on every form field"
},
{
"module": "accessibility",
"severity": "medium",
"title": "Missing main landmark",
"description": "No <main> element or role=\"main\" found",
"recommendation": "Wrap primary content in a <main> element for screen reader navigation"
},
{
"module": "accessibility",
"severity": "medium",
"title": "No skip navigation link",
"description": "No skip-to-content link at the top of the page",
"recommendation": "Add a visually hidden skip link as the first focusable element"
},
{
"module": "accessibility",
"severity": "high",
"title": "2 buttons without accessible name",
"description": "Buttons with no text, aria-label, or title are invisible to screen readers",
"recommendation": "Add visible text or aria-label to all buttons"
},
{
"module": "brand-checker",
"severity": "medium",
"title": "No Organization schema",
"description": "No Organization JSON-LD found",
"recommendation": "Add Organization structured data with name, logo, and contact information"
},
{
"module": "page-experience",
"severity": "high",
"title": "Intrusive interstitials detected",
"description": "Found 22 potential popup/overlay elements",
"recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
}
]
}
```Recommandations pour votre secteur
- 1Assurer la conformité aux normes d'accessibilité WCAG 2.1 AA
- 2Mettre en place tous les en-têtes de sécurité recommandés
- 3Vérifier que le sitemap couvre toutes les pages clés
- 4Optimiser le temps de chargement des pages à moins de 2 secondes
- 5Garantir un affichage parfaitement responsive sur toutes les pages
Liste de contrôle SEO pour Général
Conseils pour les sites de type Mixte
- →Créez des pages de destination ciblées pour chaque audience
- →Appliquez des métadonnées distinctes par groupe de pages
- →Segmentez votre sitemap par typologie de contenu
Contexte SEO local
Au Danemark, Google domine à plus de 95 %. Misez sur les recherches locales et un danois impeccable.
Utilisez Ctrl+P / Cmd+P pour enregistrer au format PDF