{"id":273414,"date":"2026-01-13T17:35:29","date_gmt":"2026-01-13T17:35:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ra-wp-connector\/"},"modified":"2026-05-02T20:51:13","modified_gmt":"2026-05-02T20:51:13","slug":"rank-authority","status":"publish","type":"plugin","link":"https:\/\/roh.wordpress.org\/plugins\/rank-authority\/","author":23433887,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.42","stable_tag":"1.0.42","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Rank Authority","header_author":"Rank Authority","header_description":"Secure API connector to publish posts \/ overwrite posts from the RA Dashboard to WordPress.","assets_banners_color":"000000","last_updated":"2026-05-02 20:51:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/rankauthority.com\/plugins\/rankauthority","header_author_uri":"https:\/\/rankauthority.com","rating":5,"author_block_rating":0,"active_installs":0,"downloads":1253,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"rankauthority","date":"2026-01-13 17:35:08"},"1.0.1":{"tag":"1.0.1","author":"rankauthority","date":"2026-01-13 18:19:33"},"1.0.10":{"tag":"1.0.10","author":"rankauthority","date":"2026-01-14 19:04:06"},"1.0.11":{"tag":"1.0.11","author":"rankauthority","date":"2026-01-19 22:51:04"},"1.0.12":{"tag":"1.0.12","author":"rankauthority","date":"2026-01-21 01:23:09"},"1.0.13":{"tag":"1.0.13","author":"rankauthority","date":"2026-01-24 01:23:41"},"1.0.14":{"tag":"1.0.14","author":"rankauthority","date":"2026-01-30 23:25:14"},"1.0.15":{"tag":"1.0.15","author":"rankauthority","date":"2026-02-09 15:55:24"},"1.0.16":{"tag":"1.0.16","author":"rankauthority","date":"2026-02-12 01:01:52"},"1.0.17":{"tag":"1.0.17","author":"rankauthority","date":"2026-02-17 23:09:10"},"1.0.18":{"tag":"1.0.18","author":"rankauthority","date":"2026-02-18 00:27:19"},"1.0.19":{"tag":"1.0.19","author":"rankauthority","date":"2026-02-18 00:27:19"},"1.0.2":{"tag":"1.0.2","author":"rankauthority","date":"2026-01-13 18:30:10"},"1.0.20":{"tag":"1.0.20","author":"rankauthority","date":"2026-02-26 08:44:11"},"1.0.21":{"tag":"1.0.21","author":"rankauthority","date":"2026-02-26 09:00:28"},"1.0.22":{"tag":"1.0.22","author":"rankauthority","date":"2026-02-26 09:00:28"},"1.0.23":{"tag":"1.0.23","author":"rankauthority","date":"2026-02-26 09:18:19"},"1.0.24":{"tag":"1.0.24","author":"rankauthority","date":"2026-02-26 09:27:49"},"1.0.25":{"tag":"1.0.25","author":"rankauthority","date":"2026-03-06 19:23:51"},"1.0.26":{"tag":"1.0.26","author":"rankauthority","date":"2026-03-11 03:52:15"},"1.0.27":{"tag":"1.0.27","author":"rankauthority","date":"2026-03-11 03:57:06"},"1.0.28":{"tag":"1.0.28","author":"rankauthority","date":"2026-03-11 04:05:05"},"1.0.29":{"tag":"1.0.29","author":"rankauthority","date":"2026-03-11 07:21:19"},"1.0.3":{"tag":"1.0.3","author":"rankauthority","date":"2026-01-14 09:41:30"},"1.0.30":{"tag":"1.0.30","author":"rankauthority","date":"2026-03-11 20:19:00"},"1.0.31":{"tag":"1.0.31","author":"rankauthority","date":"2026-03-12 18:08:00"},"1.0.32":{"tag":"1.0.32","author":"rankauthority","date":"2026-03-12 18:12:26"},"1.0.33":{"tag":"1.0.33","author":"rankauthority","date":"2026-03-12 18:51:05"},"1.0.34":{"tag":"1.0.34","author":"rankauthority","date":"2026-03-17 22:49:46"},"1.0.35":{"tag":"1.0.35","author":"rankauthority","date":"2026-03-18 00:02:43"},"1.0.36":{"tag":"1.0.36","author":"rankauthority","date":"2026-03-26 00:01:04"},"1.0.37":{"tag":"1.0.37","author":"rankauthority","date":"2026-03-27 22:38:56"},"1.0.38":{"tag":"1.0.38","author":"rankauthority","date":"2026-04-16 23:49:47"},"1.0.39":{"tag":"1.0.39","author":"rankauthority","date":"2026-04-27 21:14:42"},"1.0.4":{"tag":"1.0.4","author":"rankauthority","date":"2026-01-14 17:14:29"},"1.0.40":{"tag":"1.0.40","author":"rankauthority","date":"2026-04-28 22:45:15"},"1.0.41":{"tag":"1.0.41","author":"rankauthority","date":"2026-04-30 07:39:21"},"1.0.42":{"tag":"1.0.42","author":"rankauthority","date":"2026-05-02 20:51:13"},"1.0.5":{"tag":"1.0.5","author":"rankauthority","date":"2026-01-14 17:14:29"},"1.0.6":{"tag":"1.0.6","author":"rankauthority","date":"2026-01-14 18:41:52"},"1.0.7":{"tag":"1.0.7","author":"rankauthority","date":"2026-01-14 18:41:52"},"1.0.8":{"tag":"1.0.8","author":"rankauthority","date":"2026-01-14 18:47:30"},"1.0.9":{"tag":"1.0.9","author":"rankauthority","date":"2026-01-14 19:04:06"}},"upgrade_notice":{"1.0.42":"<p>Adds an HTTPS-only dashboard bootstrap endpoint for WordPress administrators to complete first-time connections and retrieve site setup metadata.<\/p>","1.0.41":"<p>Adds authenticated IndexNow setup support and serves the verified key file at <code>\/{key}.txt<\/code>.<\/p>","1.0.40":"<p>Adds an authenticated bulk delete endpoint for deleting multiple posts or pages by slug.<\/p>","1.0.39":"<p>Fixes the Rank Authority settings page admin layout so the WordPress sidebar\/top bar remain aligned and unrelated admin notices no longer clutter the page.<\/p>","1.0.38":"<p>Schema placeholders like [SITE NAME], [SITE URL], [LOGO URL], and [PAGE URL] are now automatically replaced with your real WordPress site values at publish and render time. No dashboard or API changes required.<\/p>","1.0.37":"<p>RSS feeds now advertise a standard WebSub hub link for PubSubHubbub-compatible discovery. No Rank Authority Dashboard or REST API changes required.<\/p>","1.0.36":"<p>RSS and Atom feeds now sort by modified date with a higher default item count so updates are discovered sooner. No dashboard or API changes required.<\/p>","1.0.35":"<p>PUT response now always includes schema for consistency. Use the response to verify stored structured data regardless of whether schema was sent in the request.<\/p>","1.0.34":"<p>Schema enhancements: publisher name and author now use your WordPress site name and post author. Structured data will reflect your site&#039;s branding and authorship.<\/p>","1.0.33":"<p>PUT now clears page builder meta when updating content (Elementor, WPBakery, Divi, etc.) so changes appear on frontend. Response includes builder data for restore; send builder_meta to re-apply. Added post_meta param for custom meta updates.<\/p>","1.0.32":"<p>GEO page top padding increased to 10rem for better compatibility with themes that use tall fixed headers.<\/p>","1.0.31":"<p>GEO page template now has increased top padding for theme fixed headers. Fixes content being cut off in public view.<\/p>","1.0.30":"<p>PUT now returns full updated content and auto-clears cache so public view updates immediately without manual cache purge.<\/p>","1.0.29":"<p>New GET endpoint to fetch post\/page content by ID. Use the same Bearer token to retrieve published, draft, and private content.<\/p>","1.0.28":"<p>GEO page template now accounts for admin bar height so content is not covered when viewing while logged in.<\/p>","1.0.27":"<p>GEO content now auto-uses page title as Yoast focus keyphrase when none provided, so Yoast SEO score is visible for prompt-based content.<\/p>","1.0.26":"<p>GEO content is now published as WordPress pages instead of posts. Use <code>is_geo: true<\/code> or include Geo category ID in the publish request. Existing geo posts remain unchanged; new GEO content will appear under Pages.<\/p>","1.0.24":"<p>Publisher logo dimensions now conform to Google&#039;s 600px max width guideline. Fixes Search Console structured data validation warnings.<\/p>","1.0.23":"<p>Schema mainEntityOfPage now uses actual post URL. API responses include the final schema for verification.<\/p>","1.0.22":"<p>Schema mainEntityOfPage now uses actual post URL. API responses include the final schema for verification.<\/p>","1.0.21":"<p>Schema mainEntityOfPage now uses actual post URL. API responses include the final schema for verification.<\/p>","1.0.20":"<p>Schema enhancements: placeholder images are now replaced with actual uploaded URLs, and publisher logo uses your WordPress site logo when available.<\/p>","1.0.19":"<p>Fixed Geo exclusion on \/blog and custom Blog pages. Now works with page templates and page builders that use custom queries.<\/p>","1.0.18":"<p>Geo category posts are now excluded from the main blog page. GEO content (image-less posts) will only appear at \/category\/geo\/, keeping your blog listing clean.<\/p>","1.0.16":"<p>Improved token reset user experience with loading overlay and progress indicator. Users will now see a clear visual feedback when resetting tokens, and all buttons are disabled during the process to prevent accidental clicks.<\/p>","1.0.15":"<p>Added new connection check endpoint (<code>\/ra\/v1\/check<\/code>) that allows you to verify if a website_id is connected without modifying any settings. This provides better workflow for connection verification.<\/p>","1.0.14":"<p>Token reset functionality is now available to all administrators. Any user with manage_options capability can regenerate the connection token, providing better flexibility for team environments.<\/p>","1.0.13":"<p>Added full HTML document parsing - automatically extracts and processes meta tags, schemas, styles, and content from complete HTML documents. Enhanced schema merging to combine schemas from HTML and API parameters.<\/p>","1.0.12":"<p>Added schema\/structured data support - now you can set JSON-LD schema markup via API for better SEO.<\/p>","1.0.11":"<p>Added SEO metadata support - now you can set meta descriptions and focus keywords via API.<\/p>","1.0.10":"<p>Improved UI layout - version information now displayed in footer for better visual hierarchy.<\/p>","1.0.9":"<p>Updated support contact information.<\/p>","1.0.8":"<p>Updated default admin menu icon color to #9BA2A6 for better visual consistency.<\/p>","1.0.7":"<p>Improved button styling and card layout. Reset button form now uses CSS classes for better maintainability.<\/p>","1.0.6":"<p>Fixed button width alignment - Copy Token and Reset buttons now have perfectly equal widths.<\/p>","1.0.5":"<p>Minor UI improvements: Reset button width fix and improved admin menu icon styling.<\/p>","1.0.4":"<p>Fixed toggle functionality bug. The AI SEO Tracking toggle now works correctly when clicking the toggle button.<\/p>","1.0.3":"<p>Major UI update with modern design. All functionality remains the same - only visual improvements.<\/p>","1.0.2":"<p>Fixed admin menu icon display issue for better compatibility.<\/p>","1.0.1":"<p>Minor update with custom menu icon and improved cleanup functionality.<\/p>","1.0.0":"<p>Initial release of Rank Authority.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3438857,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3438857,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3438857,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3438857,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.10","1.0.11","1.0.12","1.0.13","1.0.14","1.0.15","1.0.16","1.0.17","1.0.18","1.0.19","1.0.2","1.0.20","1.0.21","1.0.22","1.0.23","1.0.24","1.0.25","1.0.26","1.0.27","1.0.28","1.0.29","1.0.3","1.0.30","1.0.31","1.0.32","1.0.33","1.0.34","1.0.35","1.0.36","1.0.37","1.0.38","1.0.39","1.0.4","1.0.40","1.0.41","1.0.42","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Plugin settings page showing connection token","2":"Token management options for owners","3":"Connection status display"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1556,4917,7143,23853,186],"plugin_category":[55],"plugin_contributors":[253924],"plugin_business_model":[],"class_list":["post-273414","plugin","type-plugin","status-publish","hentry","plugin_tags-api","plugin_tags-content-management","plugin_tags-publishing","plugin_tags-rest-api","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-rankauthority","plugin_committers-rankauthority"],"banners":{"banner":"https:\/\/ps.w.org\/rank-authority\/assets\/banner-772x250.png?rev=3438857","banner_2x":"https:\/\/ps.w.org\/rank-authority\/assets\/banner-1544x500.png?rev=3438857","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/rank-authority\/assets\/icon-128x128.png?rev=3438857","icon_2x":"https:\/\/ps.w.org\/rank-authority\/assets\/icon-256x256.png?rev=3438857","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Rank Authority is a secure WordPress plugin that enables seamless integration between your WordPress site and the Rank Authority Dashboard. It provides REST API endpoints for publishing, updating, and deleting blog posts directly from your dashboard, plus IndexNow key-file support for search engine discovery workflows.<\/p>\n\n<p><strong>New in 1.0.42:<\/strong> Dashboard bootstrap support lets WordPress administrators authorize first-time connections through <code>POST \/ra\/v1\/bootstrap<\/code>, returning the plugin bearer token and site setup metadata over HTTPS.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Secure Token-Based Authentication<\/strong>: Uses Bearer token authentication for secure API access<\/li>\n<li><strong>Publish Posts<\/strong>: Create new blog posts directly from the Rank Authority Dashboard<\/li>\n<li><strong>Update Posts<\/strong>: Modify existing published posts with new content<\/li>\n<li><strong>Delete Posts<\/strong>: Remove posts from your WordPress site<\/li>\n<li><strong>IndexNow Key File Support<\/strong>: Configure and serve the IndexNow key file at <code>\/{key}.txt<\/code> for compatible search engine discovery workflows<\/li>\n<li><strong>Dashboard Bootstrap Connection<\/strong>: Let administrators complete first-time dashboard connections through an HTTPS-only bootstrap endpoint<\/li>\n<li><strong>RSS \/ WebSub<\/strong>: RSS 2.0 feeds declare a PubSubHubbub (WebSub) hub link so update-friendly services can discover feed changes faster<\/li>\n<li><strong>SEO Script Injection<\/strong>: Automatically injects SEO tracking scripts into your site header<\/li>\n<li><strong>Owner Controls<\/strong>: Token owner can manage visibility and regenerate tokens<\/li>\n<li><strong>HTTPS Required<\/strong>: All API requests require HTTPS for security<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Navigate to WordPress Admin \u2192 Rank Authority<\/li>\n<li>Copy your unique connection token<\/li>\n<li>Use the token in your Rank Authority Dashboard to connect your WordPress site<\/li>\n<li>Start publishing content directly from your dashboard!<\/li>\n<\/ol>\n\n<h4>Security Features<\/h4>\n\n<ul>\n<li>Bearer token authentication<\/li>\n<li>HTTPS requirement for all API requests<\/li>\n<li>Token regeneration capability<\/li>\n<li>Owner-based access controls<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>For support, please visit https:\/\/rankauthority.com or email support@rankauthority.com<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Developed by Rank Authority\nWebsite: https:\/\/rankauthority.com<\/p>\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 \u2192 Add New<\/li>\n<li>Search for \"Rank Authority\"<\/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 \u2192 Add New<\/li>\n<li>Click \"Upload Plugin\"<\/li>\n<li>Choose the 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 WordPress Admin \u2192 Rank Authority<\/li>\n<li>Copy your connection token<\/li>\n<li>Use this token in your Rank Authority Dashboard to connect your site<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20get%20my%20connection%20token%3F\"><h3>How do I get my connection token?<\/h3><\/dt>\n<dd><p>After installing the plugin, navigate to WordPress Admin \u2192 Rank Authority. Your unique token will be displayed on the settings page.<\/p><\/dd>\n<dt id=\"is%20my%20site%20secure%20with%20this%20plugin%3F\"><h3>Is my site secure with this plugin?<\/h3><\/dt>\n<dd><p>Yes! The plugin uses Bearer token authentication and requires HTTPS for all API requests. Only users with the token can access the API endpoints.<\/p><\/dd>\n<dt id=\"can%20i%20regenerate%20my%20token%3F\"><h3>Can I regenerate my token?<\/h3><\/dt>\n<dd><p>Yes, any administrator with manage_options capability can regenerate the token from the plugin settings page. This will invalidate the old token. Token reset is no longer restricted to the plugin owner only.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20disconnect%3F\"><h3>What happens if I disconnect?<\/h3><\/dt>\n<dd><p>When you disconnect from the Rank Authority Dashboard, the website_id will be removed and SEO scripts will stop being injected into your site.<\/p><\/dd>\n<dt id=\"can%20multiple%20users%20connect%20to%20the%20same%20site%3F\"><h3>Can multiple users connect to the same site?<\/h3><\/dt>\n<dd><p>The plugin supports site-level connection. The last user to connect will overwrite the previous website_id. For team collaboration, consider using a shared account.<\/p><\/dd>\n<dt id=\"privacy%20%26%20tracking\"><h3>Privacy &amp; Tracking<\/h3><\/dt>\n<dd><p>This plugin includes optional SEO tracking functionality that is <strong>disabled by default<\/strong>.<\/p>\n\n<p><strong>Opt-In Required:<\/strong>\n* SEO tracking scripts are NOT loaded unless you explicitly enable them in the plugin settings.\n* You must check the \"Enable SEO Tracking\" checkbox in the plugin settings to consent to data collection.\n* Even after connecting your site with the connection token, scripts will not load until you enable tracking.<\/p>\n\n<p><strong>What Data is Collected:<\/strong>\n* Website analytics and SEO performance metrics\n* Website ID for connection purposes<\/p>\n\n<p><strong>When Data is Sent:<\/strong>\n* Only when you have explicitly enabled SEO tracking AND connected your site using the connection token\n* Data is sent to Rank Authority CDN<\/p>\n\n<p><strong>Your Control:<\/strong>\n* You can disable tracking at any time by unchecking the \"Enable SEO Tracking\" option\n* Disconnecting your site will also stop script injection\n* All tracking is reversible and not mandatory for plugin functionality<\/p>\n\n<p>For more details, see the External Services section above and the plugin settings page.<\/p><\/dd>\n<dt id=\"external%20services\"><h3>External Services<\/h3><\/dt>\n<dd><p>This plugin connects to Rank Authority Dashboard (https:\/\/rankauthority.com) and loads scripts from external CDNs when your site is connected and you have explicitly enabled SEO tracking in the plugin settings.<\/p>\n\n<p><strong>Rank Authority Services:<\/strong>\n* <strong>Service<\/strong>: Rank Authority Dashboard and CDN\n* <strong>Purpose<\/strong>: SEO tracking, analytics, and content management\n* <strong>Data Sent<\/strong>: Website analytics, SEO performance metrics, website ID, and content publishing data\n* <strong>When Data is Sent<\/strong>: Only when you explicitly enable SEO tracking in plugin settings and connect your site using the connection token\n* <strong>Terms of Service<\/strong>: https:\/\/rankauthority.com\/terms-of-service\/\n* <strong>Privacy Policy<\/strong>: https:\/\/rankauthority.com\/privacy-policy\/<\/p>\n\n<p><strong>Important Notes:<\/strong>\n* SEO tracking is <strong>disabled by default<\/strong>. You must explicitly enable it in the plugin settings.\n* All external connections require your explicit opt-in consent through the plugin settings.\n* No external connections are made until you enable SEO tracking and connect your site using the connection token.\n* You can disable tracking at any time by unchecking the \"Enable SEO Tracking\" option in plugin settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.42<\/h4>\n\n<ul>\n<li>Added <code>POST \/ra\/v1\/bootstrap<\/code> for first-time Rank Authority Dashboard connection setup after WordPress administrator authorization<\/li>\n<li>Bootstrap responses include the plugin bearer token, website ID, IndexNow setup metadata, permalink status, and plugin version<\/li>\n<li>Bootstrap connection setup requires HTTPS and <code>manage_options<\/code> capability<\/li>\n<\/ul>\n\n<h4>1.0.41<\/h4>\n\n<ul>\n<li>Added authenticated IndexNow configuration and status endpoints for Rank Authority Dashboard setup<\/li>\n<li>Serves the stored IndexNow key at <code>\/{key}.txt<\/code> only on an exact path match, without requiring rewrite-rule flushes<\/li>\n<li>Connection and IndexNow status responses now include plugin version and IndexNow setup metadata<\/li>\n<\/ul>\n\n<h4>1.0.40<\/h4>\n\n<ul>\n<li>Added POST <code>\/ra\/v1\/posts\/bulk-delete<\/code> endpoint to delete multiple posts or pages by slug in one authenticated request<\/li>\n<\/ul>\n\n<h4>1.0.39<\/h4>\n\n<ul>\n<li>Fixed the Rank Authority settings page layout so WordPress admin navigation and top-level admin chrome keep their normal positioning<\/li>\n<li>Scoped the settings page background and spacing to the plugin content area instead of applying layout styles to the whole admin body<\/li>\n<li>Hid unrelated third-party admin notices on the Rank Authority settings page and restyled plugin-generated success messages for consistent alignment<\/li>\n<\/ul>\n\n<h4>1.0.38<\/h4>\n\n<ul>\n<li>Schema: Site-level placeholder tokens (<code>[SITE NAME]<\/code>, <code>[SITE URL]<\/code>, <code>[LOGO URL]<\/code>, <code>[PAGE URL]<\/code>) emitted by the LLM are now resolved to real WordPress values at publish time<\/li>\n<li><code>[LOGO URL]<\/code> falls back to the site icon (favicon) when no Customizer logo is set; left as a literal token if neither exists to avoid emitting an empty-URL ImageObject<\/li>\n<li>Placeholder substitution runs after field-specific replacements on both POST and PUT, recursively walking decoded JSON-LD as well as raw JSON \/ HTML schema strings<\/li>\n<li>Render-time normalization: <code>wp_head<\/code> now re-applies site-placeholder substitution and refreshes <code>mainEntityOfPage.@id<\/code> with the current permalink so structured data stays in sync after slug, site name, URL, or logo changes<\/li>\n<\/ul>\n\n<h4>1.0.37<\/h4>\n\n<ul>\n<li>RSS 2.0 feeds: added WebSub (PubSubHubbub) hub discovery (<code>atom:link rel=\"hub\"<\/code>) pointing to the public hub at <code>https:\/\/pubsubhubbub.appspot.com\/<\/code> so hubs and subscribers can receive push-style feed notifications when you publish or update posts<\/li>\n<li>Complements 1.0.36 feed behavior (sort by modified date, up to 50 items per feed request)<\/li>\n<\/ul>\n\n<h4>1.0.36<\/h4>\n\n<ul>\n<li>RSS \/ Atom feeds: main site feed orders posts by last modified date (newest changes first) instead of publish date only<\/li>\n<li>Feed requests up to 50 items per request so recently updated posts surface faster for crawlers and subscribers<\/li>\n<\/ul>\n\n<h4>1.0.35<\/h4>\n\n<ul>\n<li>PUT response now always includes schema (stored schema or null)<\/li>\n<li>Previously schema was only included when schema was sent in the request<\/li>\n<\/ul>\n\n<h4>1.0.34<\/h4>\n\n<ul>\n<li>Schema publisher.name now replaced with WordPress site name (Settings &gt; General)<\/li>\n<li>Schema author fully replaced with WordPress post author as Person (@type Person, name, url)<\/li>\n<li>Ensures schema uses your site's publisher name and post author for consistent structured data<\/li>\n<\/ul>\n\n<h4>1.0.33<\/h4>\n\n<ul>\n<li>PUT update: Page builder meta (Elementor, WPBakery, Divi, Beaver Builder, Bricks) now cleared when updating content so frontend uses post_content<\/li>\n<li>PUT response includes cleared_builder and cleared_builder_meta (saved builder data for restore)<\/li>\n<li>PUT accepts builder_meta to restore page builder layout (send cleared_builder_meta back to re-apply)<\/li>\n<li>PUT accepts post_meta for arbitrary post meta updates (blocklist protects sensitive keys)<\/li>\n<li>Elementor CSS file (post-{id}.css) deleted when clearing Elementor meta to avoid orphaned CSS loading<\/li>\n<li>Filters: rank_authority_page_builder_meta_keys, rank_authority_post_meta_blocklist<\/li>\n<\/ul>\n\n<h4>1.0.32<\/h4>\n\n<ul>\n<li>GEO page template: Increased top padding to 10rem for better clearance of theme fixed headers<\/li>\n<li>Ensures GEO content is fully visible below sticky headers on all themes<\/li>\n<\/ul>\n\n<h4>1.0.31<\/h4>\n\n<ul>\n<li>GEO page template: Increased top padding for theme fixed\/sticky headers in public view<\/li>\n<li>Fixes content being cut off at top when viewing GEO pages as non-logged-in visitor<\/li>\n<li>Applies to both page-geo.php and category-geo.php templates<\/li>\n<\/ul>\n\n<h4>1.0.30<\/h4>\n\n<ul>\n<li>PUT response now includes full updated content (title, content, excerpt, etc.)<\/li>\n<li>Auto-clear post cache after POST\/PUT so public view shows new content immediately<\/li>\n<li>Supports WP Rocket, W3 Total Cache, LiteSpeed Cache; hook <code>rank_authority_post_cache_cleared<\/code> for custom cache plugins<\/li>\n<\/ul>\n\n<h4>1.0.29<\/h4>\n\n<ul>\n<li>Added GET \/ra\/v1\/post\/{id} endpoint to retrieve post or page by ID<\/li>\n<li>Returns content, meta_description, schema, yoast_keyword, featured_image, categories, tags, is_geo<\/li>\n<li>Works with same Bearer token; supports draft, private, and pending posts\/pages<\/li>\n<\/ul>\n\n<h4>1.0.28<\/h4>\n\n<ul>\n<li>GEO page template: Added padding for admin bar so content is not covered when logged in<\/li>\n<li>Prevents WordPress toolbar from overlapping page content on GEO pages<\/li>\n<\/ul>\n\n<h4>1.0.27<\/h4>\n\n<ul>\n<li>GEO: When yoast_keyword is not provided, use page title as Yoast focus keyphrase<\/li>\n<li>Enables Yoast SEO score display for prompt-based GEO content (no explicit keyword)<\/li>\n<li>Applies to both publish and update endpoints<\/li>\n<\/ul>\n\n<h4>1.0.26<\/h4>\n\n<ul>\n<li>GEO content now published as WordPress pages instead of posts<\/li>\n<li>Use <code>is_geo: true<\/code> or include Geo category ID in <code>categories<\/code> to publish as page<\/li>\n<li>GET \/ra\/v1\/geo-category now returns <code>publish_as_page: true<\/code> for Dashboard compatibility<\/li>\n<li>Added templates\/page-geo.php for GEO page display (text-focused, no thumbnails)<\/li>\n<li>Geo pages marked with _rank_authority_geo meta for identification<\/li>\n<li>Delete endpoint works for both posts and pages (unchanged behavior)<\/li>\n<\/ul>\n\n<h4>1.0.25<\/h4>\n\n<ul>\n<li>Fixed admin page layout - scoped CSS reset to plugin content only<\/li>\n<li>Prevents WordPress admin nav and sidebar from being misaligned on Rank Authority settings page<\/li>\n<\/ul>\n\n<h4>1.0.24<\/h4>\n\n<ul>\n<li>Publisher logo dimensions now scaled to fit Google guideline (max 600px width)<\/li>\n<li>Prevents Search Console structured data validation warnings for oversized logos<\/li>\n<\/ul>\n\n<h4>1.0.23<\/h4>\n\n<ul>\n<li>Schema mainEntityOfPage.@id now replaced with actual published post URL<\/li>\n<li>Publish and update post API responses now include final schema (JSON) in response<\/li>\n<li>Ensures schema references the correct permalink for SEO and rich results<\/li>\n<\/ul>\n\n<h4>1.0.22<\/h4>\n\n<ul>\n<li>Schema mainEntityOfPage.@id now replaced with actual published post URL<\/li>\n<li>Publish and update post API responses now include final schema (JSON) in response<\/li>\n<li>Ensures schema references the correct permalink for SEO and rich results<\/li>\n<\/ul>\n\n<h4>1.0.21<\/h4>\n\n<ul>\n<li>Schema mainEntityOfPage.@id now replaced with actual published post URL<\/li>\n<li>Publish and update post API responses now include final schema (JSON) in response<\/li>\n<li>Ensures schema references the correct permalink for SEO and rich results<\/li>\n<\/ul>\n\n<h4>1.0.20<\/h4>\n\n<ul>\n<li>Schema image replacement - replaces placeholder images with actual uploaded URLs<\/li>\n<li>Supports featured_image_url, images, and images_urls parameters for schema image swap<\/li>\n<li>Schema logo replacement - replaces publisher.logo with WordPress site logo from Customizer when available<\/li>\n<li>Keeps ImageObject structure for logo (url, width, height)<\/li>\n<li>Full support for @graph schema format (BlogPosting, FAQPage, etc.)<\/li>\n<\/ul>\n\n<h4>1.0.19<\/h4>\n\n<ul>\n<li>Fixed Geo exclusion on \/blog and custom Blog pages<\/li>\n<li>Applies to pages whose slug contains \"blog\" or \"news\" (e.g. \/blog, \/blog-2, \/news, \/news-en)<\/li>\n<li>Filters: <code>ra_geo_exclude_page_slugs<\/code> (exact match), <code>ra_geo_exclude_slug_contains<\/code> (partial match)<\/li>\n<li>Applies to main query and secondary queries (custom page templates, page builders)<\/li>\n<\/ul>\n\n<h4>1.0.18<\/h4>\n\n<ul>\n<li>Exclude Geo category posts from main blog\/posts page<\/li>\n<li>Blog page now shows only non-Geo posts - Geo posts visible only at \/category\/geo\/<\/li>\n<li>Prevents image-less GEO content from appearing in blog listing<\/li>\n<\/ul>\n\n<h4>1.0.17<\/h4>\n\n<ul>\n<li>Added Geo category for Generative Engine Optimization (GEO) content<\/li>\n<li>Auto-creates \"Geo\" category on plugin install and update<\/li>\n<li>Geo category archive uses custom template - text-only list without thumbnails<\/li>\n<li>Added GET \/ra\/v1\/geo-category API endpoint to fetch Geo category ID for Dashboard<\/li>\n<li>Use Geo category for AI-optimized posts without featured images<\/li>\n<\/ul>\n\n<h4>1.0.16<\/h4>\n\n<ul>\n<li>Added loading overlay and progress indicator for token reset functionality<\/li>\n<li>Improved user experience during token regeneration - prevents accidental button clicks<\/li>\n<li>Enhanced visual feedback with animated spinner and status messages<\/li>\n<li>Better UX with disabled buttons during reset process to prevent user errors<\/li>\n<\/ul>\n\n<h4>1.0.15<\/h4>\n\n<ul>\n<li>Added new <code>\/ra\/v1\/check<\/code> REST API endpoint for connection verification<\/li>\n<li>Connection check endpoint validates website_id without registration<\/li>\n<li>Improved connection verification workflow - can now check if a site is connected without modifying settings<\/li>\n<li>Enhanced API functionality with dedicated connection verification endpoint<\/li>\n<\/ul>\n\n<h4>1.0.14<\/h4>\n\n<ul>\n<li>Token reset functionality now available to all administrators with manage_options capability<\/li>\n<li>Removed owner-only restriction for token regeneration<\/li>\n<li>Improved flexibility for team environments where multiple administrators need token management access<\/li>\n<li>Enhanced security by maintaining manage_options capability requirement<\/li>\n<\/ul>\n\n<h4>1.0.13<\/h4>\n\n<ul>\n<li>Added full HTML document parsing support - automatically extracts title, meta tags, schema, and styles<\/li>\n<li>Enhanced schema support to handle HTML format with multiple script tags<\/li>\n<li>Added automatic meta tag extraction from HTML head (description, canonical, Open Graph, Twitter Card)<\/li>\n<li>Added automatic style tag extraction and output in wp_head<\/li>\n<li>Improved schema merging - combines schemas from HTML and schema parameter<\/li>\n<li>Added JSON validation for schema content before output<\/li>\n<li>Improved security by validating JSON-LD content extraction<\/li>\n<li>Support for multiple schema types in single HTML string format<\/li>\n<li>Better handling of complex schema structures with @id references<\/li>\n<li>Backward compatible - still supports previous format without full HTML documents<\/li>\n<\/ul>\n\n<h4>1.0.12<\/h4>\n\n<ul>\n<li>Added support for schema parameter in publish and update post endpoints<\/li>\n<li>Added JSON-LD structured data output in wp_head for SEO<\/li>\n<li>Enhanced schema compatibility with multiple SEO plugins (Yoast SEO, Rank Math, All in One SEO)<\/li>\n<li>Improved structured data support for better search engine visibility<\/li>\n<\/ul>\n\n<h4>1.0.11<\/h4>\n\n<ul>\n<li>Added support for meta_description parameter in publish and update post endpoints<\/li>\n<li>Added support for keyword parameter to set Yoast SEO focus keyphrase<\/li>\n<li>Enhanced SEO plugin compatibility (Yoast SEO, Rank Math, All in One SEO)<\/li>\n<li>Improved API functionality with SEO metadata support<\/li>\n<\/ul>\n\n<h4>1.0.10<\/h4>\n\n<ul>\n<li>Moved version information from header to footer above \"Powered by\" text<\/li>\n<li>Improved UI layout by removing version from company name row<\/li>\n<li>Enhanced footer styling with dedicated version display<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Updated support email address to support@rankauthority.com<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Changed default admin menu icon color to #9BA2A6 (light gray-blue)<\/li>\n<li>Improved icon color consistency using CSS mask instead of filters<\/li>\n<li>Enhanced icon visibility with better color contrast<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Improved Reset button form styling with CSS classes instead of inline styles<\/li>\n<li>Fixed button width alignment issue by adding dedicated CSS class for reset form<\/li>\n<li>Enhanced code maintainability with cleaner CSS structure<\/li>\n<li>Improved \"What Gets Tracked\" card layout with better flex alignment<\/li>\n<li>Added custom hover color (#72AEE6) for admin menu icon<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fixed Copy Token and Reset button widths to be perfectly equal<\/li>\n<li>Improved button flex layout with min-width and white-space properties<\/li>\n<li>Enhanced button alignment and visual consistency<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fixed Reset button width to match Copy button width<\/li>\n<li>Improved admin menu icon styling - default gray color for better consistency<\/li>\n<li>Enhanced icon visibility with adjusted brightness and opacity<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed AI SEO Tracking toggle functionality - now works correctly when clicking toggle button<\/li>\n<li>Improved toggle button interaction - both banner and toggle button clicks now work properly<\/li>\n<li>Enhanced visual feedback for active\/inactive states<\/li>\n<li>Fixed toggle button label implementation for better accessibility<\/li>\n<li>Improved form submission handling for status changes<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Complete UI redesign with modern, beautiful interface<\/li>\n<li>Added interactive status toggle banner for SEO tracking<\/li>\n<li>Improved user experience with card-based layout<\/li>\n<li>Enhanced visual feedback with animations and transitions<\/li>\n<li>Better information display with icon-based info cards<\/li>\n<li>Streamlined settings page with improved accessibility<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed custom SVG icon display issue in WordPress admin menu<\/li>\n<li>Improved menu icon CSS with better fallback support<\/li>\n<li>Enhanced icon rendering reliability<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added custom SVG icon for admin menu<\/li>\n<li>Improved uninstall cleanup to remove all plugin options<\/li>\n<li>Enhanced admin menu styling with custom Rank Authority logo<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Secure REST API endpoints for publishing, updating, and deleting posts<\/li>\n<li>Token-based authentication<\/li>\n<li>SEO script injection<\/li>\n<li>Owner-based token management<\/li>\n<li>Disconnect functionality<\/li>\n<\/ul>","raw_excerpt":"Secure API connector to publish posts and overwrite posts from the RA Dashboard to WordPress. Token reset functionality is now available to all admini &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/273414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=273414"}],"author":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rankauthority"}],"wp:attachment":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=273414"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=273414"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=273414"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=273414"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=273414"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=273414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}