=== Fresh Content Radar ===
Contributors: wpsmarttools
Tags: seo, content, links, broken links, content audit
Requires at least: 5.9
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 0.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fresh-content-radar

Monitor content freshness, broken links and missing image alts from a live dashboard with filters, KPIs and CSV export.

== Description ==

**Fresh Content Radar** is your all-in-one dashboard to keep your website content healthy and SEO-friendly.
It scans your posts and pages for freshness, outdated dates, broken or unverifiable links, and missing image alts — then shows everything in a single interactive dashboard.

### 🔑 Key Features

- **Live Dashboard**
  - Color-coded KPIs: Fresh / Needs refresh / Obsolete / Unknown.
  - Clickable KPIs to instantly filter the table.
  - Search bar and instant filters (AJAX).
  - Table auto-refresh every 60 seconds.

- **Smart Scan System**
  - Paged AJAX scan for large sites — no timeouts.
  - Real-time progress bar with % and number of items.
  - Option to automatically re-scan content on update.

- **Content Analysis**
  - Detects outdated content based on configurable thresholds (fresh / stale / obsolete).
  - Detects outdated years in text (e.g. “2019”) and alerts you.
  - Counts images without alt attribute for accessibility/SEO.

- **Link Checking**
  - Distinguishes **broken links** (red) from **unverifiable links** (yellow: timeout, WAF, 403).
  - Configurable timeout and max redirects.
  - Exclude domains (CSV) that you don’t want to scan.

- **Bulk Actions**
  - Select multiple posts to **move to trash** or **set to draft** directly from the dashboard.

- **CSV Export**
  - Export visible table columns to CSV with one click.

- **Settings Interface**
  - Clean, tabbed settings page (Analysis / Links / Performance / Emails).
  - Tooltips and clear explanations for each option.
  - Modern UI with toggles and responsive design.

- **Email Notifications**
  - Weekly recap email (Top 10 obsolete/to-refresh content).
  - Configurable recipient address.

- **Dashboard Widget**
  - Mini-widget in WP Dashboard with global score and quick link to full dashboard.

- **Security & Performance**
  - Nonces on all AJAX calls.
  - Proper sanitization/escaping of all inputs/outputs.
  - Compatible with large sites thanks to paginated scans.

### 🛠️ Ideal For

- Content editors and SEO managers who need to keep websites up-to-date.
- Marketing teams that want a single source of truth for content health.
- Site owners with large content libraries who want to automate freshness checks.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install via Plugins > Add New.
2. Activate the plugin.
3. Go to **Fresh Content** in the WP admin menu.
4. Click **Scan all published posts** to populate the dashboard.

== Screenshots ==

1. **Main dashboard** with KPIs, filters, search and bulk actions.
2. **Progress bar** during a scan.
3. **Settings page** with tabs and toggle switches.

== Frequently Asked Questions ==

= Does this plugin change my content automatically? =
No. It only analyzes and gives you insights — you decide what to edit, trash, or keep.

= Will this slow down my site? =
No. Scans are paginated and run via AJAX on demand or after updates. No heavy background tasks.

= Can I use it on multisite? =
Yes. It works on multisite (per-site basis). Global network-wide tools are planned.

= What about WP-CLI? =
Yes! You can scan posts and pages directly from the command line:
`wp fcradar scan`

You can also filter by type or age, for example:
`wp fcradar scan --post_type=page --older_than=365`

== Changelog ==

= 0.2.0 =
* New AJAX-paged scanner with live progress bar.
* Instant filters (status + search).
* KPI badges clickable for quick filtering.
* Bulk actions (trash/draft).
* CSV export of visible columns.
* Tabbed settings UI with tooltips.
* Weekly email notification of top obsolete content.
* Improved security: nonces, sanitization, escaping.
* Better UX: auto-refresh, smooth loading overlay.
* Bugfix: duplicate KPIs after scan resolved.

= 0.1.0 =
* Initial release: basic scan and table.

== Upgrade Notice ==

= 0.2.0 =
Major upgrade with new dashboard, AJAX scan, KPIs and bulk actions. Recommended for all users.
