{"id":368997,"date":"2026-09-21T20:09:42","date_gmt":"2026-09-21T20:09:42","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/firstseo-audit\/"},"modified":"2026-09-21T20:18:14","modified_gmt":"2026-09-21T20:18:14","slug":"indexrivet-technical-seo-audit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/indexrivet-technical-seo-audit\/","author":23566444,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.12","stable_tag":"1.0.12","tested":"7.1.2","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"IndexRivet Technical SEO Audit","header_author":"IndexRivet","header_description":"Technical SEO audit and site crawler for WordPress with actionable diagnostics, sitemap intelligence, redirects, structured data, indexability, and internal-link analysis.","assets_banners_color":"333e4c","last_updated":"2026-09-21 20:18:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":67,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.12":{"tag":"1.0.12","author":"firstseo","date":"2026-09-21 20:18:14","revision":3706272}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3706584,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3706584,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512x512.png":{"filename":"icon-512x512.png","revision":3706584,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3706584,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3706584,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.12"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3706584,"resolution":"1","location":"assets","locale":"","width":1406,"height":651},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3706584,"resolution":"2","location":"assets","locale":"","width":1408,"height":808},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3706584,"resolution":"3","location":"assets","locale":"","width":1399,"height":811},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3706584,"resolution":"4","location":"assets","locale":"","width":1396,"height":650},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3706584,"resolution":"5","location":"assets","locale":"","width":1461,"height":558}},"screenshots":[]},"plugin_section":[],"plugin_tags":[8533,186,151481,1557,167235],"plugin_category":[55],"plugin_contributors":[281905],"plugin_business_model":[],"class_list":["post-368997","plugin","type-plugin","status-publish","hentry","plugin_tags-audit","plugin_tags-seo","plugin_tags-site-health","plugin_tags-sitemap","plugin_tags-technical-seo","plugin_category-seo-and-marketing","plugin_contributors-firstseo","plugin_committers-firstseo"],"banners":{"banner":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/banner-772x250.png?rev=3706584","banner_2x":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/banner-1544x500.png?rev=3706584","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/icon-128x128.png?rev=3706584","icon_2x":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/icon-256x256.png?rev=3706584","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/screenshot-1.png?rev=3706584","caption":""},{"src":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/screenshot-2.png?rev=3706584","caption":""},{"src":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/screenshot-3.png?rev=3706584","caption":""},{"src":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/screenshot-4.png?rev=3706584","caption":""},{"src":"https:\/\/ps.w.org\/indexrivet-technical-seo-audit\/assets\/screenshot-5.png?rev=3706584","caption":""}],"raw_content":"<!--section=description-->\n<p>IndexRivet Technical SEO Audit helps WordPress administrators find technical SEO problems directly from the WordPress dashboard.<\/p>\n\n<p>The free WordPress.org version includes the complete Audit Engine and Site Crawler. Free and Professional use the same operational safety caps to protect WordPress database and hosting resources; these caps are not paid feature gates. The plugin reports findings and diagnostics without automatically changing content, redirects, metadata, or indexability settings.<\/p>\n\n<h4>Audit Engine<\/h4>\n\n<p>The Audit Engine checks signals such as:<\/p>\n\n<ul>\n<li>HTTPS and homepage HTTP status<\/li>\n<li>Search engine visibility and indexability<\/li>\n<li>WordPress URL and permalink configuration<\/li>\n<li>Title and meta description presence and length<\/li>\n<li>H1 presence and count<\/li>\n<li>Canonical tags<\/li>\n<li>Mobile viewport<\/li>\n<li>Open Graph and Twitter\/X card markup<\/li>\n<li>HTML language attribute<\/li>\n<li>JSON-LD presence<\/li>\n<li>Homepage image ALT coverage<\/li>\n<li>Favicon markup<\/li>\n<li>robots.txt availability and global blocking<\/li>\n<li>Sitemap declaration and XML sitemap availability<\/li>\n<li>WordPress and PHP versions<\/li>\n<li>Basic WordPress security and configuration signals<\/li>\n<\/ul>\n\n<h4>Site Crawler<\/h4>\n\n<p>The Site Crawler scans HTML URLs in small batches to reduce server load. Reports include:<\/p>\n\n<ul>\n<li>HTTP status and fetch errors<\/li>\n<li>Title, description, and H1 diagnostics<\/li>\n<li>Canonical and noindex signals<\/li>\n<li>Duplicate title and description groups<\/li>\n<li>XML sitemap discovery and sitemap membership<\/li>\n<li>Sitemap coverage versus discovered internal links<\/li>\n<li>Redirect chains, loops, and errors<\/li>\n<li>Structured data and indexability analysis<\/li>\n<li>Total and contextual internal-link counts, crawl depth, and navigation-only link detection<\/li>\n<li>Orphan-page candidates within the current crawl scope<\/li>\n<li>Internal-link status checking<\/li>\n<\/ul>\n\n<p>Sitemap membership is collected separately from HTML fetching so the plugin can compare crawled pages with the wider sitemap structure.<\/p>\n\n<h4>Professional<\/h4>\n\n<p>A separately distributed IndexRivet Technical SEO Audit Professional version is available outside WordPress.org. The Professional package contains additional code that is not included in the WordPress.org package.<\/p>\n\n<p>Professional currently adds:<\/p>\n\n<ul>\n<li>Up to 20 completed crawl snapshots<\/li>\n<li>Crawl-to-crawl Compare<\/li>\n<li>CSV export for current crawl and comparison data<\/li>\n<li>Priority email support<\/li>\n<\/ul>\n\n<p>The free plugin remains fully functional without purchasing Professional.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin bundles the Freemius WordPress SDK. Freemius is used for optional account connection and usage\/diagnostic opt-in, Professional licensing and checkout, and delivery of updates for the separately distributed Professional version.<\/p>\n\n<p>The free Audit Engine and Site Crawler do not require a paid license.<\/p>\n\n<p>When an administrator chooses to opt in, connect an account, activate a Professional license, open checkout, or use Freemius account functionality, the plugin may communicate with Freemius servers. Information handled by Freemius is governed by Freemius policies.<\/p>\n\n<p>Freemius Terms of Service:\nhttps:\/\/freemius.com\/terms\/<\/p>\n\n<p>Freemius Privacy Policy:\nhttps:\/\/freemius.com\/privacy\/<\/p>\n\n<p>The SEO Audit Engine and Site Crawler also make HTTP requests to the WordPress site being audited, including its own public pages, robots.txt, and XML sitemaps. The audit does not use a third-party SEO analysis API.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>IndexRivet Technical SEO Audit stores audit settings and small state values in standard WordPress storage. Larger crawler working state and results are kept temporarily in a dedicated, expiring plugin database table so they do not create oversized WordPress transients or object-cache entries.<\/p>\n\n<p>The plugin does not intentionally collect personal data from public website visitors as part of its SEO checks.<\/p>\n\n<p>Freemius-related data is handled only under the circumstances described in the External services section and is subject to the Freemius privacy policy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install IndexRivet Technical SEO Audit from Plugins &gt; Add New, or upload the plugin ZIP.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Open IndexRivet Technical SEO Audit in the WordPress admin menu.<\/li>\n<li>Run the Audit Engine.<\/li>\n<li>Open Site Crawler when you want page-level analysis.<\/li>\n<\/ol>\n\n<p>For larger sites, keep the browser tab open while the crawler processes its AJAX batches.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20change%20my%20seo%20settings%20automatically%3F\"><h3>Does the plugin change my SEO settings automatically?<\/h3><\/dt>\n<dd><p>No. It reports findings and recommendations. It does not automatically rewrite titles, descriptions, canonical tags, robots directives, redirects, or page content.<\/p><\/dd>\n<dt id=\"does%20the%20free%20crawler%20impose%20a%20url%20quota%3F\"><h3>Does the free crawler impose a URL quota?<\/h3><\/dt>\n<dd><p>The crawler uses finite operational safety caps to prevent runaway jobs from exhausting WordPress database or hosting resources. The same safety caps apply to Free and Professional; they are not paid feature gates.<\/p><\/dd>\n<dt id=\"why%20can%20the%20sitemap%20section%20contain%20more%20urls%20than%20the%20crawler%20fetched%3F\"><h3>Why can the sitemap section contain more URLs than the crawler fetched?<\/h3><\/dt>\n<dd><p>XML sitemap membership is collected separately from HTML fetching. This lets the plugin compare crawled pages with the wider sitemap structure.<\/p><\/dd>\n<dt id=\"are%20orphan-page%20findings%20site-wide%20proof%3F\"><h3>Are orphan-page findings site-wide proof?<\/h3><\/dt>\n<dd><p>No. Orphan and click-depth findings are scoped to the current crawl set. A limited crawl can identify candidates, but it cannot prove site-wide orphan status.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20on%20local%20or%20development%20sites%3F\"><h3>Does the plugin work on local or development sites?<\/h3><\/dt>\n<dd><p>Yes. The HTTP layer includes a limited fallback for local HTTPS environments using an untrusted or self-signed certificate. Production sites should use a valid trusted TLS certificate.<\/p><\/dd>\n<dt id=\"is%20a%20paid%20version%20required%3F\"><h3>Is a paid version required?<\/h3><\/dt>\n<dd><p>No. The Audit Engine and Site Crawler features described above remain available in the free version.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Refined Audit Engine scoring so missing H1 is not penalized twice and PHP version guidance is reported as a non-scoring warning.<\/li>\n<li>Added technical\/template URL classification for Elementor header\/footer templates and other non-content WordPress template types.<\/li>\n<li>Separated crawl-level redirect URLs from internal-link redirect targets in Redirect Intelligence.<\/li>\n<li>Split total internal links from contextual links and stopped sitewide navigation\/footer links from inflating Strong-page classification.<\/li>\n<li>Added navigation-only and technical states to Internal Link Intelligence.<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Fixed same-site HTTPS crawling on local desktop stacks that map a normal domain to loopback\/private IP addresses.<\/li>\n<li>Kept TLS verification enabled by default; certificate fallback is restricted to the site's own positively identified local\/development host.<\/li>\n<li>Unified robots.txt and sitemap discovery with the shared HTTP client so Audit Engine and Site Crawler use the same local SSL handling.<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Resolved remaining Plugin Check SQL preparation findings by passing prepared statements directly to database calls.<\/li>\n<li>Documented intentional direct access to the plugin-owned expiring crawler table without object caching.<\/li>\n<li>Renamed the Freemius bootstrap helper, global instance, and loaded hook to the IndexRivet prefix.<\/li>\n<li>Documented the WordPress core <code>the_content<\/code> hook for coding-standards analysis.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Prepared custom-table identifiers with the WordPress <code>%i<\/code> identifier placeholder.<\/li>\n<li>Documented intentional direct database access for the plugin's dedicated expiring crawler-storage table so WordPress Coding Standards do not misclassify it as an uncached generic query.<\/li>\n<li>Clarified that crawler safety caps apply equally to Free and Professional builds.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Replaced large crawler transients with expiring, chunked storage in a dedicated database table.<\/li>\n<li>Added finite operational safety caps for crawl URLs, sitemap membership, sitemap queues, internal links, and link-check targets.<\/li>\n<li>Removed local-environment detection based on ABSPATH and local server directory names; use WordPress environment APIs instead.<\/li>\n<li>Updated the WordPress.org Contributors field to include the plugin owner username.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Fixed stale hard-coded version badges in Audit Engine and Site Crawler.<\/li>\n<li>Product-level version labels now always use the plugin version constant.<\/li>\n<li>Synced the WordPress.org Stable tag with the actual plugin version.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Removed the Freemius Personal Account submenu from the free plugin.<\/li>\n<li>Kept the in-plugin Annual and Lifetime Professional checkout buttons.<\/li>\n<li>Professional users can still reach license management from the IndexRivet screen.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Restored Freemius' documented activation flow: Free shows opt-in; Professional shows the native license activation screen on activation.<\/li>\n<li>Removed custom license-activation shortcuts from the Free build.<\/li>\n<li>Added explicit Annual ($19\/year) and Lifetime ($39 once) checkout buttons.<\/li>\n<li>Hid the SDK pricing submenu to avoid the empty embedded pricing screen; checkout remains handled by Freemius.<\/li>\n<li>Removed custom pricing\/activation URL overrides so Freemius owns the activation lifecycle.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed Freemius checkout redirect loop by keeping the SDK pricing route registered.<\/li>\n<li>Upgrade actions now return to IndexRivet and open the working checkout flow.<\/li>\n<li>Checkout shows Annual and Lifetime billing choices in a selector.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Improved Freemius upgrade flow with an explicit Annual\/Lifetime selector.<\/li>\n<li>Routed SDK upgrade actions to the working checkout flow.<\/li>\n<li>Replaced the custom license activation shortcut with the supported Account\/license flow.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Replaced the single hard-coded annual checkout with separate Annual and Lifetime Professional checkout buttons.<\/li>\n<li>Hid the Freemius embedded pricing submenu and use direct checkout links to avoid an empty pricing screen on affected installations.<\/li>\n<li>Show license activation only when the separately distributed Professional build is installed; the WordPress.org Free package does not contain premium code to unlock.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed Freemius license activation routing for the IndexRivet admin menu.<\/li>\n<li>Made Upgrade to Pro the primary Professional call to action.<\/li>\n<li>Kept license-key activation as a secondary action for existing customers.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First IndexRivet Technical SEO Audit release.<\/li>\n<li>Added the Audit Engine and Site Crawler with sitemap, redirect, structured-data, indexability, and internal-link diagnostics.<\/li>\n<li>Added WordPress.org-compliant Free\/Professional separation for crawl history, Compare, and CSV export.<\/li>\n<li>Integrated Freemius SDK 2.13.4 for opt-in analytics, licensing, checkout, and Professional updates.<\/li>\n<\/ul>","raw_excerpt":"Technical SEO audit and site crawler for metadata, indexability, sitemaps, redirects, structured data, and internal links.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/368997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=368997"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/firstseo"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=368997"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=368997"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=368997"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=368997"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=368997"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=368997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}