This plan outlines the changes needed to make the minhdq.dev blog more friendly to AI agents, based on the requirements in IDEA.md.
- Current state: The blog already uses some semantic HTML (
<main>,<article>,<header>,<footer>) - Action items:
- Verify PostLayout uses proper semantic elements
- Add
<nav>for navigation sections in Header - Add
<section>for distinct content areas in blog posts - Ensure exactly one
<h1>per post (already in PageTitle) - Verify heading hierarchy (h2-h3) is logical
- Current state: Basic meta tags exist
- Action items:
- Ensure all meta descriptions are present
- Verify og: tags consistency
- Current state:
structuredDataexists in contentlayer config - Action items:
- Review and enhance existing schema.org markup in
app/blog/[...slug]/page.tsx - Ensure schema includes: headline, author, datePublished, keywords, mainEntityOfPage
- Add
@type: BlogPostingif not present
- Review and enhance existing schema.org markup in
- Action items:
- Implement BreadcrumbList schema for blog navigation
- Add breadcrumbs to PostLayout UI
- Current state: Already handled in metadata
- Action items:
- Verify canonical URLs are correct
- Current state:
/blog/{slug}pattern is consistent - Action items:
- Verify URL consistency
- Action items:
- Review and improve link text across the site
- Ensure CTAs are descriptive (e.g., "Read full article" instead of "Read more")
- Current state: XML sitemap exists at
app/sitemap.ts - Action items:
- Create an HTML sitemap page at
/sitemap - Add links to tag archives, blog posts by date
- Create an HTML sitemap page at
- Current state: MDX content already uses headings, bullet lists
- Action items:
- Verify content is well-structured
- Action items:
- Verify Image component enforces alt text
- Review existing blog posts for meaningful alt text
- Current state: RSS feed exists but may not include full content
- Action items:
- Review
scripts/rss.mjsto ensure full content is included - Add tags and metadata to RSS items
- Review
- Action items:
- Create API route at
/api/blog/[...slug]/markdownto serve raw markdown - Add "Download Markdown" button to PostLayout
- Add
rel="alternate"link tag pointing to markdown version - Serve with
Content-Type: text/markdown - Include frontmatter in markdown export
- Create API route at
- Action items:
- Create
/ai-agentspage documenting:- Content structure and available endpoints
- RSS feeds
- Markdown download feature
- Tags and navigation
- Rate limits and usage guidelines
- Link to this page in footer
- Create
- Action items:
- Add information about AI-friendly features to AGENTS.md
- Document the markdown download endpoint
- Document the AI agents page
- Action items:
- Run
npm run lintto ensure no linting errors - Run
npm run buildto verify build succeeds - Test markdown download functionality
- Run
- Action items:
- Verify schema.org markup with Google's Rich Results Test
- Test markdown download with multiple blog posts
- Verify semantic HTML structure
- Check that all features work in both light and dark modes
Phase 1 - Critical Features (Implement first):
- Enhanced schema.org markup (BlogPosting, BreadcrumbList)
- Download Markdown button and API endpoint
- Add
rel="alternate"link for markdown - Semantic HTML improvements (nav, section tags)
Phase 2 - Content Enhancements: 5. AI Agents documentation page 6. HTML sitemap 7. Enhanced RSS feed with full content
Phase 3 - Polish: 8. Update AGENTS.md with AI-friendly features 9. Improve link text and CTAs 10. Verify alt text on images
- Minimal changes: Focus on enhancing existing components rather than rewriting
- Backward compatibility: Ensure all changes maintain existing functionality
- Testing: Test each feature in isolation before moving to next
- Documentation: Update relevant docs as features are implemented