mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-18 11:49:41 +02:00
1033 lines
27 KiB
Markdown
1033 lines
27 KiB
Markdown
# SEO Content Strategy Recommendations for Picture Landing Page
|
|
|
|
> **Document Date**: October 9, 2025
|
|
> **Status**: Recommendations - Not Yet Implemented
|
|
> **Expected Impact**: 200-300% organic traffic increase over 6-12 months
|
|
|
|
## Executive Summary
|
|
|
|
This document outlines a comprehensive SEO content strategy for the Picture landing page. The strategy focuses on creating high-value content collections and technical improvements that will:
|
|
|
|
- **Capture high-intent search traffic** through comparison, use case, and pricing content
|
|
- **Build topical authority** in AI image generation space
|
|
- **Improve conversion rates** through educational content (tutorials, FAQ)
|
|
- **Generate quality backlinks** through resources and case studies
|
|
- **Enhance technical SEO** with proper schema markup and site structure
|
|
|
|
## Priority 1: High-Impact Content Collections
|
|
|
|
### 1. Use Cases Collection
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐⭐ (High intent keywords, long-tail opportunities)
|
|
|
|
**Schema Definition**:
|
|
```typescript
|
|
const useCasesCollection = defineCollection({
|
|
type: 'content',
|
|
schema: z.object({
|
|
title: z.string(),
|
|
description: z.string(),
|
|
slug: z.string(),
|
|
icon: z.string(),
|
|
category: z.enum([
|
|
'social-media',
|
|
'marketing',
|
|
'design',
|
|
'ecommerce',
|
|
'education',
|
|
'entertainment',
|
|
'business',
|
|
'personal'
|
|
]),
|
|
industry: z.string().optional(),
|
|
difficulty: z.enum(['beginner', 'intermediate', 'advanced']),
|
|
featured: z.boolean().default(false),
|
|
language: z.enum(['en', 'de', 'fr', 'it', 'es']),
|
|
coverImage: z.string().optional(),
|
|
relatedFeatures: z.array(z.string()).default([]),
|
|
relatedTutorials: z.array(z.string()).default([]),
|
|
seoKeywords: z.array(z.string()).default([]),
|
|
caseStudy: z.string().optional(), // Link to related case study
|
|
}),
|
|
});
|
|
```
|
|
|
|
**Example Pages**:
|
|
- "AI Images for Instagram Posts" → Target: "ai generated images for instagram"
|
|
- "Product Photography for E-commerce" → Target: "ai product photography"
|
|
- "Marketing Visuals for Social Media" → Target: "ai marketing images"
|
|
- "Book Covers and Publishing" → Target: "ai book cover generator"
|
|
- "Real Estate Listing Images" → Target: "ai real estate images"
|
|
- "YouTube Thumbnails" → Target: "ai youtube thumbnail generator"
|
|
|
|
**Expected Traffic**: 1,500-3,000 monthly visits per article (15-20 articles = 22,500-60,000 total)
|
|
|
|
---
|
|
|
|
### 2. Comparisons Collection
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐⭐ (High commercial intent, branded searches)
|
|
|
|
**Schema Definition**:
|
|
```typescript
|
|
const comparisonsCollection = defineCollection({
|
|
type: 'content',
|
|
schema: z.object({
|
|
title: z.string(), // e.g., "Picture vs Midjourney"
|
|
description: z.string(),
|
|
slug: z.string(),
|
|
competitor: z.string(), // The tool being compared to
|
|
comparisonType: z.enum(['vs-competitor', 'alternative', 'category-comparison']),
|
|
featured: z.boolean().default(false),
|
|
language: z.enum(['en', 'de', 'fr', 'it', 'es']),
|
|
comparisonTable: z.object({
|
|
features: z.array(z.object({
|
|
feature: z.string(),
|
|
picture: z.string(), // "yes", "no", "partial", or specific value
|
|
competitor: z.string(),
|
|
winner: z.enum(['picture', 'competitor', 'tie']).optional(),
|
|
})),
|
|
}),
|
|
pricing: z.object({
|
|
picturePrice: z.string(),
|
|
competitorPrice: z.string(),
|
|
verdict: z.string(),
|
|
}),
|
|
verdict: z.object({
|
|
summary: z.string(),
|
|
bestFor: z.array(z.string()), // When to choose Picture
|
|
notBestFor: z.array(z.string()).optional(), // When competitor might be better
|
|
}),
|
|
seoKeywords: z.array(z.string()).default([]),
|
|
lastUpdated: z.date(),
|
|
}),
|
|
});
|
|
```
|
|
|
|
**Example Pages**:
|
|
- "Picture vs Midjourney: Which AI Image Generator is Better in 2025?"
|
|
- "Picture vs DALL-E 3: Features, Pricing & Quality Comparison"
|
|
- "Picture vs Stable Diffusion: Ease of Use vs Control"
|
|
- "10 Best Midjourney Alternatives for 2025"
|
|
- "Replicate vs Picture: Developer-Friendly Image Generation"
|
|
- "Free AI Image Generators: Picture vs Leonardo AI vs Bing"
|
|
|
|
**Expected Traffic**: 500-2,000 monthly visits per comparison (10-15 comparisons = 5,000-30,000 total)
|
|
|
|
---
|
|
|
|
### 3. Tutorials Collection
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐ (Educational keywords, high engagement, backlink potential)
|
|
|
|
**Schema Definition**:
|
|
```typescript
|
|
const tutorialsCollection = defineCollection({
|
|
type: 'content',
|
|
schema: z.object({
|
|
title: z.string(),
|
|
description: z.string(),
|
|
slug: z.string(),
|
|
category: z.enum([
|
|
'getting-started',
|
|
'advanced-techniques',
|
|
'prompting',
|
|
'workflows',
|
|
'integrations',
|
|
'troubleshooting'
|
|
]),
|
|
difficulty: z.enum(['beginner', 'intermediate', 'advanced']),
|
|
timeToComplete: z.string(), // e.g., "15 minutes"
|
|
language: z.enum(['en', 'de', 'fr', 'it', 'es']),
|
|
coverImage: z.string().optional(),
|
|
videoUrl: z.string().optional(), // YouTube embed
|
|
steps: z.array(z.object({
|
|
title: z.string(),
|
|
description: z.string(),
|
|
image: z.string().optional(),
|
|
codeSnippet: z.string().optional(),
|
|
})),
|
|
relatedFeatures: z.array(z.string()).default([]),
|
|
relatedTutorials: z.array(z.string()).default([]),
|
|
tools: z.array(z.string()).default([]), // Required tools/models
|
|
publishDate: z.date(),
|
|
lastUpdated: z.date(),
|
|
author: z.string().default('Picture Team'),
|
|
seoKeywords: z.array(z.string()).default([]),
|
|
}),
|
|
});
|
|
```
|
|
|
|
**Example Pages**:
|
|
- "How to Create Viral Instagram Images with AI in 5 Minutes"
|
|
- "Complete Guide to AI Image Prompting for Beginners"
|
|
- "10 Advanced Prompting Techniques for Photorealistic Images"
|
|
- "Batch Generate 100 Product Images: Step-by-Step Workflow"
|
|
- "How to Use Different Aspect Ratios for Every Platform"
|
|
- "Troubleshooting: Why Your AI Images Look Bad (and How to Fix It)"
|
|
|
|
**Expected Traffic**: 800-2,500 monthly visits per tutorial (20-30 tutorials = 16,000-75,000 total)
|
|
|
|
---
|
|
|
|
### 4. FAQ Collection
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐⭐ (Featured snippets, voice search, quick win)
|
|
|
|
**Schema Definition**:
|
|
```typescript
|
|
const faqCollection = defineCollection({
|
|
type: 'content',
|
|
schema: z.object({
|
|
question: z.string(),
|
|
slug: z.string(),
|
|
category: z.enum([
|
|
'general',
|
|
'pricing',
|
|
'features',
|
|
'technical',
|
|
'legal',
|
|
'account',
|
|
'generation',
|
|
'models'
|
|
]),
|
|
featured: z.boolean().default(false), // Show on homepage
|
|
language: z.enum(['en', 'de', 'fr', 'it', 'es']),
|
|
relatedFaqs: z.array(z.string()).default([]),
|
|
relatedFeatures: z.array(z.string()).default([]),
|
|
relatedTutorials: z.array(z.string()).default([]),
|
|
seoKeywords: z.array(z.string()).default([]),
|
|
lastUpdated: z.date(),
|
|
}),
|
|
});
|
|
```
|
|
|
|
**Example Questions**:
|
|
- "Is AI-generated content copyright-free?" ⚖️
|
|
- "How long does it take to generate an AI image?"
|
|
- "Can I use AI images for commercial purposes?"
|
|
- "What's the difference between FLUX and Stable Diffusion?"
|
|
- "How do I write better prompts for AI image generation?"
|
|
- "Is my data private when using Picture?"
|
|
- "Can I cancel my subscription anytime?"
|
|
- "What happens to my images if I cancel?"
|
|
|
|
**SEO Benefits**:
|
|
- **Featured Snippets**: FAQ schema markup increases chances of position 0
|
|
- **People Also Ask**: Captures "people also ask" boxes
|
|
- **Voice Search**: Natural language questions optimize for voice assistants
|
|
|
|
**Expected Traffic**: 200-800 monthly visits per FAQ (40-60 FAQs = 8,000-48,000 total)
|
|
|
|
---
|
|
|
|
### 5. Glossary/Dictionary Collection
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐ (Topical authority, internal linking opportunities)
|
|
|
|
**Schema Definition**:
|
|
```typescript
|
|
const glossaryCollection = defineCollection({
|
|
type: 'content',
|
|
schema: z.object({
|
|
term: z.string(),
|
|
slug: z.string(),
|
|
definition: z.string(), // Short definition (1-2 sentences)
|
|
category: z.enum([
|
|
'ai-basics',
|
|
'models',
|
|
'prompting',
|
|
'image-editing',
|
|
'technical',
|
|
'industry'
|
|
]),
|
|
aliases: z.array(z.string()).default([]), // Alternative terms
|
|
relatedTerms: z.array(z.string()).default([]),
|
|
relatedFeatures: z.array(z.string()).default([]),
|
|
relatedTutorials: z.array(z.string()).default([]),
|
|
language: z.enum(['en', 'de', 'fr', 'it', 'es']),
|
|
examples: z.array(z.string()).default([]),
|
|
seoKeywords: z.array(z.string()).default([]),
|
|
}),
|
|
});
|
|
```
|
|
|
|
**Example Terms**:
|
|
- "Prompt Engineering"
|
|
- "FLUX Model"
|
|
- "Stable Diffusion"
|
|
- "Aspect Ratio"
|
|
- "Negative Prompt"
|
|
- "CFG Scale (Classifier-Free Guidance)"
|
|
- "Seed Number"
|
|
- "Inference Steps"
|
|
- "LoRA (Low-Rank Adaptation)"
|
|
- "Img2Img (Image-to-Image)"
|
|
|
|
**SEO Benefits**:
|
|
- Builds topical authority in AI image generation
|
|
- Creates internal linking hub
|
|
- Captures "what is..." queries
|
|
|
|
**Expected Traffic**: 100-500 monthly visits per term (30-50 terms = 3,000-25,000 total)
|
|
|
|
---
|
|
|
|
### 6. Case Studies Collection
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐ (Trust signals, backlink magnets, conversion focused)
|
|
|
|
**Schema Definition**:
|
|
```typescript
|
|
const caseStudiesCollection = defineCollection({
|
|
type: 'content',
|
|
schema: z.object({
|
|
title: z.string(),
|
|
slug: z.string(),
|
|
customer: z.object({
|
|
name: z.string(),
|
|
company: z.string(),
|
|
role: z.string(),
|
|
industry: z.string(),
|
|
size: z.string(), // e.g., "10-50 employees", "Solo creator"
|
|
logo: z.string().optional(),
|
|
website: z.string().optional(),
|
|
}),
|
|
challenge: z.string(), // What problem did they face?
|
|
solution: z.string(), // How Picture solved it
|
|
results: z.array(z.object({
|
|
metric: z.string(), // e.g., "Time saved"
|
|
value: z.string(), // e.g., "80%"
|
|
description: z.string(),
|
|
})),
|
|
testimonial: z.string().optional(), // Quote from customer
|
|
featured: z.boolean().default(false),
|
|
language: z.enum(['en', 'de', 'fr', 'it', 'es']),
|
|
coverImage: z.string().optional(),
|
|
gallery: z.array(z.string()).default([]), // Example images created
|
|
publishDate: z.date(),
|
|
relatedFeatures: z.array(z.string()).default([]),
|
|
relatedUseCases: z.array(z.string()).default([]),
|
|
}),
|
|
});
|
|
```
|
|
|
|
**Example Case Studies**:
|
|
- "How @sarahcreates Generated 10,000 Instagram Images in 3 Months"
|
|
- "Real Estate Agency Increases Listings by 40% with AI-Generated Staging"
|
|
- "E-commerce Brand Cuts Product Photography Costs by 90%"
|
|
- "Marketing Agency Scales Content Production 5x with Picture"
|
|
|
|
**Expected Traffic**: 300-1,000 monthly visits per case study (8-12 studies = 2,400-12,000 total)
|
|
|
|
---
|
|
|
|
### 7. Resources Collection
|
|
|
|
**SEO Value**: ⭐⭐⭐ (Backlink magnets, lead generation)
|
|
|
|
**Schema Definition**:
|
|
```typescript
|
|
const resourcesCollection = defineCollection({
|
|
type: 'content',
|
|
schema: z.object({
|
|
title: z.string(),
|
|
slug: z.string(),
|
|
type: z.enum([
|
|
'ebook',
|
|
'guide',
|
|
'template',
|
|
'checklist',
|
|
'cheat-sheet',
|
|
'whitepaper',
|
|
'webinar',
|
|
'toolkit'
|
|
]),
|
|
description: z.string(),
|
|
coverImage: z.string(),
|
|
downloadUrl: z.string().optional(), // For gated content
|
|
previewUrl: z.string().optional(),
|
|
gated: z.boolean().default(false), // Require email?
|
|
category: z.enum([
|
|
'prompting',
|
|
'business',
|
|
'design',
|
|
'marketing',
|
|
'technical',
|
|
'getting-started'
|
|
]),
|
|
format: z.string(), // PDF, Video, Interactive, etc.
|
|
pages: z.number().optional(),
|
|
fileSize: z.string().optional(),
|
|
language: z.enum(['en', 'de', 'fr', 'it', 'es']),
|
|
publishDate: z.date(),
|
|
lastUpdated: z.date(),
|
|
featured: z.boolean().default(false),
|
|
}),
|
|
});
|
|
```
|
|
|
|
**Example Resources**:
|
|
- "The Ultimate AI Image Prompting Guide (50-page PDF)"
|
|
- "100 Prompt Templates for Social Media Images"
|
|
- "Content Creator's AI Image Workflow Checklist"
|
|
- "Commercial Use Rights: Legal Guide for AI Images"
|
|
- "Aspect Ratio Cheat Sheet for Every Platform"
|
|
|
|
**Expected Traffic**: 500-3,000 monthly visits per resource (10-15 resources = 5,000-45,000 total)
|
|
|
|
---
|
|
|
|
## Priority 2: Important Static Pages
|
|
|
|
### 1. Pricing Page (`/pricing`)
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐⭐ (High commercial intent)
|
|
|
|
**Target Keywords**:
|
|
- "picture pricing"
|
|
- "ai image generator pricing"
|
|
- "picture cost"
|
|
- "picture free plan"
|
|
|
|
**Content Structure**:
|
|
```markdown
|
|
# Picture Pricing: Plans for Every Creator
|
|
|
|
## Free Forever Plan
|
|
- ✅ 50 images/month
|
|
- ✅ All 10+ AI models
|
|
- ✅ Unlimited cloud storage
|
|
- ✅ Basic support
|
|
|
|
## Pro Plan - $19/month
|
|
- ✅ 500 images/month
|
|
- ✅ Priority generation
|
|
- ✅ Batch generation
|
|
- ✅ Advanced features
|
|
- ✅ Email support
|
|
|
|
## Business Plan - $99/month
|
|
- ✅ 5,000 images/month
|
|
- ✅ API access
|
|
- ✅ Team collaboration
|
|
- ✅ Priority support
|
|
- ✅ Custom models
|
|
|
|
## FAQ Section
|
|
- How does the free plan work?
|
|
- Can I change plans anytime?
|
|
- Do unused credits roll over?
|
|
- What payment methods do you accept?
|
|
|
|
## Compare Plans Table
|
|
[Detailed feature comparison grid]
|
|
|
|
## Testimonials from Each Plan Tier
|
|
[3-5 testimonials highlighting value]
|
|
```
|
|
|
|
**Schema Markup**: `FAQPage`, `Product` (SaaS), `Offer`
|
|
|
|
---
|
|
|
|
### 2. About Page (`/about`)
|
|
|
|
**SEO Value**: ⭐⭐⭐ (Brand trust, backlink destination)
|
|
|
|
**Target Keywords**:
|
|
- "picture ai company"
|
|
- "about picture ai"
|
|
- "who made picture"
|
|
|
|
**Content Structure**:
|
|
- **Our Mission**: Democratize AI image generation
|
|
- **Our Story**: How Picture was founded
|
|
- **Our Team**: Photos + bios (builds E-A-T)
|
|
- **Our Values**: Privacy, ownership, creativity
|
|
- **Our Technology**: Infrastructure, models used
|
|
- **Press & Media**: Logos of publications that mentioned us
|
|
- **Contact**: How to reach us
|
|
|
|
---
|
|
|
|
### 3. Changelog/Updates (`/changelog`)
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐ (Freshness signals, returning users)
|
|
|
|
**Target Keywords**:
|
|
- "picture updates"
|
|
- "picture new features"
|
|
- "picture changelog"
|
|
|
|
**Content Structure**:
|
|
```markdown
|
|
# What's New in Picture
|
|
|
|
## October 2025
|
|
### 🚀 New Feature: Batch Generation
|
|
Generate up to 100 images in a single click...
|
|
|
|
### 🎨 7 New Themes
|
|
Beautiful new themes including Ocean, Sunset, Forest...
|
|
|
|
### ⚡ 3x Faster Generation
|
|
Optimized infrastructure reduces generation time...
|
|
|
|
## September 2025
|
|
[...]
|
|
```
|
|
|
|
**Schema Markup**: `BlogPosting` for each entry
|
|
|
|
---
|
|
|
|
### 4. Roadmap (`/roadmap`)
|
|
|
|
**SEO Value**: ⭐⭐⭐ (Transparency, community engagement)
|
|
|
|
**Target Keywords**:
|
|
- "picture roadmap"
|
|
- "picture upcoming features"
|
|
- "picture future plans"
|
|
|
|
**Content Structure**:
|
|
```markdown
|
|
# Picture Roadmap
|
|
|
|
## 🚀 In Progress
|
|
- [ ] Video generation (coming Q1 2026)
|
|
- [ ] Custom model training
|
|
- [ ] Mobile app redesign
|
|
|
|
## 🔮 Planned
|
|
- [ ] Animation tools
|
|
- [ ] Collaboration features
|
|
- [ ] API v2
|
|
|
|
## ✅ Completed
|
|
- [x] Batch generation (Oct 2025)
|
|
- [x] 7 themes (Oct 2025)
|
|
- [x] Testimonials system (Oct 2025)
|
|
|
|
[Vote on features via GitHub Discussions link]
|
|
```
|
|
|
|
---
|
|
|
|
### 5. Alternatives Page (`/alternatives`)
|
|
|
|
**SEO Value**: ⭐⭐⭐⭐⭐ (High commercial intent, branded searches)
|
|
|
|
**Target Keywords**:
|
|
- "midjourney alternatives"
|
|
- "dall-e alternatives"
|
|
- "best ai image generators"
|
|
- "free ai image generator"
|
|
|
|
**Content Structure**:
|
|
```markdown
|
|
# 10 Best AI Image Generators in 2025
|
|
|
|
Honest comparison of Picture vs competitors with pros/cons for each.
|
|
|
|
## 1. Picture (Best for beginners & mobile users)
|
|
✅ Pros: Easy to use, mobile apps, unlimited storage
|
|
❌ Cons: Fewer advanced features than Midjourney
|
|
|
|
## 2. Midjourney (Best for quality)
|
|
✅ Pros: Highest quality, great community
|
|
❌ Cons: Discord-only, learning curve, expensive
|
|
|
|
[Continue for top 10 tools]
|
|
|
|
## Comparison Table
|
|
[Side-by-side feature comparison]
|
|
|
|
## How to Choose the Right Tool
|
|
- For beginners → Picture or Leonardo AI
|
|
- For professionals → Midjourney or Stable Diffusion
|
|
- For developers → Replicate or Picture API
|
|
```
|
|
|
|
**SEO Strategy**: This page can rank for competitor brand searches and capture users researching alternatives.
|
|
|
|
---
|
|
|
|
### 6. Integrations Page (`/integrations`)
|
|
|
|
**SEO Value**: ⭐⭐⭐ (Long-tail keywords, developer audience)
|
|
|
|
**Target Keywords**:
|
|
- "picture integrations"
|
|
- "picture zapier"
|
|
- "picture api"
|
|
- "picture figma plugin"
|
|
|
|
**Content Structure**:
|
|
- **Zapier**: Automate image generation
|
|
- **API**: Developer documentation link
|
|
- **Figma Plugin** (if available): Design workflows
|
|
- **WordPress Plugin** (if available): Content creators
|
|
- **Slack Bot** (if available): Team collaboration
|
|
|
|
---
|
|
|
|
## Priority 3: Technical SEO Improvements
|
|
|
|
### 1. Schema Markup
|
|
|
|
**Implementation Priority**: ⭐⭐⭐⭐⭐
|
|
|
|
Add structured data to every page:
|
|
|
|
```typescript
|
|
// src/components/SchemaMarkup.astro
|
|
import type { Thing, WithContext } from 'schema-dts';
|
|
|
|
interface Props {
|
|
schema: WithContext<Thing>;
|
|
}
|
|
|
|
const { schema } = Astro.props;
|
|
---
|
|
<script type="application/ld+json" set:html={JSON.stringify(schema)} />
|
|
```
|
|
|
|
**Schema Types to Implement**:
|
|
|
|
1. **Organization Schema** (on every page):
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "SoftwareApplication",
|
|
"name": "Picture",
|
|
"applicationCategory": "MultimediaApplication",
|
|
"operatingSystem": "iOS, Android, Web",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "0",
|
|
"priceCurrency": "USD"
|
|
},
|
|
"aggregateRating": {
|
|
"@type": "AggregateRating",
|
|
"ratingValue": "4.9",
|
|
"ratingCount": "1247"
|
|
}
|
|
}
|
|
```
|
|
|
|
2. **FAQ Schema** (FAQ collection pages):
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "FAQPage",
|
|
"mainEntity": [{
|
|
"@type": "Question",
|
|
"name": "Is AI-generated content copyright-free?",
|
|
"acceptedAnswer": {
|
|
"@type": "Answer",
|
|
"text": "..."
|
|
}
|
|
}]
|
|
}
|
|
```
|
|
|
|
3. **HowTo Schema** (Tutorial pages):
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "HowTo",
|
|
"name": "How to Create Viral Instagram Images",
|
|
"step": [...]
|
|
}
|
|
```
|
|
|
|
4. **Review Schema** (Testimonials):
|
|
```json
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Review",
|
|
"reviewRating": {
|
|
"@type": "Rating",
|
|
"ratingValue": "5"
|
|
},
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "Sarah Chen"
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 2. Enhanced Sitemap
|
|
|
|
**Current**: Basic sitemap
|
|
**Recommended**: Dynamic sitemap with priorities and change frequencies
|
|
|
|
```typescript
|
|
// src/pages/sitemap.xml.ts
|
|
export async function GET() {
|
|
const features = await getCollection('features');
|
|
const testimonials = await getCollection('testimonials');
|
|
const useCases = await getCollection('useCases');
|
|
const tutorials = await getCollection('tutorials');
|
|
const faqs = await getCollection('faqs');
|
|
const comparisons = await getCollection('comparisons');
|
|
|
|
// Generate sitemap with priorities:
|
|
// Homepage: 1.0, daily
|
|
// Features: 0.8, weekly
|
|
// Tutorials: 0.7, monthly
|
|
// Blog: 0.6, weekly
|
|
// FAQs: 0.5, monthly
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 3. OpenGraph Images
|
|
|
|
**Implementation**: Auto-generate OG images for each collection item
|
|
|
|
```typescript
|
|
// src/pages/og/[collection]/[slug].png.ts
|
|
import { getCollection } from 'astro:content';
|
|
import satori from 'satori';
|
|
import sharp from 'sharp';
|
|
|
|
export async function GET({ params }) {
|
|
const { collection, slug } = params;
|
|
const entry = await getEntry(collection, slug);
|
|
|
|
// Generate beautiful OG image with:
|
|
// - Entry title
|
|
// - Category badge
|
|
// - Picture branding
|
|
// - Gradient background
|
|
|
|
const svg = await satori(/* JSX template */);
|
|
const png = await sharp(Buffer.from(svg)).png().toBuffer();
|
|
|
|
return new Response(png, {
|
|
headers: { 'Content-Type': 'image/png' }
|
|
});
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 4. Canonical URLs
|
|
|
|
**Implementation**: Add canonical tags to prevent duplicate content
|
|
|
|
```astro
|
|
---
|
|
// src/layouts/BaseLayout.astro
|
|
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
|
|
---
|
|
<link rel="canonical" href={canonicalURL} />
|
|
```
|
|
|
|
---
|
|
|
|
### 5. Breadcrumbs
|
|
|
|
**SEO Value**: Helps Google understand site structure
|
|
|
|
```astro
|
|
---
|
|
// src/components/Breadcrumbs.astro
|
|
interface Props {
|
|
items: Array<{ label: string; href: string }>;
|
|
}
|
|
---
|
|
<nav aria-label="Breadcrumb">
|
|
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
|
{items.map((item, index) => (
|
|
<li itemprop="itemListElement" itemscope
|
|
itemtype="https://schema.org/ListItem">
|
|
<a itemprop="item" href={item.href}>
|
|
<span itemprop="name">{item.label}</span>
|
|
</a>
|
|
<meta itemprop="position" content={String(index + 1)} />
|
|
</li>
|
|
))}
|
|
</ol>
|
|
</nav>
|
|
```
|
|
|
|
---
|
|
|
|
### 6. Internal Linking Strategy
|
|
|
|
**Implementation**: Automated related content suggestions
|
|
|
|
```typescript
|
|
// src/utils/relatedContent.ts
|
|
export async function getRelatedContent(
|
|
currentEntry: CollectionEntry,
|
|
limit = 3
|
|
): Promise<CollectionEntry[]> {
|
|
// Algorithm:
|
|
// 1. Same category (highest weight)
|
|
// 2. Shared tags/keywords
|
|
// 3. Similar difficulty level
|
|
// 4. Same language
|
|
// 5. Recency
|
|
|
|
return relatedEntries.slice(0, limit);
|
|
}
|
|
```
|
|
|
|
**Related Content Sections**:
|
|
- Features → Related tutorials, use cases
|
|
- Tutorials → Related features, FAQs
|
|
- Use Cases → Related features, case studies
|
|
- FAQs → Related tutorials, features
|
|
- Comparisons → Related use cases, tutorials
|
|
|
|
---
|
|
|
|
### 7. Core Web Vitals Optimization
|
|
|
|
**Current Status**: Check with Lighthouse
|
|
**Recommendations**:
|
|
|
|
1. **Image Optimization**:
|
|
- Use `<Image>` component from `astro:assets`
|
|
- WebP format with fallbacks
|
|
- Lazy loading below the fold
|
|
- Responsive images with `srcset`
|
|
|
|
2. **Font Optimization**:
|
|
- Preload critical fonts
|
|
- Use `font-display: swap`
|
|
- Subset fonts to reduce size
|
|
|
|
3. **JavaScript Optimization**:
|
|
- Client-side hydration only when needed
|
|
- Use `client:visible` for below-fold components
|
|
- Minimize third-party scripts
|
|
|
|
4. **CSS Optimization**:
|
|
- Critical CSS inline
|
|
- Defer non-critical CSS
|
|
- Purge unused Tailwind classes
|
|
|
|
---
|
|
|
|
## Implementation Timeline
|
|
|
|
### Phase 1: Quick Wins (Week 1-2)
|
|
**Estimated Effort**: 20-30 hours
|
|
**Expected Impact**: 40-60% traffic increase in 3 months
|
|
|
|
- ✅ **FAQ Collection** (highest ROI, easiest to implement)
|
|
- Create 40-60 FAQ entries in English
|
|
- Implement FAQ schema markup
|
|
- Create `/faq` page with search/filter
|
|
- Translate to 4 languages
|
|
|
|
- ✅ **Schema Markup**
|
|
- Organization schema on all pages
|
|
- FAQ schema for FAQ pages
|
|
- Review schema for testimonials
|
|
- Breadcrumb schema
|
|
|
|
- ✅ **Pricing Page**
|
|
- Detailed pricing tiers
|
|
- Comparison table
|
|
- FAQs section
|
|
- Product schema markup
|
|
|
|
---
|
|
|
|
### Phase 2: Foundation Building (Week 3-6)
|
|
**Estimated Effort**: 60-80 hours
|
|
**Expected Impact**: 100-150% traffic increase in 4-6 months
|
|
|
|
- **Use Cases Collection**
|
|
- 15-20 use case pages in English
|
|
- Category pages for each industry
|
|
- Related content suggestions
|
|
- Translate top 10 to other languages
|
|
|
|
- **Comparisons Collection**
|
|
- 10-15 competitor comparison pages
|
|
- "Alternatives" hub page
|
|
- Comparison tables with data
|
|
- Update quarterly
|
|
|
|
- **About + Changelog + Roadmap Pages**
|
|
- Team bios with photos
|
|
- Monthly changelog updates
|
|
- Public roadmap with voting
|
|
|
|
- **Technical SEO**
|
|
- Enhanced sitemap
|
|
- Canonical URLs
|
|
- Breadcrumbs component
|
|
- OpenGraph image generation
|
|
|
|
---
|
|
|
|
### Phase 3: Authority & Education (Week 7-12)
|
|
**Estimated Effort**: 100-120 hours
|
|
**Expected Impact**: 200-300% traffic increase in 6-12 months
|
|
|
|
- **Tutorials Collection**
|
|
- 20-30 tutorial articles
|
|
- Video embeds for key tutorials
|
|
- Step-by-step with screenshots
|
|
- HowTo schema markup
|
|
|
|
- **Glossary Collection**
|
|
- 30-50 term definitions
|
|
- Category organization
|
|
- Internal linking hub
|
|
- Definition schema markup
|
|
|
|
- **Resources Collection**
|
|
- 10-15 downloadable resources
|
|
- Gated content for lead gen
|
|
- Email automation for delivery
|
|
|
|
- **Case Studies Collection**
|
|
- 8-12 detailed case studies
|
|
- Customer interviews
|
|
- Before/after galleries
|
|
- Results metrics
|
|
|
|
---
|
|
|
|
### Phase 4: Optimization & Scale (Month 4-6)
|
|
**Estimated Effort**: Ongoing
|
|
**Expected Impact**: Sustained growth, improved conversions
|
|
|
|
- **Translation**
|
|
- Translate all high-performing content to DE, FR, IT, ES
|
|
- Localize examples and case studies
|
|
- Language-specific keywords
|
|
|
|
- **Content Refresh**
|
|
- Update tutorials quarterly
|
|
- Refresh comparisons monthly
|
|
- Add new FAQs based on support tickets
|
|
|
|
- **Performance**
|
|
- Core Web Vitals monitoring
|
|
- Image optimization audit
|
|
- JavaScript bundle analysis
|
|
|
|
- **Analytics & Iteration**
|
|
- Track top-performing content
|
|
- Identify content gaps
|
|
- A/B test CTAs and layouts
|
|
|
|
---
|
|
|
|
## Expected Results
|
|
|
|
### Traffic Growth Projections
|
|
|
|
| Timeline | Organic Traffic Increase | Estimated Monthly Visits |
|
|
|----------|-------------------------|-------------------------|
|
|
| Month 1-2 | +40-60% (Quick Wins) | 5,000 - 8,000 |
|
|
| Month 3-4 | +100-150% (Foundation) | 10,000 - 15,000 |
|
|
| Month 6-8 | +200-300% (Authority) | 20,000 - 30,000 |
|
|
| Month 12+ | +400-600% (Compounding) | 40,000 - 60,000 |
|
|
|
|
### Keyword Rankings
|
|
|
|
**High-Intent Commercial Keywords** (target top 10):
|
|
- "ai image generator" (110K monthly searches)
|
|
- "best ai image generator" (27K searches)
|
|
- "free ai image generator" (49K searches)
|
|
- "ai art generator" (90K searches)
|
|
|
|
**Long-Tail Use Case Keywords** (target top 3):
|
|
- "ai generated images for instagram" (2.4K searches)
|
|
- "ai product photography" (1.2K searches)
|
|
- "ai youtube thumbnail generator" (1.8K searches)
|
|
|
|
**Comparison Keywords** (target top 5):
|
|
- "midjourney alternatives" (8.1K searches)
|
|
- "dall-e vs midjourney" (3.6K searches)
|
|
- "stable diffusion alternatives" (2.2K searches)
|
|
|
|
### Conversion Impact
|
|
|
|
- **10-15% increase in trial signups** from educational content
|
|
- **20-30% increase in paid conversions** from comparison pages
|
|
- **5,000+ email subscribers** from gated resources
|
|
- **50+ quality backlinks** from case studies and resources
|
|
|
|
---
|
|
|
|
## Measurement & KPIs
|
|
|
|
### Primary Metrics
|
|
|
|
1. **Organic Traffic**: Google Analytics 4
|
|
- Track by content collection
|
|
- Track by landing page
|
|
- Track by country/language
|
|
|
|
2. **Keyword Rankings**: Ahrefs/SEMrush
|
|
- Top 10 rankings for target keywords
|
|
- Featured snippet ownership
|
|
- "People Also Ask" appearances
|
|
|
|
3. **Conversions**:
|
|
- Trial signups from organic traffic
|
|
- Paid conversions from organic traffic
|
|
- Email subscribers from resources
|
|
|
|
4. **Engagement**:
|
|
- Average session duration
|
|
- Pages per session
|
|
- Bounce rate by content type
|
|
|
|
### Secondary Metrics
|
|
|
|
1. **Technical SEO**:
|
|
- Core Web Vitals scores (LCP, FID, CLS)
|
|
- Mobile usability score
|
|
- Page speed index
|
|
|
|
2. **Backlinks**:
|
|
- New referring domains
|
|
- Domain authority of linkers
|
|
- Anchor text distribution
|
|
|
|
3. **Content Performance**:
|
|
- Top 10 pages by traffic
|
|
- Top 10 pages by conversions
|
|
- Content with highest time on page
|
|
|
|
---
|
|
|
|
## Conclusion
|
|
|
|
This comprehensive SEO strategy provides a clear roadmap for scaling organic traffic to the Picture landing page from ~5,000 to 40,000+ monthly visits within 12 months.
|
|
|
|
**Key Success Factors**:
|
|
1. **Prioritize quick wins** (FAQ, Pricing, Schema Markup) for fast results
|
|
2. **Build topical authority** with educational content (Tutorials, Glossary)
|
|
3. **Capture commercial intent** with comparisons and use cases
|
|
4. **Maintain quality** over quantity - better to have 50 excellent pages than 200 mediocre ones
|
|
5. **Iterate based on data** - double down on what works, cut what doesn't
|
|
|
|
**Recommended Next Steps**:
|
|
1. Create FAQ Collection (Week 1 priority)
|
|
2. Implement schema markup across site
|
|
3. Build pricing page with detailed comparisons
|
|
4. Set up analytics tracking and baseline metrics
|
|
5. Begin use cases collection for key industries
|
|
|
|
---
|
|
|
|
**Questions or Feedback?**
|
|
This is a living document. Update quarterly based on performance data and market changes.
|