Laporan SEO: jfmedier.dk
Dijana pada 28 April 2026 · 36 penemuan · 3.9s
Perniagaan perkhidmatan perlu menguasai hasil carian tempatan dengan data NAP yang tepat, ulasan dan isyarat tempatan untuk menarik pelanggan berdekatan.
Pecahan Skor
Skor purata Perniagaan Tempatan: 54
Unjuran Skor
Anggaran peningkatan berdasarkan penemuan dalam laporan ini
Ready to improve your SEO?
Start a free trial and see how your score can improve.
Pecahan Modul
Semua Penemuan (34)
Kritikal (5)
- highmeta
Missing meta description
No meta description tag found
Add a meta description (120-160 characters)
- 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
3 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 9 potential popup/overlay elements
Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties
- highindexing checker
Canonical points to different domain
Canonical: https://jfm.dk/ points to jfm.dk
Ensure the canonical URL points to the same domain unless cross-domain canonicalization is intended
Medium (17)
- 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
- mediummeta
Title too short
Title is 13 characters (recommended: 50-60)
Write a more descriptive title (50-60 characters)
- mediummeta
Missing og:image
No Open Graph image set. Social shares will lack a preview image.
Add og:image meta tag (1200x630px recommended)
- mediumstructured data
Missing @type in schema
A structured data object has no @type
Add a @type property (e.g. Organization, WebSite)
- mediumsitemap
Sitemap contains foreign URLs
4 URLs belong to other domains
Only include URLs from your own domain in the sitemap
- mediumtechnology
Render-blocking scripts
4 scripts load synchronously without async/defer
Add async or defer to non-critical scripts to improve page load speed
- mediumtechnology
Mixed content detected
1 resources loaded over HTTP on an HTTPS page
Update all resource URLs to use HTTPS
- mediumcontent
External links without noopener
15 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- mediumcontent
Low keyword relevance
Only 0% of title keywords appear in body text
Ensure the page content includes the keywords from the title
- 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
- mediumrate limits
No rate limiting detected
10 rapid requests all succeeded without any rate-limit headers or 429 responses. The site may be vulnerable to abuse.
Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks
- mediumsocial checker
Missing og:description
Open Graph description is not set
Add og:description for better social sharing previews
- mediumsocial checker
Missing og:image
No social sharing image set — posts will lack visual appeal
Add og:image meta tag (1200x630px recommended)
- mediumbrand checker
No Organization schema
No Organization JSON-LD found
Add Organization structured data with name, logo, and contact information
- mediumcrawl budget
Potential crawl traps
Found 1 URLs with faceted/pagination patterns
Consider blocking these URL patterns via robots.txt to preserve crawl budget
Low (12)
- lowdns
No IPv6 (AAAA) records
The domain has no AAAA records for IPv6 connectivity
Add AAAA DNS records for IPv6 support
- 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
Missing og:description
Open Graph description is not set
Add og:description meta tag for social sharing
- 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
- lowmobile
Missing autocomplete attributes
3 form fields lack autocomplete hints
Add autocomplete attributes (email, tel, name) for faster mobile form filling
- lowmobile
Missing inputmode attributes
3 numeric fields lack inputmode hints
Add inputmode="numeric" or "tel" to show the right keyboard
- lowrate limits
No WAF detected
No Web Application Firewall (Cloudflare, AWS, Akamai, Vercel, Sucuri, Fastly) was detected in response headers.
Consider using a WAF to protect against common web attacks (XSS, SQL injection, DDoS)
- lowrate limits
No bot protection detected
No CAPTCHA, challenge page, or bot detection was triggered during rapid requests.
Consider implementing bot protection (e.g., Cloudflare Turnstile, hCaptcha) for sensitive endpoints
- 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
Salin arahan ini ke dalam ChatGPT atau Claude untuk mendapatkan panduan pembaikan langkah demi langkah
Fix all SEO issues found in the audit of jfmedier.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": "jfmedier.dk",
"scores": {
"overall": 79,
"performance": 0,
"seo": 81,
"accessibility": 62,
"bestPractices": 86,
"security": 82
},
"findings": [
{
"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": "meta",
"severity": "medium",
"title": "Title too short",
"description": "Title is 13 characters (recommended: 50-60)",
"recommendation": "Write a more descriptive title (50-60 characters)"
},
{
"module": "meta",
"severity": "high",
"title": "Missing meta description",
"description": "No meta description tag found",
"recommendation": "Add a meta description (120-160 characters)"
},
{
"module": "meta",
"severity": "medium",
"title": "Missing og:image",
"description": "No Open Graph image set. Social shares will lack a preview image.",
"recommendation": "Add og:image meta tag (1200x630px recommended)"
},
{
"module": "structured-data",
"severity": "medium",
"title": "Missing @type in schema",
"description": "A structured data object has no @type",
"recommendation": "Add a @type property (e.g. Organization, WebSite)"
},
{
"module": "sitemap",
"severity": "medium",
"title": "Sitemap contains foreign URLs",
"description": "4 URLs belong to other domains",
"recommendation": "Only include URLs from your own domain in the sitemap"
},
{
"module": "technology",
"severity": "medium",
"title": "Render-blocking scripts",
"description": "4 scripts load synchronously without async/defer",
"recommendation": "Add async or defer to non-critical scripts to improve page load speed"
},
{
"module": "technology",
"severity": "medium",
"title": "Mixed content detected",
"description": "1 resources loaded over HTTP on an HTTPS page",
"recommendation": "Update all resource URLs to use HTTPS"
},
{
"module": "content",
"severity": "medium",
"title": "External links without noopener",
"description": "15 external links with target=\"_blank\" lack rel=\"noopener\"",
"recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
},
{
"module": "content",
"severity": "medium",
"title": "Low keyword relevance",
"description": "Only 0% of title keywords appear in body text",
"recommendation": "Ensure the page content includes the keywords from the title"
},
{
"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": "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": "3 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": "rate-limits",
"severity": "medium",
"title": "No rate limiting detected",
"description": "10 rapid requests all succeeded without any rate-limit headers or 429 responses. The site may be vulnerable to abuse.",
"recommendation": "Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks"
},
{
"module": "social-checker",
"severity": "medium",
"title": "Missing og:description",
"description": "Open Graph description is not set",
"recommendation": "Add og:description for better social sharing previews"
},
{
"module": "social-checker",
"severity": "medium",
"title": "Missing og:image",
"description": "No social sharing image set — posts will lack visual appeal",
"recommendation": "Add og:image meta tag (1200x630px recommended)"
},
{
"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": "crawl-budget",
"severity": "medium",
"title": "Potential crawl traps",
"description": "Found 1 URLs with faceted/pagination patterns",
"recommendation": "Consider blocking these URL patterns via robots.txt to preserve crawl budget"
},
{
"module": "page-experience",
"severity": "high",
"title": "Intrusive interstitials detected",
"description": "Found 9 potential popup/overlay elements",
"recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
},
{
"module": "indexing-checker",
"severity": "high",
"title": "Canonical points to different domain",
"description": "Canonical: https://jfm.dk/ points to jfm.dk",
"recommendation": "Ensure the canonical URL points to the same domain unless cross-domain canonicalization is intended"
}
]
}
```Cadangan untuk industri anda
- 1Optimumkan profil Google Perniagaan
- 2Tambah skema Service/LocalBusiness
- 3Sepadukan ulasan pelanggan dengan skema Review
- 4Pastikan data NAP konsisten di semua halaman
- 5Cipta profil dalam direktori perniagaan tempatan
Senarai Semak SEO untuk Perniagaan Tempatan
Petua untuk laman web Bercampur
- →Tentukan halaman pendaratan yang jelas untuk setiap segmen
- →Gunakan strategi meta yang berbeza bagi setiap kumpulan halaman
- →Segmenkan peta laman mengikut jenis kandungan
Konteks SEO Tempatan
Di Denmark, Google mendominasi dengan syer pasaran 95%+. Beri tumpuan pada carian tempatan dan kualiti bahasa Denmark.
Gunakan Ctrl+P / Cmd+P untuk menyimpan sebagai PDF