{"id":258594,"date":"2025-11-04T20:03:18","date_gmt":"2025-11-04T20:03:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/instarank-seo\/"},"modified":"2026-03-05T21:21:54","modified_gmt":"2026-03-05T21:21:54","slug":"instarank","status":"publish","type":"plugin","link":"https:\/\/en-au.wordpress.org\/plugins\/instarank\/","author":23392125,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.9","stable_tag":"2.0.9","tested":"6.9.4","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"InstaRank","header_author":"InstaRank","header_description":"Connect your WordPress site to InstaRank for AI-powered SEO optimization. Automatically apply SEO improvements generated by InstaRank's AI engine.","assets_banners_color":"fdfdfa","last_updated":"2026-03-05 21:21:54","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.instarank.com\/products\/wordpress-plugin","header_author_uri":"https:\/\/www.instarank.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":1051,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.4":{"tag":"1.2.4","author":"instarank","date":"2025-11-04 20:03:24"},"1.2.5":{"tag":"1.2.5","author":"instarank","date":"2025-11-05 10:54:53"},"1.3.0":{"tag":"1.3.0","author":"instarank","date":"2025-11-12 10:55:09"},"1.3.2":{"tag":"1.3.2","author":"instarank","date":"2025-11-12 13:23:43"},"1.4.0":{"tag":"1.4.0","author":"instarank","date":"2025-11-12 21:32:23"},"1.4.1":{"tag":"1.4.1","author":"instarank","date":"2025-11-14 19:41:51"},"1.4.2":{"tag":"1.4.2","author":"instarank","date":"2025-11-15 18:26:16"},"1.4.3":{"tag":"1.4.3","author":"instarank","date":"2025-11-17 20:16:28"},"1.4.4":{"tag":"1.4.4","author":"instarank","date":"2025-11-19 12:51:19"},"1.4.5":{"tag":"1.4.5","author":"instarank","date":"2025-11-20 22:13:51"},"1.4.6":{"tag":"1.4.6","author":"instarank","date":"2025-11-22 22:47:29"},"1.4.7":{"tag":"1.4.7","author":"instarank","date":"2025-11-23 16:15:31"},"1.4.8":{"tag":"1.4.8","author":"instarank","date":"2025-11-25 11:57:51"},"1.4.9":{"tag":"1.4.9","author":"instarank","date":"2025-11-26 17:40:10"},"1.5.0":{"tag":"1.5.0","author":"instarank","date":"2025-11-26 18:13:34"},"1.5.1":{"tag":"1.5.1","author":"instarank","date":"2025-11-26 20:46:05"},"1.5.2":{"tag":"1.5.2","author":"instarank","date":"2025-11-28 20:41:08"},"1.5.3":{"tag":"1.5.3","author":"instarank","date":"2025-11-30 15:17:48"},"1.5.4":{"tag":"1.5.4","author":"instarank","date":"2025-11-30 16:21:27"},"1.5.5":{"tag":"1.5.5","author":"instarank","date":"2025-11-30 18:41:51"},"1.5.6":{"tag":"1.5.6","author":"instarank","date":"2025-12-02 09:04:10"},"1.5.7":{"tag":"1.5.7","author":"instarank","date":"2025-12-03 15:37:30"},"1.5.9":{"tag":"1.5.9","author":"instarank","date":"2025-12-09 10:53:38"},"2.0.0":{"tag":"2.0.0","author":"instarank","date":"2025-12-09 14:00:29"},"2.0.1":{"tag":"2.0.1","author":"instarank","date":"2025-12-10 18:24:33"},"2.0.2":{"tag":"2.0.2","author":"instarank","date":"2025-12-12 14:40:27"},"2.0.3":{"tag":"2.0.3","author":"instarank","date":"2025-12-13 21:35:36"},"2.0.4":{"tag":"2.0.4","author":"instarank","date":"2025-12-25 15:59:06"},"2.0.5":{"tag":"2.0.5","author":"instarank","date":"2026-02-23 19:14:25"},"2.0.6":{"tag":"2.0.6","author":"instarank","date":"2026-02-27 10:37:57"},"2.0.7":{"tag":"2.0.7","author":"instarank","date":"2026-02-27 10:53:28"},"2.0.8":{"tag":"2.0.8","author":"instarank","date":"2026-02-27 11:00:04"},"2.0.9":{"tag":"2.0.9","author":"instarank","date":"2026-03-05 21:21:54"}},"upgrade_notice":{"2.0.0":"<p>BREAKING CHANGE: Programmatic SEO UI moved to InstaRank SaaS platform (app.instarank.com). Log in to app.instarank.com to access the new Generation Wizard with enhanced features. All backend functionality preserved - pages sync automatically.<\/p>","1.4.4":"<p>Important security and performance update! Fixes all Plugin Check warnings, improves WordPress coding standards compliance, and enhances performance with query caching. Recommended for all users.<\/p>","1.4.3":"<p>Critical bug fixes! Resolves undefined variable warnings, fixes disconnect functionality, and improves Pending Changes display. Recommended for all users.<\/p>","1.3.2":"<p>Major update! Programmatic SEO features - Create and sync custom post types between InstaRank and WordPress. Bidirectional sync support and seamless integration for programmatic content workflows.<\/p>","1.2.2":"<p>Critical bug fix! Resolves state synchronization issue where WordPress showed &quot;connected&quot; even after disconnecting from InstaRank dashboard.<\/p>","1.2.1":"<p>Major update! New one-click OAuth connection flow makes setup easier than ever. Modern UI redesign with enhanced UX.<\/p>","1.1.0":"<p>New features: Post content optimization support and bulk operations API.<\/p>","1.0.0":"<p>Initial release of InstaRank plugin.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3390330,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3390330,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3390330,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3390330,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.4","1.2.5","1.3.0","1.3.2","1.4.0","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","1.4.9","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6","1.5.7","1.5.9","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard showing connection status and API key","2":"Pending Changes page with approval options","3":"Settings page for configuring plugin behavior","4":"Change history with rollback options"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,2988,187,4195,186],"plugin_category":[52,55],"plugin_contributors":[250275],"plugin_business_model":[],"class_list":["post-258594","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-meta-tags","plugin_tags-optimization","plugin_tags-search-engine","plugin_tags-seo","plugin_category-performance","plugin_category-seo-and-marketing","plugin_contributors-instarank","plugin_committers-instarank"],"banners":{"banner":"https:\/\/ps.w.org\/instarank\/assets\/banner-772x250.png?rev=3390330","banner_2x":"https:\/\/ps.w.org\/instarank\/assets\/banner-1544x500.png?rev=3390330","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/instarank\/assets\/icon-128x128.png?rev=3390330","icon_2x":"https:\/\/ps.w.org\/instarank\/assets\/icon-256x256.png?rev=3390330","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>InstaRank is the official WordPress plugin for the InstaRank platform. It enables seamless integration between your WordPress site and InstaRank's AI-powered SEO optimization engine and programmatic SEO tools.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Easy Connection<\/strong>: Connect your WordPress site to InstaRank with a simple API key or one-click OAuth<\/li>\n<li><strong>AI-Powered SEO<\/strong>: Receive intelligent SEO recommendations powered by advanced AI<\/li>\n<li><strong>Programmatic SEO<\/strong>: Create and sync custom post types between InstaRank and WordPress<\/li>\n<li><strong>Page Builder Templates<\/strong>: Import and manage templates from Elementor, Kadence, Divi, and more<\/li>\n<li><strong>Bidirectional Sync<\/strong>: Sync post types from InstaRank to WordPress and vice versa<\/li>\n<li><strong>Custom Post Type Management<\/strong>: Register, update, and manage custom post types directly from InstaRank<\/li>\n<li><strong>Review Before Apply<\/strong>: Review all suggested changes before they're applied to your site<\/li>\n<li><strong>Safe Rollback<\/strong>: Easily rollback any changes if needed<\/li>\n<li><strong>Change History<\/strong>: Track all SEO modifications with a complete audit log<\/li>\n<li><strong>SEO Plugin Detection<\/strong>: Automatically detects and integrates with popular SEO plugins like Yoast SEO, Rank Math, and All in One SEO<\/li>\n<li><strong>Flexible Approval<\/strong>: Choose between manual review or automatic approval of changes<\/li>\n<li><strong>WordPress Coding Standards<\/strong>: Fully compliant with WordPress Plugin Check requirements<\/li>\n<\/ul>\n\n<h4>Supported Change Types<\/h4>\n\n<ul>\n<li>Meta titles and descriptions<\/li>\n<li>Open Graph tags (og:title, og:description, og:image)<\/li>\n<li>Post content optimization<\/li>\n<li>Image alt text optimization<\/li>\n<li>Canonical URLs<\/li>\n<li>Focus keywords<\/li>\n<li>Robots meta tags<\/li>\n<li>Post titles<\/li>\n<li>Schema markup generation<\/li>\n<li>Structured data implementation<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<p><strong>Easy OAuth Connection:<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Click \"Connect with InstaRank\" button in WordPress admin<\/li>\n<li>Sign in to your InstaRank account (popup window)<\/li>\n<li>Select the project to connect<\/li>\n<li>Done! Your WordPress site is connected<\/li>\n<\/ol>\n\n<p><strong>Or use the manual API key method:<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Copy the generated API key from the plugin dashboard<\/li>\n<li>Connect your site from your InstaRank account at instarank.com<\/li>\n<li>InstaRank analyzes your site and generates SEO improvements<\/li>\n<li>Review and approve changes from your WordPress dashboard<\/li>\n<li>Changes are applied automatically to your content<\/li>\n<\/ol>\n\n<h4>Privacy &amp; Data<\/h4>\n\n<p>This plugin communicates with the InstaRank platform (https:\/\/instarank.com) to:<\/p>\n\n<ul>\n<li>Send site information and content for SEO analysis<\/li>\n<li>Receive SEO optimization recommendations<\/li>\n<li>Sync change status and results<\/li>\n<li>Import and manage page builder templates<\/li>\n<\/ul>\n\n<p>For more information, see our <a href=\"https:\/\/www.instarank.com\/privacy-policy\">Privacy Policy<\/a> and <a href=\"https:\/\/www.instarank.com\/terms-conditions\">Terms of Service<\/a>.<\/p>\n\n<h3>Third Party Services<\/h3>\n\n<p>This plugin connects to the InstaRank service (https:\/\/instarank.com) to provide its functionality. By using this plugin, you agree to InstaRank's:<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/www.instarank.com\/terms-conditions<\/li>\n<li>Privacy Policy: https:\/\/www.instarank.com\/privacy-policy<\/li>\n<\/ul>\n\n<p>Data transmitted to InstaRank includes:<\/p>\n\n<ul>\n<li>Site URL and basic WordPress information<\/li>\n<li>Published posts and pages<\/li>\n<li>Current SEO meta data<\/li>\n<li>Plugin activation\/deactivation events<\/li>\n<li>Page builder templates and configurations<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Log in to your WordPress admin panel<\/li>\n<li>Navigate to Plugins &gt; Add New<\/li>\n<li>Search for \"InstaRank\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Log in to your WordPress admin panel<\/li>\n<li>Navigate to Plugins &gt; Add New &gt; Upload Plugin<\/li>\n<li>Choose the downloaded ZIP file and click \"Install Now\"<\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<h4>After Installation<\/h4>\n\n<ol>\n<li>Go to InstaRank in your WordPress admin menu<\/li>\n<li>Click \"Connect with InstaRank\" for one-click setup<\/li>\n<li>Or copy the API key and add your site from InstaRank.com<\/li>\n<li>Start receiving AI-powered SEO recommendations!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20is%20the%20programmatic%20seo%20menu%3F\"><h3>Where is the Programmatic SEO menu?<\/h3><\/dt>\n<dd><p>Starting in version 2.0, Programmatic SEO features are managed through the InstaRank SaaS platform at https:\/\/app.instarank.com. This provides better features, easier management, and a more powerful interface. Your WordPress plugin continues to handle page syncing automatically.<\/p>\n\n<p>To use Programmatic SEO:\n1. Log in to https:\/\/app.instarank.com\n2. Navigate to your project\n3. Go to \"Programmatic SEO\" section\n4. Use the Generation Wizard to create pages\n5. Pages sync automatically to your WordPress site<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20instarank%20account%3F\"><h3>Do I need an InstaRank account?<\/h3><\/dt>\n<dd><p>Yes, you need an active InstaRank account to use this plugin. Sign up at https:\/\/instarank.com<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20free%3F\"><h3>Is this plugin free?<\/h3><\/dt>\n<dd><p>The plugin itself is free, but it requires an InstaRank subscription to function. Visit https:\/\/www.instarank.com\/pricing for subscription details.<\/p><\/dd>\n<dt id=\"which%20seo%20plugins%20are%20compatible%3F\"><h3>Which SEO plugins are compatible?<\/h3><\/dt>\n<dd><p>InstaRank works with:<\/p>\n\n<ul>\n<li>Yoast SEO<\/li>\n<li>Rank Math<\/li>\n<li>All in One SEO Pack<\/li>\n<li>The SEO Framework<\/li>\n<li>SEOPress<\/li>\n<li>Or as a standalone SEO solution<\/li>\n<\/ul><\/dd>\n<dt id=\"which%20page%20builders%20are%20supported%3F\"><h3>Which page builders are supported?<\/h3><\/dt>\n<dd><p>InstaRank can import and manage templates from:<\/p>\n\n<ul>\n<li>Elementor<\/li>\n<li>Kadence Blocks<\/li>\n<li>Beaver Builder<\/li>\n<li>Divi Builder<\/li>\n<li>Bricks Builder<\/li>\n<li>Gutenberg Reusable Blocks<\/li>\n<li>GenerateBlocks<\/li>\n<\/ul><\/dd>\n<dt id=\"can%20i%20review%20changes%20before%20they%27re%20applied%3F\"><h3>Can I review changes before they're applied?<\/h3><\/dt>\n<dd><p>Yes! By default, all changes require manual approval. You can optionally enable auto-approval in the settings.<\/p><\/dd>\n<dt id=\"can%20i%20rollback%20changes%3F\"><h3>Can I rollback changes?<\/h3><\/dt>\n<dd><p>Absolutely. Every change is tracked and can be rolled back with a single click from the Pending Changes page.<\/p><\/dd>\n<dt id=\"how%20is%20my%20data%20used%3F\"><h3>How is my data used?<\/h3><\/dt>\n<dd><p>Your site content is sent to InstaRank's servers for SEO analysis. We do not share your data with third parties. See our <a href=\"https:\/\/www.instarank.com\/privacy-policy\">Privacy Policy<\/a>.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>All SEO changes that were applied remain on your site. The plugin will stop communicating with InstaRank, and you won't receive new recommendations.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><p>For support, visit https:\/\/www.instarank.com\/contact or email support@instarank.com<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.9<\/h4>\n\n<ul>\n<li>Feature: Scheduled (future) post support for programmatic SEO sync<\/li>\n<li>Feature: Random post and WordPress shortcodes modules<\/li>\n<li>Fix: Updated URLs to use www.instarank.com consistently across plugin and translations<\/li>\n<li>Fix: Corrected documentation and support links in admin dashboard<\/li>\n<\/ul>\n\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>Fix: Remove debug logging flagged by Plugin Check<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>Fix: Blank page content caused by PCRE backtracking limit failure on large Kadence blocks<\/li>\n<li>Fix: Replaced catastrophic-backtracking regex with efficient non-backtracking pattern<\/li>\n<li>Fix: Added null-check fallback for preg_replace_callback failure<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Fix: Kadence block validation rejecting synced pages with \"Invalid JSON\" errors<\/li>\n<li>Fix: html_entity_decode corrupting JSON inside block comment attributes<\/li>\n<li>Fix: Escape sequence replacement (\\n, \\r, \\t) corrupting JSON inside block comments<\/li>\n<li>Fix: Tag counting regexes failing when JSON contains \/ or &gt; characters<\/li>\n<li>Fix: Balance check formula incorrectly including self-closing tags<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Feature: Hierarchical post type URL support with parent-child rewrite rules<\/li>\n<li>Feature: Search parameter for post listing API endpoint<\/li>\n<li>Feature: Word count and noindex\/nofollow detection in post SEO data<\/li>\n<li>Feature: Parent slug resolution for custom post type URL chains<\/li>\n<li>Enhancement: Moved robots.txt, sitemap, and LLMs.txt settings management to SaaS dashboard<\/li>\n<li>Enhancement: Improved agent retry handling and error recovery<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Feature: LLMs.txt support for AI\/LLM crawler guidance following llmstxt.org specification<\/li>\n<li>Feature: Agent API endpoints for file system access and codebase indexing<\/li>\n<li>Enhancement: Improved AI agent integration capabilities<\/li>\n<li>Enhancement: Dynamic llms.txt generation based on site content<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Feature: AI-powered image metadata generation (alt text, title, caption, description)<\/li>\n<li>Feature: Push image metadata to WordPress Media Library<\/li>\n<li>Feature: Image issue fixing with batch processing support<\/li>\n<li>Fix: Replace PHP rename() with WP_Filesystem::move() for WordPress coding standards compliance<\/li>\n<li>Fix: Improved file operations security using WordPress filesystem API<\/li>\n<li>Enhancement: Enhanced image extractor with better metadata detection<\/li>\n<li>Enhancement: AI content history tracking for all generated metadata<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Feature: Enhanced image optimization with priority ordering and push to WordPress<\/li>\n<li>Feature: Dark mode theme support in SaaS platform<\/li>\n<li>Fix: Dynamic origin for OAuth callbacks to prevent localhost redirect issues<\/li>\n<li>Enhancement: Improved image handling and TypeScript definitions for better consistency<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fix: Enhanced image import reliability for Kadence blocks with dynamic content<\/li>\n<li>Fix: Block comment rendering now properly handles HTML-encoded sequences<\/li>\n<li>Fix: Prevent content corruption by avoiding unescaping in programmatic SEO sync<\/li>\n<li>Fix: Updated dashboard programmatic SEO links to point to SaaS platform<\/li>\n<li>Feature: ACF (Advanced Custom Fields) field mapping support for programmatic SEO<\/li>\n<li>Feature: Custom fields tab for dataset-template field mappings<\/li>\n<li>Feature: Field-only generation mode and stats API endpoint<\/li>\n<li>Enhancement: Links now open in new tab for better user experience<\/li>\n<li>Enhancement: Dynamic URL generation based on project slug<\/li>\n<li>Enhancement: Improved content processing for Kadence blocks with HTML formatting<\/li>\n<li>Refactor: Removed deprecated location generator class<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>BREAKING CHANGE: Programmatic SEO UI removed from WordPress plugin<\/li>\n<li>Feature: All Programmatic SEO features now managed via InstaRank SaaS platform at app.instarank.com<\/li>\n<li>Enhancement: Better UX with more powerful Generation Wizard in SaaS<\/li>\n<li>Enhancement: AI-powered field auto-mapping in SaaS<\/li>\n<li>Enhancement: Advanced spintax tools with quality analyzer in SaaS<\/li>\n<li>Enhancement: Flexible sync modes (create, update, smart sync) in SaaS<\/li>\n<li>Enhancement: Auto image import to WordPress Media Library<\/li>\n<li>Enhancement: Batch operations for bulk actions<\/li>\n<li>Technical: Kept all backend API endpoints functional for SaaS integration<\/li>\n<li>Technical: Kept spintax engine for local content processing<\/li>\n<li>Technical: Removed 7 admin UI files (programmatic-seo.php and tab files)<\/li>\n<li>Migration: Log in to app.instarank.com to access programmatic SEO features<\/li>\n<li>Compatibility: Generated pages remain in WordPress - no data loss<\/li>\n<\/ul>\n\n<h4>1.5.9<\/h4>\n\n<ul>\n<li>Fix: Resolved image alt attribute replacement in programmatic SEO sync<\/li>\n<li>Fix: Enhanced WordPress plugin spintax engine to handle bare HTML attributes (src=\"field\", alt=\"field\", title=\"field\")<\/li>\n<li>Fix: Enhanced SaaS template parser to detect and replace alt\/title\/href attributes<\/li>\n<li>Fix: Fixed sync-single route removing incorrect replaceTemplateFields() call that corrupted already-generated content<\/li>\n<li>Enhancement: Added networking fix script to update localhost URLs to 127.0.0.1 for ECONNREFUSED errors<\/li>\n<li>Enhancement: Enhanced field detector to identify bare attribute patterns<\/li>\n<li>Compatibility: Tested with WordPress 6.9<\/li>\n<li>Code Quality: Improved attribute replacement logic to preserve final values during sync<\/li>\n<\/ul>\n\n<h4>1.5.8<\/h4>\n\n<ul>\n<li>Performance: Fixed memory exhaustion on large WordPress sites (1000+ pages)<\/li>\n<li>Performance: Reduced crawl batch size from 200 to 25 pages for better memory management<\/li>\n<li>Performance: Added aggressive memory cleanup after processing each page<\/li>\n<li>Compatibility: Improved support for hosts with limited PHP memory (16MB-128MB)<\/li>\n<li>Fix: Resolved \"Allowed memory size exhausted\" errors during crawl operations<\/li>\n<\/ul>\n\n<h4>1.5.7<\/h4>\n\n<ul>\n<li>Enhancement: Improved Knowledge Base generation with comprehensive data extraction<\/li>\n<li>Enhancement: Batch processing support for large sites with 1000+ pages<\/li>\n<li>Enhancement: Extended Knowledge Base fields including testimonials, case studies, pricing, and more<\/li>\n<li>Enhancement: Generation history tracking to view past Knowledge Base generations<\/li>\n<li>Fix: Resolved database column reference errors in crawl queries<\/li>\n<\/ul>\n\n<h4>1.5.6<\/h4>\n\n<ul>\n<li>Feature: Added crawl-data REST API endpoints for WordPress-based crawling<\/li>\n<li>Feature: New <code>\/crawl-data<\/code> endpoint returns paginated SEO data for all published pages<\/li>\n<li>Feature: New <code>\/crawl-data\/page<\/code> endpoint returns detailed SEO data for a single page by ID or URL<\/li>\n<li>Enhancement: Crawl endpoints return full HTML content, meta tags, headings, links, images, and schema data<\/li>\n<li>Enhancement: Support for pagination with limit\/offset parameters (max 100 items per request)<\/li>\n<li>Enhancement: Automatic detection of schema data from Yoast, RankMath, AIOSEO, and InstaRank<\/li>\n<li>Enhancement: Extracts internal\/external links with anchor text analysis<\/li>\n<li>Enhancement: Returns image data including src, alt text, and dimensions<\/li>\n<\/ul>\n\n<h4>1.5.5<\/h4>\n\n<ul>\n<li>Performance: Added object caching for custom field matching queries to reduce database load<\/li>\n<li>Compliance: Fixed WordPress Plugin Check slow_db_query warning with phpcs:ignore annotation<\/li>\n<\/ul>\n\n<h4>1.5.4<\/h4>\n\n<ul>\n<li>Enhancement: Replaced browser confirm() dialogs with custom modal system for better UX<\/li>\n<li>Enhancement: Added styled confirmation modals for disconnect, clear history, rollback, and other actions<\/li>\n<li>Enhancement: Modal system supports warning, danger, info, and success types with appropriate styling<\/li>\n<li>Enhancement: Added clear programmatic SEO data on disconnect (clears datasets, field mappings, template configs)<\/li>\n<li>Fix: Stale programmatic SEO statistics now properly cleared when disconnecting WordPress site<\/li>\n<\/ul>\n\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Feature: Enhanced programmatic SEO sync with real-time progress modal<\/li>\n<li>Feature: Auto-import external images to WordPress Media Library during page publishing<\/li>\n<li>Feature: CORS support for cross-origin WordPress API requests<\/li>\n<li>Enhancement: Improved Classic Editor integration with better meta box handling<\/li>\n<li>Enhancement: Better sync status tracking and error reporting<\/li>\n<li>Enhancement: Added image import options to generation settings<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Performance: Optimized Related Links internal linking for WordPress VIP compliance<\/li>\n<li>Performance: Replaced post__not_in with post-query filtering for better database performance on large sites<\/li>\n<li>Code Quality: Improved WP_Query usage following WordPress VIP best practices<\/li>\n<li>Reference: https:\/\/wpvip.com\/documentation\/performance-improvements-by-removing-usage-of-post__not_in\/<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Feature: Added internationalization (i18n) support with 8 language translations<\/li>\n<li>Feature: New post type filter tabs on Templates page for easier navigation<\/li>\n<li>Feature: Added pagination to Templates page (25 items per page) for sites with thousands of templates<\/li>\n<li>Enhancement: Translations included: English, Spanish, French, German, Portuguese (Brazil), Italian, Dutch, Japanese, Chinese (Simplified)<\/li>\n<li>Enhancement: Post type column added to templates table for better organization<\/li>\n<li>Fix: Removed deprecated load_plugin_textdomain() call (WordPress 4.6+)<\/li>\n<li>Compliance: Fixed MissingTranslatorsComment warning for proper i18n format<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Feature: Template scanning now includes draft and private posts\/pages (not just published)<\/li>\n<li>Feature: Improved template detection for page builder template libraries<\/li>\n<li>Enhancement: Added status field to all scanned templates for better visibility<\/li>\n<li>Enhancement: Added edit_url field to quickly access template editing<\/li>\n<li>Enhancement: Elementor templates now include draft, publish, and private statuses<\/li>\n<li>Enhancement: Beaver Builder templates now include draft, publish, and private statuses<\/li>\n<li>Enhancement: Divi Library layouts now include draft, publish, and private statuses<\/li>\n<li>Enhancement: Gutenberg reusable blocks now include draft, publish, and private statuses<\/li>\n<\/ul>\n\n<h4>1.4.9<\/h4>\n\n<ul>\n<li>Feature: Added DELETE endpoint for custom post types via REST API<\/li>\n<li>Fix: Preserved Unicode escape sequences in Kadence block JSON (fixes corrupted button text)<\/li>\n<li>Fix: Replaced stripcslashes() with targeted escape handling to prevent block corruption<\/li>\n<\/ul>\n\n<h4>1.4.8<\/h4>\n\n<ul>\n<li>Security: Fixed all WordPress Plugin Check warnings and errors<\/li>\n<li>Security: Added proper input sanitization with wp_unslash()<\/li>\n<li>Compliance: All global variables now use instarank_ prefix<\/li>\n<li>Compliance: Added phpcs:ignore comments for meta_query usage<\/li>\n<\/ul>\n\n<h4>1.4.7<\/h4>\n\n<ul>\n<li>Fix: Resolved SQL LIKE wildcards warning by using prepared statement placeholders<\/li>\n<li>Enhancement: Replaced direct database queries with WordPress metadata API (get_post_meta)<\/li>\n<li>Performance: Added wp_cache implementation for Kadence metadata queries<\/li>\n<li>Code Quality: Removed error_log() debug statements from production code<\/li>\n<li>Compliance: Renamed array keys to avoid WordPress slow query detection false positives<\/li>\n<li>Compliance: Plugin now passes WordPress Plugin Check with zero errors or warnings<\/li>\n<li>Standards: Fully compliant with WordPress.org plugin repository coding standards<\/li>\n<\/ul>\n\n<h4>1.4.6<\/h4>\n\n<ul>\n<li>Code Quality: Removed all development test files for production release<\/li>\n<li>Code Quality: Removed debug logging statements (error_log, file_put_contents) from production code<\/li>\n<li>Compliance: Cleaned up endpoints.php to meet WordPress coding standards<\/li>\n<li>Enhancement: Improved code quality for WordPress.org plugin directory standards<\/li>\n<li>Security: Removed test files with potential security issues<\/li>\n<\/ul>\n\n<h4>1.4.5<\/h4>\n\n<ul>\n<li>Enhancement: Improved programmatic SEO image handling for Kadence Blocks<\/li>\n<li>Enhancement: Custom field sanitization now preserves hyphens in field names (e.g., h2-1-image)<\/li>\n<li>Enhancement: Better support for page builder dynamic images<\/li>\n<li>Enhancement: Optimized image upload and media library integration<\/li>\n<li>Fix: Resolved custom field name sanitization issue that affected Kadence dynamic images<\/li>\n<li>Fix: Improved custom field handling to support structured naming conventions<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Security: Fixed all Plugin Check warnings and errors<\/li>\n<li>Security: Added proper input sanitization throughout the plugin<\/li>\n<li>Security: Fixed unescaped database parameters with proper phpcs:ignore comments<\/li>\n<li>Performance: Added caching for frequently accessed database queries<\/li>\n<li>Enhancement: Improved WordPress coding standards compliance<\/li>\n<li>Fix: Corrected variable naming inconsistencies with instarank_ prefix<\/li>\n<li>Fix: Updated privacy policy and terms of service links<\/li>\n<li>Code Quality: Removed all debug statements from production code<\/li>\n<li>Code Quality: Added comprehensive phpcs:ignore comments where necessary<\/li>\n<li>Compliance: Plugin now passes WordPress Plugin Check with zero critical issues<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Fix: Resolved undefined variable warnings throughout the plugin<\/li>\n<li>Fix: Fixed disconnect functionality to properly persist state<\/li>\n<li>Fix: Corrected Pending Changes page display issues<\/li>\n<li>Enhancement: Increased PHP memory limits for larger plugin uploads<\/li>\n<li>Enhancement: Added proper connection status checks<\/li>\n<li>Enhancement: Improved error handling and user feedback<\/li>\n<li>UX: Better status messages and notifications<\/li>\n<li>Code Quality: Consistent variable prefixing with instarank_<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Feature: Added Kadence Blocks support for template scanning<\/li>\n<li>Feature: Scan and import Kadence Elements (kadence_element post type)<\/li>\n<li>Enhancement: Extended page builder detection to include Kadence Blocks<\/li>\n<li>Enhancement: Capture Kadence element metadata (type and placement)<\/li>\n<li>API: Enhanced templates\/scan endpoint to include Kadence Elements<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Feature: Page Builder API - Detect and import templates from various page builders<\/li>\n<li>Feature: Support for Elementor, Beaver Builder, Divi, Bricks, and Gutenberg reusable blocks<\/li>\n<li>API: New endpoint for scanning existing templates across different builders<\/li>\n<li>Enhancement: Unified template management across multiple page builders<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Feature: Programmatic SEO - Create and register custom post types from InstaRank<\/li>\n<li>Feature: Bidirectional custom post type sync between InstaRank and WordPress<\/li>\n<li>Feature: Update custom post types created in InstaRank directly from the dashboard<\/li>\n<li>API: New POST endpoint to register custom post types from InstaRank<\/li>\n<li>API: New PUT endpoint to update existing custom post types<\/li>\n<li>API: Sync all WordPress post types to InstaRank with preserved metadata<\/li>\n<li>Enhancement: Auto-register stored custom post types on WordPress init<\/li>\n<li>Enhancement: Persistent storage of InstaRank-created post types across WordPress restarts<\/li>\n<li>Security: Validation to prevent external post types from being modified via API<\/li>\n<li>UX: Seamless integration for programmatic SEO workflows<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fix: Corrected API URL to point to main app (https:\/\/instarank.com) instead of API subdomain<\/li>\n<li>Fix: OAuth connection now works properly with correct endpoint URLs<\/li>\n<li>Enhancement: Added clear documentation about API URL configuration<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fix: Corrected text domain from 'instarank-seo' to 'instarank' for WordPress.org compliance<\/li>\n<li>Security: Added proper sanitization and unslashing for POST data<\/li>\n<li>Security: Added phpcs:ignore with explanation for already-escaped output<\/li>\n<li>Compliance: Fixed all Plugin Check errors for WordPress.org submission<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fix: State synchronization bug - WordPress now properly detects when integration is disconnected from InstaRank dashboard<\/li>\n<li>Enhancement: Added server-side verification endpoint to check integration status<\/li>\n<li>Enhancement: \"Check Status\" button now verifies with InstaRank backend and clears stale connection state<\/li>\n<li>Security: Improved connection validation and cleanup<\/li>\n<li>UX: Better error messages when connection is removed from dashboard<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Feature: OAuth-style popup connection flow (connect with one click!)<\/li>\n<li>Feature: \"Connect with InstaRank\" button for easy setup<\/li>\n<li>Feature: Automatic project selection during connection<\/li>\n<li>Feature: Modern, redesigned admin dashboard with enhanced UI\/UX<\/li>\n<li>Enhancement: Improved button styles with hover animations<\/li>\n<li>Enhancement: Better status badges with modern design<\/li>\n<li>Enhancement: Enhanced notification system with auto-dismiss<\/li>\n<li>Security: OAuth token-based authentication with 15-minute expiration<\/li>\n<li>Security: HTTPS enforcement for WordPress sites<\/li>\n<li>UX: Popup window auto-closes after successful connection<\/li>\n<li>UX: Real-time connection status updates<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Feature: Added support for post content updates (low_word_count fixes)<\/li>\n<li>Feature: Added bulk approve\/reject API endpoint for external integrations<\/li>\n<li>Enhancement: Improved change type handling for all SEO optimization types<\/li>\n<li>API: New \/changes\/bulk endpoint for batch operations<\/li>\n<li>Compatibility: Full support for content length optimization<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Security: Fixed all output escaping issues for enhanced security<\/li>\n<li>Security: Added proper input sanitization with wp_unslash()<\/li>\n<li>Security: Sanitized all $_SERVER variable access<\/li>\n<li>Code Quality: Replaced date() with gmdate() for timezone-safe operations<\/li>\n<li>Code Quality: Removed debug error_log() calls from production code<\/li>\n<li>Code Quality: Added comprehensive PHPCS ignore comments for custom database tables<\/li>\n<li>Compliance: Updated to pass all WordPress.org Plugin Check requirements with zero errors<\/li>\n<li>Compliance: Shortened plugin description to meet 150 character limit<\/li>\n<li>Fix: Added missing languages directory referenced in plugin headers<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>WordPress site connection via API key<\/li>\n<li>SEO change review and approval system<\/li>\n<li>Automatic detection of popular SEO plugins<\/li>\n<li>Change rollback functionality<\/li>\n<li>Comprehensive change history and audit log<\/li>\n<li>Support for meta tags, Open Graph, and content optimization<\/li>\n<li>Settings for auto-approval and change type filtering<\/li>\n<\/ul>","raw_excerpt":"AI-powered SEO optimization and programmatic content for WordPress. Auto-apply improvements and sync custom post types.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/258594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=258594"}],"author":[{"embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/instarank"}],"wp:attachment":[{"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=258594"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=258594"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=258594"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=258594"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=258594"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-au.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=258594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}