opencode-skills-antigravity 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/ad-creative/SKILL.md +371 -0
- package/bundled-skills/ad-creative/evals/evals.json +90 -0
- package/bundled-skills/ad-creative/references/generative-tools.md +637 -0
- package/bundled-skills/ad-creative/references/platform-specs.md +213 -0
- package/bundled-skills/ai-seo/SKILL.md +407 -0
- package/bundled-skills/ai-seo/evals/evals.json +90 -0
- package/bundled-skills/ai-seo/references/content-patterns.md +285 -0
- package/bundled-skills/ai-seo/references/platform-ranking-factors.md +152 -0
- package/bundled-skills/backend-dev-guidelines/SKILL.md +1 -1
- package/bundled-skills/cc-skill-security-review/SKILL.md +1 -1
- package/bundled-skills/churn-prevention/SKILL.md +433 -0
- package/bundled-skills/churn-prevention/evals/evals.json +93 -0
- package/bundled-skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
- package/bundled-skills/churn-prevention/references/dunning-playbook.md +408 -0
- package/bundled-skills/claude-api/LICENSE.txt +202 -0
- package/bundled-skills/claude-api/SKILL.md +252 -0
- package/bundled-skills/claude-api/csharp/claude-api.md +70 -0
- package/bundled-skills/claude-api/curl/examples.md +164 -0
- package/bundled-skills/claude-api/go/claude-api.md +146 -0
- package/bundled-skills/claude-api/java/claude-api.md +128 -0
- package/bundled-skills/claude-api/php/claude-api.md +88 -0
- package/bundled-skills/claude-api/python/agent-sdk/README.md +269 -0
- package/bundled-skills/claude-api/python/agent-sdk/patterns.md +319 -0
- package/bundled-skills/claude-api/python/claude-api/README.md +404 -0
- package/bundled-skills/claude-api/python/claude-api/batches.md +182 -0
- package/bundled-skills/claude-api/python/claude-api/files-api.md +162 -0
- package/bundled-skills/claude-api/python/claude-api/streaming.md +162 -0
- package/bundled-skills/claude-api/python/claude-api/tool-use.md +587 -0
- package/bundled-skills/claude-api/ruby/claude-api.md +87 -0
- package/bundled-skills/claude-api/shared/error-codes.md +205 -0
- package/bundled-skills/claude-api/shared/live-sources.md +121 -0
- package/bundled-skills/claude-api/shared/models.md +68 -0
- package/bundled-skills/claude-api/shared/tool-use-concepts.md +305 -0
- package/bundled-skills/claude-api/typescript/agent-sdk/README.md +220 -0
- package/bundled-skills/claude-api/typescript/agent-sdk/patterns.md +150 -0
- package/bundled-skills/claude-api/typescript/claude-api/README.md +313 -0
- package/bundled-skills/claude-api/typescript/claude-api/batches.md +106 -0
- package/bundled-skills/claude-api/typescript/claude-api/files-api.md +98 -0
- package/bundled-skills/claude-api/typescript/claude-api/streaming.md +178 -0
- package/bundled-skills/claude-api/typescript/claude-api/tool-use.md +477 -0
- package/bundled-skills/codex-review/SKILL.md +1 -1
- package/bundled-skills/cold-email/SKILL.md +167 -0
- package/bundled-skills/cold-email/evals/evals.json +94 -0
- package/bundled-skills/cold-email/references/benchmarks.md +83 -0
- package/bundled-skills/cold-email/references/follow-up-sequences.md +81 -0
- package/bundled-skills/cold-email/references/frameworks.md +90 -0
- package/bundled-skills/cold-email/references/personalization.md +79 -0
- package/bundled-skills/cold-email/references/subject-lines.md +53 -0
- package/bundled-skills/content-strategy/SKILL.md +374 -0
- package/bundled-skills/content-strategy/evals/evals.json +90 -0
- package/bundled-skills/content-strategy/references/headless-cms.md +194 -0
- package/bundled-skills/context7-auto-research/SKILL.md +1 -1
- package/bundled-skills/dbos-golang/SKILL.md +1 -1
- package/bundled-skills/dbos-python/SKILL.md +1 -1
- package/bundled-skills/dbos-typescript/SKILL.md +1 -1
- package/bundled-skills/debug-buttercup/SKILL.md +1 -1
- package/bundled-skills/defuddle/SKILL.md +50 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/integrations/jetski-gemini-loader/package.json +1 -0
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-import-2026-03-21.md +81 -0
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +4 -4
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/evaluation/SKILL.md +1 -1
- package/bundled-skills/exa-search/SKILL.md +1 -1
- package/bundled-skills/firecrawl-scraper/SKILL.md +1 -1
- package/bundled-skills/frontend-dev-guidelines/SKILL.md +1 -1
- package/bundled-skills/gha-security-review/SKILL.md +2 -1
- package/bundled-skills/git-pushing/SKILL.md +1 -1
- package/bundled-skills/internal-comms/LICENSE.txt +202 -0
- package/bundled-skills/internal-comms/SKILL.md +35 -0
- package/bundled-skills/internal-comms/examples/3p-updates.md +47 -0
- package/bundled-skills/internal-comms/examples/company-newsletter.md +65 -0
- package/bundled-skills/internal-comms/examples/faq-answers.md +30 -0
- package/bundled-skills/internal-comms/examples/general-comms.md +16 -0
- package/bundled-skills/json-canvas/SKILL.md +253 -0
- package/bundled-skills/json-canvas/references/EXAMPLES.md +329 -0
- package/bundled-skills/lead-magnets/SKILL.md +319 -0
- package/bundled-skills/lead-magnets/references/benchmarks.md +129 -0
- package/bundled-skills/lead-magnets/references/format-guide.md +196 -0
- package/bundled-skills/memory-systems/SKILL.md +1 -1
- package/bundled-skills/obsidian-bases/SKILL.md +506 -0
- package/bundled-skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -0
- package/bundled-skills/obsidian-cli/SKILL.md +115 -0
- package/bundled-skills/obsidian-markdown/SKILL.md +205 -0
- package/bundled-skills/obsidian-markdown/references/CALLOUTS.md +58 -0
- package/bundled-skills/obsidian-markdown/references/EMBEDS.md +63 -0
- package/bundled-skills/obsidian-markdown/references/PROPERTIES.md +61 -0
- package/bundled-skills/product-marketing-context/SKILL.md +250 -0
- package/bundled-skills/product-marketing-context/evals/evals.json +85 -0
- package/bundled-skills/react-best-practices/SKILL.md +1 -1
- package/bundled-skills/revops/SKILL.md +352 -0
- package/bundled-skills/revops/evals/evals.json +91 -0
- package/bundled-skills/revops/references/automation-playbooks.md +290 -0
- package/bundled-skills/revops/references/lifecycle-definitions.md +278 -0
- package/bundled-skills/revops/references/routing-rules.md +203 -0
- package/bundled-skills/revops/references/scoring-models.md +247 -0
- package/bundled-skills/sales-enablement/SKILL.md +358 -0
- package/bundled-skills/sales-enablement/evals/evals.json +91 -0
- package/bundled-skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/bundled-skills/sales-enablement/references/demo-scripts.md +355 -0
- package/bundled-skills/sales-enablement/references/objection-library.md +270 -0
- package/bundled-skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/bundled-skills/seo/SKILL.md +139 -0
- package/bundled-skills/seo/references/cwv-thresholds.md +108 -0
- package/bundled-skills/seo/references/eeat-framework.md +214 -0
- package/bundled-skills/seo/references/quality-gates.md +155 -0
- package/bundled-skills/seo/references/schema-types.md +118 -0
- package/bundled-skills/seo-competitor-pages/SKILL.md +229 -0
- package/bundled-skills/seo-content/SKILL.md +186 -0
- package/bundled-skills/seo-dataforseo/SKILL.md +395 -0
- package/bundled-skills/seo-geo/SKILL.md +254 -0
- package/bundled-skills/seo-hreflang/SKILL.md +209 -0
- package/bundled-skills/seo-image-gen/SKILL.md +183 -0
- package/bundled-skills/seo-images/SKILL.md +193 -0
- package/bundled-skills/seo-page/SKILL.md +103 -0
- package/bundled-skills/seo-plan/SKILL.md +136 -0
- package/bundled-skills/seo-plan/assets/agency.md +175 -0
- package/bundled-skills/seo-plan/assets/ecommerce.md +167 -0
- package/bundled-skills/seo-plan/assets/generic.md +144 -0
- package/bundled-skills/seo-plan/assets/local-service.md +160 -0
- package/bundled-skills/seo-plan/assets/publisher.md +153 -0
- package/bundled-skills/seo-plan/assets/saas.md +135 -0
- package/bundled-skills/seo-programmatic/SKILL.md +184 -0
- package/bundled-skills/seo-schema/SKILL.md +178 -0
- package/bundled-skills/seo-sitemap/SKILL.md +129 -0
- package/bundled-skills/seo-technical/SKILL.md +175 -0
- package/bundled-skills/site-architecture/SKILL.md +366 -0
- package/bundled-skills/site-architecture/evals/evals.json +88 -0
- package/bundled-skills/site-architecture/references/mermaid-templates.md +216 -0
- package/bundled-skills/site-architecture/references/navigation-patterns.md +305 -0
- package/bundled-skills/site-architecture/references/site-type-templates.md +293 -0
- package/bundled-skills/skill-improver/SKILL.md +1 -1
- package/bundled-skills/tavily-web/SKILL.md +1 -1
- package/bundled-skills/test-fixing/SKILL.md +1 -1
- package/bundled-skills/tool-design/SKILL.md +1 -1
- package/bundled-skills/ui-ux-pro-max/SKILL.md +1 -1
- package/bundled-skills/verification-before-completion/SKILL.md +1 -1
- package/bundled-skills/wiki-changelog/SKILL.md +1 -1
- package/bundled-skills/wiki-onboarding/SKILL.md +1 -1
- package/bundled-skills/wiki-qa/SKILL.md +1 -1
- package/bundled-skills/wiki-researcher/SKILL.md +1 -1
- package/bundled-skills/wiki-vitepress/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
<!-- Updated: 2026-02-07 -->
|
|
2
|
+
# Local Service Business SEO Strategy Template
|
|
3
|
+
|
|
4
|
+
## Industry Characteristics
|
|
5
|
+
|
|
6
|
+
- Geographic-focused searches
|
|
7
|
+
- High intent, quick decision making
|
|
8
|
+
- Reviews heavily influence decisions
|
|
9
|
+
- Phone calls are primary conversion
|
|
10
|
+
- Mobile-first user behavior
|
|
11
|
+
- Emergency/urgent service needs
|
|
12
|
+
|
|
13
|
+
## Recommended Site Architecture
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/
|
|
17
|
+
├── Home
|
|
18
|
+
├── /services
|
|
19
|
+
│ ├── /service-1
|
|
20
|
+
│ ├── /service-2
|
|
21
|
+
│ └── ...
|
|
22
|
+
├── /locations
|
|
23
|
+
│ ├── /city-1
|
|
24
|
+
│ │ ├── /service-1-city-1
|
|
25
|
+
│ │ └── ...
|
|
26
|
+
│ ├── /city-2
|
|
27
|
+
│ └── ...
|
|
28
|
+
├── /about
|
|
29
|
+
├── /reviews
|
|
30
|
+
├── /gallery (or /portfolio)
|
|
31
|
+
├── /blog
|
|
32
|
+
├── /contact
|
|
33
|
+
├── /emergency (if applicable)
|
|
34
|
+
└── /faq
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Quality Gates
|
|
38
|
+
|
|
39
|
+
### Location Page Limits
|
|
40
|
+
- ⚠️ **WARNING** at 30+ location pages
|
|
41
|
+
- 🛑 **HARD STOP** at 50+ location pages
|
|
42
|
+
|
|
43
|
+
### Unique Content Requirements
|
|
44
|
+
| Page Type | Min Words | Unique % |
|
|
45
|
+
|-----------|-----------|----------|
|
|
46
|
+
| Primary Location | 600 | 60%+ |
|
|
47
|
+
| Service Area | 500 | 40%+ |
|
|
48
|
+
| Service Page | 800 | 100% |
|
|
49
|
+
|
|
50
|
+
### What Makes Location Pages Unique
|
|
51
|
+
- Local landmarks and neighborhoods
|
|
52
|
+
- Specific services offered at that location
|
|
53
|
+
- Local team members
|
|
54
|
+
- Location-specific testimonials
|
|
55
|
+
- Community involvement
|
|
56
|
+
- Local regulations or considerations
|
|
57
|
+
|
|
58
|
+
## Schema Recommendations
|
|
59
|
+
|
|
60
|
+
| Page Type | Schema Types |
|
|
61
|
+
|-----------|-------------|
|
|
62
|
+
| Homepage | LocalBusiness, Organization |
|
|
63
|
+
| Service Pages | Service, LocalBusiness |
|
|
64
|
+
| Location Pages | LocalBusiness (with geo) |
|
|
65
|
+
| Contact | ContactPage, LocalBusiness |
|
|
66
|
+
| Reviews | LocalBusiness (with AggregateRating) |
|
|
67
|
+
|
|
68
|
+
### LocalBusiness Schema Example
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"@context": "https://schema.org",
|
|
72
|
+
"@type": "LocalBusiness",
|
|
73
|
+
"name": "Business Name",
|
|
74
|
+
"address": {
|
|
75
|
+
"@type": "PostalAddress",
|
|
76
|
+
"streetAddress": "123 Main St",
|
|
77
|
+
"addressLocality": "City",
|
|
78
|
+
"addressRegion": "State",
|
|
79
|
+
"postalCode": "12345"
|
|
80
|
+
},
|
|
81
|
+
"telephone": "+1-555-555-5555",
|
|
82
|
+
"openingHours": "Mo-Fr 08:00-18:00",
|
|
83
|
+
"geo": {
|
|
84
|
+
"@type": "GeoCoordinates",
|
|
85
|
+
"latitude": "40.7128",
|
|
86
|
+
"longitude": "-74.0060"
|
|
87
|
+
},
|
|
88
|
+
"areaServed": ["City 1", "City 2"],
|
|
89
|
+
"priceRange": "$$"
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Google Business Profile Integration
|
|
94
|
+
|
|
95
|
+
- Ensure NAP consistency (Name, Address, Phone)
|
|
96
|
+
- Sync service categories
|
|
97
|
+
- Regular post updates
|
|
98
|
+
- Photo uploads
|
|
99
|
+
- Review response strategy
|
|
100
|
+
|
|
101
|
+
### Google Business Profile Updates (2025-2026)
|
|
102
|
+
|
|
103
|
+
- **Video verification** is now standard: postcard verification has been largely phased out. Prepare for a short video verification process showing the business location or service area.
|
|
104
|
+
- **WhatsApp integration** replaced Google Business Chat (deprecated). Businesses can connect WhatsApp as their primary messaging channel.
|
|
105
|
+
- **Q&A removed from Maps**: replaced by AI-generated answers. Ensure your GBP description, services, and website FAQ are comprehensive, as Google AI uses them to answer queries.
|
|
106
|
+
- **Business hours are a top-5 ranking factor**: "Business is open at time of search" ranked as a top individual factor for the first time (Whitespark 2026 Local Search Ranking Factors Report). Keep hours accurate; consider extended hours if feasible.
|
|
107
|
+
- **Review "Stories" format**: Google Maps now shows review snippets in a swipeable Stories format on mobile. Encourage detailed, descriptive reviews with photos.
|
|
108
|
+
|
|
109
|
+
### Service Area Business (SAB) Update (June 2025)
|
|
110
|
+
|
|
111
|
+
Google updated SAB guidelines to **disallow entire states or countries** as service areas. SABs must specify: cities, postal/ZIP codes, or neighborhoods. If you serve an entire metro area, list the major cities within it rather than the state.
|
|
112
|
+
|
|
113
|
+
### AI Visibility for Local Businesses
|
|
114
|
+
|
|
115
|
+
AI Overviews appear for only ~0.14% of local keywords (March 2025 data), local SEO faces significantly less AI disruption than other verticals. However, ChatGPT and Perplexity are increasingly used for local recommendations.
|
|
116
|
+
|
|
117
|
+
To optimize for AI local visibility:
|
|
118
|
+
- Ensure presence on expert-curated "best of" lists (ranked #1 AI visibility factor in Whitespark 2026 report)
|
|
119
|
+
- Maintain consistent NAP (Name, Address, Phone) across all platforms
|
|
120
|
+
- Build genuine review volume and quality
|
|
121
|
+
- Use LocalBusiness schema with complete properties (geo, openingHours, priceRange, areaServed)
|
|
122
|
+
|
|
123
|
+
## Content Priorities
|
|
124
|
+
|
|
125
|
+
### High Priority
|
|
126
|
+
1. Homepage with clear service area
|
|
127
|
+
2. Core service pages
|
|
128
|
+
3. Primary city page
|
|
129
|
+
4. Contact page with all locations
|
|
130
|
+
|
|
131
|
+
### Medium Priority
|
|
132
|
+
1. Service + location combination pages
|
|
133
|
+
2. FAQ page
|
|
134
|
+
3. About/team page
|
|
135
|
+
4. Reviews/testimonials page
|
|
136
|
+
|
|
137
|
+
### Blog Topics
|
|
138
|
+
- Seasonal maintenance tips
|
|
139
|
+
- How to choose a [service provider]
|
|
140
|
+
- Warning signs of [problem]
|
|
141
|
+
- DIY vs professional comparisons
|
|
142
|
+
- Local regulations and permits
|
|
143
|
+
|
|
144
|
+
## Key Metrics to Track
|
|
145
|
+
|
|
146
|
+
- Local pack rankings
|
|
147
|
+
- Phone call volume from organic
|
|
148
|
+
- Direction requests
|
|
149
|
+
- Google Business Profile insights
|
|
150
|
+
- Reviews count and rating
|
|
151
|
+
|
|
152
|
+
## Generative Engine Optimization (GEO) for Local
|
|
153
|
+
|
|
154
|
+
- [ ] Include clear, quotable service descriptions and pricing ranges
|
|
155
|
+
- [ ] Use LocalBusiness schema with complete geo, openingHours, and areaServed
|
|
156
|
+
- [ ] Build presence on curated "best of" and local directory lists
|
|
157
|
+
- [ ] Maintain consistent NAP across all platforms (Google, Yelp, Apple Maps)
|
|
158
|
+
- [ ] Include original photos of work, team, and location
|
|
159
|
+
- [ ] Structure FAQ content for common local service questions
|
|
160
|
+
- [ ] Monitor AI citation in ChatGPT and Perplexity local recommendations
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
<!-- Updated: 2026-02-07 -->
|
|
2
|
+
# Publisher/Media SEO Strategy Template
|
|
3
|
+
|
|
4
|
+
## Industry Characteristics
|
|
5
|
+
|
|
6
|
+
- High content volume
|
|
7
|
+
- Time-sensitive content (news)
|
|
8
|
+
- Ad revenue dependent on traffic
|
|
9
|
+
- Authority and trust critical
|
|
10
|
+
- Competing with social platforms
|
|
11
|
+
- AI Overviews impact on traffic
|
|
12
|
+
|
|
13
|
+
## Recommended Site Architecture
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
/
|
|
17
|
+
├── Home
|
|
18
|
+
├── /news (or /latest)
|
|
19
|
+
├── /topics
|
|
20
|
+
│ ├── /topic-1
|
|
21
|
+
│ ├── /topic-2
|
|
22
|
+
│ └── ...
|
|
23
|
+
├── /authors
|
|
24
|
+
│ ├── /author-1
|
|
25
|
+
│ └── ...
|
|
26
|
+
├── /opinion
|
|
27
|
+
├── /reviews
|
|
28
|
+
├── /guides
|
|
29
|
+
├── /videos
|
|
30
|
+
├── /podcasts
|
|
31
|
+
├── /newsletter
|
|
32
|
+
├── /about
|
|
33
|
+
│ ├── /editorial-policy
|
|
34
|
+
│ ├── /corrections
|
|
35
|
+
│ └── /contact
|
|
36
|
+
└── /[year]/[month]/[slug] (article URLs)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Schema Recommendations
|
|
40
|
+
|
|
41
|
+
| Page Type | Schema Types |
|
|
42
|
+
|-----------|-------------|
|
|
43
|
+
| Article | NewsArticle or Article, Person (author), Organization (publisher) |
|
|
44
|
+
| Author Page | Person, ProfilePage |
|
|
45
|
+
| Topic Page | CollectionPage, ItemList |
|
|
46
|
+
| Homepage | WebSite, Organization |
|
|
47
|
+
| Video | VideoObject |
|
|
48
|
+
| Podcast | PodcastEpisode, PodcastSeries |
|
|
49
|
+
|
|
50
|
+
### NewsArticle Schema Example
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"@context": "https://schema.org",
|
|
54
|
+
"@type": "NewsArticle",
|
|
55
|
+
"headline": "Article Headline",
|
|
56
|
+
"datePublished": "2026-02-07T10:00:00Z",
|
|
57
|
+
"dateModified": "2026-02-07T14:30:00Z",
|
|
58
|
+
"author": {
|
|
59
|
+
"@type": "Person",
|
|
60
|
+
"name": "Author Name",
|
|
61
|
+
"url": "https://example.com/authors/author-name"
|
|
62
|
+
},
|
|
63
|
+
"publisher": {
|
|
64
|
+
"@type": "Organization",
|
|
65
|
+
"name": "Publication Name",
|
|
66
|
+
"logo": {
|
|
67
|
+
"@type": "ImageObject",
|
|
68
|
+
"url": "https://example.com/logo.png"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"image": ["https://example.com/article-image.jpg"],
|
|
72
|
+
"mainEntityOfPage": {
|
|
73
|
+
"@type": "WebPage",
|
|
74
|
+
"@id": "https://example.com/article-url"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## E-E-A-T Requirements
|
|
80
|
+
|
|
81
|
+
Publishers face highest E-E-A-T scrutiny.
|
|
82
|
+
|
|
83
|
+
### Author Pages Must Include
|
|
84
|
+
- Full name and photo
|
|
85
|
+
- Bio and credentials
|
|
86
|
+
- Areas of expertise
|
|
87
|
+
- Contact information
|
|
88
|
+
- Social profiles (sameAs)
|
|
89
|
+
- Previous articles by this author
|
|
90
|
+
|
|
91
|
+
### Editorial Standards
|
|
92
|
+
- Clear correction policy
|
|
93
|
+
- Transparent editorial process
|
|
94
|
+
- Fact-checking procedures
|
|
95
|
+
- Conflict of interest disclosures
|
|
96
|
+
|
|
97
|
+
## Content Priorities
|
|
98
|
+
|
|
99
|
+
### High Priority
|
|
100
|
+
1. Breaking news (speed matters)
|
|
101
|
+
2. Evergreen guides on core topics
|
|
102
|
+
3. Author pages with credentials
|
|
103
|
+
4. Topic hubs/pillar pages
|
|
104
|
+
|
|
105
|
+
### Medium Priority
|
|
106
|
+
1. Opinion/analysis pieces
|
|
107
|
+
2. Video content
|
|
108
|
+
3. Interactive content
|
|
109
|
+
4. Newsletter landing pages
|
|
110
|
+
|
|
111
|
+
### GEO Considerations
|
|
112
|
+
- Clear, quotable facts in articles
|
|
113
|
+
- Tables for data-heavy content
|
|
114
|
+
- Expert quotes with attribution
|
|
115
|
+
- Update dates prominently displayed
|
|
116
|
+
- Structured headings (H2/H3)
|
|
117
|
+
- First-party data and original research are highly cited by AI systems
|
|
118
|
+
- Ensure author entities are clearly defined with Person schema + sameAs links
|
|
119
|
+
- Monitor AI citation frequency across Google AI Overviews, AI Mode, ChatGPT, Perplexity
|
|
120
|
+
- Treat AI citation as a standalone KPI alongside organic traffic
|
|
121
|
+
|
|
122
|
+
### Publisher SEO Updates (2025-2026)
|
|
123
|
+
|
|
124
|
+
- **Google News automatic inclusion:** Google News no longer accepts manual applications (since March 2025). Inclusion is fully automatic based on Google's content quality criteria. Focus on Google News sitemap markup and consistent, high-quality publishing cadence.
|
|
125
|
+
- **KPI shift:** Traffic-based KPIs (sessions, pageviews) are declining in relevance as AI Overviews reduce click-through rates. Leading publishers are shifting to: subscriber conversions, time on page, scroll depth, newsletter signups, AI citation frequency, and revenue per visitor.
|
|
126
|
+
- **Site reputation abuse risk:** Publishers hosting third-party content (coupons, product reviews, affiliate content) under their domain are at high risk. Google penalized Forbes, WSJ, Time, and CNN for this in late 2024. If hosting third-party content, ensure strong editorial oversight and clear first-party involvement.
|
|
127
|
+
|
|
128
|
+
## Technical Considerations
|
|
129
|
+
|
|
130
|
+
### Core Web Vitals
|
|
131
|
+
- Ad placement affects CLS
|
|
132
|
+
- Lazy load ads and images below fold
|
|
133
|
+
- Optimize hero images for LCP
|
|
134
|
+
- Minimize render-blocking resources
|
|
135
|
+
|
|
136
|
+
### AMP (if used)
|
|
137
|
+
- Consider dropping AMP (no longer required for Top Stories)
|
|
138
|
+
- Ensure canonical setup is correct
|
|
139
|
+
- Monitor performance vs non-AMP
|
|
140
|
+
|
|
141
|
+
### Pagination
|
|
142
|
+
- Proper pagination for multi-page articles
|
|
143
|
+
- Or infinite scroll with proper indexing
|
|
144
|
+
- Canonical to page 1 or full article
|
|
145
|
+
|
|
146
|
+
## Key Metrics to Track
|
|
147
|
+
|
|
148
|
+
- Page views from organic
|
|
149
|
+
- Time on page
|
|
150
|
+
- Pages per session
|
|
151
|
+
- Newsletter signups from organic
|
|
152
|
+
- Google News/Discover traffic
|
|
153
|
+
- AI Overview appearances
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<!-- Updated: 2026-02-07 -->
|
|
2
|
+
# SaaS SEO Strategy Template
|
|
3
|
+
|
|
4
|
+
## Industry Characteristics
|
|
5
|
+
|
|
6
|
+
- Long sales cycles with multiple touchpoints
|
|
7
|
+
- Feature-focused decision making
|
|
8
|
+
- Comparison shopping behavior
|
|
9
|
+
- Heavy research phase before purchase
|
|
10
|
+
- Integration and ecosystem considerations
|
|
11
|
+
|
|
12
|
+
## Recommended Site Architecture
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/
|
|
16
|
+
├── Home
|
|
17
|
+
├── /product (or /platform)
|
|
18
|
+
│ ├── /features
|
|
19
|
+
│ │ ├── /feature-1
|
|
20
|
+
│ │ ├── /feature-2
|
|
21
|
+
│ │ └── ...
|
|
22
|
+
│ ├── /integrations
|
|
23
|
+
│ │ ├── /integration-1
|
|
24
|
+
│ │ └── ...
|
|
25
|
+
│ └── /security
|
|
26
|
+
├── /solutions
|
|
27
|
+
│ ├── /by-industry
|
|
28
|
+
│ │ ├── /industry-1
|
|
29
|
+
│ │ └── ...
|
|
30
|
+
│ └── /by-use-case
|
|
31
|
+
│ ├── /use-case-1
|
|
32
|
+
│ └── ...
|
|
33
|
+
├── /pricing
|
|
34
|
+
├── /customers
|
|
35
|
+
│ ├── /case-studies
|
|
36
|
+
│ │ ├── /case-study-1
|
|
37
|
+
│ │ └── ...
|
|
38
|
+
│ └── /testimonials
|
|
39
|
+
├── /resources
|
|
40
|
+
│ ├── /blog
|
|
41
|
+
│ ├── /guides
|
|
42
|
+
│ ├── /webinars
|
|
43
|
+
│ ├── /templates
|
|
44
|
+
│ └── /glossary
|
|
45
|
+
├── /docs (or /help)
|
|
46
|
+
│ └── /api
|
|
47
|
+
├── /company
|
|
48
|
+
│ ├── /about
|
|
49
|
+
│ ├── /careers
|
|
50
|
+
│ ├── /press
|
|
51
|
+
│ └── /contact
|
|
52
|
+
└── /compare
|
|
53
|
+
├── /vs-competitor-1
|
|
54
|
+
└── /vs-competitor-2
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Content Priorities
|
|
58
|
+
|
|
59
|
+
### High Priority Pages
|
|
60
|
+
1. Homepage (value proposition, social proof)
|
|
61
|
+
2. Features overview
|
|
62
|
+
3. Pricing page
|
|
63
|
+
4. Key integrations
|
|
64
|
+
5. Top 3-5 use case pages
|
|
65
|
+
|
|
66
|
+
### Medium Priority Pages
|
|
67
|
+
1. Individual feature pages
|
|
68
|
+
2. Industry solution pages
|
|
69
|
+
3. Case studies (2-3 detailed ones)
|
|
70
|
+
4. Comparison pages (vs competitors)
|
|
71
|
+
|
|
72
|
+
### Content Marketing Focus
|
|
73
|
+
1. Bottom-of-funnel: Comparison guides, ROI calculators
|
|
74
|
+
2. Middle-of-funnel: How-to guides, best practices
|
|
75
|
+
3. Top-of-funnel: Industry trends, educational content
|
|
76
|
+
|
|
77
|
+
## Schema Recommendations
|
|
78
|
+
|
|
79
|
+
| Page Type | Schema Types |
|
|
80
|
+
|-----------|-------------|
|
|
81
|
+
| Homepage | Organization, WebSite, SoftwareApplication |
|
|
82
|
+
| Product/Features | SoftwareApplication, Offer |
|
|
83
|
+
| Pricing | SoftwareApplication, Offer (with pricing) |
|
|
84
|
+
| Blog | Article, BlogPosting |
|
|
85
|
+
| Case Studies | Article, Organization (customer) |
|
|
86
|
+
| Documentation | TechArticle |
|
|
87
|
+
|
|
88
|
+
## Key Metrics to Track
|
|
89
|
+
|
|
90
|
+
- Organic traffic to pricing page
|
|
91
|
+
- Demo/trial signups from organic
|
|
92
|
+
- Blog → pricing page conversion
|
|
93
|
+
- Comparison page rankings
|
|
94
|
+
- Integration page performance
|
|
95
|
+
|
|
96
|
+
## Comparison & Alternative Pages
|
|
97
|
+
|
|
98
|
+
Comparison pages are among the highest-converting content types for SaaS, with conversion rates of **4-7%** vs. 0.5-1.8% for standard blog content (35.8% of marketers report comparison content performs "better than ever" per Intergrowth November 2025 survey).
|
|
99
|
+
|
|
100
|
+
**Recommended page types:**
|
|
101
|
+
- `/{product}-vs-{competitor}`: Direct 1:1 comparison
|
|
102
|
+
- `/{competitor}-alternative`: Targeting competitor brand searches
|
|
103
|
+
- `/compare/{category}`: Category comparison hub
|
|
104
|
+
- `/best-{category}-tools`: Roundup-style pages
|
|
105
|
+
|
|
106
|
+
**Best practices:**
|
|
107
|
+
- Include structured comparison tables with pricing, features, pros/cons
|
|
108
|
+
- Be factually accurate about competitors: verify claims regularly
|
|
109
|
+
- Include customer testimonials from users who switched
|
|
110
|
+
- Add FAQ schema for common comparison questions (valuable for AI search)
|
|
111
|
+
- Update regularly: stale comparison data damages credibility
|
|
112
|
+
- Cross-reference the `seo-competitor-pages` skill for detailed frameworks
|
|
113
|
+
|
|
114
|
+
**Legal considerations:**
|
|
115
|
+
- Nominative fair use generally permits competitor brand mentions for comparison purposes
|
|
116
|
+
- Do NOT imply endorsement or affiliation
|
|
117
|
+
- Do NOT make false or unverifiable claims about competitor products
|
|
118
|
+
- Different jurisdictions have different trademark laws: consult legal counsel
|
|
119
|
+
|
|
120
|
+
## Competitive Considerations
|
|
121
|
+
|
|
122
|
+
- Monitor competitor feature releases
|
|
123
|
+
- Track competitor content strategies
|
|
124
|
+
- Identify keyword gaps in feature coverage
|
|
125
|
+
- Watch for new comparison opportunities
|
|
126
|
+
|
|
127
|
+
## Generative Engine Optimization (GEO) for SaaS
|
|
128
|
+
|
|
129
|
+
- [ ] Include clear, structured feature comparisons that AI systems can parse and cite
|
|
130
|
+
- [ ] Use SoftwareApplication schema with complete feature lists and pricing
|
|
131
|
+
- [ ] Publish original benchmark data, case studies, and ROI metrics
|
|
132
|
+
- [ ] Build content clusters around key product categories and use cases
|
|
133
|
+
- [ ] Ensure integration pages have clear, quotable descriptions
|
|
134
|
+
- [ ] Structure pricing information in tables AI can extract
|
|
135
|
+
- [ ] Monitor AI citation across Google AI Overviews, ChatGPT, and Perplexity
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo-programmatic
|
|
3
|
+
description: "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."
|
|
4
|
+
risk: unknown
|
|
5
|
+
source: "https://github.com/AgriciDaniel/claude-seo"
|
|
6
|
+
date_added: "2026-03-21"
|
|
7
|
+
user-invokable: true
|
|
8
|
+
argument-hint: "[url or plan]"
|
|
9
|
+
allowed-tools:
|
|
10
|
+
- Read
|
|
11
|
+
- Grep
|
|
12
|
+
- Glob
|
|
13
|
+
- Bash
|
|
14
|
+
- WebFetch
|
|
15
|
+
- Write
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Programmatic SEO Analysis & Planning
|
|
19
|
+
|
|
20
|
+
Build and audit SEO pages generated at scale from structured data sources.
|
|
21
|
+
Enforces quality gates to prevent thin content penalties and index bloat.
|
|
22
|
+
|
|
23
|
+
## When to Use
|
|
24
|
+
|
|
25
|
+
- Use when the user wants programmatic SEO planning or review.
|
|
26
|
+
- Use when designing templates, data-driven pages, or scalable URL systems.
|
|
27
|
+
- Use when preventing thin content and index bloat across large page sets.
|
|
28
|
+
|
|
29
|
+
## Data Source Assessment
|
|
30
|
+
|
|
31
|
+
Evaluate the data powering programmatic pages:
|
|
32
|
+
- **CSV/JSON files**: Row count, column uniqueness, missing values
|
|
33
|
+
- **API endpoints**: Response structure, data freshness, rate limits
|
|
34
|
+
- **Database queries**: Record count, field completeness, update frequency
|
|
35
|
+
- Data quality checks:
|
|
36
|
+
- Each record must have enough unique attributes to generate distinct content
|
|
37
|
+
- Flag duplicate or near-duplicate records (>80% field overlap)
|
|
38
|
+
- Verify data freshness; stale data produces stale pages
|
|
39
|
+
|
|
40
|
+
## Template Engine Planning
|
|
41
|
+
|
|
42
|
+
Design templates that produce unique, valuable pages:
|
|
43
|
+
- **Variable injection points**: Title, H1, body sections, meta description, schema
|
|
44
|
+
- **Content blocks**: Static (shared across pages) vs dynamic (unique per page)
|
|
45
|
+
- **Conditional logic**: Show/hide sections based on data availability
|
|
46
|
+
- **Supplementary content**: Related items, contextual tips, user-generated content
|
|
47
|
+
- Template review checklist:
|
|
48
|
+
- Each page must read as a standalone, valuable resource
|
|
49
|
+
- No "mad-libs" patterns (just swapping city/product names in identical text)
|
|
50
|
+
- Dynamic sections must add genuine information, not just keyword variations
|
|
51
|
+
|
|
52
|
+
## URL Pattern Strategy
|
|
53
|
+
|
|
54
|
+
### Common Patterns
|
|
55
|
+
- `/tools/[tool-name]`: Tool/product directory pages
|
|
56
|
+
- `/[city]/[service]`: Location + service pages
|
|
57
|
+
- `/integrations/[platform]`: Integration landing pages
|
|
58
|
+
- `/glossary/[term]`: Definition/reference pages
|
|
59
|
+
- `/templates/[template-name]`: Downloadable template pages
|
|
60
|
+
|
|
61
|
+
### URL Rules
|
|
62
|
+
- Lowercase, hyphenated slugs derived from data
|
|
63
|
+
- Logical hierarchy reflecting site architecture
|
|
64
|
+
- No duplicate slugs; enforce uniqueness at generation time
|
|
65
|
+
- Keep URLs under 100 characters
|
|
66
|
+
- No query parameters for primary content URLs
|
|
67
|
+
- Consistent trailing slash usage (match existing site pattern)
|
|
68
|
+
|
|
69
|
+
## Internal Linking Automation
|
|
70
|
+
|
|
71
|
+
- **Hub/spoke model**: Category hub pages linking to individual programmatic pages
|
|
72
|
+
- **Related items**: Auto-link to 3-5 related pages based on data attributes
|
|
73
|
+
- **Breadcrumbs**: Generate BreadcrumbList schema from URL hierarchy
|
|
74
|
+
- **Cross-linking**: Link between programmatic pages sharing attributes (same category, same city, same feature)
|
|
75
|
+
- **Anchor text**: Use descriptive, varied anchor text. Avoid exact-match keyword repetition
|
|
76
|
+
- Link density: 3-5 internal links per 1000 words (match seo-content guidelines)
|
|
77
|
+
|
|
78
|
+
## Thin Content Safeguards
|
|
79
|
+
|
|
80
|
+
### Quality Gates
|
|
81
|
+
|
|
82
|
+
| Metric | Threshold | Action |
|
|
83
|
+
|--------|-----------|--------|
|
|
84
|
+
| Pages without content review | 100+ | ⚠️ WARNING: require content audit before publishing |
|
|
85
|
+
| Pages without justification | 500+ | 🛑 HARD STOP: require explicit user approval and thin content audit |
|
|
86
|
+
| Unique content per page | <40% | ❌ Flag as thin content (likely penalty risk) |
|
|
87
|
+
| Word count per page | <300 | ⚠️ Flag for review (may lack sufficient value) |
|
|
88
|
+
|
|
89
|
+
### Scaled Content Abuse: Enforcement Context (2025-2026)
|
|
90
|
+
|
|
91
|
+
Google's Scaled Content Abuse policy (introduced March 2024) saw major enforcement escalation in 2025:
|
|
92
|
+
|
|
93
|
+
- **June 2025:** Wave of manual actions targeting websites with AI-generated content at scale
|
|
94
|
+
- **August 2025:** SpamBrain spam update enhanced pattern detection for AI-generated link schemes and content farms
|
|
95
|
+
- **Result:** Google reported 45% reduction in low-quality, unoriginal content in search results post-March 2024 enforcement
|
|
96
|
+
|
|
97
|
+
**Enhanced quality gates for programmatic pages:**
|
|
98
|
+
- **Content differentiation:** ≥30-40% of content must be genuinely unique between any two programmatic pages (not just city/keyword string replacement)
|
|
99
|
+
- **Human review:** Minimum 5-10% sample review of generated pages before publishing
|
|
100
|
+
- **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.
|
|
101
|
+
- **Standalone value test:** Each page should pass: "Would this page be worth publishing even if no other similar pages existed?"
|
|
102
|
+
- **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.
|
|
103
|
+
|
|
104
|
+
> **Recommendation:** The WARNING gate at `<40% unique content` remains appropriate. Consider a HARD STOP at `<30%` unique content to prevent scaled content abuse risk.
|
|
105
|
+
|
|
106
|
+
### Safe Programmatic Pages (OK at scale)
|
|
107
|
+
✅ Integration pages (with real setup docs, API details, screenshots)
|
|
108
|
+
✅ Template/tool pages (with downloadable content, usage instructions)
|
|
109
|
+
✅ Glossary pages (200+ word definitions with examples, related terms)
|
|
110
|
+
✅ Product pages (unique specs, reviews, comparison data)
|
|
111
|
+
✅ Data-driven pages (unique statistics, charts, analysis per record)
|
|
112
|
+
|
|
113
|
+
### Penalty Risk (avoid at scale)
|
|
114
|
+
❌ Location pages with only city name swapped in identical text
|
|
115
|
+
❌ "Best [tool] for [industry]" without industry-specific value
|
|
116
|
+
❌ "[Competitor] alternative" without real comparison data
|
|
117
|
+
❌ AI-generated pages without human review and unique value-add
|
|
118
|
+
❌ Pages where >60% of content is shared template boilerplate
|
|
119
|
+
|
|
120
|
+
### Uniqueness Calculation
|
|
121
|
+
Unique content % = (words unique to this page) / (total words on page) × 100
|
|
122
|
+
|
|
123
|
+
Measure against all other pages in the programmatic set. Shared headers, footers, and navigation are excluded from the calculation. Template boilerplate text IS included.
|
|
124
|
+
|
|
125
|
+
## Canonical Strategy
|
|
126
|
+
|
|
127
|
+
- Every programmatic page must have a self-referencing canonical tag
|
|
128
|
+
- Parameter variations (sort, filter, pagination) canonical to the base URL
|
|
129
|
+
- Paginated series: canonical to page 1 or use rel=next/prev
|
|
130
|
+
- If programmatic pages overlap with manual pages, the manual page is canonical
|
|
131
|
+
- No canonical to a different domain unless intentional cross-domain setup
|
|
132
|
+
|
|
133
|
+
## Sitemap Integration
|
|
134
|
+
|
|
135
|
+
- Auto-generate sitemap entries for all programmatic pages
|
|
136
|
+
- Split at 50,000 URLs per sitemap file (protocol limit)
|
|
137
|
+
- Use sitemap index if multiple sitemap files needed
|
|
138
|
+
- `<lastmod>` reflects actual data update timestamp (not generation time)
|
|
139
|
+
- Exclude noindexed programmatic pages from sitemap
|
|
140
|
+
- Register sitemap in robots.txt
|
|
141
|
+
- Update sitemap dynamically as new records are added to data source
|
|
142
|
+
|
|
143
|
+
## Index Bloat Prevention
|
|
144
|
+
|
|
145
|
+
- **Noindex low-value pages**: Pages that don't meet quality gates
|
|
146
|
+
- **Pagination**: Noindex paginated results beyond page 1 (or use rel=next/prev)
|
|
147
|
+
- **Faceted navigation**: Noindex filtered views, canonical to base category
|
|
148
|
+
- **Crawl budget**: For sites with >10k programmatic pages, monitor crawl stats in Search Console
|
|
149
|
+
- **Thin page consolidation**: Merge records with insufficient data into aggregated pages
|
|
150
|
+
- **Regular audits**: Monthly review of indexed page count vs intended count
|
|
151
|
+
|
|
152
|
+
## Output
|
|
153
|
+
|
|
154
|
+
### Programmatic SEO Score: XX/100
|
|
155
|
+
|
|
156
|
+
### Assessment Summary
|
|
157
|
+
| Category | Status | Score |
|
|
158
|
+
|----------|--------|-------|
|
|
159
|
+
| Data Quality | ✅/⚠️/❌ | XX/100 |
|
|
160
|
+
| Template Uniqueness | ✅/⚠️/❌ | XX/100 |
|
|
161
|
+
| URL Structure | ✅/⚠️/❌ | XX/100 |
|
|
162
|
+
| Internal Linking | ✅/⚠️/❌ | XX/100 |
|
|
163
|
+
| Thin Content Risk | ✅/⚠️/❌ | XX/100 |
|
|
164
|
+
| Index Management | ✅/⚠️/❌ | XX/100 |
|
|
165
|
+
|
|
166
|
+
### Critical Issues (fix immediately)
|
|
167
|
+
### High Priority (fix within 1 week)
|
|
168
|
+
### Medium Priority (fix within 1 month)
|
|
169
|
+
### Low Priority (backlog)
|
|
170
|
+
|
|
171
|
+
### Recommendations
|
|
172
|
+
- Data source improvements
|
|
173
|
+
- Template modifications
|
|
174
|
+
- URL pattern adjustments
|
|
175
|
+
- Quality gate compliance actions
|
|
176
|
+
|
|
177
|
+
## Error Handling
|
|
178
|
+
|
|
179
|
+
| Scenario | Action |
|
|
180
|
+
|----------|--------|
|
|
181
|
+
| URL unreachable | Report connection error with status code. Suggest verifying URL accessibility and checking for authentication requirements. |
|
|
182
|
+
| 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. |
|
|
183
|
+
| Thin content threshold exceeded | Trigger quality gate warning. Report the unique content percentage and flag pages below 40% uniqueness. Require user acknowledgment before proceeding. |
|
|
184
|
+
| Quality gate violation | Halt analysis at the HARD STOP threshold (500+ pages without justification or <30% unique content). Present findings and require explicit user approval to continue. |
|