{"id":301894,"date":"2026-05-22T20:36:42","date_gmt":"2026-05-22T20:36:42","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/simple-seo-noindex-toggle\/"},"modified":"2026-06-02T11:57:59","modified_gmt":"2026-06-02T11:57:59","slug":"simple-seo-noindex-toggle","status":"publish","type":"plugin","link":"https:\/\/eu.wordpress.org\/plugins\/simple-seo-noindex-toggle\/","author":21012492,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Simple SEO Noindex Toggle","header_author":"Saidul","header_description":"A lightweight, professional SEO plugin to add noindex meta tags to individual posts and pages \u2014 with a clean admin UI, tag verifier, admin-bar indicator, list-table column, bulk actions, and quick-edit support.","assets_banners_color":"b1b5ba","last_updated":"2026-06-02 11:57:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/sibokul\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":140,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"sibokul","date":"2026-05-22 21:49:18"},"1.0.1":{"tag":"1.0.1","author":"sibokul","date":"2026-06-02 11:57:59"}},"upgrade_notice":{"1.0.0":"<p>Initial release. No upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3544427,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3555599,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3555611,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3557916,"resolution":"1","location":"assets","locale":"","width":1442,"height":852},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3557916,"resolution":"2","location":"assets","locale":"","width":1442,"height":852},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3557916,"resolution":"3","location":"assets","locale":"","width":1442,"height":852},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3557916,"resolution":"4","location":"assets","locale":"","width":1442,"height":852},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3557916,"resolution":"5","location":"assets","locale":"","width":1442,"height":852},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3557916,"resolution":"6","location":"assets","locale":"","width":1442,"height":852},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3557916,"resolution":"7","location":"assets","locale":"","width":1442,"height":852}},"screenshots":{"1":"Main settings page","2":"First appearance after activation the plugin on post editor","3":"Noindex post from quick edit option","4":"Displaying Noindex status on post editor","5":"Bulk actions in post list","6":"Noindex toggle on post editing page","7":"Tag verifier in action","8":"A smooth CSS toggle switch","9":"A live status badge (\"Included in index\" \/ \"Excluded from index\") that updates instantly without a page reload","10":"A tag preview showing the exact meta tag that will be output when noindex is active","11":"A built-in Tag Verifier button (on published posts)","12":"\u2713 <strong>Confirmed<\/strong> \u2014 the noindex tag is live in the page source, showing the exact tag as found","13":"\u26a0 <strong>Not Found<\/strong> \u2014 the tag is missing from source, likely a caching issue","14":"\u2715 <strong>Error<\/strong> \u2014 the page could not be fetched (reason shown)","15":"<strong>\u25cf Noindex<\/strong> (red) \u2014 this page is excluded from search indexes","16":"<strong>\u25cf Indexed<\/strong> (green) \u2014 this page is included in search indexes","17":"<strong>SEO: Add Noindex<\/strong> \u2014 enables noindex on all selected posts in one action","18":"<strong>SEO: Remove Noindex<\/strong> \u2014 clears noindex from all selected posts in one action","19":"Enable Plugin Globally \u2014 master on\/off switch","20":"Enable for Posts \u2014 show meta box on posts","21":"Enable for Pages \u2014 show meta box on pages","22":"<strong>OOP architecture<\/strong> \u2014 clean singleton classes with <code>SSN_<\/code> prefix throughout","23":"<strong>No jQuery<\/strong> \u2014 100% vanilla JavaScript with the Fetch API","24":"<strong>DOMDocument parsing<\/strong> \u2014 Tag Verifier uses proper HTML parsing, not fragile regex","25":"<strong>Secure<\/strong> \u2014 nonce verification, <code>sanitize_text_field()<\/code>, <code>esc_attr()<\/code>, <code>esc_html()<\/code>, <code>current_user_can()<\/code> on every save operation","26":"<strong>Clean uninstall<\/strong> \u2014 all options and post meta removed on plugin deletion","27":"<strong>Multisite compatible<\/strong> \u2014 uninstall routine handles all subsites","28":"<strong>Zero frontend footprint<\/strong> \u2014 no scripts or stylesheets loaded on the public-facing site"}},"plugin_section":[],"plugin_tags":[683,6364,6499,4195,186],"plugin_category":[55],"plugin_contributors":[264051],"plugin_business_model":[],"class_list":["post-301894","plugin","type-plugin","status-publish","hentry","plugin_tags-meta","plugin_tags-noindex","plugin_tags-robots","plugin_tags-search-engine","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-sibokul","plugin_committers-sibokul"],"banners":{"banner":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/banner-772x250.png?rev=3555611","banner_2x":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/banner-1544x500.png?rev=3555599","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/icon-256x256.png?rev=3544427","icon_2x":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/icon-256x256.png?rev=3544427","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/screenshot-1.png?rev=3557916","caption":"Main settings page"},{"src":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/screenshot-2.png?rev=3557916","caption":"First appearance after activation the plugin on post editor"},{"src":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/screenshot-3.png?rev=3557916","caption":"Noindex post from quick edit option"},{"src":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/screenshot-4.png?rev=3557916","caption":"Displaying Noindex status on post editor"},{"src":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/screenshot-5.png?rev=3557916","caption":"Bulk actions in post list"},{"src":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/screenshot-6.png?rev=3557916","caption":"Noindex toggle on post editing page"},{"src":"https:\/\/ps.w.org\/simple-seo-noindex-toggle\/assets\/screenshot-7.png?rev=3557916","caption":"Tag verifier in action"}],"raw_content":"<!--section=description-->\n<p><strong>Simple SEO Noindex Toggle<\/strong> gives you precise, per-content control over which posts and pages are indexed by search engines \u2014 without the overhead of a full SEO plugin suite.<\/p>\n\n<p>In one click, you can exclude any post or page from search engine indexes using the standard <code>&lt;meta name=\"robots\" content=\"noindex, nofollow\"&gt;<\/code> tag. Every feature is built around a clean admin UI, WordPress coding standards, and zero unnecessary dependencies.<\/p>\n\n<h3>How to Verify the Plugin Is Working<\/h3>\n\n<p>There are three ways to confirm the noindex tag is active on the frontend:<\/p>\n\n<p><strong>Method 1 \u2014 Built-in Tag Verifier (recommended)<\/strong><\/p>\n\n<ol>\n<li>Enable the Noindex toggle on a published post and save.<\/li>\n<li>In the editor, click <strong>Verify Tag in Source<\/strong> in the SEO Settings meta box.<\/li>\n<li>A green \u2713 Confirmed result appears, showing the exact tag found in the live page source.<\/li>\n<\/ol>\n\n<p><strong>Method 2 \u2014 View Page Source<\/strong><\/p>\n\n<ol>\n<li>Visit the published post on the frontend.<\/li>\n<li>Right-click \u2192 <strong>View Page Source<\/strong> (or press <code>Ctrl+U<\/code> \/ <code>Cmd+U<\/code>).<\/li>\n<li>Press <code>Ctrl+F<\/code> and search for <code>noindex<\/code>.<\/li>\n<li>The tag <code>&lt;meta name=\"robots\" content=\"noindex, nofollow\" \/&gt;<\/code> appears near the top of <code>&lt;head&gt;<\/code>.<\/li>\n<\/ol>\n\n<p><strong>Method 3 \u2014 Google Search Console<\/strong><\/p>\n\n<ol>\n<li>Open <strong>URL Inspection<\/strong> in Google Search Console.<\/li>\n<li>Paste the post URL and click <strong>Test Live URL<\/strong>.<\/li>\n<li>Under <strong>Page Indexing<\/strong>, Google reports: <em>\"Page is not indexed \u2014 noindex tag detected\"<\/em>.<\/li>\n<li>Under <strong>HTTP response \u2192 Detected meta tags<\/strong>, the robots tag is listed explicitly.<\/li>\n<\/ol>\n\n<p><strong>Method 4 \u2014 site: Search Operator<\/strong><\/p>\n\n<p>After Google recrawls the page (typically 24\u201372 hours), searching <code>site:yourdomain.com\/post-slug<\/code> on Google returns no results, confirming the page has been de-indexed.<\/p>\n\n<!--section=installation-->\n<p><strong>From the WordPress Admin (recommended):<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for <strong>Simple SEO Noindex Toggle<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate Plugin<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Manual Upload:<\/strong><\/p>\n\n<ol>\n<li>Download the <code>simple-seo-noindex.zip<\/code> file.<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Select the ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Click <strong>Activate Plugin<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Manual FTP:<\/strong><\/p>\n\n<ol>\n<li>Extract <code>simple-seo-noindex.zip<\/code>.<\/li>\n<li>Upload the <code>simple-seo-noindex\/<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Go to <strong>Plugins \u2192 Installed Plugins<\/strong> and activate.<\/li>\n<\/ol>\n\n<p><strong>First-Time Setup:<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>Settings \u2192 Simple SEO Noindex<\/strong>.<\/li>\n<li>Confirm <strong>Enable Plugin<\/strong>, <strong>Enable for Posts<\/strong>, and <strong>Enable for Pages<\/strong> are all checked.<\/li>\n<li>Click <strong>Save Settings<\/strong>.<\/li>\n<li>Open any Post or Page in the editor \u2014 the <strong>SEO Settings<\/strong> meta box appears in the right sidebar.<\/li>\n<li>Toggle <strong>Noindex this page<\/strong> and save\/publish the post.<\/li>\n<li>Click <strong>Verify Tag in Source<\/strong> to confirm the tag is live in the page source.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"the%20tag%20verifier%20shows%20%22not%20found%22%20even%20though%20the%20toggle%20is%20enabled.\"><h3>The Tag Verifier shows \"Not Found\" even though the toggle is enabled.<\/h3><\/dt>\n<dd><p>This is almost always a caching issue. The verifier sends a fresh request with a cache-busting query string and <code>no-cache<\/code> headers, but some caching plugins or CDNs may still serve a stale response. Purge your cache and click Verify again. You can also use Method 2 (View Page Source) to double-check directly.<\/p><\/dd>\n<dt id=\"the%20tag%20verifier%20says%20%22could%20not%20fetch%20page%20source%22.\"><h3>The Tag Verifier says \"Could not fetch page source\".<\/h3><\/dt>\n<dd><p>WordPress uses <code>wp_remote_get()<\/code> which makes an outbound HTTP request from the server back to the post URL. On some localhost or restricted hosting environments, the server cannot reach itself. Use Method 2 (View Page Source) in these cases. The verifier works correctly on standard live and staging servers.<\/p><\/dd>\n<dt id=\"does%20this%20conflict%20with%20yoast%20seo%2C%20rank%20math%2C%20or%20aioseo%3F\"><h3>Does this conflict with Yoast SEO, Rank Math, or AIOSEO?<\/h3><\/dt>\n<dd><p>It outputs a robots meta tag directly into <code>wp_head<\/code> at priority 1. If another SEO plugin also outputs its own robots tag on the same post, both tags will appear in <code>&lt;head&gt;<\/code>. Search engines honour the most restrictive instruction, so having both is functionally harmless. To avoid duplication, use only one tool's noindex feature per post.<\/p><\/dd>\n<dt id=\"does%20it%20support%20custom%20post%20types%3F\"><h3>Does it support custom post types?<\/h3><\/dt>\n<dd><p>Version 1.0.0 supports Posts and Pages. Custom post type support is planned for a future release.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20add%20any%20custom%20database%20tables%3F\"><h3>Does the plugin add any custom database tables?<\/h3><\/dt>\n<dd><p>No. It uses WordPress core's <code>wp_options<\/code> table for plugin settings and <code>wp_postmeta<\/code> for per-post noindex flags. No custom tables are created.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>The <code>uninstall.php<\/code> routine removes all plugin settings (<code>ssn_settings<\/code> from <code>wp_options<\/code>) and all per-post noindex flags (<code>_ssn_noindex<\/code> from <code>wp_postmeta<\/code>). No orphaned data remains. The routine is multisite-aware and cleans up all subsites.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20the%20gutenberg%20block%20editor%3F\"><h3>Does this work with the Gutenberg block editor?<\/h3><\/dt>\n<dd><p>Yes. The meta box renders correctly in the block editor sidebar panel. All features \u2014 toggle, status badge, tag preview \u2014 function identically in both the block editor and Classic Editor.<\/p><\/dd>\n<dt id=\"does%20the%20quick%20edit%20update%20noindex%20without%20a%20full%20page%20reload%3F\"><h3>Does the Quick Edit update noindex without a full page reload?<\/h3><\/dt>\n<dd><p>Yes. WordPress Quick Edit submits via its own AJAX handler. The Noindex checkbox is included in that submission and processed via the standard <code>save_post<\/code> hook \u2014 no additional AJAX or custom endpoint required.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20on%20a%20wordpress%20multisite%20installation%3F\"><h3>Can I use this on a WordPress Multisite installation?<\/h3><\/dt>\n<dd><p>Yes. Each subsite stores its own independent settings. The uninstall routine loops all subsites and removes all data cleanly.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20add%20any%20load%20to%20the%20frontend%3F\"><h3>Does this plugin add any load to the frontend?<\/h3><\/dt>\n<dd><p>No. The plugin loads no scripts or stylesheets on the frontend. The only frontend action is a single <code>get_post_meta()<\/code> call inside <code>wp_head<\/code> on singular pages \u2014 negligible performance impact.<\/p><\/dd>\n<dt id=\"will%20the%20plugin%20work%20if%20i%20have%20another%20seo%20plugin%20installed%3F\"><h3>Will the plugin work if I have another SEO plugin installed?<\/h3><\/dt>\n<dd><p>Yes. Simple SEO Noindex Toggle operates independently and does not interfere with other SEO plugins.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>WordPress 7.0 compatibility check-up.<\/li>\n<li>Screenshots added.<\/li>\n<li>Fixed some minor issues.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Noindex toggle meta box on Posts and Pages with live status badge, tag preview, and smooth CSS toggle switch.<\/li>\n<li>Built-in Tag Verifier \u2014 server-side fetch using PHP DOMDocument HTML parsing for reliable robots meta tag detection; displays the exact tag found in the live page source.<\/li>\n<li>Admin Bar Indicator \u2014 live red\/green SEO status badge on the frontend and inside the post editor admin bar.<\/li>\n<li>Post List Table Column \u2014 sortable \"SEO\" column with green\/red colored status badges on Posts and Pages list tables.<\/li>\n<li>Bulk Actions \u2014 \"SEO: Add Noindex\" and \"SEO: Remove Noindex\" for Posts and Pages list tables with dismissible result notice.<\/li>\n<li>Quick Edit Support \u2014 Noindex checkbox inside Quick Edit row, auto-populated from current post state via vanilla JavaScript.<\/li>\n<li>Settings page under Settings \u2192 Simple SEO Noindex with global enable and per-post-type controls.<\/li>\n<li>100% vanilla JavaScript \u2014 zero jQuery dependency, uses Fetch API.<\/li>\n<li>Full uninstall cleanup \u2014 removes all options and post meta on plugin deletion.<\/li>\n<li>WordPress Coding Standards compliant OOP singleton architecture with SSN_ prefix throughout.<\/li>\n<li>Multisite compatible.<\/li>\n<\/ul>","raw_excerpt":"A lightweight, professional SEO plugin \u2014 add a noindex robots tag to any post or page with a quick-edit support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/301894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=301894"}],"author":[{"embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sibokul"}],"wp:attachment":[{"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=301894"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=301894"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=301894"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=301894"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=301894"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/eu.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=301894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}