{"id":309284,"date":"2026-05-28T08:51:47","date_gmt":"2026-05-28T08:51:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/autorankme-seo\/"},"modified":"2026-05-28T08:51:28","modified_gmt":"2026-05-28T08:51:28","slug":"autorankme-seo","status":"publish","type":"plugin","link":"https:\/\/frp.wordpress.org\/plugins\/autorankme-seo\/","author":23494508,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.9.6","stable_tag":"0.9.6","tested":"7.0","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"AutoRankMe SEO","header_author":"AutoRankMe","header_description":"Connects your WordPress site to AutoRankMe to find SEO issues, apply fixes, generate content, build internal links, and monitor site health. Auto-detects your page builder (Gutenberg, WPBakery, Elementor, Divi, Classic).","assets_banners_color":"","last_updated":"2026-05-28 08:51:28","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/autorankme.com","header_plugin_uri":"https:\/\/autorankme.com\/wordpress-plugin","header_author_uri":"https:\/\/autorankme.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":19,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.9.6":{"tag":"0.9.6","author":"tomaya8wp","date":"2026-05-28 08:51:28"}},"upgrade_notice":{"0.8.0":"<p>WP.org submission release. Sync version with plugin header, full Privacy and Third-Party Services disclosures added.<\/p>","0.7.0":"<p>New: Self-hosted auto-updates, full WP.org submission. Update to get automatic version notifications.<\/p>","0.6.0":"<p>Major update: Render scanner, Core Web Vitals optimizer, heartbeat monitoring, auto-redirects, staleness detection. Update recommended.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.9.6"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"AutoRankMe dashboard showing site health score and optimization opportunities","2":"Optimize page \u2014 Schema Markup tab with batch generation","3":"Optimize page \u2014 Internal Links tab with scored suggestions","4":"WordPress settings page with API token connection","5":"Rendered schema markup visible in page source"}},"plugin_section":[],"plugin_tags":[244526,195933,6681,1117,186],"plugin_category":[55],"plugin_contributors":[264745],"plugin_business_model":[],"class_list":["post-309284","plugin","type-plugin","status-publish","hentry","plugin_tags-aeo","plugin_tags-ai-content","plugin_tags-internal-links","plugin_tags-schema","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-tomaya8wp","plugin_committers-tomaya8wp"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/autorankme-seo.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>AutoRankMe SEO<\/strong> connects your WordPress site to <a href=\"https:\/\/autorankme.com\">AutoRankMe<\/a> \u2014 a proactive SEO + AEO platform that handles automation tasks for you.<\/p>\n\n<h4>Key Features<\/h4>\n\n<p><strong>Surgical Auto-Fixer (8 fix types)<\/strong>\nFix meta titles, descriptions, H1 tags, alt text, internal links, and schema markup \u2014 applied directly to your posts without breaking your page builder layout.<\/p>\n\n<p><strong>Smart Content Publisher<\/strong>\nPublish AI-generated articles from the AutoRankMe dashboard. Content is automatically formatted for your page builder: Gutenberg blocks, Elementor JSON, WPBakery shortcodes, Divi shortcodes, or Classic HTML. Featured images auto-attached.<\/p>\n\n<p><strong>Schema Markup Engine<\/strong>\nGenerate and inject Article, FAQ, BreadcrumbList, LocalBusiness, Product, HowTo, and Organization schema as JSON-LD. Applied to individual pages or batch-applied site-wide.<\/p>\n\n<p><strong>Internal Linking Engine<\/strong>\nAnalyzes your content for linking opportunities. Suggests relevant anchor text and target pages based on topical relevance. Apply individual links or batch-apply with one click. Tracks all applied links to prevent duplicates.<\/p>\n\n<p><strong>Background 404 Scanner<\/strong>\nScans your entire site for broken links \u2014 sitemap URLs, internal links, and real-time 404 captures. Integrates with Redirection plugin and Broken Link Checker for unified reporting.<\/p>\n\n<p><strong>Render-Time Auditor<\/strong>\nFetches each page the way Google sees it. Extracts rendered title, meta, schema, headings, images, internal links, word count. Detects issues that external crawlers miss.<\/p>\n\n<p><strong>Core Web Vitals Optimizer<\/strong>\nOne-click performance patches: lazy loading, image priority hints, script deferral, font-display swap, preload hints. All via WordPress filters \u2014 no theme edits required.<\/p>\n\n<p><strong>Auto-Redirect Engine<\/strong>\nDetects high-traffic 404 pages and automatically creates 301 redirects to the best matching page. Works with the Redirection plugin or native WordPress rewrites.<\/p>\n\n<p><strong>Content Staleness Monitor<\/strong>\nIdentifies pages not updated in 90+ days that may be losing rankings. Flags them for AI-powered content refresh through the AutoRankMe dashboard.<\/p>\n\n<p><strong>Daily Health Heartbeat<\/strong>\nSends a daily snapshot of your site health to AutoRankMe: theme, plugins, PHP version, post counts. Detects critical changes (theme swapped, SEO plugin removed, SSL disabled) and alerts you proactively.<\/p>\n\n<p><strong>Cache Integration<\/strong>\nAutomatically flushes page cache after every fix and publish. Supports WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache, and SG Optimizer.<\/p>\n\n<h4>Supported Page Builders<\/h4>\n\n<ul>\n<li>Gutenberg (WordPress Block Editor)<\/li>\n<li>Classic Editor<\/li>\n<li>WPBakery Page Builder (Visual Composer)<\/li>\n<li>Elementor<\/li>\n<li>Divi Builder<\/li>\n<\/ul>\n\n<h4>Supported SEO Plugins<\/h4>\n\n<ul>\n<li>Yoast SEO<\/li>\n<li>RankMath<\/li>\n<li>SEOPress<\/li>\n<\/ul>\n\n<p>AutoRankMe SEO writes meta titles, descriptions, and focus keywords to all three SEO plugins' meta fields simultaneously. Works alongside your existing SEO plugin \u2014 no conflicts.<\/p>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install the plugin<\/li>\n<li>Paste your API token from autorankme.com \u2192 Settings \u2192 API Tokens<\/li>\n<li>Click Connect<\/li>\n<li>AutoRankMe handles the rest: crawling, fixing, publishing, linking, monitoring<\/li>\n<\/ol>\n\n<p>All operations are triggered from the AutoRankMe dashboard (autorankme.com). The plugin executes them inside WordPress with full database access \u2014 faster, more accurate, and more reliable than external API calls.<\/p>\n\n<h4>Privacy &amp; Data<\/h4>\n\n<p>The plugin sends the following data to autorankme.com when connected:\n* Site URL, WordPress version, PHP version\n* Active theme name and version\n* Active plugin names and versions\n* Post and page counts\n* Page content when you explicitly publish or fix through AutoRankMe<\/p>\n\n<p>No data is sent until you connect the plugin with your API token. You can disconnect at any time from the settings page.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the following third-party services. No data is sent until you connect the plugin with your API token (or, for Loremflickr, until you explicitly trigger an OG image generation).<\/p>\n\n<h4>AutoRankMe API (autorankme-api.onrender.com)<\/h4>\n\n<p>What it is: the AutoRankMe SaaS backend that performs SEO analysis, generates fixes and content, tracks keywords, and monitors site health.<\/p>\n\n<p>What is sent and when:\n* On connect: site URL, WordPress version, PHP version, active theme\/plugins (so the backend knows what your environment supports).\n* On every fix or publish you trigger from the AutoRankMe dashboard: the relevant page content (HTML, headings, meta), the proposed change, and the resulting state.\n* Once a day if enabled: a heartbeat with site-health status (counts of posts\/pages, last error, plugin version).<\/p>\n\n<p>Why: to surface fixable SEO issues, generate the change suggestions, and confirm fixes landed.<\/p>\n\n<p>Service provider: AutoRankMe.\nTerms of service: https:\/\/autorankme.com\/terms\nPrivacy policy: https:\/\/autorankme.com\/privacy<\/p>\n\n<h4>Loremflickr (loremflickr.com)<\/h4>\n\n<p>What it is: a free placeholder-image service that returns a Creative-Commons photograph keyed to provided keywords.<\/p>\n\n<p>What is sent and when: only when you explicitly request OG image generation for a post (Settings \u2192 AutoRankMe SEO \u2192 Generate OG image, or from the dashboard) and the post has no existing featured image. The plugin sends 1\u20133 keywords derived from the post title to fetch a representative image.<\/p>\n\n<p>Why: to give Open Graph previews a default image when the author hasn't uploaded one, so social shares don't render image-less.<\/p>\n\n<p>Service provider: Loremflickr.\nTerms of service: https:\/\/loremflickr.com\/\n(Loremflickr does not publish a separate privacy policy; the service is keyword-only and does not personally identify users.)<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>AutoRankMe SEO is a SaaS-companion plugin: it connects your WordPress site to the AutoRankMe service hosted at <code>https:\/\/autorankme-api.onrender.com<\/code>. Using this plugin requires an AutoRankMe account and an API token, which you generate at <a href=\"https:\/\/app.autorankme.com\/settings\">autorankme.com<\/a> and paste into the plugin's settings page.<\/p>\n\n<h4>What data is sent to AutoRankMe<\/h4>\n\n<p>When you connect the plugin with your API token and use its features, the following data is transmitted to <code>https:\/\/autorankme-api.onrender.com<\/code>:<\/p>\n\n<ul>\n<li><strong>Site identity:<\/strong> site URL, WordPress version, PHP version<\/li>\n<li><strong>Site inventory:<\/strong> active theme name and version, list of active plugin names and versions, post and page counts<\/li>\n<li><strong>Audit data (on demand):<\/strong> post and page titles, meta descriptions, headings, internal link targets, schema markup, image alt attributes, and word counts \u2014 collected so AutoRankMe can identify SEO\/AEO issues<\/li>\n<li><strong>Post content (only when you explicitly act):<\/strong> the body of a post is sent only when you publish AI-generated content from the AutoRankMe dashboard, or when you trigger a one-click fix that needs the post content<\/li>\n<li><strong>Daily heartbeat:<\/strong> a once-per-day snapshot of the items above so AutoRankMe can detect critical regressions (theme swap, plugin removal, SSL change)<\/li>\n<\/ul>\n\n<h4>What data is NOT collected<\/h4>\n\n<ul>\n<li>No site visitor information, IP addresses, cookies, or analytics-style tracking<\/li>\n<li>No WordPress administrator credentials or password hashes \u2014 authentication is one-way via the API token you generate<\/li>\n<li>No passive data collection \u2014 every transmission is triggered either by an action you take in the AutoRankMe dashboard or by the daily heartbeat you can disable by deactivating the plugin<\/li>\n<li>No data is sent until you connect the plugin with your API token<\/li>\n<\/ul>\n\n<h4>User control<\/h4>\n\n<p>You can disconnect at any time from <strong>AutoRankMe \u2192 Settings<\/strong> in the WordPress admin. Disconnecting stops all data transmission immediately. Schema markup already injected into your posts remains in place; you can remove it by deleting the <code>_autorankme_schema<\/code> post meta or uninstalling the plugin.<\/p>\n\n<p>For the full AutoRankMe privacy policy, see <a href=\"https:\/\/autorankme.com\/privacy\">https:\/\/autorankme.com\/privacy<\/a>.<\/p>\n\n<h3>Third-Party Services<\/h3>\n\n<p>This plugin relies on one external service to function:<\/p>\n\n<h4>AutoRankMe API<\/h4>\n\n<ul>\n<li><strong>Service:<\/strong> AutoRankMe (the SaaS platform this plugin connects WordPress to)<\/li>\n<li><strong>Endpoint:<\/strong> <code>https:\/\/autorankme-api.onrender.com<\/code><\/li>\n<li><strong>Purpose:<\/strong> Receives audit data and content from your site, runs SEO\/AEO analysis and AI content generation, and returns fixes\/articles for the plugin to apply<\/li>\n<li><strong>When it is contacted:<\/strong> Whenever you trigger an action from the AutoRankMe dashboard (audit, fix, publish), and once per day for the site health heartbeat<\/li>\n<li><strong>Required:<\/strong> Yes \u2014 this plugin is a SaaS-companion (not a standalone tool). Without an AutoRankMe account and API token, the plugin has no functionality<\/li>\n<li><strong>Terms of Service:<\/strong> <a href=\"https:\/\/autorankme.com\/terms\">https:\/\/autorankme.com\/terms<\/a><\/li>\n<li><strong>Privacy Policy:<\/strong> <a href=\"https:\/\/autorankme.com\/privacy\">https:\/\/autorankme.com\/privacy<\/a><\/li>\n<\/ul>\n\n<p>No other third-party services are contacted by this plugin.<\/p>\n\n<!--section=installation-->\n<h4>From WordPress Admin<\/h4>\n\n<ol>\n<li>Go to Plugins \u2192 Add New \u2192 Upload Plugin<\/li>\n<li>Upload the <code>autorankme-seo.zip<\/code> file<\/li>\n<li>Click Install Now, then Activate<\/li>\n<li>Go to AutoRankMe \u2192 Settings in the sidebar<\/li>\n<li>Paste your API token from <a href=\"https:\/\/app.autorankme.com\/settings\">autorankme.com<\/a> \u2192 API Tokens<\/li>\n<li>Click Connect<\/li>\n<\/ol>\n\n<h4>From AutoRankMe Dashboard<\/h4>\n\n<ol>\n<li>Go to Settings \u2192 CMS in your AutoRankMe dashboard<\/li>\n<li>Click \"Install AutoRankMe Plugin\"<\/li>\n<li>Follow the 3-step modal instructions<\/li>\n<\/ol>\n\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.6 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>An AutoRankMe account (<a href=\"https:\/\/app.autorankme.com\/signup\">free trial available<\/a>)<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20autorankme%20account%3F\"><h3>Do I need an AutoRankMe account?<\/h3><\/dt>\n<dd><p>Yes. The plugin connects to the AutoRankMe SaaS platform which handles SEO analysis, content generation, keyword tracking, and social broadcasting. Sign up at <a href=\"https:\/\/app.autorankme.com\/signup\">autorankme.com<\/a> \u2014 there is a 14-day free trial.<\/p><\/dd>\n<dt id=\"which%20page%20builders%20are%20supported%3F\"><h3>Which page builders are supported?<\/h3><\/dt>\n<dd><p>Gutenberg (Block Editor), Classic Editor, WPBakery Page Builder, Elementor, and Divi Builder. The plugin auto-detects which builder your site uses and formats all content accordingly.<\/p><\/dd>\n<dt id=\"will%20this%20break%20my%20site%3F\"><h3>Will this break my site?<\/h3><\/dt>\n<dd><p>No. All fixes use WordPress's native DOMDocument parser (not regex) and respect your page builder's data format. Every fix records a before\/after snapshot for easy review. Schema is injected via wp_head, not into post content.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20yoast%20%2F%20rankmath%20%2F%20seopress%3F\"><h3>Does it work with Yoast \/ RankMath \/ SEOPress?<\/h3><\/dt>\n<dd><p>Yes. AutoRankMe SEO writes meta data to all three plugins' fields simultaneously. It complements your existing SEO plugin \u2014 AutoRankMe handles the automation, your SEO plugin provides the on-page scoring.<\/p><\/dd>\n<dt id=\"what%20data%20does%20the%20plugin%20send%3F\"><h3>What data does the plugin send?<\/h3><\/dt>\n<dd><p>Site inventory (URL, WP\/PHP version, theme, plugins, post counts) and content you explicitly publish through AutoRankMe. A daily heartbeat sends site health status for proactive monitoring. No data is sent without your API token connected.<\/p><\/dd>\n<dt id=\"can%20i%20disconnect%20at%20any%20time%3F\"><h3>Can I disconnect at any time?<\/h3><\/dt>\n<dd><p>Yes. Go to AutoRankMe \u2192 Settings and click Disconnect. All data transmission stops immediately. Schema markup already applied to posts remains unless you manually remove it.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. All heavy operations (scanning, fixing, publishing) happen in background wp-cron jobs or on-demand REST API calls. The only frontend code is the optional CWV optimizer (lazy loading, script defer) which actually makes your site faster.<\/p><\/dd>\n<dt id=\"how%20does%20the%20auto-redirect%20work%3F\"><h3>How does the auto-redirect work?<\/h3><\/dt>\n<dd><p>The plugin captures 404 errors in real-time. When a dead URL accumulates enough hits, it finds the best matching live page by slug similarity and creates a 301 redirect. High-confidence matches are auto-applied; low-confidence ones are queued for your approval.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.9.6<\/h4>\n\n<ul>\n<li>Bumped <code>Tested up to:<\/code> to 7.0 to match the current WordPress release. Required by the wp.org automated scanner (the 0.9.5 submission was held with <code>outdated_tested_upto_header<\/code>). No code changes; metadata only.<\/li>\n<\/ul>\n\n<h4>0.9.5<\/h4>\n\n<ul>\n<li>Renamed all <code>AutoRankMe_*<\/code> PHP classes to <code>Autorankme_*<\/code> per wp.org review feedback (R\/T3 17May26). The CamelCase form was being parsed by the review tool as two separate snake-case prefixes (<code>autorankme<\/code> and <code>auto_rank_me<\/code>) which counted as a prefix-consistency violation. Unifying the casing produces a single <code>autorankme_*<\/code> snake-case prefix across all 27 classes \u2014 matching the prefix already used by every function, constant, option key, and namespace in the plugin. Behavior is unchanged; this is a code-style normalization with no functional impact.<\/li>\n<\/ul>\n\n<h4>0.9.4<\/h4>\n\n<ul>\n<li>Security: <code>optimize_content_images<\/code> (a <code>the_content<\/code> filter callback in <code>class-cwv-optimizer.php<\/code>) now parses each <code>&lt;img&gt;<\/code> attribute into name\/value pairs and applies contextual escaping (<code>esc_url()<\/code> for src\/longdesc\/usemap, <code>esc_attr()<\/code> for everything else) before re-emitting the tag. The previous implementation concatenated the raw captured attribute substring back into the returned HTML \u2014 wp.org Plugin Review (R\/8May26\/T2 14May26) flagged this because filter return values are rendered as page output. Inline event handlers (<code>on*<\/code>) and <code>style<\/code> are also dropped during the rebuild as defense in depth.<\/li>\n<li>Code clarity: added an inline comment at <code>class-cache-flusher.php:77<\/code> explaining that <code>do_action('swcfpc_purge_cache')<\/code> is a deliberate integration with the third-party \"Super Page Cache for Cloudflare\" plugin's public action hook \u2014 not a missing prefix on our own code.<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>Renamed <code>ARM_Plugin<\/code> class to <code>Autorankme_Plugin<\/code> per wp.org review feedback. The previous 3-letter prefix wasn't unique enough; the new name aligns with the <code>AutoRankMe_*<\/code> prefix used by every other class in the plugin.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Removed self-hosted plugin updater (<code>includes\/class-updater.php<\/code>) and its hooks. Updates for WP.org-hosted installs are handled by the official WordPress.org update system; the self-hosted updater was only relevant during pre-submission distribution.<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>WP.org pre-review compliance pass:\n\n<ul>\n<li>Removed promotional \/ comparative claims from short description<\/li>\n<li>Added contributor <code>tomaya8wp<\/code><\/li>\n<li>Added <code>== External services ==<\/code> section documenting AutoRankMe API and Loremflickr usage with terms\/privacy links<\/li>\n<li>Replaced raw <code>&lt;style&gt;<\/code> echo in CWV optimizer with <code>wp_register_style<\/code> + <code>wp_add_inline_style<\/code> enqueue path<\/li>\n<li>Sanitized all <code>$_SERVER<\/code> reads (HTTP_USER_AGENT, HTTP_HOST, REQUEST_URI, HTTP_REFERER, HTTPS) in 404 tracker and auto-redirect<\/li>\n<li>Hardened JSON-LD schema output against <code>&lt;\/script&gt;<\/code> breakout via <code>wp_json_encode( JSON_HEX_TAG | JSON_HEX_AMP )<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>0.8.9<\/h4>\n\n<ul>\n<li>resolve_post_id_from_url now falls back across ALL public post types (was post + page only) \u2014 fixes URL-based fix-apply on sites with custom post types like online_casinos, review, product<\/li>\n<li>Homepage URLs (\"\/\") now resolve to the static front page id when configured<\/li>\n<\/ul>\n\n<h4>0.8.8<\/h4>\n\n<ul>\n<li>fix_multiple_h1 now treats the implicit theme-rendered H1 (post title) as a duplicate when post_content holds exactly one H1 \u2014 that body H1 is demoted to H2<\/li>\n<li>Closes the audit-vs-plugin DOM gap where ARM's audit saw 2 H1s on the rendered page but the plugin saw 1 in post_content and refused with \"no duplicates to fix\"<\/li>\n<\/ul>\n\n<h4>0.8.7<\/h4>\n\n<ul>\n<li>New surgical fix actions: set_canonical, set_og_tags, set_lang, remove_noindex<\/li>\n<li>set_lang updates  site-wide via the language_attributes filter (option-driven)<\/li>\n<li>All actions write to ARM-native fallback meta keys + Yoast\/RankMath equivalents<\/li>\n<\/ul>\n\n<h4>0.8.6<\/h4>\n\n<ul>\n<li>New render-time meta injector \u2014 emits , OG tags, and canonical on wp_head when no other SEO plugin (Yoast, RankMath, SEOPress, AIOSEO, The SEO Framework) is active<\/li>\n<li>Fix actions now also write to ARM-native fallback meta keys so the injector can find values on fresh installs without third-party SEO plugins<\/li>\n<li>Closes the silent-success gap where fixes wrote to Yoast\/RankMath keys that nothing was reading on plugin-only sites<\/li>\n<\/ul>\n\n<h4>0.8.5<\/h4>\n\n<ul>\n<li>fix_skipped_heading now treats the implicit theme-rendered H1 (post title) as the heading-sequence floor<\/li>\n<li>Body heading sequences starting at H3+ are correctly demoted to H2 (was previously a no-op when post_content held only one body heading)<\/li>\n<li>No data-collection or API surface changes<\/li>\n<\/ul>\n\n<h4>0.8.4<\/h4>\n\n<ul>\n<li>New surgical fix action: fix_skipped_heading \u2014 walks h1..h6 in document order and demotes any heading that skips a level (e.g. h1\u2192h4 becomes h1\u2192h2)<\/li>\n<li>Conservative: never promotes, preserves attributes + inner markup<\/li>\n<li>No data-collection or API surface changes<\/li>\n<\/ul>\n\n<h4>0.8.3<\/h4>\n\n<ul>\n<li>\/fix endpoint now accepts page_url as an alternative to post_id (resolves via url_to_postid + slug fallback)<\/li>\n<li>Required for plugin-only sites where ARM has no separate way to look up post IDs<\/li>\n<li>No data-collection or API surface changes<\/li>\n<\/ul>\n\n<h4>0.8.2<\/h4>\n\n<ul>\n<li>Plugin-created posts now have a real post_author (was empty because token auth doesn't carry a WP user)<\/li>\n<li>Captures the admin who connected the token; falls back to first administrator\/editor on already-installed sites<\/li>\n<li>No data-collection or API surface changes<\/li>\n<\/ul>\n\n<h4>0.8.1<\/h4>\n\n<ul>\n<li>Publisher now honors <code>category<\/code> (single name) and <code>tags<\/code> (array of names) from the publish payload<\/li>\n<li>Resolves or creates the term server-side, then assigns it to the post \u2014 fixes posts landing in \"Uncategorized\"<\/li>\n<li>No data-collection or API surface changes<\/li>\n<\/ul>\n\n<h4>0.8.0<\/h4>\n\n<ul>\n<li>WordPress.org plugin directory submission release<\/li>\n<li>Synced readme stable tag with plugin header version<\/li>\n<li>Added explicit Privacy section disclosing all data sent to autorankme-api.onrender.com<\/li>\n<li>Added Third-Party Services section disclosing the AutoRankMe API as the only external dependency<\/li>\n<li>Confirmed compatibility with WordPress 6.9.x<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Initial WP.org submission preparation<\/li>\n<li>Full readme.txt with changelog, FAQ, screenshots<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Phase 6A: Render-time scanner \u2014 audits pages the way Google sees them<\/li>\n<li>Phase 6B: Core Web Vitals optimizer \u2014 lazy loading, script defer, font-display swap, preload hints<\/li>\n<li>Phase 6C: Daily heartbeat \u2014 site health monitoring with change detection alerts<\/li>\n<li>Phase 6D: Auto-redirect engine \u2014 smart 301 redirects for high-traffic 404s<\/li>\n<li>Phase 6E: Content staleness monitor \u2014 flags pages older than 90 days for refresh<\/li>\n<\/ul>\n\n<h4>0.5.1<\/h4>\n\n<ul>\n<li>OG image generator: Loremflickr photo search with GD gradient fallback<\/li>\n<li>Internal link safety: DOMDocument-based insertion, never modifies HTML attributes<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>Phase 5: Schema &amp; Internal Linking Engine<\/li>\n<li>Schema generators: Article, FAQ, LocalBusiness, Breadcrumb, Product, HowTo, Organization<\/li>\n<li>Internal link candidates endpoint with link count per page<\/li>\n<li>Cache flusher: WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed, SG Optimizer<\/li>\n<li>Auto cache flush after every fix and publish<\/li>\n<li>OG image generator for posts without featured images<\/li>\n<li>Optimization status endpoint (schema, image, link status per post)<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>Phase 4: Background scanner with chunked processing<\/li>\n<li>3rd-party integrations: Redirection plugin, Broken Link Checker<\/li>\n<li>Persistent state machine survives WP restarts and PHP timeouts<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Phase 3: Surgical fixer with 8 fix types<\/li>\n<li>Schema injection via _autorankme_schema post meta + wp_head<\/li>\n<li>Real-time 404 capture via template_redirect hook<\/li>\n<li>Before\/after snapshots for all fixes<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Phase 2: Content publisher with 5 page builder serializers<\/li>\n<li>Featured image sideloading via media_handle_sideload<\/li>\n<li>SEO meta for Yoast, RankMath, SEOPress<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Phase 1: Foundation \u2014 API token connect, page builder detection, site snapshot<\/li>\n<\/ul>","raw_excerpt":"Connects your WordPress site to AutoRankMe to find SEO issues, apply fixes, generate content, build internal links, and monitor site health automatica &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/309284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=309284"}],"author":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tomaya8wp"}],"wp:attachment":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=309284"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=309284"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=309284"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=309284"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=309284"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=309284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}