Commit graph

5 commits

Author SHA1 Message Date
Vadym Samoilenko
4fc85ef99e Enable SPA prerendering in build pipeline
- Add puppeteer + mime-types to devDependencies
- Integrate prerender.mjs into build script (runs after vite build)
- Add Linux/Docker-safe Chrome flags (--disable-setuid-sandbox, --disable-dev-shm-usage, --disable-gpu)
- Fix static server to strip query strings from URLs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 21:39:01 +00:00
Vadym Samoilenko
b6a6a55e05 Generate dynamic sitemap with blog posts and lastmod dates
New script reads public/blog/posts.json at build time and outputs
public/sitemap.xml with all static routes + /blog/:slug entries,
each with lastmod from post dates or current date.

Build pipeline: sync-blog → generate-sitemap → tsc → vite build

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 21:37:29 +00:00
Vadym Samoilenko
985d21b53d Add TinaCMS Cloud integration (Phase 1)
- Add tina/config.ts with full schema for all site sections
- Convert i18n from TypeScript to nested JSON (content/translations/)
- Update LanguageContext to import JSON with flattenObject utility
- Update dev/build scripts to run tinacms build
- Add sync-blog.mjs support for content/blog/*.md (TinaCMS posts)
- Update CI/CD with Tina env vars, remove blog rsync exclusion
- Add tina/__generated__/ to .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 20:34:35 +00:00
Vadym Samoilenko
6c1956585a Add SEO, structured data, AI indexing, and Google Reviews integration
- Add react-helmet-async with SEO component for dynamic meta tags on all pages
- Add JSON-LD structured data (Organization, WebSite, ProfessionalService) to index.html
- Add fallback OG/Twitter Card meta tags in index.html for non-JS crawlers
- Add robots.txt allowing all crawlers including AI bots (GPTBot, Claude-Web, etc.)
- Add sitemap.xml with all routes
- Add llms.txt for AI crawler discovery
- Add X-Robots-Tag header and reviews.json cache rule to nginx.conf
- Replace fake testimonials with Google Reviews (fetch /reviews.json)
- Add star ratings, Google badge, and "Leave us a review" button to testimonials
- Add server/sync-reviews.mjs for daily Google Places API review sync

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:26:05 +00:00
Vadym Samoilenko
67c7ab3289 Initial commit: Aimpress website
React 19 + TypeScript SPA with Vite, mobile responsive fixes,
GitHub Actions CI/CD pipeline for automated deployment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 13:47:37 +00:00