Skip to content

feat(site): add SEO essentials, contact form, and early-access disclaimer #466

@Aureliolo

Description

@Aureliolo

Summary

The landing page is missing fundamental SEO infrastructure, a contact mechanism, and a clear disclaimer about the project's development status. This issue covers all three.

1. SEO Essentials

Missing items

Item What to add
Open Graph tags `og:title`, `og:description`, `og:image`, `og:url`, `og:type` in Base.astro ``
Twitter Card tags `twitter:card`, `twitter:title`, `twitter:description`, `twitter:image`
Canonical URL ``
Sitemap Install `@astrojs/sitemap` — generates `sitemap-index.xml` automatically from Astro pages. Add to `astro.config.mjs` integrations. `site` is already set to `https://synthorg.io\`.
robots.txt Add `public/robots.txt` with `Sitemap: https://synthorg.io/sitemap-index.xml\`
Favicon link Add `` to Base.astro head (file exists, just not linked)
Structured data JSON-LD `SoftwareApplication` schema on index page
OG image Create a 1200x630 social share image for link previews

Existing (no changes needed)

  • `` — already present
  • `` — already present
  • `site` in astro.config.mjs — already set to `https://synthorg.io\`

2. Contact Form

Add a contact section to the landing page (or a dedicated `/contact` page) using Web3Forms (free tier, 250 submissions/month, no secrets in HTML):

  • Fields: name, email, subject (dropdown: General / Licensing / Commercial / Bug Report / Other), message
  • Web3Forms access key in a hidden field (public, not a secret)
  • Honeypot field for spam protection
  • Custom redirect to a thank-you page or back to the landing page with a success message
  • No email secrets stored in the repo or GitHub Pages

Setup

  1. Register at web3forms.com with the project contact email
  2. Get the access key
  3. Add the form HTML to the landing page

3. Early-Access Disclaimer

Add a prominent but tasteful banner/notice on the landing page:

  • Position: below the hero section or as a subtle top bar

  • Content: something like:

    Early Access — SynthOrg is under active development. Some features shown are planned but not yet fully implemented. Check our GitHub for current progress, or contact us with questions.

  • Link to GitHub issues/milestones for transparency

  • Should be dismissible (localStorage flag) or subtle enough not to be annoying

Acceptance Criteria

  • OG + Twitter meta tags in Base.astro (per-page title/description support)
  • Canonical URL tag
  • `@astrojs/sitemap` installed and generating sitemap
  • `robots.txt` with sitemap reference
  • Favicon `` tag in head
  • JSON-LD structured data on index page
  • OG social share image (1200x630)
  • Contact form with Web3Forms (or chosen provider)
  • Early-access disclaimer visible on landing page
  • All SEO tags validated with social share debuggers (Twitter Card Validator, Facebook Sharing Debugger)

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:mediumShould do, but not blockingspec:human-interactionDESIGN_SPEC Section 13 - Human Interaction Layertype:featureNew feature implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions