Setting Up Redirects VIP Platform

This document is for sites running on our VIP platform.


Overview #

When you need to implement redirects involving your VIP site, you’ll want to choose one of the methods listed below based mostly upon how many redirects you have and expect to have going forward. This guide will help you figure out your best approach.

Because VIP uses nginx and not apache, there aren’t any .htaccess files to modify. Instead, we have one of three methods available. Which one you use (or combination of them) depends upon how many redirects you need to implement:

  1. For a small number of redirects and redirects which will change frequently, we recommend Safe Redirect Manager plugin;
  2. For larger numbers of redirects (> 300), you will want to use the WPCOM Legacy Redirector plugin
  3. Alternately, you can write redirects directly into your theme code.
  4. On VIP Go you can use vip-config.php for “general” redirects, e.g. to redirect all traffic from one domain to another

If you’re using our VIP Go platform, you may be interested in the cache control of redirects; see “Controlling VIP Go Page Cache”.

↑ Top ↑

Safe Redirect Manager plugin #

If you have fewer than 300 redirects, the Safe Redirect Manager plugin is the way to go. This plugin has an admin UI component, so your editors can edit redirects easily. This can be especially important for redirects that are going to change frequently. Safe Redirect Manager also supports regex and wildcards, so if you require that, this is a good option.

↑ Top ↑

WPCOM Legacy Redirector plugin #

While this is a plugin, there is no UI. Data entry needs to be bulk-loaded via wp-cli commands. As you might imagine, this option is not ideal for redirects that need to change frequently.

Two options come with the plugin:

  1. Build redirects from CSV. We just need a CSV file with the following mapping structure: `redirect_from_path,(redirect_to_post_id|redirect_to_path|redirect_to_url)`
  2. Build redirect from a meta field. Just provide the meta_key for posts where the legacy URLs are stored.

Be sure to review the documentation Please contact us before using this plugin to verify your redirect strategy.

↑ Top ↑

Writing redirects directly into your theme code #

VIP has a couple of helper functions for broader redirects.

  1. vip_regex_redirects  – advanced 301 redirects using regex to match and redirect URLs. Warning: Since regex is expensive and this will be run on every uncached pageload, you’ll want to keep this small, lean, and mean.
  2. vip_substr_redirects – wildcard redirects based on the beginning of the request path. This is basically an alternative to vip_regex_redirects() for when you only need to redirect /foo/bar/* to somewhere else. Using regex to do this simple check would add lots of overhead.

↑ Top ↑

VIP Go: Domain redirects in vip-config.php #

This method will only work on our VIP Go platform. The main advantage of this method is to respond to a request before WordPress is loaded, thus improving the speed and performance of the response. The caveat is that because WordPress has not loaded, you cannot rely on any WordPress APIs or functions.

Here’s an example snippet of code which redirects requests for or to the same path on the main site,; e.g. would be redirected to

$http_host          = $_SERVER['HTTP_HOST'];
$request_uri        = $_SERVER['REQUEST_URI'];
$redirect_to_domain = '';
$redirect_domains = [
if ( 
		$redirect_to_domain !== $http_host  &&
		in_array( $http_host, $redirect_domains, true ) 
	) {
	header( 'Location: https://' . $redirect_to_domain . $request_uri, true, 301 );

↑ Top ↑

Additional Resources #

Ready to get started?

Drop us a note.

No matter where you are in the planning process, we’re happy to help, and we’re actual humans here on the other side of the form. 👋 We’re here to discuss your challenges and plans, evaluate your existing resources or a potential partner, or even make some initial recommendations. And, of course, we’re here to help any time you’re in the market for some robust WordPress awesomeness.