Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
| sidebar_position: 10 | |
| # SEO Optimization Guide | |
| This guide explains the SEO improvements implemented for Open Navigator and provides recommendations for ongoing optimization. | |
| ## β Implemented Improvements | |
| ### 1. Table of Contents Enhancement | |
| **Changed:** Increased TOC depth from H2 to H2-H4 | |
| ```typescript | |
| // website/docusaurus.config.ts | |
| tableOfContents: { | |
| minHeadingLevel: 2, | |
| maxHeadingLevel: 4, // Now shows h2, h3, and h4 headings | |
| } | |
| ``` | |
| **Impact:** Better page navigation and improved user experience, which helps with SEO rankings. | |
| ### 2. Google Analytics Enabled | |
| **Changed:** Enabled Google Analytics tracking | |
| ```typescript | |
| gtag: { | |
| trackingID: 'G-5EQV815915', | |
| anonymizeIP: true, | |
| } | |
| ``` | |
| **Impact:** | |
| - Track user behavior and page performance | |
| - Measure bounce rates and engagement | |
| - Essential data for Search Console integration | |
| ### 3. Robots.txt Created | |
| **File:** `website/static/robots.txt` | |
| ```txt | |
| User-agent: * | |
| Allow: / | |
| Sitemap: https://www.communityone.com/sitemap.xml | |
| Crawl-delay: 1 | |
| ``` | |
| **Impact:** | |
| - Tells search engines to crawl all pages | |
| - Points to sitemap for efficient indexing | |
| - Polite crawl delay prevents server overload | |
| ### 4. Sitemap Configuration | |
| **Added:** Automated sitemap generation | |
| ```typescript | |
| sitemap: { | |
| changefreq: 'weekly', | |
| priority: 0.5, | |
| ignorePatterns: ['/tags/**'], | |
| filename: 'sitemap.xml', | |
| } | |
| ``` | |
| **Impact:** | |
| - Auto-generated at `https://www.communityone.com/sitemap.xml` | |
| - Helps search engines discover all pages | |
| - Updates weekly to reflect new content | |
| ### 5. Enhanced Meta Tags (React App) | |
| **File:** `frontend/index.html` | |
| **Added:** | |
| - Primary meta tags (title, description, keywords, author) | |
| - Robots directives (index, follow) | |
| - Language and revisit-after tags | |
| - Canonical URL for duplicate content prevention | |
| **Impact:** Better search engine understanding of page content. | |
| ### 6. Open Graph Tags | |
| **Added:** Social sharing metadata | |
| ```html | |
| <meta property="og:type" content="website" /> | |
| <meta property="og:title" content="Open Navigator - AI-Powered Civic Engagement Platform" /> | |
| <meta property="og:description" content="..." /> | |
| <meta property="og:image" content="..." /> | |
| ``` | |
| **Impact:** | |
| - Better appearance when shared on Facebook, LinkedIn | |
| - Increased click-through rates from social media | |
| - Professional brand presentation | |
| ### 7. Twitter Card Tags | |
| **Added:** Twitter-specific metadata | |
| ```html | |
| <meta name="twitter:card" content="summary_large_image" /> | |
| <meta name="twitter:title" content="..." /> | |
| <meta name="twitter:image" content="..." /> | |
| ``` | |
| **Impact:** | |
| - Rich previews when shared on Twitter/X | |
| - Larger image display | |
| - Better engagement from social traffic | |
| ### 8. Structured Data (JSON-LD) | |
| **Added:** Schema.org WebApplication structured data | |
| ```json | |
| { | |
| "@context": "https://schema.org", | |
| "@type": "WebApplication", | |
| "name": "Open Navigator", | |
| "featureList": [...], | |
| "audience": {...} | |
| } | |
| ``` | |
| **Impact:** | |
| - Rich snippets in Google search results | |
| - Better understanding by search engines | |
| - Potential for enhanced search appearance | |
| - Voice search optimization | |
| ### 9. Docusaurus SEO Metadata | |
| **Added:** Global metadata for documentation site | |
| ```typescript | |
| metadata: [ | |
| {name: 'keywords', content: '...'}, | |
| {property: 'og:type', content: 'website'}, | |
| {name: 'twitter:card', content: 'summary_large_image'}, | |
| ] | |
| ``` | |
| **Impact:** Consistent SEO across all documentation pages. | |
| ### 10. Google Search Console Verification File | |
| **Added:** HTML verification file for domain ownership | |
| **Locations:** | |
| - `frontend/public/google6934fc6e3618949f.html` | |
| - `website/static/google6934fc6e3618949f.html` | |
| **Impact:** | |
| - Enables Google Search Console setup | |
| - Allows monitoring of search performance | |
| - Required for sitemap submission | |
| - Tracks indexing status and errors | |
| ## π Additional SEO Recommendations | |
| ### Content Optimization | |
| 1. **Improve Page Headings** | |
| - Use clear H1 tags on every page (one per page) | |
| - Create hierarchical heading structure (H1 β H2 β H3 β H4) | |
| - Include target keywords in headings naturally | |
| 2. **Add Alt Text to Images** | |
| ```markdown | |
|  | |
| ``` | |
| 3. **Internal Linking** | |
| - Link related documentation pages together | |
| - Use descriptive anchor text (not "click here") | |
| - Create a logical site structure | |
| 4. **Content Length** | |
| - Aim for 1000+ words on key pages | |
| - Comprehensive guides rank better | |
| - Answer user questions thoroughly | |
| ### Technical SEO | |
| 5. **Create a Social Card Image** | |
| - Design a 1200x630px image for `og:image` | |
| - Place in `website/static/img/` or `frontend/public/` | |
| - Update meta tags to use it: | |
| ```html | |
| <meta property="og:image" content="https://www.communityone.com/social-card.png" /> | |
| ``` | |
| 6. **Add Breadcrumbs** | |
| - Docusaurus supports breadcrumbs by default | |
| - Enable in docs frontmatter: | |
| ```yaml | |
| --- | |
| hide_breadcrumbs: false | |
| --- | |
| ``` | |
| 7. **Improve URL Structure** | |
| - Use kebab-case filenames | |
| - Keep URLs short and descriptive | |
| - Include target keywords | |
| 8. **Page Speed Optimization** | |
| - Test with [Google PageSpeed Insights](https://pagespeed.web.dev/) | |
| - Optimize images (WebP format) | |
| - Enable compression | |
| - Minimize JavaScript bundles | |
| - Use lazy loading for images | |
| 9. **Mobile Responsiveness** | |
| - Already configured with viewport meta tag | |
| - Test on multiple devices | |
| - Use Chrome DevTools mobile emulation | |
| ### Search Console Integration | |
| 10. **Submit Sitemap to Google** | |
| 1. Go to [Google Search Console](https://search.google.com/search-console) | |
| 2. Add property: `https://www.communityone.com` | |
| 3. Verify ownership (HTML file verification already deployed): | |
| - Verification file: `google6934fc6e3618949f.html` | |
| - Located in: `frontend/public/` and `website/static/` | |
| - Accessible at: `https://www.communityone.com/google6934fc6e3618949f.html` | |
| 4. Submit sitemap: `https://www.communityone.com/sitemap.xml` | |
| 5. Monitor indexing status | |
| 11. **Submit to Bing Webmaster Tools** | |
| 1. Visit [Bing Webmaster Tools](https://www.bing.com/webmasters) | |
| 2. Add site and verify ownership | |
| 3. Submit sitemap | |
| ### Content Strategy | |
| 12. **Blog Regularly** | |
| - Use the blog at `website/blog/` | |
| - Target long-tail keywords | |
| - Share updates about features, case studies | |
| - Example topics: | |
| - "How to Track Your City Council Meetings" | |
| - "Understanding Nonprofit Financial Data" | |
| - "Case Study: Using Open Navigator for Advocacy" | |
| 13. **Create FAQ Pages** | |
| - Answer common questions | |
| - Use schema.org FAQPage structured data | |
| - Target "question" keywords | |
| 14. **Add Testimonials/Case Studies** | |
| - Social proof improves conversions | |
| - Can use Review schema markup | |
| - Showcase real-world usage | |
| ### Documentation SEO | |
| 15. **Optimize Frontmatter** | |
| - Add `description` to every doc page: | |
| ```yaml | |
| --- | |
| sidebar_position: 1 | |
| description: "Learn how to install and configure Open Navigator for tracking municipal meetings and policy opportunities." | |
| --- | |
| ``` | |
| 16. **Use Admonitions** | |
| - Already using `:::tip` blocks | |
| - Also use `:::info`, `:::warning`, `:::danger` | |
| - Makes content more scannable | |
| 17. **Add Last Updated Dates** | |
| - Shows content is fresh | |
| - Enable in Docusaurus: | |
| ```typescript | |
| docs: { | |
| showLastUpdateTime: true, | |
| showLastUpdateAuthor: true, | |
| } | |
| ``` | |
| ## π Monitoring SEO Performance | |
| ### Key Metrics to Track | |
| 1. **Google Search Console** | |
| - Total clicks and impressions | |
| - Average position for keywords | |
| - Click-through rate (CTR) | |
| - Pages with indexing issues | |
| 2. **Google Analytics** | |
| - Organic search traffic | |
| - Bounce rate by page | |
| - Average session duration | |
| - Top landing pages | |
| 3. **Page Speed** | |
| - Core Web Vitals (LCP, FID, CLS) | |
| - Mobile vs. Desktop performance | |
| - Page load times | |
| ### Tools to Use | |
| - **[Google Search Console](https://search.google.com/search-console)** - Monitor search performance | |
| - **[Google PageSpeed Insights](https://pagespeed.web.dev/)** - Test page speed | |
| - **[Ahrefs](https://ahrefs.com/)** or **[SEMrush](https://www.semrush.com/)** - Keyword research | |
| - **[Schema.org Validator](https://validator.schema.org/)** - Test structured data | |
| - **[Facebook Sharing Debugger](https://developers.facebook.com/tools/debug/)** - Test Open Graph tags | |
| - **[Twitter Card Validator](https://cards-dev.twitter.com/validator)** - Test Twitter cards | |
| ## π― Quick Wins (Do These First) | |
| 1. **Submit sitemap to Google Search Console** (5 minutes) | |
| - Add property: `https://www.communityone.com` | |
| - Submit sitemap: `https://www.communityone.com/sitemap.xml` | |
| 2. **Create social card image** (30 minutes) | |
| 3. **Add alt text to all images** (1 hour) | |
| 4. **Add description frontmatter to top 10 pages** (1 hour) | |
| 5. **Write first blog post** (2 hours) | |
| 6. **Set up Google Search Console alerts** (10 minutes) | |
| ## π Long-Term SEO Strategy | |
| ### Month 1-2: Foundation | |
| - Set up monitoring tools | |
| - Fix technical SEO issues | |
| - Optimize existing content | |
| - Submit sitemaps | |
| ### Month 3-4: Content Expansion | |
| - Publish 2-4 blog posts per month | |
| - Create comprehensive guides | |
| - Add case studies | |
| - Build internal linking | |
| ### Month 5-6: Authority Building | |
| - Get backlinks from civic tech sites | |
| - Guest post on related blogs | |
| - Engage with community | |
| - Share on social media | |
| ### Month 7-12: Refinement | |
| - Analyze top-performing content | |
| - Update old content | |
| - Target competitive keywords | |
| - Expand feature documentation | |
| ## π Content Checklist Template | |
| Use this for every new documentation page: | |
| - [ ] Clear H1 heading with target keyword | |
| - [ ] Meta description in frontmatter (150-160 chars) | |
| - [ ] Hierarchical heading structure (H1 β H2 β H3) | |
| - [ ] Alt text on all images | |
| - [ ] Internal links to related pages (3-5 minimum) | |
| - [ ] External authoritative references | |
| - [ ] Code examples with syntax highlighting | |
| - [ ] Call-to-action or next steps | |
| - [ ] Minimum 500 words (1000+ for guides) | |
| - [ ] Proofread and spell-checked | |
| ## π§ Testing Your Changes | |
| After deploying SEO improvements: | |
| 1. **Validate Structured Data** | |
| ```bash | |
| # Test locally | |
| npm run build | |
| npm run serve | |
| # Then visit: https://validator.schema.org/ | |
| ``` | |
| 2. **Test Social Sharing** | |
| - Use Facebook Sharing Debugger | |
| - Use Twitter Card Validator | |
| - Share internally to verify appearance | |
| 3. **Check Mobile Friendliness** | |
| - Google Mobile-Friendly Test | |
| - Test on real devices | |
| 4. **Monitor Search Console** | |
| - Check for crawl errors weekly | |
| - Track keyword rankings | |
| - Monitor click-through rates | |
| ## π Resources | |
| - [Google SEO Starter Guide](https://developers.google.com/search/docs/fundamentals/seo-starter-guide) | |
| - [Docusaurus SEO](https://docusaurus.io/docs/seo) | |
| - [Schema.org Documentation](https://schema.org/) | |
| - [Open Graph Protocol](https://ogp.me/) | |
| - [Moz Beginner's Guide to SEO](https://moz.com/beginners-guide-to-seo) | |
| --- | |
| **Last Updated:** May 1, 2026 | |
| For questions about SEO implementation, visit the [Developer Documentation](/docs/for-developers) or open an issue on GitHub. | |