docs: add maintained launch checklist; de-duplicate stale task lists
Cutover tasks were scattered across three sources that disagreed with each other and with reality: planning/parity-checklist.md (git-ignored, content only), docs/seo-aeo-optimization.md (SEO only, listed the Zod schema, seo-lint and breadcrumbs as open when all three are done, and called for Uptime Kuma which ADR-0004 replaced with monylog), and session notes. Add docs/launch-checklist.md as the single source of truth, verified against the working tree, the cluster and ArgoCD rather than inherited from the older docs. Point the SEO doc's two checkbox blocks at it and keep only reference detail there. Also records blockers that were not tracked anywhere: TLS never wired on the ingress, developer-facing copy rendered on the contact page, the contact form having no endpoint, and the draft insight post building into the sitemap because the draft flag is declared in Zod but never filtered on.
This commit is contained in:
1 parent
9f1cbca1b1
commit
79e7fd4b2b
2 files changed
+266
-19
No files matched your search
@@ -80,15 +80,21 @@ Already implemented in `src/layouts/BaseLayout.astro` (keep + enforce):
|
||||
|
||||
To add/verify:
|
||||
|
||||
- [ ] **Per-page OG images** — currently every page falls back to `/assets/water-strategy.jpg`.
|
||||
Generate topic-specific OG images (services, focus areas, insights) at 1200×630.
|
||||
- [ ] **`robots` meta** wired to the `noindex` frontmatter flag (for `/thank-you/`, staging).
|
||||
- [ ] **`article:published_time` / `modified_time`** OG tags on insights posts.
|
||||
- [ ] **Breadcrumbs** (visible + `BreadcrumbList` schema) on services/focus/insights detail pages.
|
||||
- [ ] **Sitemap** already via `@astrojs/sitemap` (excludes `/thank-you/`); add `lastmod` from
|
||||
content dates for insights.
|
||||
- [ ] **Trailing-slash consistency** — config uses `trailingSlash: "always"`; ensure canonical +
|
||||
internal links all match to avoid duplicate-URL dilution.
|
||||
> **Tracked in [`launch-checklist.md`](./launch-checklist.md) §4.** The list that used to live
|
||||
> here went stale (breadcrumbs are done). This section keeps the *reference* detail below; the
|
||||
> live task state is in the launch checklist only.
|
||||
|
||||
- **Per-page OG images** — every page currently falls back to one shared image
|
||||
(`BaseLayout.astro` emits a single `og:image`). Generate topic-specific 1200×630 images for
|
||||
services, focus areas, and insights.
|
||||
- **`robots` meta** wired to a `noindex` frontmatter flag (for `/thank-you/`, staging). Not wired
|
||||
today — `/thank-you/` is sitemap-excluded but emits no `noindex`.
|
||||
- **`article:published_time` / `modified_time`** OG tags on insights posts.
|
||||
- **Breadcrumbs** — DONE. `BreadcrumbList` in `src/utils/schema.ts`, applied on detail pages.
|
||||
- **Sitemap** — via `@astrojs/sitemap`, excludes `/thank-you/`. Still to add: `lastmod` from
|
||||
content dates for insights.
|
||||
- **Trailing-slash consistency** — config uses `trailingSlash: "always"`; ensure canonical +
|
||||
internal links all match to avoid duplicate-URL dilution.
|
||||
|
||||
## 3. Structured data (JSON-LD) matrix
|
||||
|
||||
@@ -214,16 +220,14 @@ Decided: **run PostHog and Umami side-by-side initially** and keep whichever fit
|
||||
|
||||
## 7. Pre-launch SEO checklist
|
||||
|
||||
- [ ] Zod SEO schema in place; build fails on title/description/OG/canonical violations.
|
||||
- [ ] `scripts/seo-lint.mjs` (single H1, heading order, canonical, alt text, JSON-LD parses) green in CI.
|
||||
- [ ] Every page: unique title, description in window, canonical, OG image, valid JSON-LD.
|
||||
- [ ] Organization/WebSite/Service/Person/Article/Breadcrumb schema per §3, all visible-content-backed.
|
||||
- [ ] `robots.txt` per §5 (owner-decided); `sitemap-index.xml` correct; `/thank-you/` + staging `noindex`.
|
||||
- [ ] Canonical host decided (apex vs `www`) + redirect configured at the edge.
|
||||
- [ ] Search Console + Bing verified, sitemap submitted.
|
||||
- [ ] Analytics deployed (Umami) + consultation/CTA events firing.
|
||||
- [ ] Uptime Kuma + external check live and alerting.
|
||||
- [ ] Lighthouse ≥ 95 across the board; no CLS from unsized images.
|
||||
> **Moved.** This list is no longer maintained here — it duplicated, and disagreed with, reality
|
||||
> (it listed the Zod schema, `seo-lint`, and breadcrumbs as open when all three are done, and
|
||||
> called for Uptime Kuma, which ADR-0004 replaced with `monylog`).
|
||||
>
|
||||
> **The maintained checklist is [`launch-checklist.md`](./launch-checklist.md).** SEO items are
|
||||
> in §3 (owner decisions: canonical host, robots policy) and §4 (post-cutover: OG images,
|
||||
> `noindex` meta, article times, `lastmod`, Lighthouse, trailing slashes). What is already
|
||||
> complete is recorded in §5.
|
||||
|
||||
## Sources (verified 2026-07-15)
|
||||
|
||||
|
||||
Reference in new issue
Block a user