Royal Links – Affiliate Link Cloaking, Shortener & Tracker

Changelog

2.0.5

  • New: Royal Plugins Founders Bundle banner on the Royal Links Settings and Analytics pages. Shows the six-plugin bundle with a single primary CTA. Per-user dismissable; never injects on the front end.
  • Fix: Fatal error on the Edit Link screen under PHP 8+ when an existing A/B Testing variant was saved with a string-keyed array index. render_variant_row() now casts the index to int before computing the variant letter, eliminating the Unsupported operand types: int + string TypeError.
  • Fix: Editing a Royal Link no longer blocks saving when A/B Testing is disabled. Removed misleading HTML5 min/max attributes on the A/B Testing duration and winner-threshold fields that fired browser validation even when A/B Testing was off, preventing the link from being saved.

2.0.3

  • New: Per-link “This is an affiliate link” checkbox on every Royal Link. Uncheck to use a Royal Link for non-affiliate purposes (WhatsApp click-to-chat, internal redirects, app deep links) without triggering FTC affiliate disclosure language on the pages where it appears.
  • New: Master “Enable Disclosure” toggle in Settings → Royal Links. Cleanly turns the entire automatic disclosure system on or off, separate from the disclosure text content.
  • New: “Default new links to affiliate” setting controls how the per-link flag is initialized when you create a new Royal Link.
  • Improved: Disclosure detection now only fires when at least one Royal Link in the post content is flagged as an affiliate link, rather than on any post that mentions any Royal Link.
  • Migration: One-time backfill on upgrade flags every existing Royal Link as is_affiliate=true so disclosures continue rendering as they did before. No action required.

2.0.2

  • New: WordPress Playground live preview — click “Live Preview” on the plugin listing to try Royal Links in a browser sandbox with 10 sample links and click history pre-seeded.
  • New: Video walkthrough embedded on the plugin listing page.
  • New: Ten screenshots showcasing link management, analytics, geo-targeting, A/B testing, QR codes, product boxes, auto-linking, migration wizard, and link health.

2.0.1

  • Fix: Settings page now renders with white card background
  • Fix: Dashicon alignment on Short URL copy/test buttons
  • Fix: Geo-targeting country selector now uses bundled Select2 (no longer depends on WP core)
  • Fix: Geo-targeting backward compatibility with legacy single-country rules
  • Improved: Bundled Chart.js locally (removed CDN dependency)

2.0.0

  • MAJOR: All premium features are now completely free — no paid tier, no upsells
  • New: Geo-targeting — redirect visitors based on country using ip-api.com
  • New: A/B split testing with conversion tracking
  • New: QR code generation for any link
  • New: Product display boxes with images and CTAs
  • New: Automatic keyword linking across your content
  • New: UTM parameter builder
  • New: Device-based redirects (desktop, mobile, tablet)
  • New: Time-based redirects with scheduling
  • New: Password-protected links
  • New: Affiliate disclosure notices
  • New: Link scheduling with start/end dates
  • New: Migration wizard for Pretty Links, ThirstyAffiliates, and BetterLinks
  • Improved: Enhanced analytics with QR scan tracking
  • Improved: Dashboard widget with period comparison

1.2.0

  • New: Migration wizard — import links from Pretty Links, ThirstyAffiliates, and BetterLinks
  • Fixed: Migrate button was non-functional (form handler was missing)

1.1.3

  • New: Redesigned dashboard widget with period-over-period comparison (30d vs previous 30d)
  • New: Change badges showing click trends, new links, and unique links clicked
  • New: Broken links warning bar with direct link to health checker

1.1.2

  • Security: Improved sanitization of $_GET and $_FILES superglobals
  • Fix: Moved all inline CSS to external stylesheet (WP.org compliance)
  • Fix: Inline JavaScript now uses wp_add_inline_script() properly
  • Fix: PHP limits (set_time_limit, ini_set) now scoped to batch processing only
  • Updated: Chart.js upgraded to v4.5.1 (from v4.4.0)
  • Updated: Contributors field corrected for WP.org username

1.1.1

  • Fixed remaining “WP Links” text in comments, Gutenberg block descriptions, and admin notices
  • All code references now correctly use “Royal Links” branding

1.1.0

  • Rebranded internal references from wp_link to royal_link
  • Updated post type slug for consistency with Royal Links Pro
  • Updated all CSS classes and JS handles to use royal-links prefix

1.0.6

  • Security: Additional output escaping (intval) for numeric values
  • Security: Changed wp_redirect to wp_safe_redirect for safer redirects
  • Security: Proper SQL query preparation with single prepare() call
  • Fix: Bundled Chart.js locally (WP.org disallows external scripts)
  • Fix: Moved documentation link to plugin row meta
  • Fix: Removed deprecated load_plugin_textdomain (WordPress handles automatically)
  • Compatibility: Tested up to WordPress 6.9

1.0.5

  • Fix: Redirect 404 issue – rewrite rules now properly registered on activation
  • Fix: Admin menu now displays “Royal Links” instead of “WP Links”
  • Fix: Added documentation link to plugins page
  • Added: Import limits info (500 links per batch) to Import/Export page

1.0.4

  • Security: Fixed SQL injection vulnerabilities in analytics queries using proper $wpdb->prepare()
  • Security: Added proper output escaping throughout plugin (esc_html, intval, wp_kses_post)
  • Code quality: Added PHPCS ignore comments for valid file operations

1.0.3

  • Added dismissible admin notices for broken link warnings
  • Improved import error handling with specific error messages
  • Added validation for required CSV columns on import
  • Added skipped count display for import results
  • Added BOM handling for Excel-exported CSV files

1.0.2

  • Fixed table formatting issues on All Links page
  • Improved column alignment

1.0.1

  • Bug fixes and improvements

1.0.0

  • Initial release
  • Link shortening with custom slugs
  • 301, 302, 307 redirect support
  • Click tracking and analytics
  • Categories and tags
  • Nofollow/sponsored attributes
  • Gutenberg block
  • Classic Editor integration
  • Import/Export functionality
  • Broken link detection

Plugin Website
Visit website

Version:
2.0.5
Last Updated
April 29, 2026
Requires
WordPress 5.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.