From 5861d8562acb9dc87bbcb5e630633f1b16221782 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Mon, 30 Jun 2025 10:21:42 +0000 Subject: [PATCH] Fixes #5231: Implement comprehensive SEO improvements for Google indexing - Add robots.txt file to guide search engine crawlers - Replace static sitemap.xml with dynamic sitemap.ts for all pages - Enhance metadata with keywords, Open Graph, and Twitter Cards - Add comprehensive structured data (Organization, WebSite, SoftwareApplication) - Add metadata to enterprise page - Include documentation for Google Search Console setup These changes will help the Roo Code website appear in Google search results when users search for 'roo code'. --- apps/web-roo-code/SEO_IMPROVEMENTS.md | 129 +++++++++++++++++ apps/web-roo-code/public/robots.txt | 27 ++++ apps/web-roo-code/src/app/enterprise/page.tsx | 24 ++++ apps/web-roo-code/src/app/layout.tsx | 133 +++++++++++++++++- apps/web-roo-code/src/app/sitemap.ts | 38 +++++ 5 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 apps/web-roo-code/SEO_IMPROVEMENTS.md create mode 100644 apps/web-roo-code/public/robots.txt create mode 100644 apps/web-roo-code/src/app/sitemap.ts diff --git a/apps/web-roo-code/SEO_IMPROVEMENTS.md b/apps/web-roo-code/SEO_IMPROVEMENTS.md new file mode 100644 index 0000000000..945e2080fb --- /dev/null +++ b/apps/web-roo-code/SEO_IMPROVEMENTS.md @@ -0,0 +1,129 @@ +# SEO Improvements for Roo Code Website + +This document outlines the SEO improvements implemented to help index the Roo Code website in Google search results. + +## Changes Made + +### 1. robots.txt File + +- **Location**: `public/robots.txt` +- **Purpose**: Guides search engine crawlers on how to index the site +- **Features**: + - Allows all major search engines (Google, Bing, Yahoo, DuckDuckGo) + - Points to sitemap location + - Sets crawl delay for polite crawling + - Blocks unnecessary paths like `/api/`, `/_next/`, etc. + +### 2. Dynamic Sitemap + +- **Location**: `src/app/sitemap.ts` (replaces static `sitemap.xml`) +- **Purpose**: Provides search engines with a complete list of all pages +- **Features**: + - Automatically generates sitemap with all pages + - Includes proper priority and change frequency settings + - Updates automatically when new pages are added + +### 3. Enhanced Metadata + +- **Location**: `src/app/layout.tsx` +- **Improvements**: + - Added comprehensive keywords for AI coding, VS Code, development tools + - Enhanced Open Graph and Twitter Card metadata + - Added proper robots meta tags for better crawling + - Added Google verification placeholder (needs actual verification code) + - Improved title templates for consistent branding + +### 4. Structured Data (Schema.org) + +- **Location**: `src/app/layout.tsx` +- **Added Schema Types**: + - **Organization**: Company information, contact details, address + - **WebSite**: Site information with search action + - **SoftwareApplication**: Product details for the VS Code extension + +### 5. Page-Specific Metadata + +- **Enterprise Page**: Added comprehensive metadata with proper titles and descriptions + +## Next Steps for Complete Google Indexing + +### 1. Google Search Console Setup (REQUIRED) + +1. Go to [Google Search Console](https://search.google.com/search-console/) +2. Add property for `https://roocode.com` +3. Verify ownership using one of these methods: + - **HTML file upload** (recommended) + - **HTML tag** (replace placeholder in layout.tsx) + - **DNS record** + - **Google Analytics** + - **Google Tag Manager** + +### 2. Submit Sitemap + +After Search Console verification: + +1. Go to "Sitemaps" section +2. Submit: `https://roocode.com/sitemap.xml` + +### 3. Request Indexing + +1. Use "URL Inspection" tool in Search Console +2. Request indexing for key pages: + - `https://roocode.com/` + - `https://roocode.com/enterprise` + - `https://roocode.com/evals` + +### 4. Monitor Performance + +- Check "Coverage" report for indexing issues +- Monitor "Performance" for search appearance +- Review "Enhancements" for structured data validation + +## Additional Recommendations + +### 1. Content Optimization + +- Ensure all pages have unique, descriptive titles +- Add more content to pages that are content-light +- Include relevant keywords naturally in content + +### 2. Technical SEO + +- Ensure fast loading times +- Optimize images with alt text +- Implement proper heading hierarchy (H1, H2, H3) + +### 3. Link Building + +- Add internal links between related pages +- Consider getting backlinks from relevant tech blogs/sites +- Submit to relevant directories (GitHub, VS Code marketplace, etc.) + +### 4. Social Signals + +- Share content on social media +- Encourage community engagement +- Consider creating blog content about AI development + +## Verification + +To verify the improvements are working: + +1. **Test robots.txt**: Visit `https://roocode.com/robots.txt` +2. **Test sitemap**: Visit `https://roocode.com/sitemap.xml` +3. **Validate structured data**: Use [Google's Rich Results Test](https://search.google.com/test/rich-results) +4. **Check meta tags**: Use browser dev tools or online SEO checkers + +## Expected Timeline + +- **Immediate**: Technical improvements are live +- **1-2 weeks**: Google discovers and starts crawling +- **2-4 weeks**: Pages begin appearing in search results +- **1-3 months**: Full indexing and ranking improvements + +## Notes + +- The Google verification meta tag in `layout.tsx` contains a placeholder +- Replace `"google-site-verification-placeholder"` with actual verification code from Search Console +- Monitor Search Console regularly for any crawling issues +- Consider implementing Google Analytics for additional insights diff --git a/apps/web-roo-code/public/robots.txt b/apps/web-roo-code/public/robots.txt new file mode 100644 index 0000000000..90a5a3d6a2 --- /dev/null +++ b/apps/web-roo-code/public/robots.txt @@ -0,0 +1,27 @@ +User-agent: * +Allow: / + +# Sitemap +Sitemap: https://roocode.com/sitemap.xml + +# Crawl-delay for polite crawling +Crawl-delay: 1 + +# Allow all major search engines +User-agent: Googlebot +Allow: / + +User-agent: Bingbot +Allow: / + +User-agent: Slurp +Allow: / + +User-agent: DuckDuckBot +Allow: / + +# Block common bot paths that aren't needed +Disallow: /api/ +Disallow: /_next/ +Disallow: /admin/ +Disallow: *.json$ \ No newline at end of file diff --git a/apps/web-roo-code/src/app/enterprise/page.tsx b/apps/web-roo-code/src/app/enterprise/page.tsx index c89d2abd11..91ba4b4dce 100644 --- a/apps/web-roo-code/src/app/enterprise/page.tsx +++ b/apps/web-roo-code/src/app/enterprise/page.tsx @@ -1,10 +1,34 @@ import { Code, CheckCircle, Shield, Users, Zap, Workflow } from "lucide-react" +import type { Metadata } from "next" import { Button } from "@/components/ui" import { AnimatedText } from "@/components/animated-text" import { AnimatedBackground } from "@/components/homepage" import { ContactForm } from "@/components/enterprise/contact-form" +export const metadata: Metadata = { + title: "Enterprise - Roo Code Cloud Control-Plane for Organizations", + description: + "Roo Code Cloud provides enterprise-grade control and visibility for AI-powered development. Centralized management, real-time usage tracking, and governance for your AI coding initiatives.", + alternates: { + canonical: "https://roocode.com/enterprise", + }, + openGraph: { + title: "Enterprise - Roo Code Cloud Control-Plane", + description: + "Take control of your AI development with Roo Code Cloud. Enterprise-grade management, visibility, and governance for AI-powered software development.", + url: "https://roocode.com/enterprise", + siteName: "Roo Code", + type: "website", + }, + twitter: { + card: "summary_large_image", + title: "Enterprise - Roo Code Cloud Control-Plane", + description: + "Take control of your AI development with Roo Code Cloud. Enterprise-grade management, visibility, and governance.", + }, +} + export default async function Enterprise() { return ( <> diff --git a/apps/web-roo-code/src/app/layout.tsx b/apps/web-roo-code/src/app/layout.tsx index 23d67ea48f..4a2c0b1a6f 100644 --- a/apps/web-roo-code/src/app/layout.tsx +++ b/apps/web-roo-code/src/app/layout.tsx @@ -11,12 +11,60 @@ import "./globals.css" const inter = Inter({ subsets: ["latin"] }) export const metadata: Metadata = { - title: "Roo Code – Your AI-Powered Dev Team in VS Code", + title: { + default: "Roo Code – Your AI-Powered Dev Team in VS Code", + template: "%s | Roo Code", + }, description: "Roo Code puts an entire AI dev team right in your editor, outpacing closed tools with deep project-wide context, multi-step agentic coding, and unmatched developer-centric flexibility.", + keywords: [ + "AI coding assistant", + "VS Code extension", + "AI development tools", + "code completion", + "AI pair programming", + "developer productivity", + "coding AI", + "software development", + "AI code generation", + "intelligent code editor", + ], + authors: [{ name: "Roo Code, Inc." }], + creator: "Roo Code, Inc.", + publisher: "Roo Code, Inc.", alternates: { canonical: "https://roocode.com", }, + openGraph: { + type: "website", + locale: "en_US", + url: "https://roocode.com", + siteName: "Roo Code", + title: "Roo Code – Your AI-Powered Dev Team in VS Code", + description: + "Roo Code puts an entire AI dev team right in your editor, outpacing closed tools with deep project-wide context, multi-step agentic coding, and unmatched developer-centric flexibility.", + }, + twitter: { + card: "summary_large_image", + title: "Roo Code – Your AI-Powered Dev Team in VS Code", + description: + "Roo Code puts an entire AI dev team right in your editor, outpacing closed tools with deep project-wide context, multi-step agentic coding, and unmatched developer-centric flexibility.", + creator: "@RooCodeInc", + }, + robots: { + index: true, + follow: true, + googleBot: { + index: true, + follow: true, + "max-video-preview": -1, + "max-image-preview": "large", + "max-snippet": -1, + }, + }, + verification: { + google: "google-site-verification-placeholder", // This should be replaced with actual verification code + }, icons: { icon: [ { url: "/favicon.ico" }, @@ -52,6 +100,89 @@ export default function RootLayout({ children }: { children: React.ReactNode }) /> +