# Programmatic SEO Plan for ManoonOils ## Executive Summary Create 100+ SEO-optimized landing pages from structured datasets to capture high-intent search traffic and convert visitors into serum buyers. --- ## Dataset Ideas (7 Core Categories) ### 1. **Ingredient Benefits Database** ⭐ Highest Priority **Dataset Size:** 50-100 ingredients × 4 locales = 200-400 pages **Data Structure:** ```typescript interface Ingredient { slug: string; // "rosehip-oil" name: { sr: "Ulje divlje ruže"; en: "Rosehip Oil"; de: "Hagebuttenöl"; fr: "Huile de rose musquée"; }; benefits: string[]; // ["anti-aging", "hydration", "scars"] skinTypes: string[]; // ["dry", "mature", "sensitive"] scientificName: string; origin: string; extractionMethod: string; keyCompounds: string[]; // ["vitamin A", "omega-3", "antioxidants"] usageInstructions: string; complementaryIngredients: string[]; // ["vitamin-e", "jojoba-oil"] relatedProducts: string[]; // Product slugs to recommend faqs: FAQ[]; seoKeywords: { primary: string; secondary: string[]; longTail: string[]; }; } ``` **Page Template:** `/ingredients/[slug]` - Hero: Ingredient name + key benefit - Scientific overview - Benefits for skin (with icons) - How to use (with video placeholder) - "Best for" skin types - Related Manoon products (product cards) - FAQ schema markup - CTA: "Shop serums with [ingredient]" **Example Pages:** - `/ingredients/rosehip-oil` - "Rosehip Oil for Anti-Aging: Benefits & How to Use" - `/ingredients/bakuchiol` - "Bakuchiol: Natural Retinol Alternative" - `/ingredients/sea-buckthorn` - "Sea Buckthorn Oil: Vitamin C Powerhouse" --- ### 2. **Skin Concern Solutions** ⭐ Highest Priority **Dataset Size:** 20-30 concerns × 4 locales = 80-120 pages **Data Structure:** ```typescript interface SkinConcern { slug: string; // "fine-lines" name: { sr: "Bore i linije"; en: "Fine Lines & Wrinkles"; de: "Feine Linien"; fr: "Rides et ridules"; }; description: string; causes: string[]; bestIngredients: string[]; // Links to ingredient pages recommendedRoutine: { morning: string[]; evening: string[]; }; relatedProducts: string[]; beforeAfterImages: boolean; testimonials: Testimonial[]; seoKeywords: SEOKeywords; } ``` **Page Template:** `/concerns/[slug]` - Empathy hook: "Struggling with [concern]?" - Explain the problem - Best ingredients (linking to ingredient pages) - Recommended products - Customer results/testimonials - Free guide download (lead capture) - CTA: "Start your transformation" **Example Pages:** - `/concerns/fine-lines` - "How to Reduce Fine Lines Naturally" - `/concerns/hyperpigmentation` - "Dark Spots: Causes & Natural Solutions" - `/concerns/dull-skin` - "Get Your Glow Back: Dull Skin Remedies" --- ### 3. **Ingredient Comparison Matrix** **Dataset Size:** 50 ingredient pairs = 50 comparison pages **Data Structure:** ```typescript interface IngredientComparison { slug: string; // "retinol-vs-bakuchiol" ingredientA: string; // Reference to ingredient ingredientB: string; comparisonPoints: { effectiveness: string; gentleness: string; price: string; availability: string; bestFor: string[]; }; winner: string | "tie"; recommendation: string; // "Choose X if..., Choose Y if..." relatedProducts: { a: string[]; b: string[]; }; } ``` **Page Template:** `/compare/[slug]` - Head-to-head comparison table - Which is better for what - Product recommendations for both - "Can't decide? Try our quiz" - CTA: Shop both options **Example Pages:** - `/compare/retinol-vs-bakuchiol` - `/compare/vitamin-c-vs-niacinamide` - `/compare/rosehip-vs-argan-oil` --- ### 4. **Seasonal Skincare Guides** **Dataset Size:** 4 seasons × 5 climates × 4 locales = 80 pages **Data Structure:** ```typescript interface SeasonalGuide { slug: string; // "winter-skincare-routine" season: "winter" | "spring" | "summer" | "autumn"; climate: "cold" | "dry" | "humid" | "temperate" | "tropical"; title: LocalizedString; challenges: string[]; recommendedIngredients: string[]; routine: { morning: RoutineStep[]; evening: RoutineStep[]; }; productBundle: string[]; tips: string[]; } ``` **Page Template:** `/guides/seasonal/[slug]` - Season-specific challenges - Ingredient recommendations - Step-by-step routine - Product bundle suggestion - "Get the seasonal routine set" CTA **Example Pages:** - `/guides/seasonal/winter-skincare-routine` - `/guides/seasonal/summer-anti-aging` - `/guides/seasonal/spring-skin-renewal` --- ### 5. **Age-Specific Routines** **Dataset Size:** 6 age groups × 4 locales = 24 pages **Data Structure:** ```typescript interface AgeRoutine { slug: string; // "skincare-routine-30s" ageRange: string; // "20s", "30s", "40s", "50s", "60s+" title: LocalizedString; skinChanges: string[]; keyConcerns: string[]; recommendedIngredients: string[]; routine: DailyRoutine; productRecommendations: string[]; preventionTips: string[]; } ``` **Page Template:** `/routines/age/[slug]` - "Best skincare routine for your [age]s" - What happens to skin at this age - Key ingredients to start using - Morning & evening routine - Product recommendations - "Shop the [age]s routine bundle" **Example Pages:** - `/routines/age/skincare-routine-30s` - `/routines/age/anti-aging-routine-40s` - `/routines/age/mature-skin-care-50s` --- ### 6. **Skin Type Hubs** **Dataset Size:** 6 skin types × 4 locales = 24 pages **Data Structure:** ```typescript interface SkinType { slug: string; // "dry-skin" name: LocalizedString; characteristics: string[]; causes: string[]; ingredientsToLookFor: string[]; ingredientsToAvoid: string[]; recommendedProducts: string[]; routine: DailyRoutine; tips: string[]; } ``` **Page Template:** `/skin-types/[slug]` - Quiz: "Do you have [skin type]?" - Characteristics checklist - Best ingredients (with links) - Complete routine - Products specifically for this type - CTA: "Build your [type] routine" **Example Pages:** - `/skin-types/dry-skin` - `/skin-types/sensitive-skin` - `/skin-types/combination-skin` --- ### 7. **Geographic/Climate-Specific** **Dataset Size:** 20 regions × 4 seasons = 80 pages **Data Structure:** ```typescript interface ClimateGuide { slug: string; // "skincare-for-cold-climates" region: string; climate: string; challenges: string[]; recommendedIngredients: string[]; routineModifications: string; productBundle: string[]; localTestimonials?: Testimonial[]; } ``` **Page Template:** `/climate/[slug]` - "Skincare for [climate] climates" - Local skin challenges - Best ingredients for this climate - Modified routine - "Customers in [region] love..." **Example Pages:** - `/climate/skincare-for-cold-climates` - `/climate/skincare-for-humid-climates` - `/climate/skincare-for-arid-climates` --- ## Data Storage Strategy ### Option A: JSON Files (Recommended for MVP) ``` data/ ├── ingredients/ │ ├── rosehip-oil.json │ ├── bakuchiol.json │ └── ... ├── concerns/ │ ├── fine-lines.json │ ├── hyperpigmentation.json │ └── ... ├── comparisons/ │ ├── retinol-vs-bakuchiol.json │ └── ... └── locales/ ├── sr/ ├── en/ ├── de/ └── fr/ ``` **Pros:** - Easy to version control - Simple to edit - Fast to implement - Works with Next.js static generation ### Option B: Headless CMS (Strapi/Sanity) **Pros:** - Non-technical team can edit - Rich media support - Relationships between entities ### Option C: Database (PostgreSQL/MongoDB) **Pros:** - Dynamic content - User-generated content ready - Advanced filtering --- ## Technical Implementation ### URL Structure ``` /ingredients/[slug] # Ingredient deep-dives /concerns/[slug] # Problem-solving pages /compare/[slug] # Comparison pages /guides/seasonal/[slug] # Seasonal content /routines/age/[slug] # Age-specific routines /skin-types/[slug] # Skin type hubs /climate/[slug] # Climate guides ``` ### Page Generation (Next.js) ```typescript // app/ingredients/[slug]/page.tsx export async function generateStaticParams() { const ingredients = await getAllIngredients(); return ingredients.map((i) => ({ slug: i.slug })); } export default async function IngredientPage({ params: { slug, locale } }) { const ingredient = await getIngredient(slug, locale); return ; } ``` ### SEO Template Fields (Per Page) ```typescript interface SEOTemplate { title: string; // "Rosehip Oil for Anti-Aging | Benefits & Uses | ManoonOils" metaDescription: string; // 155 chars with keywords canonical: string; // Full URL ogTitle: string; ogDescription: string; ogImage: string; // Dynamic OG image with ingredient keywords: string[]; faqSchema: FAQPageSchema; productSchema?: ProductSchema; breadcrumb: BreadcrumbItem[]; } ``` --- ## Content Templates ### Ingredient Page Template ``` H1: [Ingredient Name] for [Primary Benefit]: Complete Guide Hero Section: - Large ingredient image - Key benefits (3 icons) - CTA: "Shop [ingredient] serums" H2: What is [Ingredient]? - Scientific explanation - Origin & extraction - Key compounds H2: Benefits of [Ingredient] for Skin - H3: Anti-aging properties - H3: Hydration benefits - H3: Additional benefits H2: Best Skin Types for [Ingredient] - Visual skin type selector H2: How to Use [Ingredient] in Your Routine - Morning routine - Evening routine - What to pair with (links to comparisons) H2: Our [Ingredient] Products - Product cards with prices - "Shop all [ingredient] products" H2: Frequently Asked Questions - FAQ schema markup - 5-7 common questions Related Content: - Compare with similar ingredients - Read about skin concerns it treats CTA: "Start your [ingredient] routine" ``` --- ## Conversion Strategy ### Lead Magnets (Email Capture) 1. **"The Natural Anti-Aging Guide"** - PDF download 2. **"Ingredient Compatibility Chart"** - Interactive tool 3. **"Personalized Routine Quiz"** - Email results 4. **"Seasonal Skincare Calendar"** - Year-long guide ### Product CTAs 1. **Primary:** "Shop [ingredient] serums" → Category page 2. **Secondary:** "Get the complete routine" → Bundle offer 3. **Tertiary:** "Take the skin quiz" → Lead capture ### Cross-Selling - "Customers who viewed [ingredient] also bought..." - "Complete your routine with..." - "Pair with [complementary ingredient] for best results" --- ## Expected Traffic & ROI ### Traffic Estimates (6-month projection) | Dataset | Pages | Avg Monthly Searches/Page | Est. Monthly Traffic | |---------|-------|---------------------------|---------------------| | Ingredients | 100 | 500 | 5,000 | | Concerns | 50 | 1,000 | 10,000 | | Comparisons | 50 | 800 | 8,000 | | Seasonal | 80 | 300 | 6,000 | | Age Routines | 24 | 600 | 3,000 | | Skin Types | 24 | 700 | 3,000 | | Climate | 80 | 200 | 2,000 | | **TOTAL** | **408** | **-** | **37,000** | ### Conversion Targets - **Organic CTR:** 3-5% (industry average) - **Page-to-Product CTR:** 15-20% - **Product-to-Purchase:** 2-3% - **Estimated Monthly Revenue:** €15,000-30,000 (at €50 AOV) --- ## Implementation Timeline ### Phase 1: Foundation (Weeks 1-2) - [ ] Set up data structure - [ ] Create 10 priority ingredient pages - [ ] Build reusable templates - [ ] Implement JSON-LD schemas ### Phase 2: Core Content (Weeks 3-6) - [ ] Create 50 ingredient pages - [ ] Create 20 concern pages - [ ] Build comparison tool - [ ] Add lead magnets ### Phase 3: Scale (Weeks 7-10) - [ ] Generate all 400+ pages - [ ] Implement internal linking - [ ] Add dynamic OG images - [ ] A/B test CTAs ### Phase 4: Optimize (Weeks 11-12) - [ ] Analyze top performers - [ ] Update underperformers - [ ] Add user-generated content - [ ] Expand winning categories --- ## Success Metrics ### SEO Metrics - **Organic traffic:** 37,000+/month by month 6 - **Keyword rankings:** Top 10 for 100+ keywords - **Featured snippets:** Capture 20+ position 0 - **Domain authority:** Increase from current baseline ### Business Metrics - **Revenue from organic:** €15,000-30,000/month - **Email list growth:** 1,000+ subscribers/month - **Customer acquisition cost:** Lower than paid ads - **Lifetime value:** Higher (organic customers retain better) --- ## Next Steps 1. **Approve dataset priorities** - Which categories to start with? 2. **Create data structure** - Set up JSON/CMS schemas 3. **Build 3 sample pages** - One from each priority category 4. **Test & iterate** - Measure performance before scaling 5. **Full production** - Generate all 400+ pages Want me to start building the data structure and first sample pages?