[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-e7ef8ad6-d878-4a63-93d4-c256f5375703":3,"$fgNIlAuO1UrG5IhV0JT3xNZinZXzW_IdGIo1kzMDfMSk":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"e7ef8ad6-d878-4a63-93d4-c256f5375703","seo-page",">","cat_writing_article","mod_writing","sickn33,writing","---\nname: seo-page\ndescription: >\n  Deep single-page SEO analysis covering on-page elements, content quality,\n  technical meta tags, schema, images, and performance. Use when user says\n  \"analyze this page\", \"check page SEO\", or provides a single URL for review.\nrisk: safe\nsource: \"https:\u002F\u002Fgithub.com\u002FAgriciDaniel\u002Fclaude-seo\"\ndate_added: \"2026-03-21\"\nuser-invokable: true\nargument-hint: \"[url]\"\nallowed-tools:\n  - Read\n  - Grep\n  - Glob\n  - Bash\n  - WebFetch\n---\n\n# Single Page Analysis\n\n## When to Use\n- Use when the user provides a single URL for detailed on-page SEO review.\n- Use when auditing one page rather than an entire site.\n- Use when checking metadata, content, schema, images, and page-level technical signals together.\n\n## What to Analyze\n\n### On-Page SEO\n- Title tag: 50-60 characters, includes primary keyword, unique\n- Meta description: 150-160 characters, compelling, includes keyword\n- H1: exactly one, matches page intent, includes keyword\n- H2-H6: logical hierarchy (no skipped levels), descriptive\n- URL: short, descriptive, hyphenated, no parameters\n- Internal links: sufficient, relevant anchor text, no orphan pages\n- External links: to authoritative sources, reasonable count\n\n### Content Quality\n- Word count vs page type minimums (see quality-gates.md)\n- Readability: Flesch Reading Ease score, grade level\n- Keyword density: natural (1-3%), semantic variations present\n- E-E-A-T signals: author bio, credentials, first-hand experience markers\n- Content freshness: publication date, last updated date\n\n### Technical Elements\n- Canonical tag: present, self-referencing or correct\n- Meta robots: index\u002Ffollow unless intentionally blocked\n- Open Graph: og:title, og:description, og:image, og:url\n- Twitter Card: twitter:card, twitter:title, twitter:description\n- Hreflang: if multi-language, correct implementation\n\n### Schema Markup\n- Detect all types (JSON-LD preferred)\n- Validate required properties\n- Identify missing opportunities\n- NEVER recommend HowTo (deprecated) or FAQ (restricted to gov\u002Fhealth)\n\n### Images\n- Alt text: present, descriptive, includes keywords where natural\n- File size: flag >200KB (warning), >500KB (critical)\n- Format: recommend WebP\u002FAVIF over JPEG\u002FPNG\n- Dimensions: width\u002Fheight set for CLS prevention\n- Lazy loading: loading=\"lazy\" on below-fold images\n\n### Core Web Vitals (reference only, not measurable from HTML alone)\n- Flag potential LCP issues (huge hero images, render-blocking resources)\n- Flag potential INP issues (heavy JS, no async\u002Fdefer)\n- Flag potential CLS issues (missing image dimensions, injected content)\n\n## Output\n\n### Page Score Card\n```\nOverall Score: XX\u002F100\n\nOn-Page SEO:     XX\u002F100  ████████░░\nContent Quality: XX\u002F100  ██████████\nTechnical:       XX\u002F100  ███████░░░\nSchema:          XX\u002F100  █████░░░░░\nImages:          XX\u002F100  ████████░░\n```\n\n### Issues Found\nOrganized by priority: Critical -> High -> Medium -> Low\n\n### Recommendations\nSpecific, actionable improvements with expected impact\n\n### Schema Suggestions\nReady-to-use JSON-LD code for detected opportunities\n\n## DataForSEO Integration (Optional)\n\nIf DataForSEO MCP tools are available, use `serp_organic_live_advanced` for real SERP positions and `backlinks_summary` for backlink data and spam scores.\n\n## Error Handling\n\n| Scenario | Action |\n|----------|--------|\n| URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess page content. Suggest the user verify the URL and try again. |\n| Page requires authentication (401\u002F403) | Report that the page is behind authentication. Suggest the user provide the rendered HTML directly or a publicly accessible URL. |\n| JavaScript-rendered content (empty body in HTML) | Note that key content may be rendered client-side. Analyze the available HTML and flag that results may be incomplete. Suggest using a browser-rendered snapshot if available. |\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,178,894,"2026-05-16 13:39:48",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"写作研究","writing","mdi-pencil-outline","从学术写作到创意文案，让 AI 成为你的专属写作助手",1,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"文章写作","article","mdi-file-document-edit-outline","博客、新闻稿、自媒体文章等",61,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"a6388d77-2b0e-4d8d-94d0-63595b871424","1.0.0","seo-page.zip",2237,"uploads\u002Fskills\u002Fe7ef8ad6-d878-4a63-93d4-c256f5375703\u002Fseo-page.zip","d6773849c3fc59feccb89a79080d2e94e50139999a9c6d1824e784002c201794","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":4292}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]