Description
Simple SEO Noindex Toggle does one job properly: it keeps chosen content out of search engine indexes. No meta descriptions, no schema, no redirects, no dashboard widgets you did not ask for — just precise noindex control with a clean interface.
Most site owners do not need a full SEO suite. They need to stop a thank-you page, a duplicate landing page, or a wall of empty tag archives from showing up in Google. That is exactly what this plugin covers.
Why This Plugin Exists
Every major SEO plugin includes a noindex setting, buried three tabs deep inside a suite of features you may never touch. If indexing control is the only thing you need, installing a hundred-file plugin to get it is a poor trade.
This plugin is deliberately narrow. It adds noindex. It never claims to make anything rank, and it never touches settings outside its own scope. That narrowness is the point — it means you can read the entire codebase in an afternoon, and it means an update is unlikely to change anything you were not expecting.
Core Features
Per-Post Noindex Toggle
A clean “SEO Settings” meta box appears in the post and page editor sidebar, containing:
- A smooth CSS toggle switch
- A live status badge that updates instantly, with no page reload
- A tag preview showing the exact meta tag that will be output
- A Tag Verifier button on published posts
Archive Noindex Controls (new in 1.1.0)
Individual posts are only half the problem. The pages that most often clutter a search index are the ones WordPress generates automatically, and you never wrote a word of them. Under SEO Noindex Settings Archive Pages you can exclude:
- Author archives — on a single-author site, this page is a near-copy of your blog listing
- Date archives — year, month, and day listings that duplicate content already indexed elsewhere
- Category archives — worth excluding when categories are structural rather than editorial
- Tag archives — the usual culprit on sites with dozens of tags applied to two posts each
- Search results — internal search pages, which should never be indexed
- Paginated pages — page 2 and beyond of any archive, while page 1 stays indexed
Every one of these is off by default. Updating the plugin will never deindex a page you had not explicitly chosen to exclude.
Archive pages receive noindex, follow rather than noindex, nofollow. This is intentional: search engines are told not to list the archive itself, but to keep following the links on it through to your individual posts. Blocking those links would waste the internal linking your archives provide.
Built-in Tag Verifier
Most noindex tools ask you to trust that the setting worked. This one proves it.
Clicking “Verify Tag in Source” makes a live server-side request to the post’s public URL and parses the returned HTML with PHP’s DOMDocument, checking whether the robots tag is genuinely present in the page your visitors receive. Results appear inline:
- ✓ Confirmed — the noindex tag is live, with the exact tag shown as found
- ⚠ Not Found — no noindex in the source, most often a caching issue
- ✕ Error — the page could not be fetched, with the reason given
This catches the failure mode that silently costs people months: a caching layer or CDN serving a stale copy of the page without the tag, while the admin screen cheerfully reports everything is fine.
Admin Bar Indicator
A live status badge in the WordPress admin bar shows whether the current post carries a noindex flag. Visible on the frontend while browsing any singular post or page, and inside the post editor. Clicking it opens the editor.
Post List Table Column
A sortable “SEO” column on the Posts and Pages list tables, so you can audit your whole site at a glance instead of opening posts one by one.
Bulk Actions
Two bulk actions on the Posts and Pages list tables — SEO: Add Noindex and SEO: Remove Noindex — with a dismissible notice confirming how many posts were updated.
Quick Edit Support
A “Noindex this post” checkbox inside the Quick Edit row, pre-populated with the post’s current state. Toggle without opening the full editor.
What Gets Output
On a singular post or page with the toggle enabled, this tag is added near the top of <head>:
<meta name="robots" content="noindex, nofollow" />
On an archive page matching an enabled setting, the directive is merged into WordPress core’s own robots tag rather than added separately, producing something along these lines:
<meta name="robots" content="noindex, follow, max-image-preview:large" />
The exact contents vary depending on what else your site adds to the robots tag. Filtering the core tag rather than printing a second one means you never end up with two competing robots tags on the same page.
Technical Highlights
- OOP architecture — singleton classes with an
SSNIT_prefix throughout - No jQuery — 100% vanilla JavaScript using the Fetch API
- DOMDocument parsing — the Tag Verifier uses real HTML parsing, not fragile regex
- Secure — nonce verification and capability checks on every write operation, with output escaped throughout
- Clean uninstall — all options and post meta removed on deletion, multisite included
- Near-zero frontend footprint — no scripts or stylesheets loaded on the public site
Who Is This For?
Site owners, developers, and content teams who want precise indexing control without adopting a full SEO platform. It works standalone, and it works alongside Yoast, Rank Math, or AIOSEO if you already have one installed.
How to Verify the Plugin Is Working
Method 1 — Built-in Tag Verifier (recommended)
- Enable the Noindex toggle on a published post and save.
- Click Verify Tag in Source in the SEO Settings meta box.
- A green ✓ Confirmed result appears, showing the exact tag found in the live page source.
Method 2 — View Page Source
- Visit the published post on the frontend.
- Right-click View Page Source (or press
Ctrl+U/Cmd+U). - Press
Ctrl+Fand search fornoindex. - The robots tag appears near the top of
<head>.
For archive pages, visit the archive itself — an author or tag listing, for example — and search the source the same way.
Method 3 — Google Search Console
- Open URL Inspection in Google Search Console.
- Paste the URL and click Test Live URL.
- Under Page Indexing, Google reports that a noindex tag was detected.
- Under HTTP response Detected meta tags, the robots tag is listed explicitly.
Method 4 — site: Search Operator
After Google recrawls the page, typically within 24 to 72 hours, searching site:yourdomain.com/post-slug returns no result.
Screenshots







