Setup Checklist

This page is the operator-facing checklist of manual actions outside the code. Every step here happens in a third-party dashboard, not in the codebase. Skim this if you're new to the project, or return here periodically to confirm nothing has drifted.

1. Google Search Console · submit sitemap

Primary indexing channel for Google. IndexNow covers Bing/Yandex/Seznam/Naver automatically (see below) but Google doesn't participate in IndexNow.

2. Bing Webmaster Tools · submit sitemap

Separate from IndexNow. Gives you crawl stats, URL Inspection (no rate limit), and manual indexing requests.

3. Formspree · wire up the forms

Three forms on the site need Formspree endpoints: the main story submission, the newsletter signup, and the stereotype-submission form on the Atlas hub. Without env vars set, forms show a graceful fallback ("temporarily disabled; email us").

  1. Sign up at formspree.io (free tier covers low volume)
  2. Create three forms. Name them clearly:
    • Submissions — gets the env var FORMSPREE_SUBMISSION_ID
    • Newsletter — gets the env var FORMSPREE_NEWSLETTER_ID
    • Stereotype — gets the env var FORMSPREE_STEREOTYPE_ID
  3. Copy each form's ID — the abc123 part of https://formspree.io/f/abc123
  4. In Vercel → Project Settings → Environment Variables, add all three, scoped to Production + Preview + Development
  5. Trigger a redeploy (any push or manual redeploy from the Vercel dashboard)

4. IndexNow · already automated

Runs itself on every push via .github/workflows/indexnow.yml. The workflow waits 60 seconds for Vercel to deploy, verifies the key file, then POSTs the full sitemap to IndexNow.

5. ClaimReview / fact-check verification (optional, high value)

Every stereotype page emits ClaimReview JSON-LD. Google can display these as fact-check rich results in SERPs — but requires the publisher to be on their approved list.

6. Analytics review cadence

7. Generation scripts (local)

Run these from your laptop when you want to batch-expand content:

Quick links