SEO updates for public pages #124

Closed
opened 2026-10-19 07:01:54 -07:00 by westfarn · 1 comment
Owner

Follow-up to #114.

#114 / #117 put the homepage title, JSON-LD, robots.txt, sitemap.xml, and llms.txt on master, plus client-side title and canonical. Live https://hesychia.ai is still the old shell: title Hesychia, no canonical, no JSON-LD. /sitemap.xml and /llms.txt return index.html (text/html). /robots.txt is the old allow-all file.

After that build is what prod serves, a crawler that does not run JS still sees one index.html on every route.

Scope

  • /, /pricing/, /privacy/, /changelog/, /terms_of_service/, and /account-deletion/ each return their own title, description, canonical, and Open Graph tags in the HTML response, not only after React runs.
  • Add an og:image (and a Twitter card) so link previews are not title-only.
  • /robots.txt, /sitemap.xml, and /llms.txt are served as text, not the SPA shell. Refresh sitemap.xml lastmod when those pages change.

Done when

View-source on each public URL shows that page's title, description, and canonical. The three crawler files are plain text.

Out of scope

  • Founder / about page.
  • Inventing testimonials or usage counts.
Follow-up to #114. #114 / #117 put the homepage title, JSON-LD, `robots.txt`, `sitemap.xml`, and `llms.txt` on master, plus client-side title and canonical. Live https://hesychia.ai is still the old shell: title `Hesychia`, no canonical, no JSON-LD. `/sitemap.xml` and `/llms.txt` return `index.html` (`text/html`). `/robots.txt` is the old allow-all file. After that build is what prod serves, a crawler that does not run JS still sees one `index.html` on every route. ## Scope - `/`, `/pricing/`, `/privacy/`, `/changelog/`, `/terms_of_service/`, and `/account-deletion/` each return their own title, description, canonical, and Open Graph tags in the HTML response, not only after React runs. - Add an `og:image` (and a Twitter card) so link previews are not title-only. - `/robots.txt`, `/sitemap.xml`, and `/llms.txt` are served as text, not the SPA shell. Refresh `sitemap.xml` `lastmod` when those pages change. ## Done when View-source on each public URL shows that page's title, description, and canonical. The three crawler files are plain text. ## Out of scope - Founder / about page. - Inventing testimonials or usage counts.
Author
Owner

Closing. The public-page HTML, og:image, Twitter card, and crawler files landed on master in #125. Live https://hesychia.ai is still the October 10 shell until that build and the server-infra nginx change are deployed.

Closing. The public-page HTML, og:image, Twitter card, and crawler files landed on master in #125. Live https://hesychia.ai is still the October 10 shell until that build and the server-infra nginx change are deployed.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ai_ml_operations/chat_web_app#124