What you’re not seeing yet
Your 3 sampled pages averaged 63 on mobile performance — we don’t know which of the other 7,940 pages are dragging that median. The full audit scans up to 100 of your most important pages so you can find the templates costing you traffic.
Pages we found but didn’t scan
7-day refund · no questions
6 tasks from this audit
Export to your tracker — bulk via CSV, or one-by-one to Jira or Linear. Check items off as you fix them.
- Critical
Unblock the initial render
Medium effort·Affects 3 pages▸ Description
Why it matters
Largest Contentful Paint is a Google ranking signal. Sites in the slowest quartile of their category see 30–50% less organic search traffic than faster peers.CSS and JavaScript in the critical path delay first paint — visitors stare at a blank screen, and Largest Contentful Paint (a Google ranking signal) suffers.
Expected outcome
~820ms faster load across 3 affected pages.Found on this site
- Render-blocking requests — Est savings of 1,380 ms
- Reduce unused CSS — Est savings of 38 KiB
Seen on: /about, /pricing, /Steps
1. Inline critical above-the-fold CSS and defer the rest.
2. Add async or defer to render-blocking scripts.
3. Preload the LCP image and key fonts so the browser discovers them early.
4. Remove unused CSS rules from above-the-fold stylesheets.Stack-specific
1. Use next/font so fonts do not block render.
2. Avoid importing large global CSS; prefer per-component styles.Affects 3 pages · effort: medium · owner: Frontend
- High
Address accessibility gaps
Small effort·Affects 1 page·Quick win▸ Description
Why it matters
About 15% of users have a disability (WHO). Accessibility gaps both exclude these users and create ADA/EAA compliance risk in the US and EU.Accessibility issues exclude users of assistive technology and create legal exposure (ADA / European Accessibility Act). Many fixes also help SEO.
Steps
1. Give interactive elements and dialogs accessible names (aria-label or visible text).
2. Ensure every meaningful image has descriptive alt text.
3. Check color contrast meets WCAG AA.Affects 1 page · effort: small · owner: Frontend / Design
- Critical
Cut and defer JavaScript
Large effort·Affects 3 pages▸ Description
Why it matters
Heavy JavaScript is the #1 driver of slow mobile sites — 53% of mobile users abandon pages that take longer than 3 seconds to load (Google mobile-speed research).Large scripts block the browser’s main thread, so the page looks loaded but does not respond to taps or clicks. This is the most common cause of a slow mobile experience and directly drives up bounce rate.
Expected outcome
~1.5s faster load across 3 affected pages.Found on this site
- Reduce unused JavaScript — Est savings of 503 KiB
- Minimize main-thread work — 3.7 s
- Reduce JavaScript execution time — 1.9 s
- Legacy JavaScript — Est savings of 26 KiB
Seen on: /about, /pricing, /Steps
1. Audit the bundle to find the largest dependencies (a bundle analyzer or source-map-explorer).
2. Code-split so route- and below-the-fold code loads on demand instead of upfront.
3. Remove or replace heavy third-party scripts; load non-critical ones with async/defer or after first interaction.
4. Drop legacy polyfills and transpilation targets that modern browsers no longer need.Stack-specific
1. Use next/dynamic to lazy-load heavy components.
2. Run @next/bundle-analyzer to find oversized chunks.
3. Set a modern browserslist so Next.js stops shipping legacy transforms.Affects 3 pages · effort: large · owner: Frontend
- Medium
Declare a policy for AI crawlers
Small effort·Affects 1 page·Quick win▸ Description
Why it matters
AI answer engines are a fast-growing discovery channel. Sites they can’t identify a policy for are crawled on the bot’s terms, and sites that block them forfeit citations — both are decisions worth making deliberately.Answer engines like ChatGPT, Perplexity and Claude crawl with named bots (GPTBot, ClaudeBot, Google-Extended…). With no explicit robots.txt rule you have made no decision — you neither invited them in to be cited nor kept them out. Either choice is fine; silence isn’t.
Found on this site
- Unspecified: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Google-Extended, PerplexityBot, Perplexity-User, Applebot-Extended, CCBot
Seen on: /robots.txtSteps
1. Decide whether you want AI answer engines to read and cite your content.
2. Add an explicit Allow or Disallow rule for each major AI bot in robots.txt.
3. If you allow them, make sure your key content is server-rendered so they can actually read it.
4. Re-run the readiness checker to confirm the policy is detected.Copy-paste fix
```
# Allow AI answer engines to read and cite your content:
User-agent: GPTBot
Allow: /User-agent: OAI-SearchBot
Allow: /User-agent: ChatGPT-User
Allow: /User-agent: ClaudeBot
Allow: /User-agent: Claude-User
Allow: /User-agent: Google-Extended
Allow: /User-agent: PerplexityBot
Allow: /User-agent: Perplexity-User
Allow: /User-agent: Applebot-Extended
Allow: /User-agent: CCBot
Allow: /# …or block them from training/crawling instead — pick one:
# (replace "Allow: /" with "Disallow: /" above)
```Affects 1 page · effort: small · owner: SEO / Content
- Medium
Right-size and modernize images
Medium effort·Affects 2 pages▸ Description
Why it matters
Images account for roughly 25% of an average mobile page (HTTP Archive). Every MB of unoptimized images adds 1–2 seconds of mobile load time.Oversized images waste bandwidth and slow the largest element on the page. On mobile connections this is often the single biggest load-time cost.
Found on this site
- Improve image delivery — Est savings of 349 KiB
Seen on: /about, /Steps
1. Serve images at the dimensions they are displayed, with srcset for different screen sizes.
2. Use modern formats (WebP/AVIF) with fallbacks.
3. Lazy-load below-the-fold images.
4. Compress images — aim well under 200 KB for most photos.Stack-specific
1. Use the next/image component — it handles sizing, modern formats and lazy-loading automatically.Affects 2 pages · effort: medium · owner: Frontend / Design
- Medium
Add Schema.org structured data
Medium effort·Affects 2 pages▸ Description
Why it matters
Structured data is a low-risk SEO and AI-visibility win: it doesn’t change your design but materially improves how engines understand and present your pages.Schema.org JSON-LD tells search engines and answer engines what each page is — an Organization, an Article, a Product, an FAQ. Pages with structured data earn richer search results and are easier for LLMs to summarize and cite accurately.
Found on this site
- Present: SoftwareApplication (1)Steps
1. Add an Organization + WebSite schema to your homepage (identity for the whole site).
2. Add BreadcrumbList to section pages so engines understand your hierarchy.
3. Add page-type schema where it fits — Article/BlogPosting on posts, FAQPage on Q&A, Product on product pages.
4. Validate with Google’s Rich Results Test before shipping.Copy-paste fix
```
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "vercel.com",
"url": "https://vercel.com",
"logo": "https://vercel.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/your-company",
"https://twitter.com/your-handle"
]
}
</script>
```Affects 2 pages · effort: medium · owner: SEO / Content