=== ScanMyPosts – Post Scanner, Shortcode Finder & Content Auditor ===
Contributors: muntaseerrahman
Tags: content scanner, shortcode finder, broken shortcodes, content audit, post scanner
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.6
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Scan your WordPress content with 7 powerful tools. Find text, shortcodes, broken shortcodes, empty posts, external links, images, and HTML tags.

== Description ==

**ScanMyPosts** is a content audit toolkit for WordPress. It gives you 7 powerful scanners to analyze, audit, and clean up your content — all from a single dashboard.

Whether you're migrating a site, cleaning up after deactivating plugins, or auditing content for SEO, ScanMyPosts helps you find exactly what you're looking for.

= 7 Scanners Included =

1. **Text Search** — Search for specific words or phrases across all your posts, pages, and custom post types. Perfect for finding outdated brand names, old URLs, or specific content.

2. **Shortcode Finder** — Catalog every shortcode used across your site, grouped by shortcode name. See which posts use which shortcodes at a glance.

3. **Broken Shortcode Detector** — Find shortcodes in your content that no longer have a registered handler. These are often left behind after deactivating a plugin and render as ugly [shortcode] text on your site.

4. **Empty Post Finder** — Locate posts with no content or very little content. Set a custom minimum character threshold to find stub posts, abandoned drafts, and placeholder content.

5. **External Link Scanner** — Discover all outbound links in your content, grouped by domain. Great for link audits, affiliate link management, and checking what external sites you're linking to.

6. **Image Scanner** — Find posts based on their image status: missing featured images, no content images, or get a full image inventory. Essential for SEO and social sharing optimization.

7. **HTML Tag Finder** — Search for specific HTML tags like iframes, embeds, scripts, videos, audio, tables, forms, or any custom tag. Perfect for finding embedded content and cleaning up legacy HTML.

= Key Features =

* **Dashboard overview** with scan history and result counts
* **Post type selector** — scan any combination of posts, pages, and custom post types
* **Fast AJAX scanning** — results load without page refresh
* **Clean, native WordPress UI** — feels right at home in your admin
* **Lightweight** — no bloat, no external API calls, no tracking

= Pro Features =

Upgrade to ScanMyPosts Pro for unlimited results, CSV export, scheduled scans, email reports, bulk actions, and more. [Learn more](https://muntaseerrahman.com/plugins/scan-my-posts).

== Installation ==

1. Upload the `scan-my-posts` folder to `/wp-content/plugins/`
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Navigate to **ScanMyPosts** in the admin sidebar
4. Select a scanner from the submenu and click **Scan Now**

== Frequently Asked Questions ==

= Does ScanMyPosts work with custom post types? =

Yes! ScanMyPosts automatically detects all public, UI-visible post types on your site, including WooCommerce products, portfolio items, and any other custom post type.

= Will this slow down my site? =

No. ScanMyPosts only runs when you click "Scan Now" in the admin. It does not add any code to your frontend, does not run cron jobs, and does not affect page load speed.

= What does "broken shortcode" mean? =

A broken shortcode is a [shortcode] in your content that has no registered handler. This usually happens when you deactivate a plugin that provided the shortcode. Instead of rendering the intended content, it shows the raw [shortcode] text to visitors.

= Is there a limit on the number of posts scanned? =

The free version scans all posts but displays the first 20 results per scan. Upgrade to Pro for unlimited results.

= Does ScanMyPosts phone home or make external API calls? =

No. ScanMyPosts runs entirely on your server. There are no external API calls, no tracking, and no data sent anywhere.

== Screenshots ==

1. Dashboard with scanner overview cards
2. Text Search scanner with results
3. Shortcode Finder grouped by shortcode name
4. Broken Shortcode Detector
5. External Link Scanner grouped by domain
6. Pro upsell with blurred results

== Changelog ==

= 1.0.0 =
* Initial release
* 7 scanners: Text Search, Shortcode Finder, Broken Shortcodes, Empty Posts, External Links, Image Scanner, HTML Tag Finder
* Dashboard with scan history
* Pro upsell scaffolding
* Feedback form

== Upgrade Notice ==

= 1.0.0 =
Initial release of ScanMyPosts — your WordPress content audit toolkit.
