DevDome Redirect Manager – Redirects, Link Rotation & Geo Targeting
DevDome Redirect Manager lets you build redirect rules and point traffic wherever you need it: a single destination, a rotating list of URLs, a link already on the page, or the same path on another domain. Each rule has its own targeting, timing, schedule and statistics, and you can run as many rules side by side as you like.
Everything is configured from one screen (Tools language aside, no coding). Rules are independent: when a request comes in, the highest-priority running rule that matches handles it.
Every feature is free and unlimited: unlimited rules, geo targeting, device targeting, scheduling, rotation and per-rule statistics. There is no paid tier of this plugin.
What you can do
- Redirect your entire site, only selected pages/posts/categories, a list of custom URL paths, or every 404 (not-found) page.
- Choose the redirect method per rule: JavaScript, 301 (permanent), 302 (temporary), 307, 308, or HTML meta refresh.
- Send traffic to a list of destination URLs, to a link/button already present on the page, or to the same path on a different domain.
- Rotate through multiple destinations in order (first to last), randomly, or with a weighted "click distribution" you control with a slider.
- Control how often a visitor is redirected: every visit, once per visitor, or again only after a delay you set (minutes/hours/days). Recognise a returning visitor by IP, or by IP + browser/device.
- Redirect only every N-th unique visitor.
- Open the destination in the same tab or a new tab (JavaScript method), with optional instant or randomized delays, and an optional "wait for a click" step.
- Target by device: desktop, mobile, tablet.
- Target by country with an optional geo filter (include only listed countries, or redirect everyone except listed countries).
- Schedule rules: always active, or a custom schedule with a run time, specific weekdays, and specific time windows.
- Decide what happens to visitors who do not match a rule: leave them on the page, or send them to a bypass link.
- Run multiple rules with drag-to-order priority; add, duplicate, delete, start and stop each one independently.
- See per-rule statistics, export every rule to a file, and import them back.
Redirect Setup
What To Redirect
- Entire website – the rule runs on every public page.
- Selected existing URLs – search your Categories, Pages and Posts and add them with a live picker (chips with per-item hit counts; drag to set priority for the "found" mode).
- Custom URLs – type exact paths, one per line (for example
/blog/or/blog/best-headphones/), whether the page exists or not. A trailing slash matches that page and everything under it. - All 404's – the rule runs on every not-found page (handy for catching dead links).
Redirect Method – JavaScript Redirect, 301 Permanent, 302 Temporary, 307 Temporary, 308 Permanent, or Meta Refresh. New-tab opening and client-side delays are available with the JavaScript method only; server and meta methods always open in the same tab.
Where To Send Traffic
- To provided links – enter one or more destination URLs and rotate through them.
- To links or buttons on the page – enter a fragment (for example
amazon.com) and the rule redirects to the matching link/button already on the page. You can target the N-th match. - To same path on another domain – keep the visitor's path and query and send it to another domain (for example
yoursite.com/post/123becomesotherdomain.com/post/123).
Link rotation (provided links) – First to last, Random, or Weighted distribution. The weighted mode adds a Click Distribution slider (first link gets most, even split, or last link gets most) with a live preview. "Repeat List" starts again from the first URL once the list is exhausted.
How often to redirect – Every visit, Once per visitor, or After a delay. When it is not "every visit", you choose how a returning visitor is identified (IP address, or IP + browser/device), can redirect only every N-th unique visitor, and (for the delay option) set the gap before the same visitor is redirected again.
Open Link Settings
- Open Link In – Same Tab or New Tab (New Tab requires the JavaScript method).
- Same Tab Link Delay – instant, or a random delay (seconds) within a range.
- Redirect On Click – wait for the visitor to click/tap anywhere before redirecting, instead of redirecting automatically.
- After Click Delay – after the click, wait a random time (up to 4 seconds) before redirecting.
- New Tab Link Delay – instant or a random delay before the new tab is armed. A new tab can only open on a real click, so the destination opens on the visitor's next click after the delay (browsers block tabs that open by themselves).
Geo Filter Settings
- Test geo service – confirm the geo service is reachable from your server before you rely on it.
- Geo Filtering – turn the country filter on or off (off by default).
- Filter mode – redirect only the listed countries, or redirect everyone except the listed countries. If the visitor's country cannot be resolved, an "except listed" (blacklist) rule does not redirect that visitor (it fails safe).
- Site Behind Proxy / CDN – if your site sits behind Cloudflare or another proxy, enable "Trust forwarded IP headers" so the real visitor IP is used for country lookup. "Detect automatically" inspects the current request and ticks the box for you.
See the External services section below for what the geo filter sends and where.
Optional Settings
- Devices to Redirect – redirect only the checked device types (Desktop / Mobile / Tablet); other devices follow your "Not Redirected Visitors" setting.
- Purge Page Cache On Save – clear cached copies of the pages a rule targets when you save/run it, so the redirect takes effect immediately. Works with WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, WP Fastest Cache, SiteGround Optimizer, WP-Optimize, Cache Enabler, Hummingbird and Breeze.
- Not Redirected Visitors – Leave On Page (do nothing), or Send To Bypass Link (send non-matching visitors to a URL you choose).
- Schedule Mode – Always Active, or Custom Schedule with a run time, selected weekdays, and up to three specific time windows.
Rules, run state and statistics
- Add, duplicate, delete and reorder rules; each rule has its own nickname and priority.
- Start a rule with "Save & Run", stop it with "Stop"; a live status shows Running/Stopped, run time and time left.
- "Save Settings" saves without changing the run state; "Return to Default" resets the current rule's settings.
- Each rule keeps its own statistics (visitors, page views, unique users, unique IPs, redirects, bypassed visitors, per-device and per-country counts, and per-source/destination breakdowns), with a time-range filter. "Reset Stats" clears the current rule's counters and rotation position.
- Export downloads all rules and their configuration to a JSON file (no stats, no run state). Import replaces every rule on the site with the rules from a file (imported rules arrive stopped).
External services
This plugin can talk to two DevDome services, both optional and described below. Service provider for both: DevDome. Terms of service: https://devdome.com/terms-of-service . Privacy policy: https://devdome.com/privacy-policy .
Geo lookup (api.devdome.com/geo-resolve)
The plugin connects to the DevDome geo-resolution service only when you use the optional Geo Filter feature. With Geo Filtering turned off (the default), the plugin does not contact this service.
What it is used for: turning a visitor's IP address into a two-letter country code so a rule can include or exclude countries.
What is sent and when:
- When a rule with Geo Filtering enabled handles a front-end request, the visitor's IP address is sent to
https://api.devdome.com/geo-resolveto look up a country code. Results are cached so the same IP is not looked up repeatedly. - The Test geo service button requests
https://api.devdome.com/geo-resolve/healthto check availability. No visitor data is sent. - The Detect automatically (proxy/CDN) button runs locally on your server and sends no data to any external service.
Bot detection feeds (api.devdome.com/bot-protection)
The plugin bundles the shared DevDome bot-detection library, which can download three block lists so known bots can be matched locally on your server: https://api.devdome.com/bot-protection/list (bot user-agent patterns), https://api.devdome.com/bot-protection/asns (data-center network list) and https://api.devdome.com/bot-protection/drop (Spamhaus DROP IP ranges).
These requests would be scheduled downloads of the lists themselves; no visitor data is ever sent to these endpoints. On this WordPress.org build the feed downloads are disabled entirely: no request is made and no download is scheduled, whether or not a DevDome account is connected.
Optional DevDome account connection (devdome.com and api.devdome.com)
The bundled DevDome library can link this site to a free DevDome account. This is optional and nothing is sent until you press the Connect button on the DevDome screen. Connecting opens devdome.com in your browser to sign in; after approval the plugin stores your public DevDome Account ID and a site token, and verifies the link against https://api.devdome.com/plugin/account (sending the site domain and the site token). Disconnecting sends the site domain and site token once to https://api.devdome.com/plugin/disconnect to unlink the site. No visitor data, content or redirect rules are sent.
Source code
All of this plugin's PHP and JavaScript ships unminified and human-readable.
One file is generated: assets/devdome-tools-tw.css, the admin screen's utility stylesheet (assets/admin.css is hand-written and ships as-is). It is a Tailwind CSS v3 utility bundle built from src/tw.css and tailwind.config.cjs with:
npx tailwindcss -c tailwind.config.cjs -i src/tw.css -o assets/devdome-tools-tw.css --minify
Those two build inputs are not included in the distributed package. Ask for them at https://devdome.com/contact and we will send them.