Content Rebrand Tracker
Scan site content for configurable terms across posts, meta, and options. Admin-only, with term editing, context tabs, term filter, pagination.
by Brian Bynes · github.com/brianbynes/content-rebrand-tracker
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/brianbynes/content-rebrand-tracker/archive/refs/heads/master.zipA WordPress plugin for tracking and managing content rebranding across your site.
Description
Content Rebrand Tracker makes it easy to search for specific terms across your WordPress site and replace them systematically. It scans posts, pages, meta fields, and WordPress options to find all instances of specified terms.
Features
- Comprehensive Search: Search for terms across posts, pages, meta fields, Yoast SEO meta, and options
- Context-Based Filtering: Filter results by context (posts, meta, Yoast, options)
- Pagination: Navigate through large sets of results easily
- Term Replacement: Replace individual occurrences of terms
- Safe serialized replaces: Replacements in meta/option values preserve serialized data structures (arrays/objects)
- Memory Management: Clear stored data with a click
Usage
- Navigate to the Rebrand Tracker menu in your WordPress admin
- Enter a search term to find throughout your site
- Enter a replacement term
- Replace terms individually or track replaced items
- Use the "Clear All Memory" button to reset tracked state
Optional: On the front-end, append ?rebrand_term=YourTerm to a page URL (while logged in) to temporarily highlight matches. Use the admin bar toggle to enable/disable the highlight on that page.
Development
This plugin uses WordPress core, React, and custom JavaScript. Data is stored both in the WordPress database and browser localStorage.
JavaScript build:
# Install dependencies
npm install
# Start development build (watches js/src/index.js)
# Production build (outputs to js/build/index.js)
## Changelog
- Entry point:
js/src/index.js - Output bundle:
js/build/index.js - Note: The legacy
js/admin-app.jsfile has been removed and is not used.
PHP notes:
- The plugin enqueues
js/build/index.jsin the admin viarebrand_tracker_admin_enqueue(). - AJAX actions:
rebrand_tracker_get_data,rebrand_tracker_set_terms,rebrand_tracker_replace_item, andclear_plugin_memory.
Safety and data integrity
- Serialized meta/option values are handled safely: values are unserialized (if applicable), strings are replaced deep within arrays/objects, and the structured value is saved back, preventing corruption of serialized data.
- Post content replaces operate on raw strings (not serialized).
- A no-op guard prevents writes if the term isn’t found in the target value.
Limitations and tips
- JSON strings stored in meta/options are not specially parsed; replacement occurs as plain text. Consider converting known JSON fields before replacing.
- Scanning all options can be heavy on large sites. If performance is a concern, restrict search terms or consider adding an option-name prefix filter.
- Always make a database backup before bulk replacements on production.
2.4 - May 19, 2025
-
Enhanced the "Clear All Memory" button with improved visual feedback
2.6.0 - October 24, 2025
-
Prevent corruption of serialized values by performing deep replacements within unserialized meta and option data
-
Fix option replacement path: properly resolve
option_namefromoption_idbefore updating -
Add Yoast SEO meta to the UI filter for clarity
-
Remove unused legacy
js/admin-app.js -
Added server-side database cleanup for plugin-specific options
-
Fixed transient data handling during memory clearing operations
2.3
- Initial public release with core functionality