SEO Phase 1: Technical Foundation - #5
mostlyerror wants to merge 4 commits into
Conversation
Add critical SEO infrastructure to improve search engine discoverability and social media sharing. Changes: - Add auto-generated sitemap.xml via app/sitemap.ts - Add auto-generated robots.txt via app/robots.ts - Add Open Graph and Twitter Card meta tags to all pages - Add RAG chatbot section to AI for Business page - Remove "coming soon" blog posts from blog page - Add Analytics component to layout SEO improvements: - Search engines can now discover all pages via sitemap - Better social media sharing previews with Open Graph tags - Cleaner blog page (no placeholder content) - New RAG chatbot content targeting "RAG chatbot" keywords Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
This PR implements foundational SEO improvements by adding essential metadata and content for better search engine discoverability and social media sharing. The changes enable search engines to efficiently crawl the site and improve preview cards on social platforms.
Changes:
- Added auto-generated sitemap.xml and robots.txt files using Next.js metadata route handlers
- Implemented Open Graph and Twitter Card metadata across all pages for enhanced social sharing
- Added comprehensive RAG chatbot content section to the AI for Business page
- Removed placeholder "coming soon" blog posts for cleaner UX
- Enabled Analytics component rendering in the root layout
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| app/sitemap.ts | New file generating sitemap.xml with all three main pages (home, AI for Business, blog) |
| app/robots.ts | New file generating robots.txt allowing all crawlers and referencing the sitemap |
| app/layout.tsx | Added Open Graph and Twitter Card metadata to root layout, enabled Analytics component |
| app/blog/page.tsx | Added page-specific Open Graph/Twitter metadata, removed four placeholder blog post cards |
| app/ai-for-business/page.tsx | Added page-specific Open Graph/Twitter metadata, added detailed RAG chatbot section with use cases |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| export default function sitemap(): MetadataRoute.Sitemap { | ||
| const baseUrl = 'https://goodrobotco.com' | ||
|
|
||
| return [ | ||
| { | ||
| url: baseUrl, | ||
| lastModified: new Date(), | ||
| changeFrequency: 'monthly', | ||
| priority: 1, | ||
| }, | ||
| { | ||
| url: `${baseUrl}/ai-for-business`, | ||
| lastModified: new Date(), | ||
| changeFrequency: 'monthly', | ||
| priority: 0.8, | ||
| }, | ||
| { | ||
| url: `${baseUrl}/blog`, | ||
| lastModified: new Date(), |
There was a problem hiding this comment.
Using new Date() for lastModified will generate a different timestamp on every build, which can cause unnecessary cache invalidation and version control noise. Consider using a static date string (e.g., '2024-01-15') or removing the lastModified field entirely if you don't have a mechanism to track actual modification dates.
| export default function sitemap(): MetadataRoute.Sitemap { | |
| const baseUrl = 'https://goodrobotco.com' | |
| return [ | |
| { | |
| url: baseUrl, | |
| lastModified: new Date(), | |
| changeFrequency: 'monthly', | |
| priority: 1, | |
| }, | |
| { | |
| url: `${baseUrl}/ai-for-business`, | |
| lastModified: new Date(), | |
| changeFrequency: 'monthly', | |
| priority: 0.8, | |
| }, | |
| { | |
| url: `${baseUrl}/blog`, | |
| lastModified: new Date(), | |
| const lastModified = '2024-01-15' | |
| export default function sitemap(): MetadataRoute.Sitemap { | |
| const baseUrl = 'https://goodrobotco.com' | |
| return [ | |
| { | |
| url: baseUrl, | |
| lastModified, | |
| changeFrequency: 'monthly', | |
| priority: 1, | |
| }, | |
| { | |
| url: `${baseUrl}/ai-for-business`, | |
| lastModified, | |
| changeFrequency: 'monthly', | |
| priority: 0.8, | |
| }, | |
| { | |
| url: `${baseUrl}/blog`, | |
| lastModified, |
|
@mostlyerror I've opened a new pull request, #6, to work on those changes. Once the pull request is ready, I'll request review from you. |
Add images field to all Open Graph and Twitter Card metadata configurations to improve social media sharing previews. References /og-image.png which needs to be created (see public/OG-IMAGE-TODO.md for specs). Changes: - Add OG image metadata to app/layout.tsx (homepage) - Add OG image metadata to app/ai-for-business/page.tsx - Add OG image metadata to app/blog/page.tsx - Add public/OG-IMAGE-TODO.md with image creation instructions All pages now reference /og-image.png (1200x630) for social sharing. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created a professional Open Graph image for social media sharing: - SVG file with Good Robot Co. branding (1200x630) - Includes company name, tagline, and robot icon - Uses brand colors (coral, sage, cream) - Added preview HTML file for easy viewing and conversion To convert to PNG: 1. Open public/og-image-preview.html in browser 2. Right-click image and save as PNG, OR 3. Use online converter, OR 4. Install ImageMagick: brew install imagemagick Then: magick public/og-image.svg public/og-image.png Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Complete OG image implementation with 1200x630 PNG file. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implement critical SEO infrastructure to improve search engine discoverability and social media sharing. Changes: - Add auto-generated sitemap.xml via app/sitemap.ts - Add auto-generated robots.txt via app/robots.ts - Add Open Graph and Twitter Card meta tags to all pages - Add OG image (1200x630 PNG) for social sharing previews - Add RAG chatbot section to AI for Business page - Remove "coming soon" blog posts from blog page - Add Analytics component to layout SEO improvements: - Search engines can now discover all pages via sitemap - Better social media sharing previews with Open Graph tags - Cleaner blog page (no placeholder content) - New RAG chatbot content targeting "RAG chatbot" keywords Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Summary
app/sitemap.ts) for search engine crawlingapp/robots.ts) with sitemap referenceSEO Impact
Test Plan
<head>section)🤖 Generated with Claude Code