2.4 KiB
2.4 KiB
Task 015: SEO And Language Review
Development description: Implement SEO and linguistic review jobs, issue reports, editor accept/reject/edit flows, and versioned application of accepted suggestions.
Implementation Details
- Backend endpoints:
POST /api/articles/{article_id}/seo/reviewGET /api/articles/{article_id}/seo/reportPOST /api/articles/{article_id}/language/reviewGET /api/articles/{article_id}/language/report- endpoints to accept/reject/edit individual suggestions.
- SEO checks:
- Title length.
- Meta title length.
- Meta description length.
- H1/H2 structure.
- Keyword placement.
- Internal links.
- External citations.
- Schema type.
- Slug.
- FAQ eligibility.
- Image alt text.
- Readability.
- Duplicate headings.
- Language checks:
- Grammar.
- Spelling.
- Sentence length.
- Passive voice.
- Jargon density.
- Brand tone.
- Forbidden phrases.
- Repetition.
- Weak claims.
- Unsupported certainty.
- CTA consistency.
- Accepted suggestions create a new draft version when they change approval-relevant content.
Public Interface
- Editor runs SEO and language review.
- Editor accepts, rejects, or edits suggestions.
- UI shows issues with severity and locations.
Acceptance Criteria
- TDD pre-requirement: before implementation, write one failing behavior test that runs an SEO review and returns a visible issue through the public API; proceed one review behavior at a time and record evidence in
Result. - SEO report includes score, issues, suggested fixes, recommended slug/title, and schema JSON.
- Language report includes severity, location, message, and suggested rewrite.
- Editor can accept, reject, or edit each suggestion.
- Accepted content changes create a new immutable draft version.
- Target-site SEO and tone rules override global defaults.
- Final review can show unresolved SEO/language issues.
- Fake review runner produces deterministic demo reports.
Verification
- Run review API tests.
- Run draft-versioning tests for accepted suggestions.
- Run frontend review UI tests.
- Run Docker Compose smoke flow from draft to SEO/language reports.
Result
- Status: Pending execution.
- TDD plan: To be filled during execution.
- Red evidence: To be filled during execution.
- Green evidence: To be filled during execution.
- Refactor notes: To be filled during execution.
- Verification output: To be filled during execution.