Skip to main content
Glama
SEO_IMPLEMENTATION_GUIDE.md17.8 kB
# Doclea SEO Implementation Guide Quick reference for implementing the SEO strategy from SEO_STRATEGY.md --- ## 1. Page Template: Documentation Guide **Use for:** All guide pages (memory-management.md, git-integration.md, etc.) ```markdown --- title: "Complete Guide to [Topic]: [Primary Keyword]" description: "Learn [primary keyword]. Covers [key subtopic 1], [key subtopic 2], and best practices for developers using [tool/context]." keywords: ["primary keyword", "secondary keyword", "related keyword"] sidebar_position: 2 --- # [H1: Keyword-Rich Title] ## Introduction [100-150 words: Problem statement + value proposition] **In this guide, you'll learn:** - [Key takeaway 1] - [Key takeaway 2] - [Key takeaway 3] ## Section 1: [H2 with keyword] [Content with examples, code snippets] ### Subsection 1A: [H3] [Detailed explanation with real examples] ### Subsection 1B: [H3] [Another angle on the topic] ## Section 2: [H2 with keyword] [Continue pattern] ## Best Practices - Practice 1 - Practice 2 - Practice 3 ## Common Mistakes ### Mistake 1 [Explanation + how to avoid] ### Mistake 2 [Explanation + how to avoid] ## Next Steps [Link to related guide/API/blog post] ## Related Resources - [Internal link 1] - [Internal link 2] - [External authority source 1] ``` --- ## 2. Page Template: Blog Post **Use for:** All blog posts ```markdown --- title: "[Keyword-Rich Title That Doesn't Sound Forced]" description: "Learn [primary keyword]. This guide covers [key points] and includes real examples and actionable advice." authors: [{name: "Author Name", url: "https://twitter.com/handle"}] date: 2024-12-10 tags: ["doclea", "topic", "ai-coding"] image: "/img/blog/post-title-cover.png" --- # [H1: Article Title] import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; [2-3 sentence hook that identifies the problem or opportunity] <!-- More content below this line... --> ## The Problem [H2] [Explain the pain point in detail] ## Why This Matters [H2] [Connect to reader's goals] ## Section 1: [H2 with keyword] ### Key Point A [H3] [Explanation with examples] ```code example here ``` ### Key Point B [H3] [More explanation] ## Section 2: [H2 with keyword] [Continue pattern] ## Real Example [H2] [Concrete example: before/after, case study, or walkthrough] ## Implementation [H2] [Step-by-step guide if applicable] <Tabs> <TabItem value="option1" label="Option 1: Simple Setup"> ```bash code for simple setup ``` </TabItem> <TabItem value="option2" label="Option 2: Advanced Setup"> ```bash code for advanced setup ``` </TabItem> </Tabs> ## Common Mistakes to Avoid [H2] - Mistake 1: [Issue] → [Solution] - Mistake 2: [Issue] → [Solution] ## Key Takeaways [H2] - Takeaway 1 - Takeaway 2 - Takeaway 3 ## Next Steps [H2] [CTA to related docs/next blog post] :::info Related: [Internal link 1] and [Internal link 2] ::: ``` --- ## 3. Adding Schema Markup to Docusaurus ### Step 1: Modify `docusaurus.config.ts` Add to the config object: ```typescript // In themeConfig customFields: { organizationName: 'Quantic Studios', organizationUrl: 'https://quanticstudios.com', organizationLogo: 'https://doclea.ai/img/logo.svg', }, ``` ### Step 2: Create Schema Component File: `/docs/src/components/SchemaMarkup.tsx` ```typescript import React from 'react'; import Head from '@docusaurus/Head'; interface SchemaMarkupProps { type: 'Article' | 'BlogPosting' | 'TechArticle' | 'FAQPage'; title: string; description: string; image?: string; datePublished?: string; dateModified?: string; author?: string; content?: string; faqs?: Array<{question: string; answer: string}>; } export default function SchemaMarkup({ type, title, description, image, datePublished, dateModified, author, content, faqs, }: SchemaMarkupProps) { const schema = { '@context': 'https://schema.org', '@type': type, headline: title, description: description, image: image || 'https://doclea.ai/img/doclea-social-card.png', ...(datePublished && { datePublished }), ...(dateModified && { dateModified }), author: { '@type': 'Organization', name: author || 'Doclea', url: 'https://doclea.ai', }, publisher: { '@type': 'Organization', name: 'Doclea', logo: { '@type': 'ImageObject', url: 'https://doclea.ai/img/logo.svg', }, }, ...(content && { articleBody: content }), ...(faqs && { mainEntity: faqs.map(faq => ({ '@type': 'Question', name: faq.question, acceptedAnswer: { '@type': 'Answer', text: faq.answer, }, })), }), }; return ( <Head> <script type="application/ld+json">{JSON.stringify(schema)}</script> </Head> ); } ``` ### Step 3: Use in Pages ```typescript import SchemaMarkup from '@site/src/components/SchemaMarkup'; export default function MemoryManagement() { return ( <> <SchemaMarkup type="TechArticle" title="Complete Guide to Doclea Memory Management" description="Learn how to store and retrieve memories in Doclea..." datePublished="2024-12-10" dateModified="2024-12-10" /> {/* Rest of page content */} </> ); } ``` --- ## 4. Front Matter Standards for All Pages ### Documentation Pages ```yaml --- title: "Keyword: Descriptive Title" description: "150-160 character meta description with primary keyword." keywords: ["primary", "secondary", "related"] sidebar_position: 2 --- ``` ### Blog Posts ```yaml --- title: "Keyword-Rich Title" description: "160-character meta description summarizing post value." authors: [{name: "Author Name", url: "https://twitter.com/handle"}] date: 2024-12-10 tags: ["doclea", "topic", "subtopic"] image: "/img/blog/slug-cover.png" slug: doclea-keyword-slug --- ``` --- ## 5. Internal Linking Map ### From Homepage ``` Homepage ├─> Getting Started (all visitors) ├─> Memory Management Guide (interested in features) ├─> Latest Blog Posts (interested in learning) └─> GitHub (interested in code/contributing) ``` ### From Getting Started ``` Getting Started ├─> Memory Management Guide (next logical step) ├─> Configuration (for setup questions) ├─> Troubleshooting (if setup fails) ├─> Blog: "Your First 5 Minutes" (help people get started) └─> API Overview (reference) ``` ### From Memory Management Guide ``` Memory Management ├─> Semantic Search Deep Dive (architectural detail) ├─> Vector Search (technical depth) ├─> API: Store Tool (reference) ├─> API: Search Tool (reference) ├─> Configuration (embedding providers affect memory) ├─> Blog: "Code Knowledge Base" (practical examples) └─> Blog: "Building Memory Workflows" (advanced usage) ``` ### From Blog Posts ``` Blog Post: How Claude Code Loses Context ├─> Getting Started (solution) ├─> Memory Management Guide (deeper learning) ├─> Blog: Next Post (continued reading) └─> Related Posts (same topic) Blog Post: Doclea vs. Mem0 ├─> Getting Started (why choose Doclea) ├─> Configuration (see customization options) ├─> GitHub (contribute or star) ``` --- ## 6. Publishing Checklist Before publishing any page: ### Content Quality - [ ] Minimum 1500 words (guides) or 2000 words (blog) - [ ] Primary keyword appears 3-5 times naturally - [ ] Secondary keywords appear 1-2 times - [ ] H2 headers include keywords where relevant - [ ] Code examples are runnable and correct - [ ] External links to 2-4 authoritative sources - [ ] Personal voice/examples (not AI-generic) ### SEO - [ ] Title is 50-60 characters, keyword-relevant - [ ] Meta description is 150-160 characters, primary keyword early - [ ] H1 matches title or closely matches - [ ] H2/H3 hierarchy is logical - [ ] URL is descriptive and under 75 characters - [ ] Schema markup added (if supported type) - [ ] Canonical tag present (Docusaurus auto-adds) - [ ] Featured image optimized (< 200KB, 1200x630px for blog) ### UX - [ ] Readability score 70+ (Hemingway, Grammarly) - [ ] Average sentence < 20 words - [ ] Average paragraph 3-4 sentences - [ ] Key points in bold - [ ] Lists used for readability - [ ] Code syntax highlighting correct - [ ] Images have alt text - [ ] CTA clear and actionable ### Internal Linking - [ ] 3-5 internal links per page - [ ] Links are contextual, not spammy - [ ] Links point to relevant page (not homepage) - [ ] Anchor text is descriptive - [ ] No broken internal links ### Final QA - [ ] Page renders correctly on desktop/mobile - [ ] Links work (internal and external) - [ ] Code blocks copy correctly - [ ] Images load correctly - [ ] Meta description displays in search (test in browser) - [ ] No spelling/grammar errors - [ ] Author bio/info correct (for blog posts) - [ ] Tags are relevant (for blog posts) --- ## 7. Keyword Research Process ### For Each Topic, Follow This Process: 1. **Identify Problem/Topic** - e.g., "How developers manage code context" 2. **Primary Keyword Selection** - Use Google Trends, Ahrefs, or SEMrush - Look for: 5-30 searches/month, low competition - Should be directly relevant to page 3. **Secondary Keywords** - Variations on primary keyword - Related problems (semantic) - Long-tail versions (more specific) - Example: Primary "semantic search code" → Secondary "code pattern matching", "architectural decision search" 4. **Keyword Placement** - Title: primary keyword - Meta description: primary keyword in first 80 chars - H1: primary keyword or synonym - First 100 words: mention primary + secondary - H2s: include secondary keywords naturally - Throughout: aim for 1-2% keyword density (not forced) ### Free Tools to Use - **Google Suggest:** Start typing in Google, see suggestions - **Google Trends:** Compare keyword search volume over time - **AnswerThePublic:** See related questions people ask - **Semrush Free:** Keyword research, competitor analysis - **Ubersuggest Free:** Keyword ideas from Google data - **Moz Keyword Explorer:** Free tier available --- ## 8. Measuring Success: Monthly Reporting ### Google Search Console **Check Monthly:** 1. **Coverage** - Total indexed pages (should grow: +5-10/month in year 1) - Errors section (fix crawl errors immediately) 2. **Performance** - Total clicks from organic search - Average CTR (target: 3-5% for guides) - Top 20 queries (which keywords are driving traffic?) - Top 20 pages (which content resonates?) 3. **Enhancements** - Rich results status (FAQ, ArticleMarkup, etc.) - Mobile usability (should be all green) - Core Web Vitals (target: all green) ### Google Analytics 4 **Set Up These Goals/Conversions:** 1. "Time on page > 2 min" - Indicates content quality - Expected: 30% conversion on guides 2. "Visited 3+ pages" - Indicates engagement - Expected: 20% of organic sessions 3. "Scrolled to 75% of page" - Indicates content quality - Expected: 60% of organic sessions 4. "Clicked GitHub link" - Shows interest in project - Expected: 5% of docs visitors ### Monthly Report Template ``` DOCLEA SEO REPORT - [MONTH] TRAFFIC Organic Sessions: [X] (vs [prev month]: [+/-]%) Organic Users: [X] (vs [prev month]: [+/-]%) Bounce Rate: [X]% (target: <60%) Avg Session Duration: [X]m (target: >2m) KEYWORDS (Top 10 by Position) 1. [keyword] - Position [#], Clicks [X] 2. ... TOP CONTENT (by organic traffic) 1. [Page] - [X] views, [X]m avg time 2. ... HIGHLIGHTS - [Notable wins, new rankings, traffic spikes] CHALLENGES - [Areas underperforming, pages with high bounce] NEXT MONTH PRIORITIES 1. [Content to create or update] 2. [Technical SEO improvements] 3. [Internal linking opportunities] ``` --- ## 9. Content Expansion Checklist ### Every 2 Weeks, Update Existing Content When content is 30+ days old: - [ ] Check ranking position in GSC - [ ] Update statistics/examples if outdated - [ ] Add new internal links (if new content published) - [ ] Improve meta description if CTR is low - [ ] Expand sections with higher search volume keywords - [ ] Fix any broken links - [ ] Update "last modified" date in frontmatter ### Add "Last Updated" Widget to Blog In blog posts, add before content: ```markdown :::note Last Updated This post was last updated on [DATE]. [Optional: what changed] ::: ``` This signals to search engines that content is fresh. --- ## 10. Common Mistakes to Avoid ### Content ❌ Keyword stuffing (feels unnatural) ✅ Natural keyword placement in context ❌ Thin content (< 1500 words) ✅ Comprehensive, detailed content (2000+ words) ❌ Copying content from README ✅ Expanding and adding unique insights to documentation ❌ Generic AI-written content ✅ Personal voice, developer-specific examples ### SEO ❌ No meta descriptions ✅ Unique, compelling meta description on every page ❌ Same meta description across pages ✅ Customized for each page/keyword ❌ Title keyword doesn't match content ✅ Content answers the promise in title ❌ Ignoring internal linking ✅ 3-5 contextual internal links per page ### Technical ❌ Missing schema markup ✅ Schema markup for all article/guide pages ❌ Slow page speed (>3s LCP) ✅ Optimized images, minified CSS/JS, <2.5s LCP ❌ Broken internal links ✅ Test and fix broken links monthly ❌ No canonical tags ✅ Docusaurus auto-adds; verify they're correct --- ## 11. Quick SEO Wins (Do First) ### Low Effort, High Impact (Do These Week 1) 1. **Add Meta Descriptions** - 5 minutes per page - Huge CTR impact 2. **Optimize Homepage** - Add schema markup - Improve value prop in first 50 words - Add CTA above fold 3. **Fix Broken Links** - Run crawler (Screaming Frog free tier) - Fix any 404s 4. **Improve Page Titles** - Include primary keyword - Aim for 50-60 characters - Make compelling 5. **Set Up Google Search Console** - Verify site - Submit sitemap - Check coverage ### Medium Effort, High Impact (Weeks 2-3) 6. **Create FAQ Page** - Answer 15 common questions - Add FAQ schema markup - Rank for question keywords 7. **Create Comparison Pages** - Doclea vs. Mem0 - Doclea vs. DIY RAG - Commercial intent = conversions 8. **Optimize Core Web Vitals** - Image optimization - Lazy loading - CSS/JS minification - Target Lighthouse 90+ 9. **Build Internal Linking** - Map out clusters - Add 3-5 contextual links per page - Use descriptive anchor text 10. **Create Blog Publish Template** - Standardize front matter - Ensure consistent quality - Speed up publishing --- ## 12. Tools Setup Checklist ### Free Tools (Setup Week 1) - [ ] Google Search Console (verify ownership) - [ ] Google Analytics 4 (set up tracking) - [ ] Google PageSpeed Insights (monitor performance) - [ ] Docusaurus sitemap plugin (enable) - [ ] Google Lighthouse (run monthly) ### Optional Paid Tools (Month 2+) - [ ] Ahrefs (keyword tracking, competitor analysis) - [ ] SEMrush (same as Ahrefs, different features) - [ ] Grammarly Business (team editing) - [ ] ScreenFlow/Camtasia (create demo videos) ### Free Alternatives to Paid Tools - **Keyword Research:** Ubersuggest free, Google Trends, AnswerThePublic - **Rank Tracking:** Google Search Console (free but limited), MangoTools - **Backlink Analysis:** Moz Link Explorer free tier - **Content Analysis:** Hemingway Editor, Grammarly free --- ## 13. 90-Day Implementation Timeline ### Days 1-7: Setup Phase - [ ] Optimize homepage (add schema, improve CTAs) - [ ] Add meta descriptions to all existing pages - [ ] Set up Google Search Console - [ ] Set up Google Analytics 4 - [ ] Create blog publishing template - [ ] Audit existing docs for SEO gaps ### Days 8-14: Content Creation Phase - [ ] Publish blog post #1 (Problem + solution) - [ ] Publish blog post #2 (Tutorial) - [ ] Publish blog post #3 (Comparison) - [ ] Create 2 new guide pages (memory, git) - [ ] Create configuration page - [ ] Create FAQ page ### Days 15-21: Authority Building - [ ] Publish 3 more blog posts - [ ] Create architecture pages - [ ] Create comparison pages - [ ] Optimize top pages for Core Web Vitals - [ ] Build internal linking structure - [ ] Outreach: GitHub PR mentions, Product Hunt ### Days 22-30: Momentum - [ ] Publish 3 more blog posts - [ ] Update and improve existing guides - [ ] Analyze GSC data, optimize underperformers - [ ] Expand keyword targeting based on early wins - [ ] Community engagement (Dev.to, Reddit, GitHub Discussions) ### Days 31-60: Optimization Phase - [ ] Analyze search traffic patterns - [ ] Update content based on performance data - [ ] Fill content gaps (new keywords) - [ ] Create more advanced guides - [ ] Build backlinks through outreach - [ ] Monthly reporting and planning ### Days 61-90: Growth Phase - [ ] Expand blog content calendar - [ ] Create integrated guides/tutorials - [ ] Build case studies - [ ] Guest post opportunities - [ ] Podcast/interview opportunities - [ ] Plan quarter 2 content strategy --- ## Final Notes **Success comes from:** 1. Consistent, high-quality content (most important) 2. Proper technical SEO (foundation) 3. Strategic internal linking (architecture) 4. Community engagement (authority) 5. Measurement & iteration (direction) **Not from:** - Keyword stuffing - Link buying - Duplicate content - Cloaking or hidden text - PBN (private blog networks) Focus on **people first**, then optimize for search engines. Google rewards helpful, comprehensive content. Doclea's technical nature attracts readers who value depth and accuracy—lean into that.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/docleaai/doclea-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server