Skip to content

Commit 5861d85

Browse files
committed
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'.
1 parent 3a8ba27 commit 5861d85

File tree

5 files changed

+350
-1
lines changed

5 files changed

+350
-1
lines changed
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# SEO Improvements for Roo Code Website
2+
3+
This document outlines the SEO improvements implemented to help index the Roo Code website in Google search results.
4+
5+
## Changes Made
6+
7+
### 1. robots.txt File
8+
9+
- **Location**: `public/robots.txt`
10+
- **Purpose**: Guides search engine crawlers on how to index the site
11+
- **Features**:
12+
- Allows all major search engines (Google, Bing, Yahoo, DuckDuckGo)
13+
- Points to sitemap location
14+
- Sets crawl delay for polite crawling
15+
- Blocks unnecessary paths like `/api/`, `/_next/`, etc.
16+
17+
### 2. Dynamic Sitemap
18+
19+
- **Location**: `src/app/sitemap.ts` (replaces static `sitemap.xml`)
20+
- **Purpose**: Provides search engines with a complete list of all pages
21+
- **Features**:
22+
- Automatically generates sitemap with all pages
23+
- Includes proper priority and change frequency settings
24+
- Updates automatically when new pages are added
25+
26+
### 3. Enhanced Metadata
27+
28+
- **Location**: `src/app/layout.tsx`
29+
- **Improvements**:
30+
- Added comprehensive keywords for AI coding, VS Code, development tools
31+
- Enhanced Open Graph and Twitter Card metadata
32+
- Added proper robots meta tags for better crawling
33+
- Added Google verification placeholder (needs actual verification code)
34+
- Improved title templates for consistent branding
35+
36+
### 4. Structured Data (Schema.org)
37+
38+
- **Location**: `src/app/layout.tsx`
39+
- **Added Schema Types**:
40+
- **Organization**: Company information, contact details, address
41+
- **WebSite**: Site information with search action
42+
- **SoftwareApplication**: Product details for the VS Code extension
43+
44+
### 5. Page-Specific Metadata
45+
46+
- **Enterprise Page**: Added comprehensive metadata with proper titles and descriptions
47+
48+
## Next Steps for Complete Google Indexing
49+
50+
### 1. Google Search Console Setup (REQUIRED)
51+
52+
1. Go to [Google Search Console](https://search.google.com/search-console/)
53+
2. Add property for `https://roocode.com`
54+
3. Verify ownership using one of these methods:
55+
- **HTML file upload** (recommended)
56+
- **HTML tag** (replace placeholder in layout.tsx)
57+
- **DNS record**
58+
- **Google Analytics**
59+
- **Google Tag Manager**
60+
61+
### 2. Submit Sitemap
62+
63+
After Search Console verification:
64+
65+
1. Go to "Sitemaps" section
66+
2. Submit: `https://roocode.com/sitemap.xml`
67+
68+
### 3. Request Indexing
69+
70+
1. Use "URL Inspection" tool in Search Console
71+
2. Request indexing for key pages:
72+
- `https://roocode.com/`
73+
- `https://roocode.com/enterprise`
74+
- `https://roocode.com/evals`
75+
76+
### 4. Monitor Performance
77+
78+
- Check "Coverage" report for indexing issues
79+
- Monitor "Performance" for search appearance
80+
- Review "Enhancements" for structured data validation
81+
82+
## Additional Recommendations
83+
84+
### 1. Content Optimization
85+
86+
- Ensure all pages have unique, descriptive titles
87+
- Add more content to pages that are content-light
88+
- Include relevant keywords naturally in content
89+
90+
### 2. Technical SEO
91+
92+
- Ensure fast loading times
93+
- Optimize images with alt text
94+
- Implement proper heading hierarchy (H1, H2, H3)
95+
96+
### 3. Link Building
97+
98+
- Add internal links between related pages
99+
- Consider getting backlinks from relevant tech blogs/sites
100+
- Submit to relevant directories (GitHub, VS Code marketplace, etc.)
101+
102+
### 4. Social Signals
103+
104+
- Share content on social media
105+
- Encourage community engagement
106+
- Consider creating blog content about AI development
107+
108+
## Verification
109+
110+
To verify the improvements are working:
111+
112+
1. **Test robots.txt**: Visit `https://roocode.com/robots.txt`
113+
2. **Test sitemap**: Visit `https://roocode.com/sitemap.xml`
114+
3. **Validate structured data**: Use [Google's Rich Results Test](https://search.google.com/test/rich-results)
115+
4. **Check meta tags**: Use browser dev tools or online SEO checkers
116+
117+
## Expected Timeline
118+
119+
- **Immediate**: Technical improvements are live
120+
- **1-2 weeks**: Google discovers and starts crawling
121+
- **2-4 weeks**: Pages begin appearing in search results
122+
- **1-3 months**: Full indexing and ranking improvements
123+
124+
## Notes
125+
126+
- The Google verification meta tag in `layout.tsx` contains a placeholder
127+
- Replace `"google-site-verification-placeholder"` with actual verification code from Search Console
128+
- Monitor Search Console regularly for any crawling issues
129+
- Consider implementing Google Analytics for additional insights
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
User-agent: *
2+
Allow: /
3+
4+
# Sitemap
5+
Sitemap: https://roocode.com/sitemap.xml
6+
7+
# Crawl-delay for polite crawling
8+
Crawl-delay: 1
9+
10+
# Allow all major search engines
11+
User-agent: Googlebot
12+
Allow: /
13+
14+
User-agent: Bingbot
15+
Allow: /
16+
17+
User-agent: Slurp
18+
Allow: /
19+
20+
User-agent: DuckDuckBot
21+
Allow: /
22+
23+
# Block common bot paths that aren't needed
24+
Disallow: /api/
25+
Disallow: /_next/
26+
Disallow: /admin/
27+
Disallow: *.json$

apps/web-roo-code/src/app/enterprise/page.tsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,34 @@
11
import { Code, CheckCircle, Shield, Users, Zap, Workflow } from "lucide-react"
2+
import type { Metadata } from "next"
23

34
import { Button } from "@/components/ui"
45
import { AnimatedText } from "@/components/animated-text"
56
import { AnimatedBackground } from "@/components/homepage"
67
import { ContactForm } from "@/components/enterprise/contact-form"
78

9+
export const metadata: Metadata = {
10+
title: "Enterprise - Roo Code Cloud Control-Plane for Organizations",
11+
description:
12+
"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.",
13+
alternates: {
14+
canonical: "https://roocode.com/enterprise",
15+
},
16+
openGraph: {
17+
title: "Enterprise - Roo Code Cloud Control-Plane",
18+
description:
19+
"Take control of your AI development with Roo Code Cloud. Enterprise-grade management, visibility, and governance for AI-powered software development.",
20+
url: "https://roocode.com/enterprise",
21+
siteName: "Roo Code",
22+
type: "website",
23+
},
24+
twitter: {
25+
card: "summary_large_image",
26+
title: "Enterprise - Roo Code Cloud Control-Plane",
27+
description:
28+
"Take control of your AI development with Roo Code Cloud. Enterprise-grade management, visibility, and governance.",
29+
},
30+
}
31+
832
export default async function Enterprise() {
933
return (
1034
<>

apps/web-roo-code/src/app/layout.tsx

Lines changed: 132 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,60 @@ import "./globals.css"
1111
const inter = Inter({ subsets: ["latin"] })
1212

1313
export const metadata: Metadata = {
14-
title: "Roo Code – Your AI-Powered Dev Team in VS Code",
14+
title: {
15+
default: "Roo Code – Your AI-Powered Dev Team in VS Code",
16+
template: "%s | Roo Code",
17+
},
1518
description:
1619
"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.",
20+
keywords: [
21+
"AI coding assistant",
22+
"VS Code extension",
23+
"AI development tools",
24+
"code completion",
25+
"AI pair programming",
26+
"developer productivity",
27+
"coding AI",
28+
"software development",
29+
"AI code generation",
30+
"intelligent code editor",
31+
],
32+
authors: [{ name: "Roo Code, Inc." }],
33+
creator: "Roo Code, Inc.",
34+
publisher: "Roo Code, Inc.",
1735
alternates: {
1836
canonical: "https://roocode.com",
1937
},
38+
openGraph: {
39+
type: "website",
40+
locale: "en_US",
41+
url: "https://roocode.com",
42+
siteName: "Roo Code",
43+
title: "Roo Code – Your AI-Powered Dev Team in VS Code",
44+
description:
45+
"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.",
46+
},
47+
twitter: {
48+
card: "summary_large_image",
49+
title: "Roo Code – Your AI-Powered Dev Team in VS Code",
50+
description:
51+
"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.",
52+
creator: "@RooCodeInc",
53+
},
54+
robots: {
55+
index: true,
56+
follow: true,
57+
googleBot: {
58+
index: true,
59+
follow: true,
60+
"max-video-preview": -1,
61+
"max-image-preview": "large",
62+
"max-snippet": -1,
63+
},
64+
},
65+
verification: {
66+
google: "google-site-verification-placeholder", // This should be replaced with actual verification code
67+
},
2068
icons: {
2169
icon: [
2270
{ url: "/favicon.ico" },
@@ -52,6 +100,89 @@ export default function RootLayout({ children }: { children: React.ReactNode })
52100
/>
53101
</head>
54102
<body className={inter.className}>
103+
<script
104+
type="application/ld+json"
105+
dangerouslySetInnerHTML={{
106+
__html: JSON.stringify({
107+
"@context": "https://schema.org",
108+
"@type": "Organization",
109+
name: "Roo Code, Inc.",
110+
alternateName: "Roo Code",
111+
url: "https://roocode.com",
112+
logo: "https://roocode.com/Roo-Code-Logo-Horiz-blk.svg",
113+
description:
114+
"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.",
115+
foundingDate: "2024",
116+
industry: "Software Development",
117+
sameAs: [
118+
"https://github.com/RooCodeInc/Roo-Code",
119+
"https://marketplace.visualstudio.com/items?itemName=RooVeterinaryInc.roo-cline",
120+
],
121+
contactPoint: {
122+
"@type": "ContactPoint",
123+
contactType: "customer service",
124+
125+
},
126+
address: {
127+
"@type": "PostalAddress",
128+
streetAddress: "98 Graceland Dr",
129+
addressLocality: "San Rafael",
130+
addressRegion: "CA",
131+
postalCode: "94901",
132+
addressCountry: "US",
133+
},
134+
}),
135+
}}
136+
/>
137+
<script
138+
type="application/ld+json"
139+
dangerouslySetInnerHTML={{
140+
__html: JSON.stringify({
141+
"@context": "https://schema.org",
142+
"@type": "WebSite",
143+
name: "Roo Code",
144+
url: "https://roocode.com",
145+
description:
146+
"Your AI-Powered Dev Team in VS Code. Deep project-wide context, multi-step agentic coding, and unmatched developer-centric flexibility.",
147+
publisher: {
148+
"@type": "Organization",
149+
name: "Roo Code, Inc.",
150+
},
151+
potentialAction: {
152+
"@type": "SearchAction",
153+
target: "https://roocode.com/search?q={search_term_string}",
154+
"query-input": "required name=search_term_string",
155+
},
156+
}),
157+
}}
158+
/>
159+
<script
160+
type="application/ld+json"
161+
dangerouslySetInnerHTML={{
162+
__html: JSON.stringify({
163+
"@context": "https://schema.org",
164+
"@type": "SoftwareApplication",
165+
name: "Roo Code",
166+
applicationCategory: "DeveloperApplication",
167+
operatingSystem: "VS Code",
168+
description:
169+
"AI-powered development assistant that puts an entire dev team right in your VS Code editor.",
170+
url: "https://roocode.com",
171+
downloadUrl:
172+
"https://marketplace.visualstudio.com/items?itemName=RooVeterinaryInc.roo-cline",
173+
author: {
174+
"@type": "Organization",
175+
name: "Roo Code, Inc.",
176+
},
177+
offers: {
178+
"@type": "Offer",
179+
price: "0",
180+
priceCurrency: "USD",
181+
availability: "https://schema.org/InStock",
182+
},
183+
}),
184+
}}
185+
/>
55186
<div itemScope itemType="https://schema.org/WebSite">
56187
<link itemProp="url" href="https://roocode.com" />
57188
<meta itemProp="name" content="Roo Code" />
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import { MetadataRoute } from "next"
2+
3+
export default function sitemap(): MetadataRoute.Sitemap {
4+
const baseUrl = "https://roocode.com"
5+
6+
return [
7+
{
8+
url: baseUrl,
9+
lastModified: new Date(),
10+
changeFrequency: "weekly",
11+
priority: 1,
12+
},
13+
{
14+
url: `${baseUrl}/enterprise`,
15+
lastModified: new Date(),
16+
changeFrequency: "monthly",
17+
priority: 0.8,
18+
},
19+
{
20+
url: `${baseUrl}/evals`,
21+
lastModified: new Date(),
22+
changeFrequency: "weekly",
23+
priority: 0.7,
24+
},
25+
{
26+
url: `${baseUrl}/privacy`,
27+
lastModified: new Date(),
28+
changeFrequency: "yearly",
29+
priority: 0.3,
30+
},
31+
{
32+
url: `${baseUrl}/terms`,
33+
lastModified: new Date(),
34+
changeFrequency: "yearly",
35+
priority: 0.3,
36+
},
37+
]
38+
}

0 commit comments

Comments
 (0)