{"id":305845,"date":"2026-06-01T13:26:13","date_gmt":"2026-06-01T13:26:13","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/refine-rank-ai\/"},"modified":"2026-06-01T13:59:26","modified_gmt":"2026-06-01T13:59:26","slug":"refine-rank-ai","status":"publish","type":"plugin","link":"https:\/\/hsb.wordpress.org\/plugins\/refine-rank-ai\/","author":23459686,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.12","stable_tag":"1.2.12","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Refine Rank AI","header_author":"Refine Rank AI","header_description":"Advanced AI-powered SEO optimization tool for WordPress","assets_banners_color":"","last_updated":"2026-06-01 13:59:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/refinerankai.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":31,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.12":{"tag":"1.2.12","author":"maanig","date":"2026-06-01 13:59:26"}},"upgrade_notice":{"1.2.12":"<p>Environment cache fix for WordPress.org review (single fixed option key). Update recommended.<\/p>","1.2.11":"<p>Security hardening: JSON POST payloads sanitized explicitly in scan-results handler. Update recommended.<\/p>","1.2.10":"<p>Rank Math compatibility: removed undocumented hook fires; aligns with reviewer feedback and Rank Math source. Update recommended.<\/p>","1.2.9":"<p>Security and review hardening (sanitization, JSON validation, database loader filename). Update recommended for all sites.<\/p>","1.2.8":"<p>Documentation update: full disclosure of external services (Refine Rank AI, Google PageSpeed Insights, Google Identity Services).<\/p>","1.2.7":"<p>Readme and privacy documentation updates. Update recommended before submitting to the plugin directory or for clearer user guidance.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3556829,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3556829,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.12"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Refine Rank AI dashboard and SEO scan workflow in wp-admin","2":"AI-assisted fixes and recommendations for on-page SEO","3":"Settings: API token and account connection"}},"plugin_section":[],"plugin_tags":[2353,529,187,1117,186],"plugin_category":[52,55],"plugin_contributors":[265340],"plugin_business_model":[],"class_list":["post-305845","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-content","plugin_tags-optimization","plugin_tags-schema","plugin_tags-seo","plugin_category-performance","plugin_category-seo-and-marketing","plugin_contributors-maanig","plugin_committers-maanig"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/refine-rank-ai\/assets\/icon-128x128.png?rev=3556829","icon_2x":"https:\/\/ps.w.org\/refine-rank-ai\/assets\/icon-256x256.png?rev=3556829","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Refine Rank AI helps you improve on-page SEO directly inside WordPress. Connect your Refine Rank AI account, run scans, and use AI-assisted workflows to fix common issues faster than manual edits alone.<\/p>\n\n<p><strong>Key features<\/strong><\/p>\n\n<ul>\n<li><strong>SEO scanning<\/strong> \u2014 Surface on-page issues across your content<\/li>\n<li><strong>Meta titles and descriptions<\/strong> \u2014 Optimize and refine with AI assistance<\/li>\n<li><strong>Headings (e.g. H1)<\/strong> \u2014 Guidance and fixes for stronger structure<\/li>\n<li><strong>Image alt text<\/strong> \u2014 AI-assisted alt text for accessibility and SEO<\/li>\n<li><strong>Content length and relevance<\/strong> \u2014 Insights to align pages with goals<\/li>\n<li><strong>Page speed<\/strong> \u2014 Performance checks (e.g. PageSpeed-related reporting where enabled)<\/li>\n<li><strong>Technical checks<\/strong> \u2014 Items such as canonical and indexability where supported<\/li>\n<li><strong>Internal linking<\/strong> \u2014 AI-assisted internal link suggestions<\/li>\n<li><strong>Schema (JSON-LD)<\/strong> \u2014 Structured data support where enabled<\/li>\n<li><strong>Credits and plans<\/strong> \u2014 Usage tied to your Refine Rank AI subscription (see website for current plans)<\/li>\n<\/ul>\n\n<p><strong>Account required<\/strong><\/p>\n\n<p>AI features and subscription\/credits are provided through the Refine Rank AI service. After installing the plugin, connect your site using the API token from your Refine Rank AI customer portal. Pricing and plan details are published on <a href=\"https:\/\/refinerankai.com\/\">refinerankai.com<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on third-party services to provide its features. Each service used is described below, together with the data sent, when it is sent, and links to terms and privacy policies.<\/p>\n\n<p><strong>Refine Rank AI service<\/strong><\/p>\n\n<p>The plugin connects to the Refine Rank AI service (<code>api.refinerankai.com<\/code>) to authenticate your site, look up subscription and credit status, and process AI-assisted SEO requests (for example: generating or refining meta titles, meta descriptions, alt text, headings, internal-link suggestions, and schema content).<\/p>\n\n<ul>\n<li>Data sent: your site URL, the API token you configured in plugin settings, and the post\/page content or SEO metadata required by the specific feature you trigger (for example: page title, page text, current meta description).<\/li>\n<li>When: only when you (or an autopilot\/scheduled action you have explicitly enabled) trigger one of these features from the plugin UI.<\/li>\n<li>Provider: Refine Rank AI.<\/li>\n<li>Terms of service: https:\/\/refinerankai.com\/terms\/<\/li>\n<li>Privacy policy: https:\/\/refinerankai.com\/privacy-policy\/<\/li>\n<\/ul>\n\n<p><strong>Google PageSpeed Insights API<\/strong><\/p>\n\n<p>The plugin can request a PageSpeed Insights report for a page from Google's PageSpeed Insights API (<code>https:\/\/www.googleapis.com\/pagespeedonline\/v5\/runPagespeed<\/code>) to display performance metrics inside the plugin dashboard.<\/p>\n\n<ul>\n<li>Data sent: the public URL of the page being analyzed and, optionally, the Google API key you configured in plugin settings.<\/li>\n<li>When: only when you click \"Analyze\" \/ run a PageSpeed scan from the plugin UI.<\/li>\n<li>Provider: Google LLC.<\/li>\n<li>Terms of service: https:\/\/developers.google.com\/speed\/docs\/insights\/v5\/about#terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<p><strong>Google Identity Services<\/strong><\/p>\n\n<p>Optional account linking uses Google Identity Services. When this flow is initiated, the plugin loads Google's GSI client script (<code>https:\/\/accounts.google.com\/gsi\/client<\/code>) so Google can present a sign-in prompt and return an identity token used to link your site to your Refine Rank AI account.<\/p>\n\n<ul>\n<li>Data sent: loading the GSI script causes the user's browser to contact Google. If the user signs in, Google returns an identity token to the plugin, which is then forwarded to Refine Rank AI to link your WordPress site to your Refine Rank AI account.<\/li>\n<li>When: only on the plugin's connection \/ sign-in screens, when the user starts the Google sign-in flow.<\/li>\n<li>Provider: Google LLC.<\/li>\n<li>Terms of service: https:\/\/policies.google.com\/terms<\/li>\n<li>Privacy policy: https:\/\/policies.google.com\/privacy<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin does not sell personal data. Data processing depends on the features you choose to use and on your agreement with the third-party services described in the \"External services\" section above.<\/p>\n\n<ul>\n<li>The API token you enter is stored in WordPress options on your own site.<\/li>\n<li>You should publish a clear privacy policy on your site that describes the use of third-party services and AI features.<\/li>\n<li>Review <a href=\"https:\/\/refinerankai.com\/privacy-policy\/\">Refine Rank AI's privacy policy<\/a> for how the Refine Rank AI service handles the data the plugin sends to it.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>refine-rank-ai<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the ZIP from Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>Refine Rank AI \u2192 Settings<\/strong> and paste your <strong>API token<\/strong> from the Refine Rank AI customer portal.<\/li>\n<li>Complete any onboarding or connection steps shown in the admin (e.g. account linking).<\/li>\n<li>Open the Refine Rank AI dashboard in wp-admin and run a scan or use the features as documented in the plugin UI.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20refine%20rank%20ai%20account%3F\"><h3>Do I need a Refine Rank AI account?<\/h3><\/dt>\n<dd><p>Yes. The plugin is designed to work with a Refine Rank AI account and API token so subscription, credits, and AI-backed features can be applied securely.<\/p><\/dd>\n<dt id=\"do%20i%20need%20my%20own%20openai%20api%20key%20in%20wordpress%3F\"><h3>Do I need my own OpenAI API key in WordPress?<\/h3><\/dt>\n<dd><p>No. You connect with your Refine Rank AI API token. AI requests are handled through the Refine Rank AI infrastructure according to your plan and credits. See the Privacy section for what is sent to external services.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20an%20api%20token%3F\"><h3>Where do I get an API token?<\/h3><\/dt>\n<dd><p>Sign in to the Refine Rank AI customer portal (linked from the plugin\u2019s subscription or settings screens) and copy the site API token into <strong>Refine Rank AI \u2192 Settings<\/strong>.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%3F\"><h3>How much does it cost?<\/h3><\/dt>\n<dd><p>Plans and pricing are listed on <a href=\"https:\/\/refinerankai.com\/\">refinerankai.com<\/a>. The plugin does not replace the need to review current pricing on the website.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20safe%3F\"><h3>Is the plugin safe?<\/h3><\/dt>\n<dd><p>The plugin follows common WordPress practices such as capability checks in the admin, nonces where appropriate for AJAX actions, and escaping output. Always keep WordPress, PHP, and this plugin updated.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.12<\/h4>\n\n<ul>\n<li>Environment discovery cache now uses a single fixed <code>wp_options<\/code> key (<code>rrankai_env_cache<\/code>) with the site domain from <code>home_url()<\/code>, instead of dynamic keys derived from <code>HTTP_HOST<\/code>.<\/li>\n<\/ul>\n\n<h4>1.2.11<\/h4>\n\n<ul>\n<li>Security hardening: <code>save_scan_results()<\/code> now decodes POST JSON (<code>summary<\/code>, <code>details<\/code>) then immediately runs <code>deep_sanitize_scan_payload()<\/code> explicitly on both branches, making sanitization visible at the call site. Removed raw POST data from debug log output.<\/li>\n<\/ul>\n\n<h4>1.2.10<\/h4>\n\n<ul>\n<li>Rank Math compatibility: removed non-existent hook names (<code>rank_math\/clear_cache<\/code>, <code>rank_math\/admin\/flush_cache<\/code>). Use Rank Math\u2019s <strong><code>RankMath\\Helper::clear_cache()<\/code><\/strong> when available (guarded).<\/li>\n<\/ul>\n\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Hardening for WordPress.org review: input sanitization and validated JSON decoding for schema and scan payloads; conflict messages sanitized; external DB class file renamed to <code>class-refine-rank-ai-database.php<\/code> (<code>RefineRankAI_Database<\/code>).<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>Added dedicated \"External services\" section disclosing Refine Rank AI, Google PageSpeed Insights, and Google Identity Services (data sent, when, ToS and privacy links).<\/li>\n<li>Tightened Privacy section.<\/li>\n<li>Removed unused OpenAI endpoint reference from code (AI requests are routed through the Refine Rank AI service).<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Readme aligned with WordPress.org guidelines (service disclosure, installation, FAQ).<\/li>\n<li>Documentation updates for account-based connection and credits.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fixed AI content generation parameter validation<\/li>\n<li>Improved error handling and user feedback<\/li>\n<li>Enhanced subscription management<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added AI integration for SEO workflows<\/li>\n<li>Added subscription and usage management via Refine Rank AI service<\/li>\n<li>Added SEO analysis features<\/li>\n<li>Content generation with preview and editing<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with basic SEO scanning<\/li>\n<li>Schema markup functionality<\/li>\n<li>Internal link analysis<\/li>\n<\/ul>","raw_excerpt":"AI-assisted on-page SEO for WordPress: audits, meta titles and descriptions, headings, alt text, internal links, schema, and more.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/305845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=305845"}],"author":[{"embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/maanig"}],"wp:attachment":[{"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=305845"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=305845"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=305845"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=305845"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=305845"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hsb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=305845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}