Smart Tags for WordPress
Manage WordPress tags manually or with Claude API suggestions — always with manual approval.
Smart Tags for WordPress sends your post tags to the Claude API (Anthropic) in batches and asks it to spot near-duplicates, semantic overlaps, and low-usage tags that could be merged into a broader existing tag. Nothing is changed automatically: every suggestion is queued for review and only applied when you approve it. Alongside the AI analysis, a 'Manage Tags' tab covers manual, non-AI tag housekeeping: usage statistics, search, merge, and delete.
Key features
- ●Batch analysis of all tags via the Claude API, with a live processing log, progress tracking, and a stop button.
- ●Merge suggestions grouped by type: near-duplicates, semantic overlaps, low-usage tags.
- ●Per-suggestion Approve/Reject/Restore, plus multi-select bulk actions on each suggestions table.
- ●Rejected suggestions are kept, not discarded, and can be restored to pending at any time.
- ●A 'Manage Tags' tab for non-AI housekeeping: usage histogram, searchable/sortable/paginated tag table, individual or bulk deletion, and a manual merge tool.
- ●Unused tag detection (0 posts) with bulk delete and a tool to recount drifted tag counts.
- ●Configurable AI model, batch size, and response language for Claude's suggestion text.
- ●Git Updater compatible for updates straight from GitHub.
You can install this plugin manually over SSH — connect to your server and run these commands inside your wp-content/plugins directory:
Alternatively, download the ZIP above and upload it from Plugins → Add New → Upload Plugin in your WordPress dashboard, or via FTP/SFTP.
- Fixed the "All tags" table staying empty after an Ajax action (bulk delete, or lock/hide with "Hide locked tags" on) removed every row on the current page: pagination and item counts went stale until a manual refresh or page change. Added
reloadIfTableEmpty()inassets/admin.js, which auto-reloads the page once nowpto-tag-row-*row is left after a delete or lock-triggered hide. - WordPress.org Plugin Check cleanup ahead of the directory submission: bumped
readme.txt's "Tested up to" to 7.1, dropped theDomain Pathheader (no/languagesfolder ships, and translations load automatically for WP.org-hosted plugins), tightened the nonce-verificationphpcs:disableinclass-wpto-admin-page.php's bulk-action dispatch to also cover the.Recommendedsniff, fixed a mismatchedphpcs:ignoresniff code inuninstall.php, and added aphpcs:disable/enablearound the intentionalmeta_queryusage inclass-wpto-tag-stats-table.php::prepare_items(). - Added the WordPress.org-required third-party-service disclosure ahead of directory submission: a "Third-party service" paragraph in
readme.txt's Description explaining what's sent to the Anthropic Claude API, when, and linking to Anthropic's Privacy Policy and Terms of Service, plus a matching<p class="description">note next to the Anthropic API Key field inclass-wpto-settings.php's Settings page. - Corrected stale "included Italian translation" claims in
readme.txt(feature list),README.md, andREADME.it.md— no.mo/.pofiles ship with the plugin anymore since 0.22.0; WordPress.org requires directory-submitted plugins to be translated via translate.wordpress.org instead of bundling translation files.
For the full version history, see CHANGELOG.md.
Other plugins
A widget that displays your latest Disqus comments, powered by the Disqus API.
Export, review and delete WordPress users by email — including duplicate detection.
An independent, modernized fork of Lightweight Social Icons with Discord, WhatsApp, TikTok, Threads and Bluesky.