ChillScan
Sample report. This is a real ChillScan Deep Scan of example.com (a public demo domain we don't own or operate), captured once and shown here so you can see everything a paid report includes. Results for your site will differ.Scan your own site →

Sample deep report: example.com

Final URL: https://example.com/HTTP 200Response 97 msHTML 1 KBJS 2 KB (1 files)

Scanned Thu, 15 Oct 2026 21:24:57 GMT

73Overall
62Security
68SEO
100Performance

🤖 Fix prompt for Cursor / Claude / Lovable / Bolt

Open your project in Cursor, Claude Code, Lovable or Bolt, paste this in, and let it work through the list. On WordPress, Shopify or another hosted platform, paste it into any AI assistant for step-by-step settings.

You are a senior engineer helping me get my website/web app launch-ready. A ChillScan scan of https://example.com/ found the issues below. Fix them in this codebase.

Rules:
- Work through them in order (most severe first). For each, find where in the code it originates, make the change, and briefly explain what you changed.
- For any exposed secret: remove it from all client-side code, move the API call into a server-only route/function that reads the key from an environment variable, and remind me to ROTATE the key (removing it from code is not enough — it's already public).
- Security headers: add them in the framework or host config (e.g. next.config.js `headers()`, vercel.json, netlify.toml, _headers, middleware, .htaccess/nginx, or Cloudflare rules) rather than per page. If this is a hosted platform (WordPress, Shopify, Webflow, Squarespace) where I can't edit server config, tell me which settings, plugins or CDN rules to use instead.
- SEO: use the framework's metadata API where available (Next.js `metadata` export, app/robots.ts, app/sitemap.ts).
- Don't break existing functionality; if a fix needs a decision from me (e.g. which domains to allow in the CSP), ask instead of guessing.

Findings:
1. [MEDIUM] No Content-Security-Policy
   Problem: Without a CSP, any injected script (XSS) can run freely and send your users' data anywhere.
   Fix: Add a Content-Security-Policy header. Start with `default-src 'self'` plus the domains you actually load from, or use report-only mode first.

2. [MEDIUM] No HSTS header
   Problem: Browsers may still try plain HTTP first, opening a window for downgrade attacks.
   Fix: Send `Strict-Transport-Security: max-age=63072000; includeSubDomains; preload`.

3. [MEDIUM] Page can be embedded in iframes (clickjacking)
   Problem: No X-Frame-Options or CSP frame-ancestors, so another site could overlay your UI and trick users into clicking.
   Fix: Add `X-Frame-Options: DENY` (or `Content-Security-Policy: frame-ancestors 'self'`).

4. [MEDIUM] Missing meta description
   Problem: Google will improvise a snippet from page text, which usually converts worse.
   Fix: Add `<meta name="description" content="…">` with 70–160 characters.

5. [MEDIUM] Missing Open Graph tags: og:title, og:description, og:image
   Problem: Links shared on X, LinkedIn, Slack, and iMessage will look bare with no preview card.
   Fix: Add og:title, og:description and a 1200×630 og:image (Next.js: `metadata.openGraph`; WordPress: an SEO plugin like Yoast; Shopify: theme social sharing settings).

6. [LOW] Missing X-Content-Type-Options
   Problem: Browsers may MIME-sniff responses into executable types.
   Fix: Add `X-Content-Type-Options: nosniff`.

7. [LOW] Missing Referrer-Policy
   Problem: Full URLs (which may contain tokens or IDs) can leak to third-party sites via the Referer header.
   Fix: Add `Referrer-Policy: strict-origin-when-cross-origin`.

8. [LOW] No <h1> heading in HTML
   Problem: Search engines use the H1 to understand the page topic. (If your page renders only in JS, crawlers may see an empty page.)
   Fix: Add one clear <h1> and consider server-side rendering for key pages.

9. [LOW] No robots.txt
   Problem: Crawlers have no guidance, and you can't point them to your sitemap.
   Fix: Add /robots.txt (Next.js: app/robots.ts) with `Sitemap: https://yourdomain.com/sitemap.xml`.

10. [LOW] No sitemap.xml
   Problem: Search engines discover pages more slowly without a sitemap.
   Fix: Generate /sitemap.xml (Next.js: app/sitemap.ts) and submit it in Google Search Console.

When done, list every file you changed and anything I must do manually (rotate keys, set env vars, DNS/host settings).

Exposed secrets (0)

✓ No issues found.

HTTPS, redirects & cookies (0)

✓ No issues found.

Security headers (6)

mediumSecurity headers

No Content-Security-Policy

Without a CSP, any injected script (XSS) can run freely and send your users' data anywhere.

Fix: Add a Content-Security-Policy header. Start with `default-src 'self'` plus the domains you actually load from, or use report-only mode first.

mediumSecurity headers

No HSTS header

Browsers may still try plain HTTP first, opening a window for downgrade attacks.

Fix: Send `Strict-Transport-Security: max-age=63072000; includeSubDomains; preload`.

mediumSecurity headers

Page can be embedded in iframes (clickjacking)

No X-Frame-Options or CSP frame-ancestors, so another site could overlay your UI and trick users into clicking.

Fix: Add `X-Frame-Options: DENY` (or `Content-Security-Policy: frame-ancestors 'self'`).

lowSecurity headers

Missing X-Content-Type-Options

Browsers may MIME-sniff responses into executable types.

Fix: Add `X-Content-Type-Options: nosniff`.

lowSecurity headers

Missing Referrer-Policy

Full URLs (which may contain tokens or IDs) can leak to third-party sites via the Referer header.

Fix: Add `Referrer-Policy: strict-origin-when-cross-origin`.

infoSecurity headers

Missing Permissions-Policy

You aren't restricting browser features like camera, mic, or geolocation.

Fix: Add e.g. `Permissions-Policy: camera=(), microphone=(), geolocation=()`.

SEO (6)

mediumSEO

Missing meta description

Google will improvise a snippet from page text, which usually converts worse.

Fix: Add `<meta name="description" content="…">` with 70–160 characters.

mediumSEO

Missing Open Graph tags: og:title, og:description, og:image

Links shared on X, LinkedIn, Slack, and iMessage will look bare with no preview card.

Fix: Add og:title, og:description and a 1200×630 og:image (Next.js: `metadata.openGraph`; WordPress: an SEO plugin like Yoast; Shopify: theme social sharing settings).

lowSEO

No <h1> heading in HTML

Search engines use the H1 to understand the page topic. (If your page renders only in JS, crawlers may see an empty page.)

Fix: Add one clear <h1> and consider server-side rendering for key pages.

lowSEO

No robots.txt

Crawlers have no guidance, and you can't point them to your sitemap.

Fix: Add /robots.txt (Next.js: app/robots.ts) with `Sitemap: https://yourdomain.com/sitemap.xml`.

lowSEO

No sitemap.xml

Search engines discover pages more slowly without a sitemap.

Fix: Generate /sitemap.xml (Next.js: app/sitemap.ts) and submit it in Google Search Console.

infoSEO

No canonical URL

Duplicate URLs (with/without www, query params) may split ranking.

Fix: Add `<link rel="canonical" href="https://yourdomain.com/">`.

Performance (1)

infoPerformance

Lightweight page (2 KB, 97ms)

Page weight and response time look healthy.

Fix: Keep an eye on bundle size as you add features.

Scan your site free

Deep Scan $12 one-time · Pricing