Here are the high level steps if you are on 4.2 or greater:
-
Have your multisite hosted at a dedicated IP address.
-
Go into your network dashboard
My Sites > Network Admin > Sites
and edit the site you want to map, by changing its url tohttp://example.com
(no www). -
At the registrar for the domain, set an A record that points to the multisite dedicated IP address, and a CNAME record for WWW that points to the TLD for the domain (e.g.
CNAME www.example.com -> example.com
). -
In your
wp-config.php
file set this line:define( 'COOKIE_DOMAIN', '' );
Now, when you bring up www.example.com
or example.com
in the browser it will be serving up example.multisite.com
– and nobody will ever know; 100% domain mapped success.
Note that if you want to go next level with this and be a mapping superstar, you’ll need to use my instructions for leveraging AWS (or CloudFlare), and possibly running white-label nameservers. With that scenario you don’t even need the multisite at a dedicated IP address since you’d be using the AWS augmented “alias” record…but I still have mine at a dedicated IP address because some clients will still want to run DNS externally (e.g. Microsoft Office online…).