443 lines
11 KiB
Markdown
443 lines
11 KiB
Markdown
# Placeholder SEO Sprint
|
||
|
||
**Date Created:** January 2, 2026
|
||
**Status:** Active
|
||
**Priority:** HIGH — Immediate execution
|
||
**Owner:** Oleg
|
||
**Duration:** 2 weeks
|
||
|
||
---
|
||
|
||
## Context
|
||
|
||
@spy research uncovered a major SEO opportunity:
|
||
|
||
| Metric | Value |
|
||
|--------|-------|
|
||
| Total search volume | 31,000+/month |
|
||
| Zero-KD keywords | 10+ keywords, 9K+ searches |
|
||
| AI competitors | **ZERO** |
|
||
| Direct user validation | r/ClaudeAI quote about MCP for placeholders |
|
||
|
||
**Strategic approach:** "Trojan Horse" — capture placeholder traffic, convert to full generation users.
|
||
|
||
**Source:** `/banatie-content/research/keywords/placeholder-niche-deep-dive-2026-01-02.md`
|
||
|
||
---
|
||
|
||
## Two Parallel Tracks
|
||
|
||
### Track A: Landing Page `/placeholder-images` (Primary)
|
||
|
||
**Goal:** Capture 14,800+ monthly searches for core placeholder keywords
|
||
|
||
**Target Keywords:**
|
||
|
||
| Keyword | Volume | KD | Priority |
|
||
|---------|--------|-----|----------|
|
||
| placeholder image | 14,800 | 18 | 🥇 |
|
||
| image placeholder | 14,800 | 17 | 🥇 |
|
||
| image placeholder dark | 4,400 | 2 | 🥇 |
|
||
| app placeholder image | 1,900 | 2 | 🥈 |
|
||
| placeholder image url | 390 | 21 | 🥈 |
|
||
|
||
### Track B: Docs Section `/docs/placeholders/` (Secondary)
|
||
|
||
**Goal:** Capture long-tail keywords, support conversion journey
|
||
|
||
**Target Keywords:**
|
||
|
||
| Keyword | Volume | KD | Priority |
|
||
|---------|--------|-----|----------|
|
||
| profile placeholder image | 720 | 0 | 🥇 |
|
||
| ios placeholder image | 590 | 0 | 🥇 |
|
||
| placeholder image css | 720 | 12 | 🥈 |
|
||
| placeholder image html | 320 | 26 | 🥈 |
|
||
|
||
---
|
||
|
||
## Track A: Landing Page
|
||
|
||
### Page Structure
|
||
|
||
```
|
||
URL: /placeholder-images
|
||
Title: "AI Placeholder Images — Generate Contextual Placeholders Instantly"
|
||
H1: "AI Placeholder Images"
|
||
```
|
||
|
||
**Sections:**
|
||
|
||
```
|
||
1. HERO
|
||
├── H1: "AI Placeholder Images"
|
||
├── Subhead: "Generate contextual placeholders instantly. Not random stock photos."
|
||
├── [Interactive demo: prompt input → live result]
|
||
└── CTA: "Try It Free" / "Get API Key"
|
||
|
||
2. HOW IT WORKS (3 steps)
|
||
├── Step 1: Describe what you need
|
||
├── Step 2: Get instant URL
|
||
└── Step 3: Use in your code
|
||
|
||
3. LIVE URL DEMO
|
||
├── Code snippet: <img src="...">
|
||
├── Common sizes selector (avatar, thumbnail, hero, og)
|
||
└── Copy URL buttons
|
||
|
||
4. COMMON SIZES (interactive grid)
|
||
├── Avatar (200×200)
|
||
├── Thumbnail (300×200)
|
||
├── Card (400×300)
|
||
├── Hero (1200×630)
|
||
├── Product (600×600)
|
||
└── [Click to see example + copy URL]
|
||
|
||
5. USE CASES
|
||
├── Development mockups
|
||
├── Client presentations
|
||
├── Prototyping
|
||
└── Design systems
|
||
|
||
6. COMPARISON TABLE
|
||
| Service | Type | Result |
|
||
|---------|------|--------|
|
||
| placehold.co | Gray boxes | Generic |
|
||
| picsum.photos | Random stock | Irrelevant |
|
||
| Banatie | AI-generated | Contextual |
|
||
|
||
7. PRODUCTION READY (conversion bridge)
|
||
├── "These aren't just placeholders"
|
||
├── "Same images work in production"
|
||
├── "Or upgrade to full generation"
|
||
└── CTA: "Get Started with Full API"
|
||
|
||
8. FOOTER CTA
|
||
└── Email signup / Get API Key
|
||
```
|
||
|
||
### SEO Requirements
|
||
|
||
**Metadata:**
|
||
```
|
||
title: "AI Placeholder Images — Generate Contextual Placeholders | Banatie"
|
||
description: "Generate AI placeholder images instantly. Not random stock photos — contextual images from your description. Free Live URLs for development."
|
||
keywords: [
|
||
"placeholder image",
|
||
"image placeholder",
|
||
"ai placeholder images",
|
||
"placeholder image generator",
|
||
"placeholder image url",
|
||
"image placeholder dark",
|
||
"app placeholder image"
|
||
]
|
||
```
|
||
|
||
**JSON-LD:**
|
||
- WebPage schema
|
||
- HowTo schema (3 steps)
|
||
- Product schema (for rich snippets)
|
||
|
||
**Internal Links:**
|
||
- → /docs/live-urls/
|
||
- → /docs/placeholders/ (when created)
|
||
- → /docs/generation/
|
||
|
||
### Technical Requirements
|
||
|
||
**Before launch, verify Live URLs support:**
|
||
- [ ] `?width=X&height=Y` parameters
|
||
- [ ] `?aspectRatio=X:Y` (already exists)
|
||
- [ ] Dark mode hint in prompt or parameter
|
||
- [ ] Common preset sizes
|
||
|
||
**If missing:** Priority fix before landing page launch.
|
||
|
||
### Deliverable
|
||
|
||
**MVP Version (Day 1-2):**
|
||
- Text-only, minimal graphics
|
||
- Hero + How It Works + Code Example + CTA
|
||
- Working interactive demo (if Live URLs ready)
|
||
|
||
**Enhanced Version (Day 3-5):**
|
||
- Size grid with examples
|
||
- Comparison table
|
||
- Better visuals
|
||
|
||
---
|
||
|
||
## Track B: Docs Section
|
||
|
||
### Structure
|
||
|
||
```
|
||
/docs/placeholders/ ← Main page (overview)
|
||
/docs/placeholders/sizes/ ← Size-specific examples
|
||
/docs/placeholders/dark-mode/ ← Dark mode placeholders (4,400 vol, KD 2)
|
||
/docs/placeholders/profiles/ ← Avatar/profile placeholders (720 vol, KD 0)
|
||
```
|
||
|
||
### Page 1: `/docs/placeholders/` (Overview)
|
||
|
||
**Target:** "placeholder image api", "ai placeholder generator"
|
||
|
||
**Content:**
|
||
```markdown
|
||
# Placeholder Images
|
||
|
||
Generate contextual placeholder images with a single URL.
|
||
|
||
## Quick Start
|
||
[Live URL example]
|
||
|
||
## Why AI Placeholders?
|
||
- Relevant to your content (not random)
|
||
- Production-ready quality
|
||
- Instant via URL
|
||
|
||
## Common Use Cases
|
||
- Development mockups
|
||
- Client demos
|
||
- Design prototypes
|
||
|
||
## Next Steps
|
||
- [Sizes & Dimensions →](/docs/placeholders/sizes/)
|
||
- [Dark Mode Placeholders →](/docs/placeholders/dark-mode/)
|
||
- [Profile Avatars →](/docs/placeholders/profiles/)
|
||
```
|
||
|
||
### Page 2: `/docs/placeholders/dark-mode/`
|
||
|
||
**Target:** "image placeholder dark" (4,400 vol, KD 2) ← HIGHEST PRIORITY
|
||
|
||
**Content:**
|
||
```markdown
|
||
# Dark Mode Placeholder Images
|
||
|
||
Generate placeholders optimized for dark mode interfaces.
|
||
|
||
## How to Request Dark Mode
|
||
[URL with dark mode hint]
|
||
|
||
## Examples
|
||
[Grid of dark mode examples]
|
||
|
||
## Tips for Dark UI
|
||
- Use darker backgrounds
|
||
- Mention "dark theme" in prompt
|
||
- Avoid bright colors
|
||
```
|
||
|
||
### Page 3: `/docs/placeholders/profiles/`
|
||
|
||
**Target:** "profile placeholder image" (720 vol, KD 0) ← ZERO DIFFICULTY
|
||
|
||
**Content:**
|
||
```markdown
|
||
# Profile & Avatar Placeholders
|
||
|
||
Generate realistic avatar placeholders for user profiles.
|
||
|
||
## Standard Sizes
|
||
- 48×48 (small)
|
||
- 96×96 (medium)
|
||
- 200×200 (large)
|
||
|
||
## Examples
|
||
[Avatar examples]
|
||
|
||
## Diversity
|
||
Describe demographics in prompt for variety.
|
||
```
|
||
|
||
### Page 4: `/docs/placeholders/sizes/`
|
||
|
||
**Target:** "200x200 placeholder image", "placeholder image 600x400"
|
||
|
||
**Content:**
|
||
```markdown
|
||
# Placeholder Image Sizes
|
||
|
||
Common sizes and how to request them.
|
||
|
||
## Size Reference
|
||
| Use Case | Size | URL Parameter |
|
||
|----------|------|---------------|
|
||
| Avatar | 200×200 | ?width=200&height=200 |
|
||
| Thumbnail | 300×200 | ?width=300&height=200 |
|
||
| Card | 400×300 | ?aspectRatio=4:3 |
|
||
| Hero | 1200×630 | ?aspectRatio=1200:630 |
|
||
|
||
## Custom Sizes
|
||
[How to specify any size]
|
||
```
|
||
|
||
---
|
||
|
||
## Track C: Homepage Quick Wins
|
||
|
||
### Current State
|
||
|
||
Homepage at banatie.app is indexed. `PromptUrlsSection` already showcases Live URLs — perfect fit for placeholder messaging.
|
||
|
||
### Recommended Changes
|
||
|
||
**1. Add keywords to metadata:**
|
||
|
||
```typescript
|
||
keywords: [
|
||
'API-first image generation',
|
||
'AI image API',
|
||
'image generation for developers',
|
||
'prompt to image API',
|
||
'CDN image delivery',
|
||
// ADD THESE:
|
||
'placeholder images',
|
||
'ai placeholder generator',
|
||
'placeholder image api',
|
||
],
|
||
```
|
||
|
||
**2. Update PromptUrlsSection subtitle:**
|
||
|
||
Current:
|
||
> "Perfect for static sites, prototypes, and AI coding agents that generate HTML."
|
||
|
||
Proposed:
|
||
> "Perfect for placeholder images, prototypes, static sites, and AI coding agents."
|
||
|
||
**3. Add internal link to placeholder page:**
|
||
|
||
In PromptUrlsSection, add link:
|
||
> "See more: [AI Placeholder Images →](/placeholder-images)"
|
||
|
||
### Implementation
|
||
|
||
These are 10-minute changes. Do together with docs deployment.
|
||
|
||
---
|
||
|
||
## Timeline
|
||
|
||
### Week 1
|
||
|
||
| Day | Track A (Landing) | Track B (Docs) | Track C (Homepage) |
|
||
|-----|-------------------|----------------|-------------------|
|
||
| 1 | Verify Live URLs params | — | Add keywords + update subtitle |
|
||
| 1-2 | Create MVP landing page | — | — |
|
||
| 3 | Deploy, submit to GSC | Create /docs/placeholders/ | — |
|
||
| 4-5 | Enhance with visuals | Create dark-mode page | — |
|
||
|
||
### Week 2
|
||
|
||
| Day | Track A | Track B |
|
||
|-----|---------|---------|
|
||
| 6-7 | Monitor GSC, iterate copy | Create profiles page |
|
||
| 8-10 | A/B test CTAs if traffic | Create sizes page |
|
||
|
||
---
|
||
|
||
## Success Metrics
|
||
|
||
### Week 1 (Immediate)
|
||
- [ ] `/placeholder-images` live and indexed
|
||
- [ ] `/docs/placeholders/` section live (at least overview + dark-mode)
|
||
- [ ] Homepage keywords updated
|
||
- [ ] All pages in GSC
|
||
|
||
### Month 1
|
||
- [ ] GSC shows impressions for placeholder keywords
|
||
- [ ] First organic clicks from placeholder searches
|
||
- [ ] At least one signup attributed to placeholder content
|
||
|
||
### Month 3
|
||
- [ ] Top 20 for "placeholder image" (14,800 vol)
|
||
- [ ] Top 10 for "image placeholder dark" (4,400 vol, KD 2)
|
||
- [ ] Top 5 for zero-KD keywords
|
||
|
||
---
|
||
|
||
## Technical Checklist
|
||
|
||
### Before Landing Page Launch
|
||
|
||
- [ ] Live URLs support `?width=X&height=Y`
|
||
- [ ] Live URLs support `?aspectRatio=X:Y` (verify)
|
||
- [ ] Test dark mode prompts produce dark images
|
||
- [ ] CDN caching works for Live URLs
|
||
- [ ] No rate limit issues for demo
|
||
|
||
### SEO Checklist
|
||
|
||
- [ ] Canonical URLs set
|
||
- [ ] OG image created or use default
|
||
- [ ] JSON-LD schemas added
|
||
- [ ] Internal links from homepage
|
||
- [ ] Internal links from docs
|
||
- [ ] sitemap.xml updated
|
||
- [ ] GSC submission
|
||
|
||
---
|
||
|
||
## Risk Mitigation
|
||
|
||
| Risk | Mitigation |
|
||
|------|------------|
|
||
| Live URLs not ready | Launch docs first, landing page waits |
|
||
| Low conversion to full API | Add clear upgrade path messaging |
|
||
| Competitors copy quickly | Speed — be first, build authority |
|
||
| Placeholder users expect free | Set expectations early, free tier limits |
|
||
|
||
---
|
||
|
||
## Conversion Strategy
|
||
|
||
**Key Message Throughout:**
|
||
|
||
> "Start with placeholders. Ship with production-ready images."
|
||
|
||
**Upgrade Triggers:**
|
||
1. Hit free tier limit → upgrade prompt
|
||
2. Need consistency across images → show references feature
|
||
3. Want higher quality → show production generation
|
||
4. Need API integration → show full API docs
|
||
|
||
**Placement:**
|
||
- End of every placeholder doc page
|
||
- Bottom of landing page
|
||
- In-app after X free generations
|
||
|
||
---
|
||
|
||
## Files to Create
|
||
|
||
### Landing
|
||
- `apps/landing/src/app/(landings)/placeholder-images/page.tsx`
|
||
|
||
### Docs
|
||
- `apps/landing/src/app/(apps)/docs/placeholders/page.tsx`
|
||
- `apps/landing/src/app/(apps)/docs/placeholders/dark-mode/page.tsx`
|
||
- `apps/landing/src/app/(apps)/docs/placeholders/profiles/page.tsx`
|
||
- `apps/landing/src/app/(apps)/docs/placeholders/sizes/page.tsx`
|
||
|
||
### Config Updates
|
||
- `src/config/docs-seo.ts` — add placeholder pages
|
||
- `src/config/docs-schema.ts` — add schemas if needed
|
||
- `src/app/sitemap.ts` — add new URLs
|
||
|
||
---
|
||
|
||
## Reference Documents
|
||
|
||
- Research: `/banatie-content/research/keywords/placeholder-niche-deep-dive-2026-01-02.md`
|
||
- Content brief: `/banatie-content/0-inbox/placeholder-ai-images.md`
|
||
- Docs SEO task: `/banatie-service/docs-seo-task.md`
|
||
|
||
---
|
||
|
||
**Document Owner:** @men
|
||
**Last Updated:** January 2, 2026
|
||
**Next Review:** End of Week 1
|
||
**Status:** Ready for execution
|