| name | seo-review |
| description | Comprehensive SEO, Core Web Vitals, and Semantic HTML review. Use when building
any user-facing page, deploying new routes, or auditing search performance.
Proactively suggest when new pages or dynamic routes are added to the project.
|
| argument-hint | [URL or files to review] |
| disable-model-invocation | true |
SEO & UI Quality Review
Perform a deep technical SEO, Core Web Vitals, and structural review of the provided files or codebase.
The Checklist
1. Technical SEO & Indexability
- Metadata: Are meta tags (
title, description, og:image, og:title) correctly implemented and dynamic? Why: Missing or duplicate metadata causes search engines to generate poor snippets, reducing click-through rates.
- Nuxt:
useHead or useSeoMeta
- Laravel Blade:
@section('meta') or equivalent
- Generic:
<meta> tags in <head>
- Canonicals: Does every indexable page output a
<link rel="canonical" href="..."> tag? Why: Without canonicals, duplicate URLs (query params, trailing slashes, pagination) split ranking signals.
- Robots Directives: Are pagination, internal dashboards, or low-value routes correctly marked with
<meta name="robots" content="noindex, follow">? Why: Indexing internal pages wastes crawl budget and can expose sensitive URLs.
- Sitemap: If a new dynamic route was added, was the sitemap configuration updated? Why: New pages won't be discovered by crawlers without sitemap inclusion.
2. Core Web Vitals & Performance
- Image Optimization: Are images served in modern formats (WebP/AVIF) with responsive
srcset? Why: Unoptimized images are the #1 cause of slow LCP (Largest Contentful Paint).
- Lazy Loading: Are below-the-fold images using
loading="lazy"? Why: Eager-loading all images blocks initial render and wastes bandwidth.
- Layout Shift (CLS): Do dynamic images or client-fetched UI components have explicit
width and height reserves? Why: Missing dimensions cause layout shifts that degrade user experience and CLS score.
- Render Blocking: Are large payloads or heavy scripts blocking the LCP? Why: Render-blocking resources delay the first meaningful paint, increasing bounce rates.
3. Semantic Structure
- Heading Hierarchy: Is there exactly one
<h1> per page? Do subsequent headings follow a strict sequence (<h2> -> <h3> without skipping)? Why: Broken hierarchy confuses screen readers and reduces content comprehension by search engines.
- Semantic Tags: Does the HTML use semantic elements (
<article>, <nav>, <aside>, <main>) instead of pure <div> soup? Why: Semantic HTML enables accessibility tools, improves machine readability, and can trigger rich results.
- Alt Text: Do all user-facing
<img> tags have descriptive alt attributes? Why: Missing alt text fails WCAG compliance and removes images from image search results.
4. GEO (Generative Engine Optimization) Readiness
- AI Crawler Access: Are
robots.txt rules blocking helpful AI crawlers unnecessarily? Why: Blocking AI crawlers prevents your content from appearing in AI-generated answers and summaries.
- LLMs.txt: Is there an
llms.txt file or easily parsable markdown variant available? Why: Structured machine-readable content improves discoverability in AI-powered search.
- Answer Engine Optimization (AEO): Does high-value content answer specific questions clearly and concisely to target Featured Snippets or People Also Ask? Why: Direct answers in structured format are what search engines extract for position-zero results.
5. Schema Markup (JSON-LD)
- Presence: Is JSON-LD implemented for key entities (e.g.,
Article, Product, Organization, LocalBusiness, FAQPage)? Refer to references/schema-templates.md for ready-to-use templates. Why: Schema markup enables rich results (stars, pricing, FAQs) that dramatically improve CTR.
- Validity: Are there missing required fields in the Schema markup? Avoid deprecated types. Why: Invalid schema is silently ignored by search engines — you get zero benefit from broken markup.
6. On-Page SEO & Content Strategy
- Keyword Targeting: Does the page have a clear primary keyword target aligned with the Title, H1, and URL? Why: Keyword misalignment splits ranking signals across topics.
- Search Intent & Depth: Does the content satisfy the user's search intent with sufficient depth? Why: Thin content that doesn't match intent gets demoted in rankings.
- Thin Content & Cannibalization: Is the page competing with other pages for the same keyword? Does it provide unique value over category/tag pages? Why: Internal cannibalization means your own pages fight each other for rankings.
- Internal Linking: Are there descriptive anchor texts linking to important internal pages? Are there any orphan pages? Why: Internal links distribute PageRank and help crawlers discover deep content.
7. Content Quality (E-E-A-T)
- Experience & Expertise: Does the content demonstrate first-hand experience, original insights, or accurate/detailed information? Why: Google's Helpful Content system favors experience-backed content over generic rewrites.
- Authoritativeness & Trustworthiness: Are author credentials or industry credentials visible? Is there transparent business contact info, privacy policies, etc.? Why: Trust signals directly affect ranking for YMYL (Your Money Your Life) content.
Output Contract
Report your findings categorized strictly by impact:
- 🔴 P1 (Critical): Missing canonicals, broken robots.txt, missing metadata on core pages.
- 🟡 P2 (Important): Missing
alt tags, broken heading hierarchy, layout shift risks.
- 🟢 P3 (Consideration): Missing advanced schema, AEO tuning opportunities.
SEO REVIEW SUMMARY
──────────────────
Technical SEO: PASS | FAIL — [one-line summary]
Core Web Vitals: PASS | FAIL — [one-line summary]
Semantic Structure: PASS | FAIL — [one-line summary]
GEO/AEO: PASS | FAIL | N/A — [one-line summary]
Schema Markup: PASS | FAIL | MISSING — [one-line summary]
On-Page SEO: PASS | FAIL — [one-line summary]
E-E-A-T: PASS | FAIL — [one-line summary]
P1 Findings: [count]
P2 Findings: [count]
P3 Findings: [count]
References
- Schema Templates: Ready-to-use JSON-LD boilerplate for Article, Product, Organization, LocalBusiness, FAQPage, BreadcrumbList, and WebSite