Multisite Blog Alias


WP Multisite plugin to maintain URL-redirects for Blogs.


  • Permanent 301 Redirect to blogs main domain
  • Painless installation and activation – no file access necessary.
  • Checks domain status
  • Supports UTF-8 Domains
  • WP-Cli commands


  1. Set up your DNS. Make sure your Domain points to your WordPress installation. You can achieve this by either setting up an A- or CNAME-Record in your DNS configuration. Your webserver must be configured to handle requests on the given Domain.
  2. Under Network Admin – Sites edit the site and select the Alias Domains Tab.
  3. Enter the domain without http ao / and click “Add”.
  4. Click “Check Status” to see if it worked. If something went wrong you will see an error message.

If you want to redirect with URL path appended (e.g. from some-alias.tld/some/path to some-real-blog.tld/some/path), add this to your wp-config.php:


Status messages

Warning: The domain matches the site URL of this blog: The Blog is using the domain name as Site URL.

Error: The domain is already used by another site: A different Blog is already using the domain as Site URL. Eiter Remove the alias from the sblog you are currently workin on, or from the other one.

The domain is unreachable: There is likely an error in your DNS or your Webserver configuration. Use nslookup from he command line or to check the DNS-Settings.

The domain or a redirect does not point to this blog: Following all redirects did not end up on your WordPress-Site, but somewhere else. There is likely an error in your DNS or your Webserver configuration.

WP-CLI Examples

Listing Domain aliases

List alias domains for blog-id 123

wp alias-domains list --blog_id=123

Output minified json of all aliases

wp alias-domains list --format=json --compact=2

Output csv including the header row but omitting other messages into file

wp alias-domains list --format=csv --compact > alias-list.csv

Add Domain Alias

wp alias-domains add --blog_id=123 --domain_alias=quux.foobar.tld

Remove Domain Alias

Remove a specific alias

wp alias-domains remove --domain_alias=quux.foobar.tld

Remove all aliases for blog 123

wp alias-domains remove --blog_id=123

Testing Domain Aliases

wp alias-domains test --domain_alias=quux.foobar.tld<h3>Development</h3>

Please head over to the source code on Github.


  • Network admin - Edit site


Follow the standard WordPress plugin installation procedere.

The installer will:
1. Create a database table {$table_prefix}alias_domains
2. Create a file wp-content/sunrise.php or append its PHP to it, if the file already exists.
3. Insert define( 'SUNRISE', true ); in your wp-config.


I found a bug. Where should I post it?

Please use the issues section in the GitHub-Repository.

I will most likely not maintain the forum support forum on Anyway, other users might have an answer for you, so it’s worth a shot.

I’d like to suggest a feature. Where should I post it?

Please post an issue in the GitHub-Repository

Will you anwser support requests by email?


The plugin works pretty well for me. Any way I can show my appreciation?

Thanks! As a well trained person living in a rich country there is little more I need.
The majority on the other hand is not doing very well. And because this plugin is about redirection, I’d like to point your attention to the several refugee crises taking place everwhere around the world.

If my little piece of software was able to help you, please consider helping others and place a donation at the UNHCR.


Read all 3 reviews

Contributors & Developers

“Multisite Blog Alias” is open source software. The following people have contributed to this plugin.


Translate “Multisite Blog Alias” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fix: PHP 8.2 deprecation notices
  • Fix: Missing network admin page title


  • Enhancement: Handle ms_network_not_found


  • Fixed main blog redirection
  • Test with PHP 8
  • Test with WP 5.8


  • Feature: auto-remove blog aliases when a blog is being deleted
  • Fix: domain check returned false negative if network admin is under ssl and blog URL is not
  • Fix: Model class didn’t return insert id. As a result action blog_alias_created was called with a wrong argument


  • Plugin-API: introduce filter blog_alias_create_data and actions blog_alias_created, blog_alias_delete, blog_alias_deleted, blog_alias_delete_multiple and blog_alias_deleted_multiple
  • Fix: redirect after activation in WP-Cli environment
  • Fix: php warning __wakeup magic method
  • Fix: Sunrise and wp-config.php not changed after activation


  • Security hardening
  • Tested up to WordPress 5.6


  • Fix: Wrong table updated after upgrade


  • Fix: Not installing on Mysql <=5.6 / InnoDB
  • Fix: Support domain names with up to 253 characters


  • Fix: Fatal error on entwork activation


  • More input validation
  • Drop support for PHP 5.5
  • Code Refactoring
  • Fix: Domain name not visible when alias was created with wp-cli


  • Security hardening


  • Add Option “Redirect with Path” to network settings page
  • Introduce wp-cli –field parameter


  • Add support for utf8 domain names
  • Fix PHP strict warning


  • Send X-Redirect-By HTTP Header
  • Option to redirect with path using constant WPMU_BLOG_ALIAS_REDIRECT_WITH_PATH.
  • Fix: PHP Fatal in sunrise.php if formatting functions are not present
  • Fix: Make sure Status check ah´jax is loaded from Network-URL
  • Validation: Make sure only hostnames can be entered


  • Initial release