Installation
From the WordPress Admin (recommended):
- Go to Plugins Add New.
- Search for Simple SEO Noindex Toggle.
- Click Install Now, then Activate Plugin.
Manual Upload:
- Download the plugin ZIP file.
- Go to Plugins Add New Upload Plugin.
- Select the ZIP file and click Install Now.
- Click Activate Plugin.
Manual FTP:
- Extract the ZIP file.
- Upload the
simple-seo-noindex-toggle/folder to/wp-content/plugins/. - Go to Plugins Installed Plugins and activate.
First-Time Setup:
- Go to SEO Noindex in the admin sidebar.
- Confirm Enable Plugin, Enable for Posts, and Enable for Pages are checked.
- Review the Archive Pages section and enable the archive types you want excluded. All are off by default.
- Click Save Settings.
- Open any Post or Page — the SEO Settings meta box appears in the sidebar.
- Toggle Noindex this page and save.
- Click Verify Tag in Source to confirm the tag is live.
FAQ
-
Can this plugin make a page indexed again?
-
It can stop excluding a page, which is not quite the same thing. Removing the noindex flag means this plugin no longer asks search engines to skip the page — but indexing is still Google’s decision, and other factors on your site may keep the page out. The green “Indexed” badge means “no noindex flag from this plugin,” not a guarantee the page sits in Google’s index. Use URL Inspection in Search Console for a definitive answer.
-
Which archive settings should I turn on?
-
There is no universal answer, but some common patterns hold.
Single-author blogs almost always benefit from noindexing author archives, since that page duplicates the main blog listing. Date archives are rarely useful to anyone and are safe to exclude on most sites. Paginated pages are a reasonable default to enable.
Category and tag archives need more thought. If your categories carry written descriptions and pull in search traffic, leave them indexed. If they exist purely to organise the admin side, exclude them. Check your Search Console performance report before deciding — if an archive is already earning clicks, leave it alone.
-
Why do archive pages get “noindex, follow” instead of “noindex, nofollow”?
-
Because the two directives answer different questions.
noindexsays “do not list this page in results.”nofollowsays “do not follow the links on this page.” On an archive, the links are the whole point — they lead to the posts you do want indexed. Addingnofollowwould tell search engines to stop crawling through to your own content, which is almost never what anyone wants. -
The Tag Verifier shows “Not Found” even though the toggle is enabled.
-
This is nearly always caching. The verifier sends a fresh request with a cache-busting query string and no-cache headers, but some caching plugins and CDNs will still serve a stored copy. Purge your cache and verify again. If it still fails, check the page source manually using Method 2.
-
The Tag Verifier says “Could not fetch page source”.
-
The verifier uses
wp_remote_get(), which asks your server to make an HTTP request back to itself. Some local development environments and locked-down hosts block this. The plugin still works correctly in these cases — only the verifier is unavailable. Use Method 2 to check the source directly. -
Does this conflict with Yoast SEO, Rank Math, or AIOSEO?
-
For archive pages, no. The archive feature filters WordPress core’s robots tag rather than printing its own, so directives merge cleanly.
For individual posts, the per-post toggle writes its own tag into
wp_head. If another SEO plugin also outputs a robots tag for that post, both will appear in the source. Search engines honour the most restrictive instruction, so the result is still correct — it just looks untidy. To keep things clean, use one plugin’s noindex feature per post rather than both. -
Does it support custom post types?
-
Not yet. Posts and Pages are supported. Custom post type support is planned for a future release.
-
Will enabling the archive settings deindex pages that currently rank?
-
It can, which is why every archive option ships turned off and requires you to enable it deliberately. Before switching one on, open Search Console and check whether that archive type is receiving impressions or clicks. If it is, leave it indexed. Noindex is quick to apply and slow to undo — recovering a deindexed page can take weeks.
-
Does the plugin add custom database tables?
-
No. Settings live in
wp_optionsand per-post flags inwp_postmeta, both WordPress core tables. -
What happens to my data if I delete the plugin?
-
The
uninstall.phproutine removes all plugin settings (ssnit_settingsfromwp_options) and all per-post noindex flags (_ssnit_noindexfromwp_postmeta). No orphaned data remains, and the routine is multisite-aware.Worth noting: deleting the plugin removes the noindex tags too, so any page you had excluded becomes eligible for indexing again.
-
Does this work with the block editor?
-
Yes. The meta box renders in the block editor sidebar, and every feature behaves identically in both the block editor and Classic Editor.
-
Does Quick Edit save the noindex setting?
-
Yes. Quick Edit submits through WordPress’s own AJAX handler, and the checkbox is processed via the standard
save_posthook — no custom endpoint involved. -
Can I use this on Multisite?
-
Yes. Each subsite keeps its own independent settings, and the uninstall routine cleans up every subsite.
-
Does the plugin slow down my site?
-
No. Nothing is enqueued on the frontend. Singular pages incur one
get_post_meta()call, and archive pages a single options lookup that WordPress has already cached.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Simple SEO Noindex Toggle” is open source software. The following people have contributed to this plugin.
Contributors“Simple SEO Noindex Toggle” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Simple SEO Noindex Toggle” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.0
- New — Archive noindex controls. Exclude author archives, date archives, category archives, tag archives, internal search results, and paginated pages from search engines. All options are off by default; existing sites see no change until enabled.
- Archive pages use
noindex, followso search engines continue crawling through to individual posts. - Archive directives are merged into WordPress core’s robots tag rather than printed separately, avoiding duplicate robots tags in the page source.
- Settings defaults consolidated into a single source of truth, preventing drift between the settings page and the sanitiser.
- Fixed an internal version constant that was out of sync with the plugin version, which could cause browsers to serve outdated admin styles and scripts after an update.
- Corrected the option and post meta names listed in the FAQ, and the class prefix referenced in the documentation.
- The settings page now appears as its own top-level SEO Noindex item in the admin sidebar instead of sitting under Settings. Existing settings are preserved.
- Documentation substantially expanded, including guidance on which archive types are safe to exclude.
- Confirmed compatibility with WordPress 7.0.2.
1.0.1
- WordPress 7.0 compatibility check-up.
- Screenshots added.
- Fixed some minor issues.
1.0.0
- Initial release.
- Noindex toggle meta box on Posts and Pages with live status badge, tag preview, and smooth CSS toggle switch.
- Built-in Tag Verifier — server-side fetch using PHP DOMDocument HTML parsing for reliable robots meta tag detection; displays the exact tag found in the live page source.
- Admin Bar Indicator — live red/green SEO status badge on the frontend and inside the post editor admin bar.
- Post List Table Column — sortable “SEO” column with green/red colored status badges on Posts and Pages list tables.
- Bulk Actions — “SEO: Add Noindex” and “SEO: Remove Noindex” for Posts and Pages list tables with dismissible result notice.
- Quick Edit Support — Noindex checkbox inside Quick Edit row, auto-populated from current post state via vanilla JavaScript.
- Settings page under Settings Simple SEO Noindex with global enable and per-post-type controls.
- 100% vanilla JavaScript — zero jQuery dependency, uses Fetch API.
- Full uninstall cleanup — removes all options and post meta on plugin deletion.
- WordPress Coding Standards compliant OOP singleton architecture with SSNIT_ prefix throughout.
- Multisite compatible.
