Title: DevDome Redirect Manager – Redirects, Link Rotation &amp; Geo Targeting
Author: DevDome
Published: <strong>August 11, 2026</strong>
Last modified: August 11, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/devdome-redirect-manager.svg)

# DevDome Redirect Manager – Redirects, Link Rotation & Geo Targeting

 By [DevDome](https://profiles.wordpress.org/devdome/)

[Download](https://downloads.wordpress.org/plugin/devdome-redirect-manager.1.3.3.zip)

 * [Details](https://wordpress.org/plugins/devdome-redirect-manager/#description)
 * [Reviews](https://wordpress.org/plugins/devdome-redirect-manager/#reviews)
 *  [Installation](https://wordpress.org/plugins/devdome-redirect-manager/#installation)
 * [Development](https://wordpress.org/plugins/devdome-redirect-manager/#developers)

 [Support](https://wordpress.org/support/plugin/devdome-redirect-manager/)

## Description

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/123` becomes `otherdomain.
   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-resolve` to 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/
   health` to 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.

## Installation

 1. Upload the plugin to `/wp-content/plugins/` (or install it from the Plugins screen)
    and activate it.
 2. Open **Tools -> DevDome Redirect Manager** (the DevDome Tools menu).
 3. Pick what to redirect, choose a redirect method and where to send traffic, then
    set any targeting, timing and schedule you need.
 4. Click **Save & Run** to start the rule. Use **Save Settings** to save changes without
    changing the run state.

No account is required for the redirect features. The geo filter is optional and
off by default.

## FAQ

### Does the redirect work without JavaScript?

Yes. Choose 301, 302, 307, 308 or Meta Refresh for a redirect that does not need
JavaScript. The JavaScript method is only needed for new-tab opening, “wait for 
a click”, and client-side delays.

### My redirect does not fire immediately after saving. Why?

A caching plugin or server cache may still be serving a stored copy of the page.
Keep “Purge Page Cache On Save” enabled so the targeted pages are cleared when you
save or run the rule.

### Can I run more than one rule at the same time?

Yes. Rules are independent and ordered by priority. For a given request, the highest-
priority running rule that matches handles it.

### What does “Once per visitor” mean?

The visitor is redirected the first time only, and then left on the page on later
visits, until you reset the rule’s stats. Choose “After a delay” instead if you 
want the redirect to become available again after a set time. A visitor is identified
by IP, or by IP + browser/device.

### Why is “New Tab” greyed out / reverting to “Same Tab”?

New-tab opening needs the JavaScript method. With a 301/302/307/308 or Meta Refresh
method the redirect always happens in the same tab.

### Does the geo filter send any data off my site?

Only when you enable Geo Filtering. See the External services section for exactly
what is sent and where. With Geo Filtering off (the default), the plugin makes no
external requests.

### How do I move my rules to another site?

Use Export to download a JSON file of all rules, then Import on the other site. 
Imported rules arrive stopped, so you can review them before starting.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“DevDome Redirect Manager – Redirects, Link Rotation & Geo Targeting” is open source
software. The following people have contributed to this plugin.

Contributors

 *   [ DevDome ](https://profiles.wordpress.org/devdome/)

[Translate “DevDome Redirect Manager – Redirects, Link Rotation & Geo Targeting” into your language.](https://translate.wordpress.org/projects/wp-plugins/devdome-redirect-manager)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/devdome-redirect-manager/),
check out the [SVN repository](https://plugins.svn.wordpress.org/devdome-redirect-manager/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/devdome-redirect-manager/)
by [RSS](https://plugins.trac.wordpress.org/log/devdome-redirect-manager/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.3

 * Updated the bundled DevDome suite core: redesigned DevDome Dashboard with cleaner
   cards, your account email and plan on the overview, and update buttons shown 
   only when an update really exists.
 * One button system across the suite: the same Connect button and the same Save
   Settings button in every DevDome plugin.

#### 1.3.2

 * Every output buffer used to build the page scripts is now opened and closed inside
   a single function, so it can never be left open.
 * Removed two manually fired activation/deactivation hook calls from the internal
   version check.

#### 1.3.1

 * The suite hub no longer installs or activates any plugin: its installer is removed
   from this build and the DevDome screen links out to the plugin’s page instead.
 * Removed the crawler-specific serving, search-engine hiding, referrer targeting,
   referrer stripping, back-button and daily-cap code paths entirely, along with
   the log-cleanup routine.
 * The settings screen’s styles and scripts are now enqueued instead of being written
   into the page, so caching and optimisation plugins can handle them properly.
 * Importing a settings file now accepts only known settings and cleans every value
   for the type it stores; switching the rule you are editing is protected like 
   every other action.

#### 1.3.0

 * Every feature is now free and unlimited: the rule limit and the Pro locks on 
   geo targeting, device targeting and scheduling are gone.
 * Internal identifier rename to a unique plugin prefix (WordPress.org requirement).
   Existing rules, statistics and settings are carried over automatically by a one-
   time migration on self-hosted builds.
 * Unified DevDome suite icons and suite hub.

Older entries: see changelog.txt in the plugin folder.

## Meta

 *  Version **1.3.3**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [301 redirect](https://wordpress.org/plugins/tags/301-redirect/)[geotargeting](https://wordpress.org/plugins/tags/geotargeting/)
   [link rotator](https://wordpress.org/plugins/tags/link-rotator/)[redirect](https://wordpress.org/plugins/tags/redirect/)
   [redirects](https://wordpress.org/plugins/tags/redirects/)
 *  [Advanced View](https://wordpress.org/plugins/devdome-redirect-manager/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/devdome-redirect-manager/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/devdome-redirect-manager/reviews/)

## Contributors

 *   [ DevDome ](https://profiles.wordpress.org/devdome/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/devdome-redirect-manager/)