[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-022cdbf3-b99e-423d-8732-a2f500e7fbea":3,"$ftNc-JccmXlcr7shtug_pIYIq7A4kk1Mk5-lEULhyjd0":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},"022cdbf3-b99e-423d-8732-a2f500e7fbea","seo-programmatic","规划和审计由结构化数据生成的规模化SEO页面。在设计模板、URL系统、内部链接、质量关卡和索引膨胀防护措施时使用。","cat_writing_article","mod_writing","sickn33,writing","---\nname: seo-programmatic\ndescription: \"Plan and audit programmatic SEO pages generated at scale from structured data. Use when designing templates, URL systems, internal linking, quality gates, and index-bloat safeguards for pages at scale.\"\nrisk: unknown\nsource: \"https:\u002F\u002Fgithub.com\u002FAgriciDaniel\u002Fclaude-seo\"\ndate_added: \"2026-03-21\"\nuser-invokable: true\nargument-hint: \"[url or plan]\"\nallowed-tools:\n  - Read\n  - Grep\n  - Glob\n  - Bash\n  - WebFetch\n  - Write\n---\n\n# Programmatic SEO Analysis & Planning\n\nBuild and audit SEO pages generated at scale from structured data sources.\nEnforces quality gates to prevent thin content penalties and index bloat.\n\n## When to Use\n- Use when the user wants programmatic SEO planning or review.\n- Use when designing templates, data-driven pages, or scalable URL systems.\n- Use when preventing thin content and index bloat across large page sets.\n\n## Data Source Assessment\n\nEvaluate the data powering programmatic pages:\n- **CSV\u002FJSON files**: Row count, column uniqueness, missing values\n- **API endpoints**: Response structure, data freshness, rate limits\n- **Database queries**: Record count, field completeness, update frequency\n- Data quality checks:\n  - Each record must have enough unique attributes to generate distinct content\n  - Flag duplicate or near-duplicate records (>80% field overlap)\n  - Verify data freshness; stale data produces stale pages\n\n## Template Engine Planning\n\nDesign templates that produce unique, valuable pages:\n- **Variable injection points**: Title, H1, body sections, meta description, schema\n- **Content blocks**: Static (shared across pages) vs dynamic (unique per page)\n- **Conditional logic**: Show\u002Fhide sections based on data availability\n- **Supplementary content**: Related items, contextual tips, user-generated content\n- Template review checklist:\n  - Each page must read as a standalone, valuable resource\n  - No \"mad-libs\" patterns (just swapping city\u002Fproduct names in identical text)\n  - Dynamic sections must add genuine information, not just keyword variations\n\n## URL Pattern Strategy\n\n### Common Patterns\n- `\u002Ftools\u002F[tool-name]`: Tool\u002Fproduct directory pages\n- `\u002F[city]\u002F[service]`: Location + service pages\n- `\u002Fintegrations\u002F[platform]`: Integration landing pages\n- `\u002Fglossary\u002F[term]`: Definition\u002Freference pages\n- `\u002Ftemplates\u002F[template-name]`: Downloadable template pages\n\n### URL Rules\n- Lowercase, hyphenated slugs derived from data\n- Logical hierarchy reflecting site architecture\n- No duplicate slugs; enforce uniqueness at generation time\n- Keep URLs under 100 characters\n- No query parameters for primary content URLs\n- Consistent trailing slash usage (match existing site pattern)\n\n## Internal Linking Automation\n\n- **Hub\u002Fspoke model**: Category hub pages linking to individual programmatic pages\n- **Related items**: Auto-link to 3-5 related pages based on data attributes\n- **Breadcrumbs**: Generate BreadcrumbList schema from URL hierarchy\n- **Cross-linking**: Link between programmatic pages sharing attributes (same category, same city, same feature)\n- **Anchor text**: Use descriptive, varied anchor text. Avoid exact-match keyword repetition\n- Link density: 3-5 internal links per 1000 words (match seo-content guidelines)\n\n## Thin Content Safeguards\n\n### Quality Gates\n\n| Metric | Threshold | Action |\n|--------|-----------|--------|\n| Pages without content review | 100+ | ⚠️ WARNING: require content audit before publishing |\n| Pages without justification | 500+ | 🛑 HARD STOP: require explicit user approval and thin content audit |\n| Unique content per page | \u003C40% | ❌ Flag as thin content (likely penalty risk) |\n| Word count per page | \u003C300 | ⚠️ Flag for review (may lack sufficient value) |\n\n### Scaled Content Abuse: Enforcement Context (2025-2026)\n\nGoogle's Scaled Content Abuse policy (introduced March 2024) saw major enforcement escalation in 2025:\n\n- **June 2025:** Wave of manual actions targeting websites with AI-generated content at scale\n- **August 2025:** SpamBrain spam update enhanced pattern detection for AI-generated link schemes and content farms\n- **Result:** Google reported 45% reduction in low-quality, unoriginal content in search results post-March 2024 enforcement\n\n**Enhanced quality gates for programmatic pages:**\n- **Content differentiation:** ≥30-40% of content must be genuinely unique between any two programmatic pages (not just city\u002Fkeyword string replacement)\n- **Human review:** Minimum 5-10% sample review of generated pages before publishing\n- **Progressive rollout:** Publish in batches of 50-100 pages. Monitor indexing and rankings for 2-4 weeks before expanding. Never publish 500+ programmatic pages simultaneously without explicit quality review.\n- **Standalone value test:** Each page should pass: \"Would this page be worth publishing even if no other similar pages existed?\"\n- **Site reputation abuse:** If publishing programmatic content under a high-authority domain (not your own), this may trigger site reputation abuse penalties. Google began enforcing this aggressively in November 2024.\n\n> **Recommendation:** The WARNING gate at `\u003C40% unique content` remains appropriate. Consider a HARD STOP at `\u003C30%` unique content to prevent scaled content abuse risk.\n\n### Safe Programmatic Pages (OK at scale)\n✅ Integration pages (with real setup docs, API details, screenshots)\n✅ Template\u002Ftool pages (with downloadable content, usage instructions)\n✅ Glossary pages (200+ word definitions with examples, related terms)\n✅ Product pages (unique specs, reviews, comparison data)\n✅ Data-driven pages (unique statistics, charts, analysis per record)\n\n### Penalty Risk (avoid at scale)\n❌ Location pages with only city name swapped in identical text\n❌ \"Best [tool] for [industry]\" without industry-specific value\n❌ \"[Competitor] alternative\" without real comparison data\n❌ AI-generated pages without human review and unique value-add\n❌ Pages where >60% of content is shared template boilerplate\n\n### Uniqueness Calculation\nUnique content % = (words unique to this page) \u002F (total words on page) × 100\n\nMeasure against all other pages in the programmatic set. Shared headers, footers, and navigation are excluded from the calculation. Template boilerplate text IS included.\n\n## Canonical Strategy\n\n- Every programmatic page must have a self-referencing canonical tag\n- Parameter variations (sort, filter, pagination) canonical to the base URL\n- Paginated series: canonical to page 1 or use rel=next\u002Fprev\n- If programmatic pages overlap with manual pages, the manual page is canonical\n- No canonical to a different domain unless intentional cross-domain setup\n\n## Sitemap Integration\n\n- Auto-generate sitemap entries for all programmatic pages\n- Split at 50,000 URLs per sitemap file (protocol limit)\n- Use sitemap index if multiple sitemap files needed\n- `\u003Clastmod>` reflects actual data update timestamp (not generation time)\n- Exclude noindexed programmatic pages from sitemap\n- Register sitemap in robots.txt\n- Update sitemap dynamically as new records are added to data source\n\n## Index Bloat Prevention\n\n- **Noindex low-value pages**: Pages that don't meet quality gates\n- **Pagination**: Noindex paginated results beyond page 1 (or use rel=next\u002Fprev)\n- **Faceted navigation**: Noindex filtered views, canonical to base category\n- **Crawl budget**: For sites with >10k programmatic pages, monitor crawl stats in Search Console\n- **Thin page consolidation**: Merge records with insufficient data into aggregated pages\n- **Regular audits**: Monthly review of indexed page count vs intended count\n\n## Output\n\n### Programmatic SEO Score: XX\u002F100\n\n### Assessment Summary\n| Category | Status | Score |\n|----------|--------|-------|\n| Data Quality | ✅\u002F⚠️\u002F❌ | XX\u002F100 |\n| Template Uniqueness | ✅\u002F⚠️\u002F❌ | XX\u002F100 |\n| URL Structure | ✅\u002F⚠️\u002F❌ | XX\u002F100 |\n| Internal Linking | ✅\u002F⚠️\u002F❌ | XX\u002F100 |\n| Thin Content Risk | ✅\u002F⚠️\u002F❌ | XX\u002F100 |\n| Index Management | ✅\u002F⚠️\u002F❌ | XX\u002F100 |\n\n### Critical Issues (fix immediately)\n### High Priority (fix within 1 week)\n### Medium Priority (fix within 1 month)\n### Low Priority (backlog)\n\n### Recommendations\n- Data source improvements\n- Template modifications\n- URL pattern adjustments\n- Quality gate compliance actions\n\n## Error Handling\n\n| Scenario | Action |\n|----------|--------|\n| URL unreachable | Report connection error with status code. Suggest verifying URL accessibility and checking for authentication requirements. |\n| No programmatic pages detected | Inform user that no template-generated or data-driven page patterns were found. Suggest checking if pages use client-side rendering or if the URL points to the correct section. |\n| Thin content threshold exceeded | Trigger quality gate warning. Report the unique content percentage and flag pages below 40% uniqueness. Require user acknowledgment before proceeding. |\n| Quality gate violation | Halt analysis at the HARD STOP threshold (500+ pages without justification or \u003C30% unique content). Present findings and require explicit user approval to continue. |\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,198,1195,"2026-05-16 13:39:50",{"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},"3fd97f6e-b0ac-49f0-8b7f-d34b5942e806","1.0.0","seo-programmatic.zip",4186,"uploads\u002Fskills\u002F022cdbf3-b99e-423d-8732-a2f500e7fbea\u002Fseo-programmatic.zip","9d6200212e14b259cb8ff0bf0c3c809c71da2d4d638cecad975af2a658ac3c64","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":9395}]",{"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]