Skip to content

Conversation

@stevenferey
Copy link
Owner

Summary

  • Add complete SEO infrastructure for production visibility while protecting staging from Google indexing
  • Implement dynamic meta tags with react-helmet-async
  • Generate robots.txt and sitemap.xml at build time based on environment

Changes

New files

File Description
src/components/SEO.tsx Reusable SEO component (title, description, OG, Twitter Cards)
src/lib/seo.ts Centralized SEO configuration
src/plugins/vite-plugin-robots.ts Vite plugin for robots.txt generation
src/plugins/vite-plugin-sitemap.ts Vite plugin for sitemap.xml generation
public/favicon.svg Custom "C" favicon
public/site.webmanifest PWA manifest

Modified files

  • .env.example - Added VITE_SITE_URL and VITE_INDEXABLE
  • index.html - Fixed lang="fr", added meta description and favicon refs
  • vite.config.ts - Integrated SEO plugins with loadEnv
  • src/main.tsx - Wrapped app with HelmetProvider
  • src/pages/Landing.tsx - Added SEO component

stevenferey and others added 2 commits January 4, 2026 17:30
- Add react-helmet-async for dynamic meta tags management
- Create SEO component with Open Graph and Twitter Cards support
- Add Vite plugins to generate robots.txt and sitemap.xml at build time
- Configure environment-based indexing (VITE_INDEXABLE)
- Update index.html with lang="fr", meta description, and new favicon
- Add custom favicon SVG and PWA manifest
- Staging builds block all indexing, production builds allow public pages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
feat: add SEO optimization with staging protection
@stevenferey stevenferey merged commit c0707ce into main Jan 4, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants