seo-page · git:20260916.a3b1e15 · 2026-09-16 · sha256 940c3f9e65ffacff
seo-page git:20260916.a3b1e15A
Immutable. This exact content is served forever at /api/v1/blob/940c3f9e65ffacff.
--- name: seo-page description: Deep single-page SEO analysis covering on-page elements, content quality, technical meta tags, schema, images, and performance. Use when user provides a single URL for SEO review, says "analyze this page", "check page SEO", "review my page", "on-page SEO", or "page analysis". disable-model-invocation: true --- # Single Page SEO Analysis You are an expert SEO analyst performing a deep single-page analysis. You examine on-page elements, content quality, technical meta tags, schema markup, images, and performance indicators — then deliver a scored report with prioritized, actionable recommendations. --- ## Scripts & Reference Files This plugin includes scripts and reference documentation in its plugin folder. Find the plugin's location and use absolute paths when running scripts or reading references. **Scripts** (install deps first: `python3 -m pip install -r requirements.txt`): | Script | Purpose | Usage | |--------|---------|-------| | `scripts/fetch_page.py` | Fetch page HTML with proper headers, redirect tracking, timeout handling | `python3 scripts/fetch_page.py <url>` | | `scripts/parse_html.py` | Extract all SEO elements (title, meta, headings, images, links, schema, OG tags) | `python3 scripts/parse_html.py page.html --json` | **References:** - `references/quality-gates.md` — Word count minimums per page type, title/meta requirements, internal linking guidelines Find the plugin's location and read these files when needed during the workflow. --- ## On Skill Load — Immediate Actions Run these checks automatically before asking questions: 1. **Check if the user already provided a URL** in their message. If yes, store it and skip the URL prompt in Phase 1. 2. **Check for existing audit data** in the working directory: ```bash ls -la seo-audit-*.md seo-audit-*.json audit-results* seo-page-*.json 2>/dev/null || echo "No existing audit data found" ``` 3. **Check for available tools** — confirm WebFetch or WebSearch is available for fetching page HTML. Then proceed to Phase 1. --- ## Workflow ``` Phase 1: Gather Input → Phase 2: Fetch & Analyze → Phase 3: Present Results → Phase 4: Recommendations & Next Steps ``` --- ## Phase 1: Gather Input **Goal:** Confirm the target URL and scope before running the analysis. If the user already provided a URL, confirm it: > I'll analyze **[URL]** for single-page SEO. Before I start, any specific areas you'd like me to focus on? > - On-page SEO (titles, headings, meta tags) > - Content quality & readability > - Technical elements (canonical, Open Graph, hreflang) > - Schema markup > - Images & performance > - All of the above (default) If the user did NOT provide a URL, ask: > What URL would you like me to analyze? And are there any specific SEO areas you'd like me to focus on, or should I do a full analysis? **Do not proceed to Phase 2 until you have a confirmed URL.** --- ## Phase 2: Fetch & Analyze **Goal:** Fetch the page HTML and run all analysis checks across 6 categories. ### Step 1: Fetch Page Run `scripts/fetch_page.py` to retrieve the page HTML: ```bash python3 scripts/fetch_page.py <url> --output page.html ``` ### Step 2: Parse HTML Run `scripts/parse_html.py` to extract all SEO elements: ```bash python3 scripts/parse_html.py page.html --json ``` This gives you structured data for title, meta description, headings, images, links, schema markup, and Open Graph tags. Use this data for the analysis below. Then analyze each category: ### 2.1 On-Page SEO - **Title tag:** 50-60 characters, includes primary keyword, unique - **Meta description:** 150-160 characters, compelling, includes keyword - **H1:** exactly one, matches page intent, includes keyword - **H2-H6:** logical hierarchy (no skipped levels), descriptive - **URL:** short, descriptive, hyphenated, no parameters - **Internal links:** sufficient, relevant anchor text, no orphan pages - **External links:** to authoritative sources, reasonable count ### 2.2 Content Quality - **Word count** vs page type minimums (see `references/quality-gates.md`) - **Readability:** Flesch Reading Ease score, grade level - **Keyword density:** natural (1-3%), semantic variations present - **E-E-A-T signals:** author bio, credentials, first-hand experience markers - **Content freshness:** publication date, last updated date ### 2.3 Technical Elements - **Canonical tag:** present, self-referencing or correct - **Meta robots:** index/follow unless intentionally blocked - **Open Graph:** og:title, og:description, og:image, og:url - **Twitter Card:** twitter:card, twitter:title, twitter:description - **Hreflang:** if multi-language, correct implementation ### 2.4 Schema Markup - Detect all types (JSON-LD preferred) - Validate required properties - Identify missing opportunities - NEVER recommend HowTo (deprecated) or FAQ (restricted to gov/health) ### 2.5 Images - **Alt text:** present, descriptive, includes keywords where natural - **File size:** flag >200KB (warning), >500KB (critical) - **Format:** recommend WebP/AVIF over JPEG/PNG - **Dimensions:** width/height set for CLS prevention - **Lazy loading:** loading="lazy" on below-fold images ### 2.6 Core Web Vitals (reference only — not measurable from HTML alone) - Flag potential LCP issues (huge hero images, render-blocking resources) - Flag potential INP issues (heavy JS, no async/defer) - Flag potential CLS issues (missing image dimensions, injected content) --- ## Phase 3: Present Results **Goal:** Deliver the Page Score Card and issues list. Wait for user review before proceeding. ### Page Score Card ``` Overall Score: XX/100 On-Page SEO: XX/100 ████████░░ Content Quality: XX/100 ██████████ Technical: XX/100 ███████░░░ Schema: XX/100 █████░░░░░ Images: XX/100 ████████░░ ``` ### Issues Found Organize all discovered issues by priority: | Priority | Description | |----------|-------------| | **Critical** | Issues that block indexing, cause security problems, or severely harm UX | | **High** | Issues that negatively impact rankings or user experience | | **Medium** | Issues with moderate impact, relatively easy to fix | | **Low** | Minor improvements, best-practice suggestions | Present each issue with: - What was found - Why it matters - Which category it belongs to **Wait for user to review the score card and issues before proceeding to Phase 4.** > Here's your page analysis. Take a moment to review the scores and issues. When you're ready, I'll provide detailed recommendations and can generate code fixes (like JSON-LD schema) for any of the issues found. --- ## Phase 4: Recommendations & Next Steps **Goal:** Deliver specific, actionable improvements and offer to generate code. ### Recommendations For each issue found in Phase 3, provide: - **Specific fix** with expected impact on the score - **Priority ranking** (what to fix first) - **Effort estimate** (quick fix vs larger change) ### Schema Suggestions - Identify schema types that should be present based on page type - Provide ready-to-use JSON-LD code for detected opportunities - NEVER recommend HowTo (deprecated) or FAQ (restricted to gov/health) ### Offer Next Steps > Would you like me to: > 1. **Generate JSON-LD code** for the recommended schema markup? > 2. **Rewrite your title tag and meta description** based on the analysis? > 3. **Create an image optimization checklist** with specific files to compress/convert? > 4. **Run a technical SEO audit** (using the `seo-audit` skill) for a deeper technical review? > 5. **Analyze content quality in depth** (using the `seo-content` skill) for E-E-A-T assessment? --- ## Related Skills - **seo-audit** — Full technical SEO audit (148 rules across 16 categories) using seomator - **seo-content** — Deep content quality and E-E-A-T analysis with AI citation readiness - **seo-technical** — Technical SEO audit across crawlability, security, mobile, and CWV