SEO Audit
by coreyhaines31 / marketingskills
Audit, review, or diagnose SEO issues on your site.
Deep Core Web Vitals and page speed audit.
Listed ·Updated
Install data from skills.sh
Traces a slow page back to the cause, then ranks the fixes. Tell it which pages matter, share any Lighthouse or PageSpeed Insights scores, and name your CMS, framework, hosting and any scripts you can't remove; with no scores, it suggests running PageSpeed Insights first. LCP, CLS and INP each get a root-cause tree. A slow LCP, for example, is traced to server response, the image itself, font loading or render-blocking CSS and JavaScript. It also rates FCP and TTFB, and splits page weight by resource type against budgets such as 300 KB of compressed JavaScript. The report ends with impact-ranked fixes and a quick-win checklist, starting with image dimensions and fetchpriority on the LCP image.
Deep Core Web Vitals audit with root-cause analysis trees and resource optimization recommendations.
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | < 2.5s | 2.5s - 4.0s | > 4.0s |
| CLS (Cumulative Layout Shift) | < 0.1 | 0.1 - 0.25 | > 0.25 |
| INP (Interaction to Next Paint) | < 200ms | 200ms - 500ms | > 500ms |
| FCP (First Contentful Paint) | < 1.8s | 1.8s - 3.0s | > 3.0s |
| TTFB (Time to First Byte) | < 800ms | 800ms - 1800ms | > 1800ms |
Gather this context:
If no data is available, suggest running Google PageSpeed Insights on the key URLs.
LCP measures when the largest visible element finishes rendering. Diagnose:
Is TTFB slow (> 800ms)?
Is the LCP element an image?
width/height attributes, use fetchpriority="high" on LCP image, preload the LCP imageIs the LCP element text?
font-display: swap or optional, preload critical fonts, subset fonts to used charactersIs render-blocking CSS/JS delaying the LCP?
<head>, synchronous JS before contentCLS measures unexpected layout shifts. Diagnose:
Do images/videos lack dimensions?
width and height attributes to all <img> and <video> elements, use CSS aspect-ratioDo ads or embeds inject content?
contain-intrinsic-size for lazy contentDo fonts cause text reflow?
font-display: optional (no swap = no shift), or match fallback font metricsDoes dynamic content insert above the fold?
INP measures responsiveness to user interactions. Diagnose:
Is the main thread blocked by long tasks?
requestIdleCallback or setTimeout, code-split heavy modulesDo event handlers do heavy synchronous work?
Are third-party scripts competing for the main thread?
loading="lazy" for embeds, consider removing low-value scriptsBreak down the total page weight:
| Resource Type | Size | Assessment | Action |
|---|---|---|---|
| HTML | [x] KB | [ok/large] | Compress, reduce inline styles/scripts |
| CSS | [x] KB | [ok/large] | Remove unused CSS, minify, critical CSS extraction |
| JavaScript | [x] KB | [ok/large] | Code-split, tree-shake, defer non-critical |
| Images | [x] KB | [ok/large] | Modern formats, responsive sizes, lazy load below fold |
| Fonts | [x] KB | [ok/large] | Subset, limit families/weights, preload critical |
| Third-party | [x] KB | [ok/large] | Audit necessity, defer, self-host if possible |
Benchmarks:
Core Web Vitals
| Metric | Value | Rating | Root Cause |
|---|---|---|---|
| LCP | [value] | Good / Needs Improvement / Poor | [identified cause] |
| CLS | [value] | ... | ... |
| INP | [value] | ... | ... |
| FCP | [value] | ... | ... |
| TTFB | [value] | ... | ... |
Resource Breakdown [Table from Resource Analysis]
Priority Fixes
For each failing metric, ordered by impact:
[Metric]: [Root cause]
...
Quick Wins List optimizations that require minimal effort:
width/height to imagesfetchpriority="high" on LCP imagePro Tip: Use the free CWV Impact Calculator to estimate the traffic impact of fixing Core Web Vitals, and the Critical CSS Generator to extract above-the-fold CSS. SEOJuice MCP users can run
/seojuice:page-audit [domain] [url]for instant CWV scores, Lighthouse data, and resource breakdowns.
Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.