SEO Report: loreal-paris.co.th
Generated 8 Mē 2026 · 38 findings · 8.1s
Service businesses need to dominate local search results with correct NAP data, reviews, and local signals to attract nearby customers.
Score Breakdown
Average Local Business score: 54
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 (33)
Critical (3)
- highheaders
HTTP 404 error
Server returned HTTP 404
Fix the server error to return a 200 status
- highpage experience
Intrusive interstitials detected
Found 3 potential popup/overlay elements
Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties
- 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 (15)
- 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
- mediummeta
Missing og:image
No Open Graph image set. Social shares will lack a preview image.
Add og:image meta tag (1200x630px recommended)
- mediumsitemap
Duplicate URLs in sitemap
7 duplicate URLs found in sitemap
Remove duplicate URLs from the sitemap
- mediumtechnology
Mixed content detected
2 resources loaded over HTTP on an HTTPS page
Update all resource URLs to use HTTPS
- mediumcontent
Very low text-to-HTML ratio
Text/HTML ratio is 1% (recommended: >5%)
Increase meaningful text content relative to HTML markup
- mediumcontent
External links without noopener
5 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- 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
- mediumsocial checker
Missing og:image
No social sharing image set — posts will lack visual appeal
Add og:image meta tag (1200x630px recommended)
- 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 "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
- mediumreputation
LocalBusiness missing "image"
LocalBusiness/Organization schema found but "image" is not set
Add "image" to your LocalBusiness schema for better local search visibility
Low (15)
- 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
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
- lowheaders
Content-Type missing charset
Content-Type header does not specify charset
Add charset=utf-8 to Content-Type header
- lowmeta
Missing og:type
Open Graph type is not set
Add og:type meta tag (e.g., "website", "article")
- lowstructured data
Missing WebSite schema
No WebSite structured data found
Add WebSite schema with SearchAction for sitelinks search box
- lowmobile
Unresponsive images
4 images lack srcset or responsive sizing
Use srcset and sizes attributes for responsive 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
- 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
- lowsocial checker
Missing og:type
Open Graph type is not set
Add og:type meta tag (e.g., "website", "article")
- lowbrand checker
No WebSite schema
No WebSite JSON-LD found
Add WebSite structured data for sitelinks search box in Google
- 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 lazy loading on images
42 images without lazy loading
Add loading="lazy" to below-the-fold images for faster initial page load
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 loreal-paris.co.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": "loreal-paris.co.th",
"scores": {
"overall": 88,
"performance": 0,
"seo": 90,
"accessibility": 92,
"bestPractices": 90,
"security": 82
},
"findings": [
{
"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": "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": "high",
"title": "HTTP 404 error",
"description": "Server returned HTTP 404",
"recommendation": "Fix the server error to return a 200 status"
},
{
"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": "sitemap",
"severity": "medium",
"title": "Duplicate URLs in sitemap",
"description": "7 duplicate URLs found in sitemap",
"recommendation": "Remove duplicate URLs from the sitemap"
},
{
"module": "technology",
"severity": "medium",
"title": "Mixed content detected",
"description": "2 resources loaded over HTTP on an HTTPS page",
"recommendation": "Update all resource URLs to use HTTPS"
},
{
"module": "content",
"severity": "medium",
"title": "Very low text-to-HTML ratio",
"description": "Text/HTML ratio is 1% (recommended: >5%)",
"recommendation": "Increase meaningful text content relative to HTML markup"
},
{
"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": "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": "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": "page-experience",
"severity": "high",
"title": "Intrusive interstitials detected",
"description": "Found 3 potential popup/overlay elements",
"recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
},
{
"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 \"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"
},
{
"module": "reputation",
"severity": "medium",
"title": "LocalBusiness missing \"image\"",
"description": "LocalBusiness/Organization schema found but \"image\" is not set",
"recommendation": "Add \"image\" to your LocalBusiness schema for better local search visibility"
}
]
}
```Recommendations for your industry
- 1Optimize Google Business profile
- 2Add Service/LocalBusiness schema
- 3Integrate customer reviews with Review schema
- 4Ensure consistent NAP data across all pages
- 5Create profiles in local business directories
SEO Checklist for Local Business
Tips for Mixed websites
- →Define clear landing pages for each segment
- →Use different meta strategies per page group
- →Segment sitemap by content type