{"id":275698,"date":"2026-04-26T20:35:17","date_gmt":"2026-04-26T20:35:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/clarity-first-seo\/"},"modified":"2026-04-26T20:40:41","modified_gmt":"2026-04-26T20:40:41","slug":"asneris-seo-toolkit","status":"publish","type":"plugin","link":"https:\/\/kal.wordpress.org\/plugins\/asneris-seo-toolkit\/","author":23467262,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.1.3","stable_tag":"0.1.3","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Asneris SEO Toolkit","header_author":"Asneris","header_description":"Asneris: The Systematic SEO Toolkit for WordPress with intuitive UI.","assets_banners_color":"415881","last_updated":"2026-04-26 20:40:41","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/asneris.com\/asneris-seo-toolkit","header_author_uri":"https:\/\/asneris.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":98,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.3":{"tag":"0.1.3","author":"asneris","date":"2026-04-26 20:40:41"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3515955,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3515955,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3515955,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3515955,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3515955,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3515955,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3515955,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3515955,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3515955,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3515955,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3515955,"resolution":"7","location":"assets","locale":""}},"screenshots":{"1":"Dashboard with configuration status overview","2":"Settings page with tabbed interface","3":"Page Diagnostics showing meta tag analysis","4":"Site Diagnostics showing http status, Robots.txt status, Sitemap accessbilty","5":"Redirect Setting","6":"Robots.txt Editor","7":"Bulk Edit interface for managing SEO fields"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[204677,127115,186,167235],"plugin_category":[55],"plugin_contributors":[261106,261105],"plugin_business_model":[],"class_list":["post-275698","plugin","type-plugin","status-publish","hentry","plugin_tags-indexnow","plugin_tags-search-console","plugin_tags-seo","plugin_tags-technical-seo","plugin_category-seo-and-marketing","plugin_contributors-asiva","plugin_contributors-asneris","plugin_committers-asneris"],"banners":{"banner":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/banner-772x250.png?rev=3515955","banner_2x":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/banner-1544x500.png?rev=3515955","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/icon-128x128.png?rev=3515955","icon_2x":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/icon-256x256.png?rev=3515955","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/screenshot-1.png?rev=3515955","caption":"Dashboard with configuration status overview"},{"src":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/screenshot-2.png?rev=3515955","caption":"Settings page with tabbed interface"},{"src":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/screenshot-3.png?rev=3515955","caption":"Page Diagnostics showing meta tag analysis"},{"src":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/screenshot-4.png?rev=3515955","caption":"Site Diagnostics showing http status, Robots.txt status, Sitemap accessbilty"},{"src":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/screenshot-5.png?rev=3515955","caption":"Redirect Setting"},{"src":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/screenshot-6.png?rev=3515955","caption":"Robots.txt Editor"},{"src":"https:\/\/ps.w.org\/asneris-seo-toolkit\/assets\/screenshot-7.png?rev=3515955","caption":"Bulk Edit interface for managing SEO fields"}],"raw_content":"<!--section=description-->\n<p>Asneris SEO Toolkit is a technical SEO plugin for WordPress. It helps site administrators configure and validate technical SEO signals that search engines can access.<\/p>\n\n<p>The plugin does not predict rankings or guarantee indexing. All features are optional and configurable by the site administrator.<\/p>\n\n<p>This plugin focuses on technical SEO configuration and validation using standard WordPress APIs.<\/p>\n\n<p><strong>Key capabilities:<\/strong><\/p>\n\n<ul>\n<li>Google, Bing, and Yandex site verification via meta tags<\/li>\n<li>IndexNow URL submission on publish, update, or delete (optional)<\/li>\n<li>SEO titles and meta descriptions with template support and safe fallbacks<\/li>\n<li>Canonical URL output<\/li>\n<li>Robots meta defaults and per-content overrides<\/li>\n<li>Open Graph and Twitter Card social preview tags<\/li>\n<li>JSON-LD schema output (Organization, WebSite, WebPage, Article, LocalBusiness, and more)<\/li>\n<li>Site Diagnostics: site-wide checks for configuration issues<\/li>\n<li>Page Diagnostics: inspect a single URL's meta tags, headers, and redirect chain<\/li>\n<li>Robots.txt editor and validator<\/li>\n<li>Bulk Edit: update SEO fields and indexing settings for many posts\/pages at once<\/li>\n<li>Sitemap helper and conflict detection for duplicate SEO plugins<\/li>\n<li>Templates system for consistent titles and descriptions<\/li>\n<li>Redirect management (301, 302, 307) with automatic slug change tracking<\/li>\n<li>Built-in help and documentation pages<\/li>\n<\/ul>\n\n<p><strong>Philosophy:<\/strong> SEO is not about gaming algorithms or chasing scores. It's about making your content clear, accessible, and understandable to search engines. This plugin helps validate these signals in a clear and structured way.<\/p>\n\n<h3>IndexNow Notes<\/h3>\n\n<p>IndexNow requires a UTF-8 encoded key file named {key}.txt at the site root.<\/p>\n\n<p>When IndexNow is enabled, this plugin dynamically serves the required file at:\n    \/{key}.txt<\/p>\n\n<p>After enabling IndexNow, you may need to re-save permalinks so the key URL becomes accessible.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the IndexNow API to notify participating search engines when URLs are added, updated, or removed.<\/p>\n\n<ul>\n<li><strong>Service:<\/strong> IndexNow<\/li>\n<li><strong>Service URL:<\/strong> https:\/\/www.indexnow.org\/<\/li>\n<li><strong>Data sent:<\/strong> The URL of the content being published, updated, or deleted, and the IndexNow API key used for verification.<\/li>\n<li><strong>When data is sent:<\/strong> Only when IndexNow is enabled and a supported content event occurs.<\/li>\n<li><strong>Purpose:<\/strong> To notify participating search engines about content changes.<\/li>\n<li><strong>Privacy policy:<\/strong> https:\/\/www.indexnow.org\/privacy<\/li>\n<li><strong>Terms \/ documentation:<\/strong> https:\/\/www.indexnow.org\/<\/li>\n<\/ul>\n\n<h3>Notes<\/h3>\n\n<p>This plugin does not control search rankings or guarantee indexing.\nAll features are optional and configurable by the site administrator.<\/p>\n\n<h3>Build Instructions<\/h3>\n\n<p>This plugin includes compiled JavaScript assets in the <code>\/build\/<\/code> directory (required for the Gutenberg sidebar panel). The source files are located in <code>\/src\/<\/code>.<\/p>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>Node.js 18+ (https:\/\/nodejs.org\/)<\/li>\n<li>npm 9+<\/li>\n<\/ul>\n\n<p><strong>Source Code Repository:<\/strong>\nhttps:\/\/github.com\/asneris\/asneris-seo-toolkit<\/p>\n\n<p><strong>Setup &amp; Build:<\/strong><\/p>\n\n<ol>\n<li>Clone or download the repository<\/li>\n<li>Navigate to the plugin directory: <code>cd asneris-seo-toolkit<\/code><\/li>\n<li>Install dependencies: <code>npm install<\/code><\/li>\n<li>Build production assets: <code>npm run build<\/code><\/li>\n<li>The compiled files will be output to <code>\/build\/index.js<\/code> and <code>\/build\/index.asset.php<\/code><\/li>\n<\/ol>\n\n<p><strong>Development Mode (auto-rebuild on save):<\/strong><\/p>\n\n<pre><code>npm run start\n<\/code><\/pre>\n\n<p><strong>Build Output:<\/strong><\/p>\n\n<ul>\n<li><code>\/build\/index.js<\/code> \u2014 Compiled and minified Gutenberg sidebar panel<\/li>\n<li><code>\/build\/index.asset.php<\/code> \u2014 Auto-generated asset manifest with dependencies and version hash<\/li>\n<\/ul>\n\n<p><strong>Technology Stack:<\/strong><\/p>\n\n<ul>\n<li>React 18 (loaded from WordPress core)<\/li>\n<li>@wordpress\/scripts (webpack config, babel)<\/li>\n<li>@wordpress\/plugins, @wordpress\/edit-post, @wordpress\/components<\/li>\n<\/ul>\n\n<p>The <code>\/build\/<\/code> directory is included in the release ZIP and is required for the plugin to function. Do not delete it.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>asneris-seo-toolkit<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to <strong>Asneris SEO Toolkit<\/strong> in the admin menu to configure settings.<\/li>\n<li>(Optional) Enter your Google\/Bing\/Yandex verification codes under the Verification tab.<\/li>\n<li>(Optional) Enable IndexNow under the IndexNow tab for faster search engine discovery.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20guarantee%20higher%20rankings%3F\"><h3>Does this plugin guarantee higher rankings?<\/h3><\/dt>\n<dd><p>No. This plugin validates what search engines can see on your site. It provides clarity about your technical SEO signals but does not predict or promise rankings.<\/p><\/dd>\n<dt id=\"will%20this%20conflict%20with%20other%20seo%20plugins%3F\"><h3>Will this conflict with other SEO plugins?<\/h3><\/dt>\n<dd><p>Running multiple SEO plugins simultaneously may cause duplicate meta tags. The plugin includes a conflict detector that will warn you if another SEO plugin is active. We recommend using only one SEO plugin at a time.<\/p><\/dd>\n<dt id=\"what%20is%20indexnow%3F\"><h3>What is IndexNow?<\/h3><\/dt>\n<dd><p>IndexNow is an open protocol that allows websites to notify participating search engines (Bing, Yandex, and others) when content is added, updated, or removed. This can help with faster discovery but does not guarantee indexing.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20any%20data%20externally%3F\"><h3>Does the plugin send any data externally?<\/h3><\/dt>\n<dd><p>Only when IndexNow is enabled. The plugin sends the URL of published\/updated\/deleted content and the IndexNow API key to the IndexNow API. No user data or personal information is transmitted. See the External Services section for full details.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20re-save%20permalinks%3F\"><h3>Do I need to re-save permalinks?<\/h3><\/dt>\n<dd><p>If you enable IndexNow, you may need to re-save permalinks once so WordPress registers the key file URL. The plugin attempts to flush rewrite rules on activation automatically.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Fixed WordPress.org security compliance: replaced FILTER_DEFAULT\/FILTER_UNSAFE_RAW with map_deep() + sanitize_text_field()<\/li>\n<li>Fixed ZIP package filename to exclude version number (WordPress.org requirement)<\/li>\n<li>Added -IncludeSource parameter to packaging script for optional source code inclusion<\/li>\n<li>Enhanced security: all input sanitization now follows \"Sanitize Early\" WordPress best practice<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Fixed PHP syntax errors in admin tab file<\/li>\n<li>Fixed nonce escaping (esc_attr on wp_create_nonce output)<\/li>\n<li>Fixed script handle mismatch causing admin JS not to load<\/li>\n<li>Added prepare() to all direct SQL queries<\/li>\n<li>Fixed WPCS nonce verification warnings with inline phpcs:ignore<\/li>\n<li>Redesigned Pages SEO column: two wide columns replaced by one compact 'SEO Info' column placed after Date<\/li>\n<li>SEO Info column shows color-coded dots for Title and Description status (blue = set, red = missing)<\/li>\n<li>Fixed WPCS OutputNotEscaped errors in column renderer<\/li>\n<li>Fixed tooltip\/help modal system: UTF-8 BOM removed from help-content.json (caused json_decode to return NULL)<\/li>\n<li>Rewrote help modal asset loading to use wp_localize_script instead of WP_Filesystem (WP_Filesystem fails silently during admin_enqueue_scripts)<\/li>\n<li>Fixed Help page content corruption: replaced raw emoji characters with WordPress dashicons<\/li>\n<li>Removed dead code: class-help-content.php (all call sites were commented out)<\/li>\n<li>Bumped minimum WordPress requirement from 5.8 to 6.0<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Improved nonce handling and input sanitization<\/li>\n<li>Added uninstall cleanup for plugin data<\/li>\n<li>Fixed text domain consistency in JavaScript<\/li>\n<li>Added activation hook for rewrite rule flushing<\/li>\n<li>Robots.txt editor now uses WP_Filesystem API<\/li>\n<li>Removed unused files<\/li>\n<li>Improved readme.txt with required WordPress.org sections<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>SEO titles, meta descriptions, and canonical URLs<\/li>\n<li>Open Graph and Twitter Card support<\/li>\n<li>JSON-LD schema output<\/li>\n<li>IndexNow integration<\/li>\n<li>Site and Page Diagnostics<\/li>\n<li>Robots.txt editor and validator<\/li>\n<li>Bulk Edit for SEO fields<\/li>\n<li>Redirect management<\/li>\n<li>Template system for titles and descriptions<\/li>\n<li>Conflict detection for duplicate SEO plugins<\/li>\n<\/ul>","raw_excerpt":"Asneris SEO Toolkit is a WordPress plugin for technical SEO settings, diagnostics, and indexing utilities.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/275698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=275698"}],"author":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/asneris"}],"wp:attachment":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=275698"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=275698"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=275698"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=275698"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=275698"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=275698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}