-
Notifications
You must be signed in to change notification settings - Fork 0
feat(site): add SEO essentials, contact form, and early-access disclaimer #466
Description
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
- Register at web3forms.com with the project contact email
- Get the access key
- 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)