---
title: "ContentWatch — stale content detection and freshness alerts for WordPress"
description: "WordPress plugin that monitors content freshness, flags stale posts, pulls GSC + GA4 data, and generates AI rewrite suggestions."
url: https://symonov.com/projects/content-watch/
---

# content-watch

Automated content freshness alerts for WordPress — before traffic dies.

**2026** · by **Serhii Symonov** · beta · `wordpress` `seo` `content-ops` `php`

## the problem

Most WordPress posts are written once and forgotten. The piece that drove traffic eighteen months ago still points readers at a 2023 statistic, a deprecated screenshot, and a stale year in the title. Nothing tells you. Search rankings drop quietly. Visitors bounce.

## the approach

ContentWatch watches every published post against a review interval you set, then pings you when something needs attention. One weekly email lists what’s stale. Open the dashboard to see traffic data per post (Search Console + GA4), get an AI-generated rewrite suggestion, and ship the update — or kill the page.

Key capabilities:

- **Configurable intervals** — Daily through 5 Years; one rule per post type
- **Multi-channel notifications** — Email digest, Telegram, Slack; extensible via filter
- **AI analyze** — OpenAI-powered freshness scoring, suggestions, and rewrites per post; encrypted keys, configurable per-post-type guidance
- **Analytics-driven decisions** — GSC impressions/clicks/CTR/position + GA4 engagement/bounce in a sidebar metabox; “Analyze with metrics” feeds data into the AI prompt
- **On-page SEO checks** — title length, meta description (Yoast / Rank Math / AIOSEO), outdated-year detection in titles and slugs
- **Bulk actions + CSV export** — bulk AI review via Action Scheduler queue, download results, bulk Watch/Ignore
- **Watch & Ignore lists** — curate exact posts; watched always evaluated, ignored always skipped
- **REST API + webhooks** — `/wp-json/cw/v1/stats`, per-rule and global webhooks, HMAC-friendly

No subscription, no SaaS account, all data stays on the site.

## stack

- WordPress 6.0+, PHP 8.0+
- Action Scheduler for background processing
- Google Search Console + GA4 APIs
- OpenAI Chat Completions API (opt-in)
- REST API with `x-api-key` auth
