SEO Report: dmtc.ac.th
Generated 8 de maio de 2026 · 43 findings · 7.0s
Institutional websites prioritize accessibility, security, and proper indexing — citizens and stakeholders need easy access to relevant information.
Score Breakdown
Average General score: 50
Score Projection
Estimated improvement based on the findings in this report
Ready to improve your SEO?
Start a free trial and see how your score can improve.
Module Breakdown
All Findings (38)
Critical (3)
- 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
- highcrawl budget
Crawl traps detected
Found 57 URLs with pagination/faceted navigation patterns
Use rel=nofollow, URL parameters in GSC, or robots.txt to prevent crawlers from following these patterns
- highreputation
Missing AggregateRating in schema
Found Organization schema without AggregateRating — missing rich snippet opportunity
Add aggregateRating with ratingValue, ratingCount, and bestRating to your structured data for star ratings in search results
Medium (17)
- mediumdns
Missing SPF record
No SPF TXT record found. Email spoofing is possible.
Add a TXT record with v=spf1 policy
- 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
- mediumstructured data
Missing @type in schema
A structured data object has no @type
Add a @type property (e.g. Organization, WebSite)
- mediumrobots
No User-agent directive
robots.txt has no User-agent directive
Add User-agent: * to apply rules to all crawlers
- 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
14 scripts load synchronously without async/defer
Add async or defer to non-critical scripts to improve page load speed
- mediumtechnology
Mixed content detected
9 resources loaded over HTTP on an HTTPS page
Update all resource URLs to use HTTPS
- mediumcontent
Multiple H1 tags
Found 4 H1 tags (recommended: exactly 1)
Use only one H1 per page; use H2-H6 for subsections
- mediumcontent
External links without noopener
1 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- 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
- mediumlog analyzer
Exposed /wp-login.php
/wp-login.php is accessible (HTTP 200) — CMS admin panel is publicly visible
Restrict access to admin panels via IP whitelisting or authentication
- mediumreputation
No review platform links found
No links to Trustpilot, Google Business, TripAdvisor, Yelp, G2, Capterra, or Glassdoor detected on the homepage
Add links to your review profiles to build trust signals and improve local SEO
- mediumreputation
LocalBusiness missing "address"
LocalBusiness/Organization schema found but "address" is not set
Add "address" to your LocalBusiness schema for better local search visibility
- mediumreputation
LocalBusiness missing "telephone"
LocalBusiness/Organization schema found but "telephone" is not set
Add "telephone" to your LocalBusiness schema for better local search visibility
- mediumreputation
LocalBusiness missing "openingHours"
LocalBusiness/Organization schema found but "openingHours" is not set
Add "openingHours" to your LocalBusiness schema for better local search visibility
- mediumreputation
LocalBusiness missing "geo"
LocalBusiness/Organization schema found but "geo" is not set
Add "geo" to your LocalBusiness schema for better local search visibility
- mediumreputation
LocalBusiness missing "priceRange"
LocalBusiness/Organization schema found but "priceRange" is not set
Add "priceRange" to your LocalBusiness schema for better local search visibility
Low (18)
- 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
DMARC reporting not configured
DMARC record does not have a rua= tag for aggregate reports.
Add rua=mailto:[email protected] to receive DMARC reports
- 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
- 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
- lowsitemap
Sitemap not updated recently
Newest lastmod is 2025-11-24T06:08:26+00:00 (165 days ago)
Keep sitemap lastmod dates current
- lowtechnology
Many external CSS files
11 external stylesheets loaded
Consider bundling CSS files to reduce HTTP requests
- lowtechnology
Many third-party domains
25 external domains — may impact performance and privacy
Reduce third-party dependencies or self-host critical resources
- lowcontent
Low text-to-HTML ratio
Text/HTML ratio is 4% (recommended: >5%)
Consider adding more descriptive text content
- lowcontent
Empty anchor links
23 links point to "#" or "javascript:void(0)"
Use proper URLs or button elements instead of empty anchors
- lowcontent
Lazy images without dimensions
8 lazy-loaded images lack width/height — causes layout shift
Add width and height attributes to lazy-loaded images
- 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 web app manifest
No manifest.json linked — PWA features unavailable
Add a web app manifest for installability and brand customization
- lowpage experience
Popup elements detected
Found 1 popup/overlay element(s) — likely consent banners
Ensure popups don't cover main content excessively, especially on mobile
- lowpage experience
No resource hints
No preload or preconnect hints found
Add preload for critical resources and preconnect for important third-party origins
- lowlog analyzer
Soft 404 response
Non-existent pages return HTTP 200 instead of 404
Return proper 404 status codes for non-existent pages
- lowreputation
Only 0 sameAs entries
Found 0 sameAs URLs across all JSON-LD entities — search engines use sameAs to verify brand identity
Add sameAs URLs for all your social profiles, Wikipedia page, and business directory listings (aim for 3+)
AI Fix Prompt
Copy this prompt into ChatGPT or Claude to get step-by-step fix instructions
Fix all SEO issues found in the audit of dmtc.ac.th.
Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.
```json
{
"domain": "dmtc.ac.th",
"scores": {
"overall": 88,
"performance": 0,
"seo": 85,
"accessibility": 100,
"bestPractices": 88,
"security": 84
},
"findings": [
{
"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": "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": "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": "robots",
"severity": "medium",
"title": "No User-agent directive",
"description": "robots.txt has no User-agent directive",
"recommendation": "Add User-agent: * to apply rules to all crawlers"
},
{
"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": "14 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": "9 resources loaded over HTTP on an HTTPS page",
"recommendation": "Update all resource URLs to use HTTPS"
},
{
"module": "content",
"severity": "medium",
"title": "Multiple H1 tags",
"description": "Found 4 H1 tags (recommended: exactly 1)",
"recommendation": "Use only one H1 per page; use H2-H6 for subsections"
},
{
"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": "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": "crawl-budget",
"severity": "high",
"title": "Crawl traps detected",
"description": "Found 57 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": "log-analyzer",
"severity": "medium",
"title": "Exposed /wp-login.php",
"description": "/wp-login.php is accessible (HTTP 200) — CMS admin panel is publicly visible",
"recommendation": "Restrict access to admin panels via IP whitelisting or authentication"
},
{
"module": "reputation",
"severity": "medium",
"title": "No review platform links found",
"description": "No links to Trustpilot, Google Business, TripAdvisor, Yelp, G2, Capterra, or Glassdoor detected on the homepage",
"recommendation": "Add links to your review profiles to build trust signals and improve local SEO"
},
{
"module": "reputation",
"severity": "high",
"title": "Missing AggregateRating in schema",
"description": "Found Organization schema without AggregateRating — missing rich snippet opportunity",
"recommendation": "Add aggregateRating with ratingValue, ratingCount, and bestRating to your structured data for star ratings in search results"
},
{
"module": "reputation",
"severity": "medium",
"title": "LocalBusiness missing \"address\"",
"description": "LocalBusiness/Organization schema found but \"address\" is not set",
"recommendation": "Add \"address\" to your LocalBusiness schema for better local search visibility"
},
{
"module": "reputation",
"severity": "medium",
"title": "LocalBusiness missing \"telephone\"",
"description": "LocalBusiness/Organization schema found but \"telephone\" is not set",
"recommendation": "Add \"telephone\" to your LocalBusiness schema for better local search visibility"
},
{
"module": "reputation",
"severity": "medium",
"title": "LocalBusiness missing \"openingHours\"",
"description": "LocalBusiness/Organization schema found but \"openingHours\" is not set",
"recommendation": "Add \"openingHours\" to your LocalBusiness schema for better local search visibility"
},
{
"module": "reputation",
"severity": "medium",
"title": "LocalBusiness missing \"geo\"",
"description": "LocalBusiness/Organization schema found but \"geo\" is not set",
"recommendation": "Add \"geo\" to your LocalBusiness schema for better local search visibility"
},
{
"module": "reputation",
"severity": "medium",
"title": "LocalBusiness missing \"priceRange\"",
"description": "LocalBusiness/Organization schema found but \"priceRange\" is not set",
"recommendation": "Add \"priceRange\" to your LocalBusiness schema for better local search visibility"
}
]
}
```Recommendations for your industry
- 1Ensure WCAG 2.1 AA compliance
- 2Implement all recommended security headers
- 3Ensure sitemap covers all important pages
- 4Optimize page load time to under 2 seconds
- 5Ensure responsive design on all pages
SEO Checklist for General
Tips for Mixed websites
- →Define clear landing pages for each segment
- →Use different meta strategies per page group
- →Segment sitemap by content type