[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQ0BxlBrF53QC-sn-x0OoaQhaOkRakL--39M837f5qaY":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":35,"analysis":134,"fingerprints":176},"noindex-pages","Noindex Pages","1.0.1","radgh","https:\u002F\u002Fprofiles.wordpress.org\u002Fradgh\u002F","\u003Cp>This simple and lightweight plugin adds a “Hide from search engines” checkbox above the publish box to pages. By\u003Cbr \u002F>\nticking this box, a meta tag will be placed into the \u003Ccode>\u003Chead>\u003C\u002Fcode> section of your page specifying that robots should\u003Cbr \u002F>\nnot index the page.\u003C\u002Fp>\n\u003Cp>By default this only applies to pages. You may extend this functionality to posts or other custom post types with a small bit of code. See the FAQ’s tab for further instructions.\u003C\u002Fp>\n","Ask search engines not to index individual pages by checking an option in the publish post box.",2000,19891,90,6,"2016-02-03T18:38:00.000Z","4.4.34","3.2","",[20,21,22],"noindex","pages","robots","http:\u002F\u002Fradgh.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnoindex-pages.1.0.1.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,84,"2026-04-04T09:12:36.004Z",[36,53,75,93,110],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":26,"num_ratings":26,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":18,"tags":49,"homepage":18,"download_link":50,"security_score":51,"vuln_count":31,"unpatched_count":31,"last_vuln_date":52,"fetched_at":28},"noindex-by-path","Noindex by Path","1.0","Marcin Kijak","https:\u002F\u002Fprofiles.wordpress.org\u002Fmkijak\u002F","\u003Cp>After installation you can find “Noindex by path” option in the main menu. This allows you to simply add relative paths\u003Cbr \u002F>\nyou need to exclude from SERPs. Add a path (including slashes from begging and the end of the string) and save the\u003Cbr \u002F>\nchanges. Since this plugin is called to be “simple” you can add only one path at once, but the process is smooth\u003Cbr \u002F>\nand easy.\u003C\u002Fp>\n\u003Cp>Plugin will add “noindex” meta tag which is an instruction for search engines that this particular page should not be indexed.\u003Cbr \u002F>\nTechnically it modifies wp_head tag.\u003C\u002Fp>\n","Ask search engines not to index individual pages by a relative path - which means you can set every url no matter it is a page, category listing or an &hellip;",50,1761,"2017-05-31T07:04:00.000Z","4.7.32","4.0",[20,21,22],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnoindex-by-path.zip",63,"2025-12-31 00:00:00",{"slug":54,"name":55,"version":56,"author":57,"author_profile":58,"description":59,"short_description":60,"active_installs":61,"downloaded":62,"rating":63,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":73,"download_link":74,"security_score":63,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"noindex-seo","noindex SEO","2.0.0","Javier Casares","https:\u002F\u002Fprofiles.wordpress.org\u002Fjaviercasares\u002F","\u003Cp>Fine-grained control over how search engines index and display your WordPress content. Apply 5 independent robots directives to 25 different page contexts with flexible implementation methods.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>5 Robots Directives:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>noindex\u003C\u002Fstrong>: Prevent search engines from indexing the page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>nofollow\u003C\u002Fstrong>: Prevent search engines from following links on the page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>noarchive\u003C\u002Fstrong>: Prevent search engines from showing cached versions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>nosnippet\u003C\u002Fstrong>: Prevent search engines from showing text snippets in results\u003C\u002Fli>\n\u003Cli>\u003Cstrong>noimageindex\u003C\u002Fstrong>: Prevent search engines from indexing images on the page\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Implementation Methods:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HTML Meta Tags: Traditional method, easy to verify in page source (default)\u003C\u002Fli>\n\u003Cli>HTTP Headers: More robust, works with all content types including PDFs and images\u003C\u002Fli>\n\u003Cli>Both: Maximum compatibility for all scenarios\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Control Levels:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Global Settings: Apply directives to 25 different page contexts (posts, pages, archives, etc.)\u003C\u002Fli>\n\u003Cli>Granular Control (Optional): Override global settings for individual posts, pages, and custom post types via meta boxes in the editor\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Perfect for:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Blocking indexing of attachment pages while allowing link following\u003C\u002Fli>\n\u003Cli>Preventing duplicate content issues with flexible directive combinations\u003C\u002Fli>\n\u003Cli>Controlling archive page indexing with granular control\u003C\u002Fli>\n\u003Cli>Managing pagination SEO with independent settings\u003C\u002Fli>\n\u003Cli>Protecting private content from search engine caching\u003C\u002Fli>\n\u003Cli>Preventing snippet display while still indexing content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Main pages\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Front Page: Block the indexing of the site’s front page.\u003C\u002Fli>\n\u003Cli>Home: Block the indexing of the site’s home page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Pages and Posts\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Page: Block the indexing of the site’s pages.\u003C\u002Fli>\n\u003Cli>Privacy Policy: Block the indexing of the site’s privacy policy page.\u003C\u002Fli>\n\u003Cli>Single: Block the indexing of a post on the site.\u003C\u002Fli>\n\u003Cli>Singular: Block the indexing of a post or a page of the site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Taxonomies\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Category: Block the indexing of the site categories. The lists where the posts appear.\u003C\u002Fli>\n\u003Cli>Tag: Block the indexing of the site’s tags. The lists where the posts appear.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Dates\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Date: Block the indexing when any date-based archive page (i.e. a monthly, yearly, daily or time-based archive) of the site. The lists where the posts appear.\u003C\u002Fli>\n\u003Cli>Day: Block the indexing when a daily archive of the site. The lists where the posts appear.\u003C\u002Fli>\n\u003Cli>Month: Block the indexing when a monthly archive of the site. The lists where the posts appear.\u003C\u002Fli>\n\u003Cli>Time: Block the indexing when an hourly, “minutely”, or “secondly” archive of the site. The lists where the posts appear.\u003C\u002Fli>\n\u003Cli>Year: Block the indexing when a yearly archive of the site. The lists where the posts appear.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Archives\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Archive: Block the indexing of any type of Archive page. Category, Tag, Author and Date based pages are all types of Archives. The lists where the posts appear.\u003C\u002Fli>\n\u003Cli>Author: Block the indexing of the author’s page, where the author’s publications appear.\u003C\u002Fli>\n\u003Cli>Post Type Archive: Block the indexing of any post type page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Pagination\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Pagination: Block the indexing of the pagination, i.e. all pages other than the main page of an archive.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Search\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Search: Block the indexing of the internal search result pages.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Attachments\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Attachment: Block the indexing of an attachment document to a post or page. An attachment is an image or other file uploaded through the post editor’s upload utility. Attachments can be displayed on their own “page” or template. This will not cause the indexing of the image or file to be blocked.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Previews\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customize Preview: Block the indexing when a content is being displayed in customize mode.\u003C\u002Fli>\n\u003Cli>Preview: Block the indexing when a single post is being displayed in draft mode.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Error Page\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Error 404: This will cause an error page to be blocked from being indexed. As it is an error page, it should not be indexed per se, but just in case.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Important note: if you have any doubt about any of the following items it is best not to activate the option as you could lose results in the search engines.\u003C\u002Fp>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress: 6.6 – 6.9\u003C\u002Fli>\n\u003Cli>PHP: 7.2 – 8.5\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Security\u003C\u002Fh3>\n\u003Cp>This plugin adheres to the following security measures and review protocols for each version:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fplugins\u002F\" rel=\"nofollow ugc\">WordPress Plugin Handbook\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fplugins\u002Fwordpress-org\u002Fplugin-security\u002F\" rel=\"nofollow ugc\">WordPress Plugin Security\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.org\u002Fapis\u002Fsecurity\u002F\" rel=\"nofollow ugc\">WordPress APIs Security\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FWordPress\u002FWordPress-Coding-Standards\" rel=\"nofollow ugc\">WordPress Coding Standards\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fplugin-check\u002F\" rel=\"ugc\">Plugin Check (PCP)\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>This plugin does not collect any information about your site, your identity, the plugins, themes or content the site has.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Vulnerabilities\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>No vulnerabilities have been published up to version 2.0.0.\u003C\u002Fli>\n\u003Cli>Version 2.0.0 includes proactive security hardening based on comprehensive security audit (see docs\u002FSECURITY-2026-01-20.md).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Found a security vulnerability? Please report it to us privately at the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjaviercasares\u002Fnoindex-seo\u002Fsecurity\u002Fadvisories\u002Fnew\" rel=\"nofollow ugc\">noindex SEO GitHub repository\u003C\u002Fa>.\u003C\u002Fp>\n","Control search engine indexing with robots directives using HTML meta tags or HTTP headers.",3000,45718,100,2,"2026-01-20T14:42:00.000Z","6.9.4","6.6","7.2",[70,71,20,22,72],"noarchive","nofollow","seo","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fnoindex-seo\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnoindex-seo.2.0.0.zip",{"slug":76,"name":77,"version":39,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":82,"downloaded":83,"rating":63,"num_ratings":31,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":18,"tags":87,"homepage":91,"download_link":92,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"noindex-attachment-pages","Noindex Attachment Pages","jruizcantero","https:\u002F\u002Fprofiles.wordpress.org\u002Fjruizcantero\u002F","\u003Cp>This plugin add the \u003Cstrong>tag META NOINDEX to attachment pages in WordPress\u003C\u002Fstrong>. When it’s inserted some image, or any other multimedia file, into a post\u002Fpage it can be linked to Attachment Page using \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Hierarchy\" rel=\"nofollow ugc\">WordPress Theme Hierarchy\u003C\u002Fa> (attachment.php, image.php …$mimetype.php, etc.) and this plugin will be able to doesn´t index Attachment Pages for improve SEO (Search Engine Optimization).\u003Cbr \u002F>\nThe plugin “WordPress SEO by Yoast” and some others plugins let you redirect Attatchment Pages to either post\u002Fpage, but some times it’s need use Attachment Pages without redirect and without index it inside search engines. (You can find \u003Ca href=\"http:\u002F\u002Fwww.ampercent.com\u002Fprevent-indexing-wordpress-image-attachment-pages\u002F9082\u002F\" rel=\"nofollow ugc\">more info about it here\u003C\u002Fa> )\u003C\u002Fp>\n\u003Cp>So, the plugin “Noindex Attachment Pages” add next tag into HTML head for Attachment Pages;\n    \u003C\u002Fp>\n\u003Cp>Any suggestions? You can write me or follow me on \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002Fjruizcantero\" rel=\"nofollow ugc\">Twitter @jruizcantero\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Descripción en Español\u003C\u002Fh4>\n\u003Cp>Este plugin añade la \u003Cstrong>etiqueta META NOINDEX a las páginas de adjuntos en WordPress\u003C\u002Fstrong>. Cuándo se inserta alguna imagen, o cualquier otro archivo multimedia, en un post\u002Fpágna se puede vincular a la página de adjuntos que proporciona WordPress utilizando la \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FTemplate_Hierarchy\" rel=\"nofollow ugc\">jerarquía de archivos del Theme activo\u003C\u002Fa> (attachment.php, image.php …$mimetype.php, etc.) y con este plugin puedes evitar que sean indexadas para mejorar el SEO (Search Engine Optimization).\u003Cbr \u002F>\nEl plugin de WordPress SEO by Yoast y algunos otros plugins permiten redireccionar las páginas de adjuntos al artículo o página correspondiente, pero en determinadas ocasiones puede que se desee utilizar las páginas de adjuntos sin que se redireccionen y sin que se indexen en los buscadores. (Puedes encontrar \u003Ca href=\"http:\u002F\u002Fwww.ampercent.com\u002Fprevent-indexing-wordpress-image-attachment-pages\u002F9082\u002F\" rel=\"nofollow ugc\">más información sobre esto aquí\u003C\u002Fa> )\u003C\u002Fp>\n\u003Cp>Así que con el plugin Noindex Attachment Pages se añade concretamente la siguiente etiqueta en la cabecera HTML de cualquier página de adjuntos o página de archivos multimedia;\n    \u003C\u002Fp>\n\u003Cp>Este plugin no tiene panel de opciones, simplemente actívalo.\u003C\u002Fp>\n\u003Cp>Alguna sugerencia? Puedes esccribirme o seguirme en \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002Fjruizcantero\" rel=\"nofollow ugc\">Twitter @jruizcantero\u003C\u002Fa>.\u003C\u002Fp>\n","Add META ROBOTS NOINDEX to Attachment Pages in WordPress for better SEO",700,8563,"2013-12-30T10:55:00.000Z","3.7.41","3.0.1",[88,89,90,22,72],"attachment-pages","google","meta","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Fnoindex-attachment-pages\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnoindex-attachment-pages.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":26,"downloaded":101,"rating":26,"num_ratings":26,"last_updated":102,"tested_up_to":103,"requires_at_least":104,"requires_php":105,"tags":106,"homepage":18,"download_link":109,"security_score":63,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"ai-only-pages","AI-Only Pages","1.3.3","tommyoz12","https:\u002F\u002Fprofiles.wordpress.org\u002Ftommyoz12\u002F","\u003Cp>AI-Only Pages gives you granular control over which search engine bots can index each page on your WordPress site — while simultaneously making those pages more discoverable and useful for AI crawlers like ChatGPT, Claude, and Perplexity.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The core idea:\u003C\u002Fstrong> you have content that is perfect for AI training pipelines and retrieval-augmented generation (RAG) systems, but you do not want that content competing for rankings in Google, Bing, or Yahoo.\u003C\u002Fp>\n\u003Cp>AI-Only Pages lets you mark those pages as AI-only: they disappear from traditional search engine indexes while becoming first-class citizens in the AI ecosystem.\u003C\u002Fp>\n\u003Ch4>What it does\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Per-bot noindex\u003C\u002Fstrong> — Block individual bots (Googlebot, Bingbot, Yandexbot, etc.) with a checkbox per bot per page. Checking one bot blocks it; the others still index normally.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Block All” master toggle\u003C\u002Fstrong> — One click blocks all 10 supported search engine bots simultaneously.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>\u003Cmeta>\u003C\u002Fcode> tags and HTTP headers\u003C\u002Fstrong> — Both \u003Ccode>\u003Cmeta name=\"googlebot\" content=\"noindex, nofollow\">\u003C\u002Fcode> HTML meta tags and \u003Ccode>X-Robots-Tag\u003C\u002Fcode> HTTP headers are emitted, covering all crawling contexts. Works correctly on all public post types including Pages and custom post types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO plugin integration\u003C\u002Fstrong> — Suppresses Yoast SEO, WP Core, and RankMath’s global \u003Ccode>\u003Cmeta name=\"robots\">\u003C\u002Fcode> tag on AI-only pages so there is no conflict between the global tag and your per-bot tags.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sitemap exclusion\u003C\u002Fstrong> — AI-Only pages are automatically removed from all XML sitemaps (Yoast SEO and WP Core sitemaps are both supported).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>\u002Fllms-index.txt\u003C\u002Fcode>\u003C\u002Fstrong> — A plain-text AI discovery file served at \u003Ccode>yoursite.com\u002Fllms-index.txt\u003C\u002Fcode> listing all AI-only pages with their titles and last-modified dates. AI crawlers can use this file to find your AI-optimised content directly. Can be toggled on\u002Foff from the settings page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Token Diet — clean AI output\u003C\u002Fstrong> — When an AI crawler visits an AI-only page, the plugin serves a cleaned version of the HTML with navigation, sidebars, footers, cookie banners, inline styles, SVGs, and iframes stripped out. AI models receive pure content with minimal noise.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Global Settings Page\u003C\u002Fstrong> — A top-level “AI-Only Pages” menu in the WordPress admin sidebar lets you configure Token Diet and LLM Index behaviour globally, without touching code.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Caching plugin notice\u003C\u002Fstrong> — If WP Rocket, LiteSpeed Cache, or another full-page caching plugin is detected, an admin notice explains how to configure it to work alongside this plugin.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>The Settings Page\u003C\u002Fh4>\n\u003Cp>A full settings page is available under \u003Cstrong>AI-Only Pages\u003C\u002Fstrong> in the WordPress admin sidebar. It provides:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Section 1 — Instructions & Status:\u003C\u002Fstrong> A “How It Works” guide covering the meta box, Token Diet, and LLM Index. A live, clickable URL to your \u003Ccode>\u002Fllms-index.txt\u003C\u002Fcode> file with a green\u002Fred status indicator showing whether the index is active.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Section 2 — LLM Index Settings:\u003C\u002Fstrong> A toggle to enable or disable \u003Ccode>\u002Fllms-index.txt\u003C\u002Fcode> globally. When disabled, the endpoint returns a 404.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Section 3 — Token Diet Master Control:\u003C\u002Fstrong> A master toggle to enable or disable Token Diet entirely. When off, AI bots receive raw, full HTML — identical to what human visitors see.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Section 4 — Granular Token Diet Stripping:\u003C\u002Fstrong> Individual toggles for each category of content stripped:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Strip structural layout (headers, footers, sidebars, navigation, cookie banners)\u003C\u002Fli>\n\u003Cli>Strip \u003Ccode>\u003Cstyle>\u003C\u002Fcode> tags and embedded CSS\u003C\u002Fli>\n\u003Cli>Strip \u003Ccode>\u003Csvg>\u003C\u002Fcode> elements (major token bloaters)\u003C\u002Fli>\n\u003Cli>Strip \u003Ccode>\u003Ciframe>\u003C\u002Fcode> elements (maps, embeds, social widgets)\u003C\u002Fli>\n\u003Cli>Strip \u003Ccode>\u003Cform>\u003C\u002Fcode> elements \u003Cem>(Warning: removes WooCommerce Add to Cart buttons)\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>Strip \u003Ccode>\u003Cscript>\u003C\u002Fcode> tags \u003Cem>(Note: \u003Ccode>application\u002Fld+json\u003C\u002Fcode> schema is always preserved)\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Search Engine Bots\u003C\u002Fh4>\n\u003Cp>Googlebot (Web), Googlebot-Image, Googlebot-News, Googlebot-Video, AdsBot-Google, Bingbot, Slurp (Yahoo), DuckDuckBot, Baiduspider, YandexBot.\u003C\u002Fp>\n\u003Ch4>AI Bots Welcomed\u003C\u002Fh4>\n\u003Cp>GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, YouBot, Meta-ExternalAgent, Amazonbot, Bytespider, Diffbot, cohere-ai, anthropic-ai, AI2Bot, OAI-SearchBot, and more. These bots are detected automatically and served cleaned content when they visit an AI-only page.\u003C\u002Fp>\n\u003Ch4>Developer-Friendly\u003C\u002Fh4>\n\u003Cp>Every major behaviour is extensible via WordPress filters. See the \u003Cstrong>Developer Reference\u003C\u002Fstrong> section below. The Settings class hooks into filters at priority 5, leaving priorities 10 and above free for developer overrides — so your custom \u003Ccode>add_filter()\u003C\u002Fcode> calls always win.\u003C\u002Fp>\n\u003Ch3>Using the Plugin\u003C\u002Fh3>\n\u003Ch4>Per-page control\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Open any post or page in the WordPress editor.\u003C\u002Fli>\n\u003Cli>Find the \u003Cstrong>AI-Only Pages\u003C\u002Fstrong> meta box in the right sidebar.\u003C\u002Fli>\n\u003Cli>Check individual bots to block them, or use \u003Cstrong>Block from ALL search engine bots\u003C\u002Fstrong> to check all at once.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Publish\u003C\u002Fstrong> or \u003Cstrong>Update\u003C\u002Fstrong> to save. The noindex tags take effect immediately.\u003C\u002Fli>\n\u003Cli>Visit \u003Ccode>yoursite.com\u002Fllms-index.txt\u003C\u002Fcode> to confirm your page appears in the AI content index.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> The master toggle requires JavaScript. The individual checkboxes always work regardless of JS state.\u003C\u002Fp>\n\u003Ch4>Global settings\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>AI-Only Pages\u003C\u002Fstrong> in the WordPress admin sidebar.\u003C\u002Fli>\n\u003Cli>Review the “How It Works” section and confirm your \u003Ccode>\u002Fllms-index.txt\u003C\u002Fcode> URL is live.\u003C\u002Fli>\n\u003Cli>Use the \u003Cstrong>LLM Index Settings\u003C\u002Fstrong> card to enable or disable the discovery file.\u003C\u002Fli>\n\u003Cli>Use the \u003Cstrong>Token Diet — Master Control\u003C\u002Fstrong> card to enable or disable all output cleaning.\u003C\u002Fli>\n\u003Cli>Use the \u003Cstrong>Token Diet — Granular Stripping\u003C\u002Fstrong> card to select exactly which HTML elements are stripped from AI output.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save Settings\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Developer Reference\u003C\u002Fh3>\n\u003Cp>All filters are applied inside \u003Ccode>AIOnly\\Pages\\Plugin\u003C\u002Fcode>. The Settings class hooks at priority 5; standard developer priority is 10+.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_ai_crawler_signatures\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nArray of User-Agent substrings used for Layer 1 bot detection.\u003Cbr \u002F>\n    @param string[] $signatures\u003Cbr \u002F>\n    @return string[]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_strip_selectors\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nCSS-style selector strings passed to Pass 1 of Token Diet (structural removal). Supports element tag, #id, and .class (one class, no combinators).\u003Cbr \u002F>\n    @param string[] $selectors\u003Cbr \u002F>\n    @return string[]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_strip_token_bloat_tags\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nXPath query strings passed to Pass 2 of Token Diet (tag removal).\u003Cbr \u002F>\n    @param string[] $queries\u003Cbr \u002F>\n    @return string[]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_allowed_attributes\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nHTML attribute names kept on every element by Pass 3 of Token Diet. Everything else is stripped.\u003Cbr \u002F>\n    @param string[] $attributes\u003Cbr \u002F>\n    @return string[]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_should_clean_output\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nBoolean. Return false to disable Token Diet entirely for a specific post.\u003Cbr \u002F>\n    @param bool     $enabled  Default: true.\u003Cbr \u002F>\n    @param \\WP_Post $post\u003Cbr \u002F>\n    @return bool\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_enable_xrobots_headers\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nBoolean. Return false to suppress X-Robots-Tag HTTP headers.\u003Cbr \u002F>\n    @param bool     $enabled  Default: true.\u003Cbr \u002F>\n    @param \\WP_Post $post\u003Cbr \u002F>\n    @return bool\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_cache_ttl\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter the transient TTL in seconds.\u003Cbr \u002F>\n    @param int $ttl  Default: 600 (10 minutes).\u003Cbr \u002F>\n    @return int\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_llms_index_lines\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter the array of text lines that make up llms-index.txt before output.\u003Cbr \u002F>\n    @param string[] $lines       Array of lines (including comment lines).\u003Cbr \u002F>\n    @param int[]    $active_ids  Post IDs included in the index.\u003Cbr \u002F>\n    @return string[]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_supported_post_types\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nArray of public post type slugs the plugin should support.\u003Cbr \u002F>\n    @param string[] $post_types\u003Cbr \u002F>\n    @return string[]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>aionly_use_heuristic_bot_detection\u003C\u002Fcode>\u003C\u002Fstrong>\u003Cbr \u002F>\nBoolean. Return false to disable Layer 2 heuristic bot detection.\u003Cbr \u002F>\n    @param bool $enabled  Default: true.\u003Cbr \u002F>\n    @return bool\u003C\u002Fp>\n\u003Ch4>Code Examples\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Disable heuristic bot detection (uptime monitors):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aionly_use_heuristic_bot_detection', '__return_false' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Preserve WooCommerce forms (developer override — wins over settings page):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aionly_strip_token_bloat_tags', function( $queries ) {\n    return array_filter( $queries, function( $q ) {\n        return $q !== '\u002F\u002Fform';\n    } );\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Add a custom strip selector:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aionly_strip_selectors', function( $selectors ) {\n    $selectors[] = '.advertisement';\n    $selectors[] = '#newsletter-popup';\n    return $selectors;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Keep \u003Ccode>class\u003C\u002Fcode> attributes in AI output:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aionly_allowed_attributes', function( $attrs ) {\n    $attrs[] = 'class';\n    return $attrs;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Add a custom AI crawler signature:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aionly_ai_crawler_signatures', function( $sigs ) {\n    $sigs[] = 'FutureBot';\n    return $sigs;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Restrict to specific post types:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aionly_supported_post_types', function( $types ) {\n    return [ 'post', 'page' ]; \u002F\u002F Only posts and pages.\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Disable Token Diet on a specific post (always wins, priority 10 > settings priority 5):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aionly_should_clean_output', function( $enabled, $post ) {\n    if ( 42 === $post->ID ) {\n        return false; \u002F\u002F Post 42 serves full HTML to AI bots.\n    }\n    return $enabled;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Read a single setting value in custom code:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$token_diet_on = '1' === \\AIOnly\\Pages\\Settings::get( 'token_diet_enabled' );\n$all_settings  = \\AIOnly\\Pages\\Settings::get_settings(); \u002F\u002F Full array.\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Mark any page as AI-only. Hidden from search engines, optimized for AI crawlers, listed in \u002Fllms-index.txt. Includes Token Diet and global settings.",146,"2026-03-12T07:40:00.000Z","6.7.5","5.5","7.4",[107,108,20,22,72],"ai","llm","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-only-pages.1.3.3.zip",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":118,"downloaded":119,"rating":120,"num_ratings":121,"last_updated":122,"tested_up_to":66,"requires_at_least":123,"requires_php":68,"tags":124,"homepage":129,"download_link":130,"security_score":131,"vuln_count":132,"unpatched_count":26,"last_vuln_date":133,"fetched_at":28},"litespeed-cache","LiteSpeed Cache","7.8","LiteSpeed Technologies","https:\u002F\u002Fprofiles.wordpress.org\u002Flitespeedtech\u002F","\u003Cp>LiteSpeed Cache for WordPress (LSCWP) is an all-in-one site acceleration plugin, featuring an exclusive server-level cache and a collection of optimization features.\u003C\u002Fp>\n\u003Cp>LSCWP supports WordPress Multisite and is compatible with most popular plugins, including WooCommerce, bbPress, and Yoast SEO.\u003C\u002Fp>\n\u003Cp>LiteSpeed Cache for WordPress is compatible with ClassicPress.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>General Features\u003C\u002Fstrong> may be used by anyone with any web server (LiteSpeed, Apache, NGINX, etc.).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>LiteSpeed Exclusive Features\u003C\u002Fstrong> require one of the following: OpenLiteSpeed, commercial LiteSpeed products, LiteSpeed-powered hosting, or QUIC.cloud CDN. \u003Ca href=\"https:\u002F\u002Fdocs.litespeedtech.com\u002Flscache\u002Flscwp\u002Ffaq\u002F#why-do-the-cache-features-require-a-litespeed-server\" rel=\"nofollow ugc\">Why?\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Plugin Features\u003C\u002Fh3>\n\u003Ch4>General Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Free QUIC.cloud CDN Cache\u003C\u002Fli>\n\u003Cli>Object Cache (Memcached\u002FLSMCD\u002FRedis) Support+\u003C\u002Fli>\n\u003Cli>Image Optimization (Lossless\u002FLossy)\u003C\u002Fli>\n\u003Cli>Minify CSS, JavaScript, and HTML\u003C\u002Fli>\n\u003Cli>Minify inline & external CSS\u002FJS\u003C\u002Fli>\n\u003Cli>Combine CSS\u002FJS\u003C\u002Fli>\n\u003Cli>Automatically generate Critical CSS\u003C\u002Fli>\n\u003Cli>Lazy-load images\u002Fiframes\u003C\u002Fli>\n\u003Cli>Responsive Image Placeholders\u003C\u002Fli>\n\u003Cli>Multiple CDN Support+\u003C\u002Fli>\n\u003Cli>Load CSS Asynchronously\u003C\u002Fli>\n\u003Cli>Defer\u002Fdelay JS loading\u003C\u002Fli>\n\u003Cli>Browser Cache Support+\u003C\u002Fli>\n\u003Cli>Database Cleaner and Optimizer\u003C\u002Fli>\n\u003Cli>PageSpeed score (including Core Web Vitals) optimization\u003C\u002Fli>\n\u003Cli>OPcode Cache Support+\u003C\u002Fli>\n\u003Cli>HTTP\u002F2 Push for CSS\u002FJS (on web servers that support it)\u003C\u002Fli>\n\u003Cli>DNS Prefetch\u003C\u002Fli>\n\u003Cli>Cloudflare API\u003C\u002Fli>\n\u003Cli>Single Site and Multisite (Network) support\u003C\u002Fli>\n\u003Cli>Import\u002FExport settings\u003C\u002Fli>\n\u003Cli>Attractive, easy-to-understand interface\u003C\u002Fli>\n\u003Cli>AVIF\u002FWebP image format support\u003C\u002Fli>\n\u003Cli>Heartbeat control\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>+ This service is not provided by the LSCache plugin, nor is it guaranteed to be installed by your service provider. However, the plugin is compatible with the service if it is in use on your site.\u003C\u002Fp>\n\u003Ch4>LiteSpeed Exclusive Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatic page caching to greatly improve site performance\u003C\u002Fli>\n\u003Cli>Automatic purge of related pages based on certain events\u003C\u002Fli>\n\u003Cli>Private cache for logged-in users\u003C\u002Fli>\n\u003Cli>Caching of WordPress REST API calls\u003C\u002Fli>\n\u003Cli>Separate caching of desktop and mobile views\u003C\u002Fli>\n\u003Cli>Ability to schedule purge for specified URLs\u003C\u002Fli>\n\u003Cli>WooCommerce and bbPress support\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.litespeedtech.com\u002Flscache\u002Flscwp\u002Fcli\u002F\" rel=\"nofollow ugc\">WordPress CLI\u003C\u002Fa> commands\u003C\u002Fli>\n\u003Cli>API system for easy cache integration\u003C\u002Fli>\n\u003Cli>Exclude from cache by URI, Category, Tag, Cookie, User Agent\u003C\u002Fli>\n\u003Cli>Smart preload crawler with support for SEO-friendly sitemap\u003C\u002Fli>\n\u003Cli>Multiple crawlers for cache varies\u003C\u002Fli>\n\u003Cli>HTTP\u002F2 support\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.litespeedtech.com\u002Fhttp3-faq\" rel=\"nofollow ugc\">HTTP\u002F3 & QUIC\u003C\u002Fa> support\u003C\u002Fli>\n\u003Cli>ESI (Edge Side Includes) support*\u003C\u002Fli>\n\u003Cli>Widgets and Shortcodes as ESI blocks* (requires Classic Widgets plugin for WP 5.8+)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>* Feature not available in OpenLiteSpeed\u003C\u002Fp>\n\u003Ch3>LSCWP Resources\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Flitespeedtech.com\u002Fslack\" rel=\"nofollow ugc\">Join our Slack community\u003C\u002Fa> to connect with other LiteSpeed users.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Flitespeed-cache\u002F\" rel=\"ugc\">Ask a question on our support forum\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.litespeedtech.com\u002Flscache\u002Flscwp\u002F\" rel=\"nofollow ugc\">View detailed documentation\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fblog.litespeedtech.com\u002Ftag\u002Fwordpress\u002F\" rel=\"nofollow ugc\">Read about LSCWP and WordPress on our blog\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Flitespeed-cache\u002F\" rel=\"nofollow ugc\">Help translate LSCWP\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flitespeedtech\u002Flscache_wp\" rel=\"nofollow ugc\">Contribute to the LSCWP GitHub repo\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Third Party Compatibility\u003C\u002Fh3>\n\u003Cp>The vast majority of plugins and themes are compatible with LSCache. \u003Ca href=\"https:\u002F\u002Fdocs.litespeedtech.com\u002Flscache\u002Flscwp\u002Fapi\u002F\" rel=\"nofollow ugc\">Our API\u003C\u002Fa> is available for those that are not. Use the API to customize smart purging, customize cache rules, create cache varies, and make WP nonce cacheable, among other things.\u003C\u002Fp>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>This plugin includes some suggested text that you can add to your site’s Privacy Policy via the Guide in the WordPress Privacy settings.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For your own information:\u003C\u002Fstrong> LiteSpeed Cache for WordPress potentially stores a duplicate copy of every web page on display on your site. The pages are stored locally on the system where LiteSpeed server software is installed and are not transferred to or accessed by LiteSpeed employees in any way, except as necessary in providing routine technical support if you request it. All cache files are temporary, and may easily be purged before their natural expiration, if necessary, via a Purge All command. It is up to individual site administrators to come up with their own cache expiration rules.\u003C\u002Fp>\n\u003Cp>In addition to caching, our WordPress plugin has online features provided by QUIC.cloud for Image Optimization and Page Optimization services. When one of these optimizations is requested, data is transmitted to a remote QUIC.cloud server, processed, and then transmitted back for use on your site. QUIC.cloud keeps copies of that data for up to 7 days and then permanently deletes it. Similarly, the WordPress plugin has a Reporting feature whereby a site owner can transmit an environment report to LiteSpeed so that we may better provide technical support. None of these features collects any visitor data. Only server and site data are involved.\u003C\u002Fp>\n\u003Cp>QUIC.cloud CDN, if enabled, uses LSCache technology to access your site, and serve your content from remote global nodes. Your data is not accessed by QUIC.cloud employees in any way, except as necessary in providing maintenance or technical support.\u003C\u002Fp>\n\u003Cp>Please see the \u003Ca href=\"https:\u002F\u002Fquic.cloud\u002Fprivacy-policy\u002F\" rel=\"nofollow ugc\">QUIC.cloud Privacy Policy\u003C\u002Fa> for our complete Privacy\u002FGDPR statement.\u003C\u002Fp>\n","All-in-one unbeatable acceleration & PageSpeed improvement: caching, image\u002FCSS\u002FJS optimization...",7000000,126174082,96,2718,"2026-03-03T18:24:00.000Z","5.3",[125,126,127,128,72],"caching","optimize","pagespeed","performance","https:\u002F\u002Fwww.litespeedtech.com\u002Fproducts\u002Fcache-plugins\u002Fwordpress-acceleration","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flitespeed-cache.7.8.zip",82,18,"2025-10-28 00:00:00",{"attackSurface":135,"codeSignals":159,"taintFlows":166,"riskAssessment":167,"analyzedAt":175},{"hooks":136,"ajaxHandlers":155,"restRoutes":156,"shortcodes":157,"cronEvents":158,"entryPointCount":26,"unprotectedCount":26},[137,143,147,151],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","admin_enqueue_scripts","noinp_enqueue_css","noindex-pages.php",48,{"type":138,"name":144,"callback":145,"priority":146,"file":141,"line":51},"post_submitbox_misc_actions","noinp_display_meta_checkbox",3,{"type":138,"name":148,"callback":149,"file":141,"line":150},"save_post","noinp_save_meta",77,{"type":138,"name":152,"callback":153,"file":141,"line":154},"wp_head","noinp_display_meta_tag",93,[],[],[],[],{"dangerousFunctions":160,"sqlUsage":161,"outputEscaping":163,"fileOperations":26,"externalRequests":26,"nonceChecks":26,"capabilityChecks":26,"bundledLibraries":165},[],{"prepared":26,"raw":26,"locations":162},[],{"escaped":26,"rawEcho":26,"locations":164},[],[],[],{"summary":168,"deductions":169},"The 'noindex-pages' plugin v1.0.1 exhibits a strong security posture based on the provided static analysis. The absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events with unprotected entry points significantly minimizes the attack surface.  Furthermore, the code analysis reveals no dangerous function calls, all SQL queries are protected by prepared statements, and all output is properly escaped. The lack of file operations, external HTTP requests, and the complete absence of any recorded vulnerabilities further bolster its security credentials. This indicates a developer committed to secure coding practices and diligent vulnerability management.\n\nWhile the static analysis and vulnerability history present an excellent security profile, a key area for consideration is the complete lack of nonce and capability checks on the identified entry points. Although there are currently no unprotected entry points, the absence of these fundamental WordPress security mechanisms means that if any new entry points were introduced in the future without proper checks, they would immediately become vulnerable. The plugin's strength lies in its current minimal attack surface and clean code, but its long-term security relies on continued vigilance in implementing standard WordPress security checks as the plugin evolves.",[170,173],{"reason":171,"points":172},"No nonce checks implemented",10,{"reason":174,"points":172},"No capability checks implemented","2026-03-16T18:32:33.605Z",{"wat":177,"direct":183},{"assetPaths":178,"generatorPatterns":180,"scriptPaths":181,"versionParams":182},[179],"\u002Fwp-content\u002Fplugins\u002Fnoindex-pages\u002Fnoindex-pages.css",[],[],[],{"cssClasses":184,"htmlComments":186,"htmlAttributes":187,"restEndpoints":190,"jsGlobals":191,"shortcodeOutput":192},[185],"misc-noindex",[],[188,189],"id=\"noindex_page\"","name=\"noindex_page\"",[],[],[]]