Commit graph

2 commits

Author SHA1 Message Date
6b0633034d
feat(frontend): SEO — sitemap, canonical link, structured data
- robots.txt now also points at a real sitemap.xml (public pages
  only: /, /download, /themes, /showcase) and disallows the
  auth-gated routes (/account, /configs, /link) that have nothing
  useful to a crawler
- canonical <link> on the root page
- SoftwareApplication JSON-LD so Google can render a rich result
  (name, free price, icon) instead of a plain blue link

Claude-Session: https://claude.ai/code/session_01F1M1Jic1wTSn4igUENynmZ
2026-09-30 15:48:44 +02:00
9744dc7f24
fix(frontend): add a real robots.txt, cache hashed assets forever
Lighthouse audit findings:
- No robots.txt existed, so nginx's SPA fallback (try_files -> index.html)
  served the React app's HTML at /robots.txt -- crawlers got 44 "syntax
  not understood" lines instead of directives.
- No Cache-Control on /assets/*, so every visit re-fetched a hashed,
  content-addressed bundle that can never actually change under that
  URL. Lighthouse estimated 936 KiB/visit wasted on this alone.

Claude-Session: https://claude.ai/code/session_01F1M1Jic1wTSn4igUENynmZ
2026-09-30 15:40:04 +02:00