75 lines
4.1 KiB
Markdown
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
|