Files
Kordant/tasks/landing-pages-and-admin/04-blog-content-creation.md
2026-05-26 09:38:54 -04:00

75 lines
4.1 KiB
Markdown

# 04. Create Blog Post Content
meta:
id: landing-pages-and-admin-04
feature: landing-pages-and-admin
priority: P2
depends_on: [landing-pages-and-admin-02, landing-pages-and-admin-03]
tags: [content, blog, database-seed]
objective:
- Create at least 4 substantive, well-written blog posts with practical advice on scam prevention, AI detection, identity theft recovery, and related topics. Seed these posts into the database via the admin interface or a seed script.
deliverables:
- At least 4 full blog post entries in the `blogPosts` database table
- Each post includes: title, slug, excerpt, full markdown content, author name, tags, published status, published date
- Content covers: scam prevention advice, AI detection tips, identity theft recovery steps, dark web safety, data broker removal
- At least one post marked as `featured`
steps:
- Research and write blog post content for each topic:
1. "How to Spot AI-Generated Scam Calls and Messages" — practical detection tips, red flags, what to do if targeted
2. "Identity Theft Recovery: Step-by-Step Guide" — actionable steps after discovering identity theft, agencies to contact, timeline
3. "Dark Web Exposure: What It Means and How to Respond" — explains data breaches, what info is exposed, protective measures
4. "Data Brokers Exposed: How to Remove Your Info From 20+ Sites" — comprehensive guide to opting out, tools, automation
5. "Deepfake Voice Scams: Protecting Your Family" — how voice cloning works, verification strategies, family safety protocols
- Format each post in markdown with:
- H1 title
- Intro paragraph (used as excerpt)
- Multiple H2 sections with detailed content
- Bullet points, numbered lists for actionable steps
- Internal links to Kordant product features where relevant
- Tags array (matching existing tag categories)
- Create database seed script or use admin interface to insert posts:
- Generate unique slugs from titles
- Set `published` to true
- Set `publishedAt` to appropriate dates (spread across recent months)
- Set `authorName` to realistic author names
- Mark one post as `featured`
- Verify all posts render correctly on `/blog` and `/blog/[slug]`
- Review and proofread all content for quality and accuracy
tests:
- Integration: All posts appear in blog listing page
- Integration: Each post renders correctly on individual page
- Integration: Featured post displays at top of blog listing
- Integration: Tags are properly associated and filterable
- Content: Each post is at least 800 words of substantive content
acceptance_criteria:
- At least 4 blog posts exist in the `blogPosts` database table
- Each post has: title, slug, excerpt, full markdown content (800+ words), author name, tags, published date
- Posts cover diverse topics: scam prevention, AI detection, identity theft recovery, dark web safety, data broker removal
- At least one post is marked as `featured`
- All posts render correctly on both listing and detail pages
- Content is well-written, accurate, and provides actionable advice
- Tags are properly categorized and filterable on the blog listing page
validation:
- `cd /Users/mike/Code/Kordant/web && pnpm dev` then navigate to `/blog`
- Verify all posts appear in chronological order
- Click each post and verify full content renders with proper markdown formatting
- Verify featured post appears at top of listing
- Test tag filtering with each tag category
- Verify view counts increment on page views
notes:
- Content should be educational and helpful, not overly promotional
- Reference real-world examples and statistics where possible
- Include actionable steps users can take immediately
- Link to relevant Kordant features naturally within content (not forced)
- Use existing tag categories: "Identity Theft", "AI Safety", "Privacy", "Deepfakes", "Dark Web", "Scam Alerts", "Product News"
- Author names should be consistent (use "Kordant Security Team" or specific editor names)
- Published dates should be spread across recent months for realistic timeline
- Consider creating a seed script at `/web/src/server/db/seed/blog.ts` for reproducibility