## 1. WordPress Config And Fetch - [x] 1.1 Add WordPress env/config variables (base URL + credentials) and document them in `site/.env.example` - [x] 1.2 Extend `site/scripts/fetch-content.ts` to fetch WordPress posts, pages, and categories via `wp-json` and write to `site/content/cache/content.json` - [x] 1.3 Add a failure mode where WP fetch errors do not crash the whole fetch/build (keep last-known-good or write empty WP dataset) ## 2. Normalize And Select - [x] 2.1 Extend content cache/types to represent WordPress items (post/page) and categories - [x] 2.2 Add selector helpers for WordPress posts/pages/categories (ordered by publish date, filter by category) ## 3. Blog UI Surface - [x] 3.1 Add `/blog` index page that renders WordPress post cards (featured image, title, excerpt) - [x] 3.2 Add post detail routes (e.g., `/blog/post/`) that render the full post content - [x] 3.3 Add page detail routes (e.g., `/blog/page/`) that render the full page content - [x] 3.4 Add blog secondary navigation under header based on cached categories, with category listing pages (e.g., `/blog/category/`) - [x] 3.5 Add header nav link "Blog" between "Podcast" and "About" ## 4. SEO And Sitemap - [x] 4.1 Ensure blog pages include title/description/canonical URL metadata - [x] 4.2 Update sitemap generation to include `/blog` and blog content routes when WP content is present at build time ## 5. Verification - [x] 5.1 Add at least one test to assert the header includes the Blog link - [x] 5.2 Add a build verification that `/blog` is generated and renders an empty state when no WP content is available