Laporan SEO: hatelabo.jp
Dijana pada 1 Mei 2026 · 50 penemuan · 3.6s
Laman web institusi mengutamakan kebolehcapaian, keselamatan dan pengindeksan yang betul — rakyat dan pihak berkepentingan memerlukan akses mudah kepada maklumat berkaitan.
Pecahan Skor
Skor purata Umum: 50
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 (48)
Kritikal (4)
- 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 405 error
Server returned HTTP 405
Fix the server error to return a 200 status
- highsitemap
Missing sitemap.xml
No sitemap.xml found at the root
Create a sitemap.xml to help search engines discover all pages
- highcrawl budget
Crawl traps detected
Found 10 URLs with pagination/faceted navigation patterns
Use rel=nofollow, URL parameters in GSC, or robots.txt to prevent crawlers from following these patterns
Medium (24)
- mediumcookies
1 cookie missing Secure flag
Cookies without Secure flag can be sent over unencrypted HTTP connections
Add the Secure attribute to all cookies to prevent transmission over HTTP
- mediumdns
Missing SPF record
No SPF TXT record found. Email spoofing is possible.
Add a TXT record with v=spf1 policy
- mediumdns
Missing DMARC record
No DMARC policy found at _dmarc subdomain.
Add a DMARC TXT record to prevent email spoofing
- mediumdns
No DKIM record found
None of the common DKIM selectors returned a valid key. Email authentication may be incomplete.
Configure DKIM signing with your email provider and publish the public key in DNS
- 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 14 characters (recommended: 50-60)
Write a more descriptive title (50-60 characters)
- mediummeta
Meta description too short
Description is 21 characters (recommended: 120-160)
Write a more detailed meta description
- mediummeta
Missing canonical URL
No canonical link tag found
Add a canonical URL to prevent duplicate content issues
- mediumstructured data
No structured data found
No JSON-LD schemas detected on the page
Add structured data (Organization, WebSite, BreadcrumbList) for rich search results
- mediumrobots
Missing robots.txt
robots.txt returned HTTP 404
Create a robots.txt file to guide search engine crawlers
- mediumtechnology
Mixed content detected
19 resources loaded over HTTP on an HTTPS page
Update all resource URLs to use HTTPS
- mediumcontent
Thin content
Page has only 154 words (recommended: 300+)
Add more meaningful content — aim for at least 300 words on key pages
- mediumcontent
External links without noopener
8 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
- mediummobile
Zoom disabled
Viewport prevents user zoom — accessibility issue
Remove maximum-scale=1 and user-scalable=no to allow pinch-to-zoom
- 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
- 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
- mediumbrand checker
No Organization schema
No Organization JSON-LD found
Add Organization structured data with name, logo, and contact information
- mediumcrawl budget
No sitemap.xml found
sitemap.xml returned HTTP 404
Create a sitemap.xml to help search engines discover all pages
- mediumindexing checker
Missing canonical URL
No canonical link tag found — search engines may index duplicate versions
Add a self-referencing canonical URL to prevent duplicate content issues
- mediumlog analyzer
Server version exposed
Server header reveals version: nginx/1.29.7
Remove version numbers from the Server header to reduce attack surface
Low (20)
- 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
- lowdns
No IPv6 (AAAA) records
The domain has no AAAA records for IPv6 connectivity
Add AAAA DNS records for IPv6 support
- lowdns
Only one MX record (no redundancy)
A single MX record means no failover if the mail server goes down.
Add a secondary MX record for email redundancy
- 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
Server header exposes software
Server: nginx/1.29.7
Remove or obfuscate the Server header to reduce information leakage
- 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
- lowmobile
Unresponsive images
16 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 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
- lownews mentions
No press or news presence
No press pages found on the site and no external news mentions detected
Create a /news or /press page with company updates — this builds authority and earns links
- lowuptime checker
No custom 404 page
The 404 error page appears to be a generic server default
Create a custom 404 page with navigation links and search to retain visitors
- 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
- lowbrand checker
Missing og:site_name
Open Graph site name is not set
Add og:site_name meta tag for consistent social sharing
- lowcrawl budget
No robots.txt found
No robots.txt file — no crawl directives
Add a robots.txt file with sitemap reference and crawl directives
- lowpage experience
No resource hints
No preload or preconnect hints found
Add preload for critical resources and preconnect for important third-party origins
- lowpage experience
No lazy loading on images
124 images without lazy loading
Add loading="lazy" to below-the-fold images for faster initial page load
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 hatelabo.jp.
Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.
```json
{
"domain": "hatelabo.jp",
"scores": {
"overall": 67,
"performance": 0,
"seo": 59,
"accessibility": 81,
"bestPractices": 91,
"security": 60
},
"findings": [
{
"module": "cookies",
"severity": "medium",
"title": "1 cookie missing Secure flag",
"description": "Cookies without Secure flag can be sent over unencrypted HTTP connections",
"recommendation": "Add the Secure attribute to all cookies to prevent transmission over HTTP"
},
{
"module": "dns",
"severity": "medium",
"title": "Missing SPF record",
"description": "No SPF TXT record found. Email spoofing is possible.",
"recommendation": "Add a TXT record with v=spf1 policy"
},
{
"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": "dns",
"severity": "medium",
"title": "No DKIM record found",
"description": "None of the common DKIM selectors returned a valid key. Email authentication may be incomplete.",
"recommendation": "Configure DKIM signing with your email provider and publish the public key in DNS"
},
{
"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": "high",
"title": "HTTP 405 error",
"description": "Server returned HTTP 405",
"recommendation": "Fix the server error to return a 200 status"
},
{
"module": "meta",
"severity": "medium",
"title": "Title too short",
"description": "Title is 14 characters (recommended: 50-60)",
"recommendation": "Write a more descriptive title (50-60 characters)"
},
{
"module": "meta",
"severity": "medium",
"title": "Meta description too short",
"description": "Description is 21 characters (recommended: 120-160)",
"recommendation": "Write a more detailed meta description"
},
{
"module": "meta",
"severity": "medium",
"title": "Missing canonical URL",
"description": "No canonical link tag found",
"recommendation": "Add a canonical URL to prevent duplicate content issues"
},
{
"module": "structured-data",
"severity": "medium",
"title": "No structured data found",
"description": "No JSON-LD schemas detected on the page",
"recommendation": "Add structured data (Organization, WebSite, BreadcrumbList) for rich search results"
},
{
"module": "robots",
"severity": "medium",
"title": "Missing robots.txt",
"description": "robots.txt returned HTTP 404",
"recommendation": "Create a robots.txt file to guide search engine crawlers"
},
{
"module": "sitemap",
"severity": "high",
"title": "Missing sitemap.xml",
"description": "No sitemap.xml found at the root",
"recommendation": "Create a sitemap.xml to help search engines discover all pages"
},
{
"module": "technology",
"severity": "medium",
"title": "Mixed content detected",
"description": "19 resources loaded over HTTP on an HTTPS page",
"recommendation": "Update all resource URLs to use HTTPS"
},
{
"module": "content",
"severity": "medium",
"title": "Thin content",
"description": "Page has only 154 words (recommended: 300+)",
"recommendation": "Add more meaningful content — aim for at least 300 words on key pages"
},
{
"module": "content",
"severity": "medium",
"title": "External links without noopener",
"description": "8 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": "mobile",
"severity": "medium",
"title": "Zoom disabled",
"description": "Viewport prevents user zoom — accessibility issue",
"recommendation": "Remove maximum-scale=1 and user-scalable=no to allow pinch-to-zoom"
},
{
"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": "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": "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": "No sitemap.xml found",
"description": "sitemap.xml returned HTTP 404",
"recommendation": "Create a sitemap.xml to help search engines discover all pages"
},
{
"module": "crawl-budget",
"severity": "high",
"title": "Crawl traps detected",
"description": "Found 10 URLs with pagination/faceted navigation patterns",
"recommendation": "Use rel=nofollow, URL parameters in GSC, or robots.txt to prevent crawlers from following these patterns"
},
{
"module": "indexing-checker",
"severity": "medium",
"title": "Missing canonical URL",
"description": "No canonical link tag found — search engines may index duplicate versions",
"recommendation": "Add a self-referencing canonical URL to prevent duplicate content issues"
},
{
"module": "log-analyzer",
"severity": "medium",
"title": "Server version exposed",
"description": "Server header reveals version: nginx/1.29.7",
"recommendation": "Remove version numbers from the Server header to reduce attack surface"
}
]
}
```Cadangan untuk industri anda
- 1Pastikan pematuhan WCAG 2.1 AA
- 2Laksanakan semua pengepala keselamatan yang disyorkan
- 3Pastikan peta laman merangkumi semua halaman penting
- 4Optimumkan masa muat halaman kepada bawah 2 saat
- 5Pastikan reka bentuk responsif pada semua halaman
Senarai Semak SEO untuk Umum
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
Gunakan Ctrl+P / Cmd+P untuk menyimpan sebagai PDF