Laporan SEO: theguru.co.kr
Dijana pada 30 April 2026 · 50 penemuan · 4.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 (47)
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
- highmeta
Missing viewport meta
No viewport meta tag found. Mobile rendering will be broken.
Add <meta name="viewport" content="width=device-width, initial-scale=1">
- highpage experience
Missing viewport meta
No viewport meta tag — mobile rendering will be broken
Add <meta name="viewport" content="width=device-width, initial-scale=1">
- highpage experience
Intrusive interstitials detected
Found 9 potential popup/overlay elements
Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties
Medium (23)
- mediumcookies
2 cookies 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 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
- mediumssl
HTTP does not redirect to HTTPS
Port 80 does not redirect to HTTPS
Set up a 301 redirect from HTTP to HTTPS
- mediummeta
Title too short
Title is 3 characters (recommended: 50-60)
Write a more descriptive title (50-60 characters)
- mediummeta
Meta description too short
Description is 52 characters (recommended: 120-160)
Write a more detailed meta description
- 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
No sitemap in robots.txt
robots.txt does not reference a sitemap
Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt
- mediumtechnology
Outdated jQuery version
jQuery 1.3 detected (current: 3.x)
Upgrade to jQuery 3.x or consider removing jQuery dependency
- mediumtechnology
Render-blocking scripts
31 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
5 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- mediummobile
2 small tap targets detected
Some interactive elements may be too small for comfortable tapping
Ensure all tap targets are at least 44x44px with adequate spacing
- mediumaccessibility
Missing main landmark
No <main> element or role="main" found
Wrap primary content in a <main> element for screen reader navigation
- 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
- mediumlayout scan
No landmark elements
No semantic landmarks found (nav, main, header, footer)
Use semantic HTML5 landmarks for better accessibility and SEO
- mediumuptime checker
Inconsistent www handling
Both www and non-www versions respond with 200 — one should redirect to the other
Choose either www or non-www as canonical and redirect the other with a 301
- mediumuptime checker
Soft 404 detected
Non-existent URLs return HTTP 200 instead of 404
Return proper 404 status codes for non-existent pages to avoid indexing junk URLs
- mediumbrand checker
No Organization schema
No Organization JSON-LD found
Add Organization structured data with name, logo, and contact information
- mediumlog analyzer
Exposed /wp-admin
/wp-admin is accessible (HTTP 200) — CMS admin panel is publicly visible
Restrict access to admin panels via IP whitelisting or authentication
Low (20)
- lowcookies
2 cookies missing HttpOnly flag
Cookies without HttpOnly can be accessed by JavaScript, increasing XSS risk
Add HttpOnly to session and authentication cookies
- lowcookies
2 cookies 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
Remove or obfuscate the Server header to reduce information leakage
- lowsitemap
No lastmod dates
Sitemap URLs don't include lastmod timestamps
Add <lastmod> to help search engines prioritize crawling
- lowtechnology
Many inline scripts
16 inline <script> blocks found
Move inline scripts to external files for caching and CSP compliance
- lowcontent
Heading level skipped
H6 follows H2 (skipped H3)
Maintain sequential heading hierarchy without skipping levels
- lowcontent
Empty anchor links
19 links point to "#" or "javascript:void(0)"
Use proper URLs or button elements instead of empty anchors
- 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
- 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
- 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
113 images without lazy loading
Add loading="lazy" to below-the-fold images for faster initial page load
- lowlog analyzer
Soft 404 response
Non-existent pages return HTTP 200 instead of 404
Return proper 404 status codes for non-existent pages
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 theguru.co.kr.
Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.
```json
{
"domain": "theguru.co.kr",
"scores": {
"overall": 75,
"performance": 0,
"seo": 79,
"accessibility": 89,
"bestPractices": 74,
"security": 63
},
"findings": [
{
"module": "cookies",
"severity": "medium",
"title": "2 cookies 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 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": "ssl",
"severity": "medium",
"title": "HTTP does not redirect to HTTPS",
"description": "Port 80 does not redirect to HTTPS",
"recommendation": "Set up a 301 redirect from HTTP to HTTPS"
},
{
"module": "meta",
"severity": "medium",
"title": "Title too short",
"description": "Title is 3 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 52 characters (recommended: 120-160)",
"recommendation": "Write a more detailed meta description"
},
{
"module": "meta",
"severity": "high",
"title": "Missing viewport meta",
"description": "No viewport meta tag found. Mobile rendering will be broken.",
"recommendation": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"
},
{
"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": "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": "Outdated jQuery version",
"description": "jQuery 1.3 detected (current: 3.x)",
"recommendation": "Upgrade to jQuery 3.x or consider removing jQuery dependency"
},
{
"module": "technology",
"severity": "medium",
"title": "Render-blocking scripts",
"description": "31 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": "5 external links with target=\"_blank\" lack rel=\"noopener\"",
"recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
},
{
"module": "mobile",
"severity": "medium",
"title": "2 small tap targets detected",
"description": "Some interactive elements may be too small for comfortable tapping",
"recommendation": "Ensure all tap targets are at least 44x44px with adequate spacing"
},
{
"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": "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": "layout-scan",
"severity": "medium",
"title": "No landmark elements",
"description": "No semantic landmarks found (nav, main, header, footer)",
"recommendation": "Use semantic HTML5 landmarks for better accessibility and SEO"
},
{
"module": "uptime-checker",
"severity": "medium",
"title": "Inconsistent www handling",
"description": "Both www and non-www versions respond with 200 — one should redirect to the other",
"recommendation": "Choose either www or non-www as canonical and redirect the other with a 301"
},
{
"module": "uptime-checker",
"severity": "medium",
"title": "Soft 404 detected",
"description": "Non-existent URLs return HTTP 200 instead of 404",
"recommendation": "Return proper 404 status codes for non-existent pages to avoid indexing junk URLs"
},
{
"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": "Missing viewport meta",
"description": "No viewport meta tag — mobile rendering will be broken",
"recommendation": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"
},
{
"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": "log-analyzer",
"severity": "medium",
"title": "Exposed /wp-admin",
"description": "/wp-admin is accessible (HTTP 200) — CMS admin panel is publicly visible",
"recommendation": "Restrict access to admin panels via IP whitelisting or authentication"
}
]
}
```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