# Blog production Worker runbook ## Scope and safety boundary This runbook moves only `blog.3031023.xyz` from the independent preview Worker to the independent static production Worker `3031023-xyz-blog`. It does not change the primary site, the Pages rollback project, DNS records, redirects, forms, n8n, onboarding, CMS, or client-editing boundaries. The routine workflows deploy static assets only: - relevant `main` changes deploy `3031023-xyz-blog` in production mode; - relevant non-`main` changes deploy `3031023-xyz-blog-preview` in preview mode; and - neither workflow can create, remove, or alter custom domains, DNS, routes, or redirects. ## Pre-cutover verification 1. Record the production Worker version and verify its `workers.dev` URL. 2. Confirm the journal home page and all published post pages return 200. 3. Confirm a nonexistent post returns the static 404. 4. Confirm production metadata is indexable, `robots.txt` allows crawling, and the sitemap lists the journal and published posts. 5. Confirm the preview Worker remains untouched and its current deployment is available as the immediate blog rollback target. ## Domain move (requires separate approval) 1. Remove `blog.3031023.xyz` from `3031023-xyz-blog-preview`; do not delete that Worker or its deployment history. 2. Attach `blog.3031023.xyz` to `3031023-xyz-blog` as its only custom domain. 3. Re-run the public verification checks against the hostname. ## Rollback 1. Remove `blog.3031023.xyz` from `3031023-xyz-blog`. 2. Reattach it to the unchanged `3031023-xyz-blog-preview` Worker. 3. Verify the preview Worker’s known-good deployment at the hostname. The preview build will intentionally return to its no-index behavior.