=== Postlint Content Audit ===
Contributors: muhzuhayb
Tags: content audit, featured image, excerpt, alt text, duplicate titles
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Finds posts missing featured images, excerpts, tags, categories or alt text, plus thin content and duplicate titles, with one-click fixes.

== Description ==

Postlint Content Audit scans your published posts and pages and shows you exactly what is missing, in one report, then lets you fix most of it with one click.

**The checks**

* **Missing featured image**: the classic social-share and layout breaker.
* **Missing excerpt**: empty excerpts leak full paragraphs into archives and feeds.
* **Missing tags** and **missing categories**: untagged, unsorted content is hard to resurface.
* **Images without alt text**: counted per post from the content HTML.
* **Thin content**: posts under a word threshold you choose (off by default).
* **Duplicate titles**: grouped case- and spacing-insensitively, in one pass.

**The quick fixes (all included)**

* **Apply default featured image**: choose one image from the media library once, then set it on any audited post with a single click.
* **Generate excerpt**: the first 55 words of the content, stripped of shortcodes and HTML, applied per post.
* Deep links into the editor for everything else.

**Built to be safe on large sites**

* Scanning runs in batches (default 100 posts per step) with a continue button: no timeouts, no wall-clock surprises.
* The duplicate-title check is a single pass over hashed titles, not a slow pairwise compare.
* The report stores the latest scan; re-scan any time, or enable a weekly automatic re-scan.
* Fixes are per-post, capability-checked and nonce-protected. No mass actions, no surprises.

**Everything is included.** There is no locked functionality, no trial, no quota and no upgrade prompts in this plugin.

== Installation ==

1. In your WordPress admin go to Plugins, Add New and search for "Postlint Content Audit", or upload the plugin zip.
2. Activate.
3. Open Tools, Content Audit and press "Start new scan".

== Frequently Asked Questions ==

= Does it modify anything during a scan? =
No. A scan only reads content and records the findings. The only writes are the quick fixes you click.

= Which post types are scanned? =
Posts and pages by default; any public post type can be enabled in settings.

= How does the alt-text check work? =
It reads the img tags in each post's content and counts the ones with a missing, empty or whitespace-only alt attribute. It is a source-level check, so it does not depend on themes or page builders rendering the page.

= Does a scan slow down my site? =
Scans run in batches from the admin screen (or via the weekly schedule you opt into), never on visitor pages.

= Can it fix everything for me automatically? =
No, and that is deliberate. It shows you the exact list and gives you one-click fixes for the two most mechanical jobs (default featured image, excerpt from content). Editorial judgment stays yours.

== Screenshots ==

1. The audit report: how many posts fail each check, with a filter link per check.
2. One click quick fix: the excerpt is written, the notice names the post, and the list updates at once.
3. Settings: post types, checks, thresholds, default featured image and the weekly scan.

== Changelog ==

= 1.0.0 =
* First release: seven checks, batch scanning, weekly opt-in re-scan, two quick fixes.
