Rank Bix SEO

Changelog

1.1.9

New Features

  • Features page — module enable/disable — A new Rank Bix SEO → Features page lets you toggle individual modules on or off using toggle switches. Available modules: XML Sitemap, Redirections, 404 Monitor, Duplicate Page, Breadcrumbs, IndexNow, LLMs.txt, Broken Link Checker, Table of Contents, and Robots.txt. Core features (Meta Title & Description, Open Graph, Schema / JSON-LD, Image SEO, Bulk SEO Editor) are always active and listed separately. Your data is preserved when a module is disabled. Disabled modules are hidden from the admin nav automatically.

  • Content Manager page — Bulk SEO Editor and Import SEO are now combined under a single Rank Bix SEO → Content Manager page with two tabs: Bulk SEO Editor and Import SEO. The previous separate submenu items have been replaced by this unified page.

  • Multilingual support — Polylang & WPML — Rank Bix SEO now detects and integrates with Polylang and WPML automatically. SEO title, meta description, focus keyword, and secondary keywords are registered as translatable fields with Polylang Pro’s Translation Editor so translators can localise them per language. When a new translation is created in Polylang, all SEO meta fields (title, description, focus keyword, noindex, schema type, social image, and more) are automatically copied to the translated post as a starting point. Structural fields (noindex, schema type, social image ID) are copied but not flagged as translatable, so they remain shared across translations unless overridden. WPML support uses the standard wpml_object_id filter for per-language URL resolution; custom field translation for WPML can be configured via WPML → Settings → Custom Fields Translation.

  • XML Sitemap — hreflang alternates — On multilingual sites running Polylang or WPML, each <url> entry in the XML sitemap now includes <xhtml:link rel=”alternate” hreflang=”…”> tags for every available translation, with an additional x-default entry pointing to the default-language version. The xmlns:xhtml namespace declaration is added to <urlset> only when hreflang links are present, keeping single-language sitemaps unchanged. Translated post URLs are injected as their own <url> entries with their own full hreflang set — ensuring Google sees reciprocal hreflang on every language version. Sitemap caches are automatically invalidated when a translation is saved (pll_save_post / wpml_translation_job_saved), so the sitemap always reflects the latest translation state.

Improvements

  • Admin navigation — The sidebar nav now shows Content Manager and Features as dedicated nav items. Module-conditional items (Redirections, 404 Monitor, Duplicate Page) are hidden from the nav automatically when their module is disabled.
  • Sitemap under Settings — The Sitemap configuration is now accessed via Settings → Sitemap tab. The old standalone Sitemap menu item redirects to Settings for backwards compatibility.
  • Admin toolbar — The admin toolbar dropdown now links to Content Manager instead of the previous separate Bulk SEO link.

1.1.8

Bug Fixes

  • XML Sitemap — proper sitemap index structure — sitemap_index.xml was incorrectly
    outputting a flat <urlset> containing every URL on the site in a single file. It now
    outputs a <sitemapindex> listing individual sub-sitemaps per content type
    (post-sitemap.xml, page-sitemap.xml, category-sitemap.xml,
    post_tag-sitemap.xml), matching the structure search engines expect. The
    “← Back to Sitemap Index” link in the browser view now correctly navigates back to the
    index instead of reloading the same page. /sitemap.xml now 301-redirects to
    /sitemap_index.xml. Trailing-slash variants of sitemap URLs are also redirected to
    the canonical form to prevent duplicate indexing.

1.1.7

New Features

  • 404 Monitor — summary stats + daily chart — The 404 Monitor page now opens with four at-a-glance stat cards (Total URLs, Total Hits, Top URL, Last 24 h) and a 14-day “New 404 URLs Discovered” bar chart above the log table. A one-time schema migration adds a first_seen datetime column to the log table so each URL’s discovery date is tracked, enabling the per-day chart.
  • Bulk SEO Editor — SEO coverage summary — A coverage panel now appears above the editor table showing what percentage of posts for the selected post type have an SEO title and meta description set, displayed as fillable progress bars with percentage labels. Each bar includes a “Fix N missing →” link that applies the relevant missing-field filter in one click. Counts are cached for 10 minutes per post-type and status combination.
  • General Settings — Google SERP preview — A live Google-style search result preview appears below the Homepage Meta Description field in Settings → General. It shows the homepage title (or site name as fallback), domain, and description exactly as they would appear in Google search results, and updates in real time as you type — no save required.
  • Duplicate Page — copy SEO meta data — A new “Copy SEO meta data” checkbox in Duplicate Page settings controls whether SEO title, meta description, focus keyword, and noindex flag are copied to the duplicated post. Enabled by default for backwards-compatible behaviour.

Improvements

  • Redirections — bulk delete — A select-all checkbox, per-row checkboxes, and a bulk delete button now appear in the redirections table. A per-page selector (20 / 50 / 100 / 200) and pagination controls replace the previous flat list for sites with many redirect rules.

1.1.6

New Features

  • Sitemap — XSLT browser view — The XML sitemap now includes an <?xml-stylesheet?> processing instruction pointing to assets/sitemap.xsl. Browsers automatically download and apply the stylesheet, rendering a fully styled HTML page (blue gradient header, branded table layout) — identical in appearance to Rank Math’s sitemap view. Search engine crawlers ignore the PI and receive clean XML as before.
  • Sitemap — unified primary URL — /sitemap_index.xml is now the primary sitemap URL, matching the Pro version. /sitemap.xml continues to work for backwards compatibility. robots.txt and search engine auto-pings now advertise /sitemap_index.xml.

1.1.5

New Features

  • Added WordPress Admin Dashboard Widget — a “Rank Bix SEO Overview” panel on the WordPress dashboard (WP Admin → Dashboard) showing SEO health status (green “all clear” or a list of issues to fix), key site stats (Posts, Pages, Redirects, 404 Errors, Broken Links), quick-action buttons, and a footer with links to Documentation, Support, and Rate Plugin.

Bug Fixes

  • Fixed a critical bug where saving the Duplicate Page settings form wiped all General settings (homepage title, meta description, AI keys, and more). Duplicate Page settings were registered under the same WordPress Settings API group as General settings, causing WordPress to null every General option not present in the Duplicate Page form. Duplicate Page settings are now isolated in their own settings group.
  • Fixed the [rankbix_seo_toc] shortcode ignoring the custom TOC title saved in the post meta box. The shortcode now uses the _rankbix_seo_toc_title meta value as the default title before falling back to “Table of Contents”.

Improvements

  • Admin Toolbar: the Rank Bix SEO menu is now always visible in the admin bar. The previous “Show toolbar menu” toggle is replaced with a focused “Show SEO alert badges” toggle — alerts can be hidden without hiding the entire toolbar menu.
  • SEO Health alerts are now child items inside the Rank Bix SEO toolbar dropdown (with a separator line) rather than standalone top-level bar items. Each alert shows a descriptive tooltip on hover.
  • Added 308 (Permanent, method-preserving) redirect type to the Redirections manager, available in the redirect form and CSV import.
  • Navigation links in Settings (Quick Actions, Getting Started) now use URL hash navigation (#general, #sitemap, #tools) to correctly open the target settings tab.
  • Robots & Indexing checkboxes in the post meta box now include inline descriptions.
  • AI Keys settings card now documents where API keys are stored (WordPress wp_options) and includes a tip for hardening via wp-config.php.

1.1.4

Improvements

  • Added SEO health alerts to the WordPress toolbar. When a critical SEO issue is detected, a red badge appears in the admin bar — visible across all admin screens and on the front end for administrators — with a one-click link to the relevant fix. No configuration needed; alerts appear automatically and disappear once the issue is resolved. Props Rabin Kumar Pal (@@robinpal) for the report.
  • Toolbar now warns when the WordPress “Discourage search engines” setting is enabled (Settings → Reading), preventing your site from being silently invisible to Google.
  • Toolbar now warns when the permalink structure is set to Plain (?p=123), which produces non-descriptive URLs that hurt crawlability and rankings. Links directly to Settings → Permalinks.
  • Toolbar now warns when a conflicting SEO plugin (Yoast SEO, Rank Math, or All in One SEO) is active alongside Rank Bix SEO. Running two SEO plugins simultaneously causes duplicate meta tags and competing sitemaps. Links to the Plugins screen.
  • Toolbar now warns when the homepage SEO title is not set in Rank Bix SEO settings, ensuring Google always receives a meaningful title for your home page. Links directly to the General settings tab.
  • Toolbar now warns when the XML sitemap is disabled, so search engines cannot discover all your pages. Links to the Sitemap settings page.
  • Updated the admin sidebar menu icon with a refined SVG for sharper rendering at small sizes across all screen densities.

1.1.3

Bug Fixes

  • Fixed title and description template settings (e.g. %post_title% %sep% %site_name%) going blank after saving. Template options for all post types and taxonomy archives were registered outside of admin_init, so WordPress’s Settings API did not recognise them and silently discarded the values on every save. Props @lozmatic for the report.

1.1.2

Improvements

  • Settings page now remembers the active tab across saves. Clicking the Tools tab, saving, and returning used to always land back on the General tab. The active tab is now stored in sessionStorage and restored after the options.php redirect, so you land on the tab you were working on.
  • Settings tabs now support direct URL linking via hash — e.g. admin.php?page=rankbix-seo-settings#advanced opens the Advanced tab directly. Hash takes priority over the saved tab; useful for linking from documentation or support replies.
  • SEO score in the post listing column now uses the same 11-check formula as the meta box live analysis, so both show the same number for the same content. Previously the listing used a different weighted system with different criteria, causing scores to diverge.
  • SEO score badge in the post listing now shows a tooltip on hover listing all 11 checks with ✓ / ✗ per check — keyword in title, description, content, first paragraph, URL, internal links, images alt text, featured image, content length, title length, and description length.
  • Dashboard stats row now includes a 404 Errors count (clickable, links to the 404 Monitor log) and a Broken Links count when each feature is enabled. Both turn orange when the count is above zero to draw attention.
  • Added Documentation, Support, and Rate Plugin links to the plugin row in the Plugins list page, following standard WordPress.org plugin conventions.
  • LLMs.txt card in Settings → Tools now shows a live file status indicator — green ✓ File exists or red ✗ File not found (with a prompt to save settings to generate it).
  • Broken Link Checker “Run Scan Now” button is now hidden when the feature is disabled, replaced with a short note to enable it first. Previously the button was always visible but would schedule a scan even when the checker was off.
  • Added load_plugin_textdomain() so translation files in the /languages folder are correctly loaded for all string translations.

Bug Fixes

  • Fixed Google PageSpeed Insights toolbar link opening the PageSpeed homepage instead of running an analysis. URL corrected from pagespeed.web.dev/?url= to pagespeed.web.dev/analysis?url=.
  • Fixed uninstall routine not removing the rankbix_seo_onboarding_dismissed and rankbix_seo_version options added in v1.1.1. Fixed physical llms.txt file at the WordPress root not being deleted on plugin uninstall.

1.1.1

Improvements

  • Improved Tools settings UI — IndexNow, LLMs.txt, 404 Monitor, and Broken Link Checker settings are now grouped with clearer labels, toggle descriptions, and inline status indicators showing whether each feature is active.
  • Added manual broken link scan button — administrators can now trigger an immediate scan from the Tools settings page instead of waiting for the twice-daily cron job. Useful after publishing new content or adding external links.
  • Improved importer result messages — the SEO importer now reports exactly how many titles, descriptions, focus keywords, canonical URLs, and noindex values were transferred, with a clear count of skipped and failed records.
  • Improved onboarding for new users — the dashboard now shows a setup checklist on first activation, highlighting key steps such as setting a homepage title, configuring the sitemap, and enabling IndexNow. Checklist auto-hides once all steps are complete.
  • Added success notice when applying an AI-generated title or description — a green confirmation message appears briefly after clicking “Use This Title” or “Use This Description”.

AI Meta Generator

  • Fixed “Generate Title + Description” returning only the title. A dynamic Gemini responseSchema now enforces both title and description keys at the API level, and the prompt explicitly states both fields are required.
  • Fixed Gemini 404 errors caused by the model list returning names prefixed with models/, which doubled the path in the generate URL (…/models/models/gemini-2.0-flash:generateContent). Prefix is now stripped correctly.
  • Updated default Gemini model from deprecated gemini-1.5-flash to gemini-2.0-flash. Updated meta box quick-select options to gemini-2.0-flash and gemini-2.5-flash.
  • Added responseMimeType: application/json and responseSchema to Gemini requests — forces clean JSON output with no markdown code fences or explanation text, eliminating the most common parse failure.
  • Updated default Claude model to claude-haiku-4-5-20251001 (fully versioned ID for production stability).
  • Updated default Groq model from deprecated llama3-8b-8192 to llama-3.1-8b-instant. Added Groq to the live model list fetch so the retry fallback has real model options.
  • Upgraded Cohere from the deprecated v1 /v1/chat API (using message + preamble fields) to the current v2 /v2/chat API (using messages array). Updated response extraction to match the v2 response structure.
  • Improved AI prompt rules — title and description character limit instructions are now only shown for the relevant field type. Added explicit “MUST contain BOTH keys” instruction for the combined title + description request.
  • Improved JSON response parsing — strips UTF-8 BOM before decoding, falls back to field-level regex extraction when json_decode fails due to unescaped characters, and shows the full raw response in the error message for easier debugging.
  • Increased maxOutputTokens from 400 to 800 across all providers to prevent response truncation mid-JSON.

Table of Contents

  • Fixed auto-insert TOC not appearing on the front end. The stylesheet was being enqueued inside the the_content filter which fires after wp_head(), so the CSS never loaded. Moved enqueueing to the wp action hook so styles are always included in the page <head>.
  • Fixed auto-insert not working with Gutenberg content. Gutenberg renders paragraphs with class attributes (<p class=”wp-block-paragraph”>). The previous check for a bare <p> missed these, causing the TOC to be prepended outside of the content flow. Now uses offset-based substr insertion that matches any opening paragraph tag.
  • Redesigned TOC styling — replaced admin-only CSS variable (–wp-rankbix-seo-color) with self-contained CSS variables defined inside .rankbix-seo-toc, added card shadow, title separator, display: block layout with max-width: 480px, lower-alpha sub-list style, link hover transition, smooth scroll via html:has(.rankbix-seo-toc), and full-width mobile handling.

Bug Fixes

  • Fixed Google PageSpeed Insights toolbar link using the wrong URL path (?url= instead of /analysis?url=), which opened the PageSpeed homepage rather than running an analysis on the current page.
  • Fixed AI generate buttons (“Generate Title + Description”, “Title Only”, “Description Only”) remaining disabled after selecting a provider and reloading the page. The model dropdown was pre-selecting a saved model but never calling rmsOnProviderChange() to update button state. Fixed by calling rmsOnProviderChange() immediately after the dropdown is populated.
  • Fixed layout overflow on the Bulk SEO Editor table on narrow admin screens.
  • Fixed Tools settings toggles not saving correctly when multiple options were changed at the same time.
  • Improved compatibility with caching plugins by ensuring the LLMs.txt physical file is refreshed when settings change rather than relying solely on the transient.

1.1.0

New Features

  • Added IndexNow — automatically notifies Bing, Yandex, and all IndexNow-participating search engines when a post or page is published or updated. Auto-generates and serves the required key verification file.
  • Added LLMs.txt — serves /llms.txt describing your site to AI systems. Includes a customisable content editor and an opt-in setting to block common AI crawlers (GPTBot, Claude-Web, CCBot, Bytespider, PerplexityBot, and others) via robots.txt.
  • Added 404 Monitor — logs all 404 errors to a dedicated database table (up to 500 entries, auto-pruned). Admin page shows URL, referrer, hit count, and last seen date. Clicking “+ Redirect” opens the redirections form with the URL pre-filled.
  • Added Broken Link Checker — background WP-Cron job (twice daily, 5 posts per run) checks external links in published post content using HTTP HEAD requests. Stores up to 50 broken links. Disabled by default; opt-in in Settings → Tools.
  • Added Tools settings tab — centralised settings for IndexNow, LLMs.txt, 404 Monitor, and Broken Link Checker.
  • Added WordPress toolbar (admin bar) menu with quick links to Dashboard, Settings, Redirections, and 404 Monitor.
  • Added External Tools submenu in the toolbar with one-click links to Google PageSpeed Insights, Google Rich Results Test, Google Search Console, Facebook Sharing Debugger, and Schema Markup Validator — pre-filled with the current page URL where applicable.

Security Fixes

  • Fixed Gemini API key being sent as a URL query parameter (?key=). Key is now sent via the X-Goog-Api-Key header, keeping it out of server logs and browser history.
  • Fixed inverted condition in fill_missing_alt() and fix_img_tag() that would silently overwrite intentionally set alt text on images.
  • Fixed rmsImportStatus() using innerHTML with partially controlled content. Replaced with textContent and createElement to prevent potential XSS.
  • Fixed internal link suggestion results injecting unescaped s.url into href and onclick attributes. All URL values are now handled via createElement and addEventListener.
  • Fixed sanitize_text_field() being applied to $_SERVER[‘REQUEST_URI’] before URL parsing, which stripped valid percent-encoded characters and caused redirect matching to fail for encoded URLs.
  • Added rate limiting (20 requests per user per hour) to the AI meta generation AJAX handler to prevent API quota exhaustion.
  • Added explicit current_user_can(‘manage_options’) capability check to render_duplicate_page().
  • Fixed suppress_all_notices() calling remove_all_actions(‘admin_notices’), which silently removed security alerts from other plugins (Wordfence, Jetpack, etc.) on RankBix SEO admin pages.

Bug Fixes

  • Fixed Duplicate Page title prefix and suffix settings never taking effect. Activation wrote rankbix_seo_duplicate_prefix but the class read rankbix_seo_duplicate_title_prefix.
  • Fixed Google News sitemap always pinging Google regardless of the auto-ping setting.
  • Fixed date archive canonical URL returning an empty string. Now uses get_year_link(), get_month_link(), and get_day_link().
  • Fixed HTML sitemap the_content filter replacing all post content on the virtual sitemap page instead of only the sitemap post.
  • Fixed duplicate Sitemap entry in robots.txt caused by both RankBixSEO_Robots and RankBixSEO_Sitemap independently appending the sitemap URL.

Performance

  • XML sitemap output is now cached in a one-hour transient and automatically invalidated on save_post and delete_post.
  • AI provider model list is no longer fetched on every post editor page load. Now loaded lazily via AJAX only when the AI tab is opened, removing up to four blocking external HTTP requests per edit screen load.

Code Quality

  • Removed all // phpcs:ignoreFile blanket suppressions from class-rankbix-seo-admin.php, uninstall.php, and class-rankbix-seo-importer.php. Replaced with targeted inline suppression comments where genuinely needed.
  • AIOSEO importer now processes records in batches of 100 instead of loading the entire table into memory.
  • RankBixSEO_Admin::header() and footer() made public static. RankBixSEO_BulkEditor now uses the shared header and footer, eliminating a duplicate nav implementation that was missing the 404 Monitor tab.
  • Removed orphaned nonce field emitted outside the <form> tag in the Bulk SEO Editor.
  • Removed duplicate $raw_from assignment and redundant triple esc_sql() calls in the redirections handler.

1.0.0

  • Initial release.
  • SEO title and meta description management.
  • Focus keyword analysis with on-page scoring.
  • Open Graph and Twitter Card tags.
  • XML sitemap with image entries and auto-ping.
  • HTML sitemap and shortcode.
  • Google News sitemap.
  • Schema / JSON-LD support for Article, Product, Review, HowTo, FAQ, BreadcrumbList, and LocalBusiness.
  • Redirections manager with 301, 302, and 307 support.
  • CSV import/export for redirects.
  • Bulk SEO editor with pagination and filters.
  • AI meta generator for OpenAI, Claude, Gemini, Groq, and Cohere.
  • Breadcrumbs function and shortcode.
  • Table of Contents with smooth scroll.
  • Image SEO auto alt text handling.
  • Duplicate Page with configurable options.
  • Robots.txt custom rules.
  • Custom canonical URLs.
  • Importer for Yoast SEO, Rank Math, and All in One SEO.
  • Webmaster verification tags.

Plugin Website
Visit website

Author
Sumit Singh
Version:
1.1.9
Last Updated
June 20, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.