WP Manifestindependent plugin directory
manifest / multisite / domain-mapping

Domain Mapping

The ultimate Multisite domain mapping plugin - sync cookies, sell domains with eNom, and integrate with Pro Sites.

by PSOURCE · github.com/cp-psource/domain-mapping · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/cp-psource/domain-mapping/archive/refs/heads/main.zip

Readme

Domain Mapping is the only plugin of its kind to bundle simple mapping, domain name resale and mapping as a premium service.

As one of the most requested features for Multisite, Domain Mapping has quickly become an essential plugin for every network.

domain-mapping-735x470

Cut the bulk and display beautiful, memorable URLs across an entire Multisite network.

Simple Setup, Smart Configuration

Already set up your network? Map domains on a subdomain or subdirectory network. Don't worry about confusing settings. Domain Mapping automatically adjusts to fit your network's structure.

Sell Domain Names Direct

Become a reseller and open new streams of income. Let users search, buy and map as many domain names to their site as they like. Automate distribution and management with eNom and Pro Sites

enom-integration-735x470

Sell domain names right inside your WordPress Multisite dashboard.

image

Domain Mapping even works with networkwide passwords and global shopping carts.

Stand Out Performance

Save big on SSL certification with mapping control over individual URLs. Get the only mapping plugin in its class to offer forced HTTPS and to let you use an original URL for things like checkout and payment pages.

Usage Instructions

Getting Set Up

So first and foremost, download the plugin to your computer and then unzip it. Inside, you will see the following files:

domain-mapping-3300-files

Once unpacked, we need to upload all that to your website. Provided you have not changed your plugin directory path, it will look like this: /wp-content/plugins/ You will want to upload the inner domain-mapping folder there (that's the one inside the main folder with all the numbers). So log in through FTP or, if you are on a local host, then move that folder over. The path will then be: /wp-content/plugins/domain-mapping/ You will see in the /domain-mapping/ folder there is a file called sunrise.php. We need to move that (move, not copy) to the /wp-content/ folder. So the path to that file will be: /wp-content/sunrise.php

domain-mapping-3300-sunrise

Thats the files sorted and uploaded. Now we just need crack open your wp-config.php file located within the root of your WordPress installation. On a cPanel server that path might be: /home/cpanel-username/public-html/wp-config.php

domain-mapping-3300-wpconfig

You will have to enter the following line:

define( 'SUNRISE', 'on' );

You can pop that right under the WP_DEBUG option, so like this:

define('WP_DEBUG', false);

define( 'SUNRISE', 'on' );

If for some reason you don't have the WP_DEBUG line, then providing it is just above the following code comment it should work well:

/ That's all, stop editing! Happy blogging. /

Note: If you add this in the wrong place, you will most likely find issues when adding a domain name to be mapped from your WordPress admin area. Now head on over to Network Admin > Plugins, and Network Activate the plugin.

Domain Mapping - Network Activate

We have the plugin installed now, so let's go configure things!

Configuring Network Settings

The settings are located in the Network Admin area under Settings > Domain Mapping.

Domain Mapping - Menu

Mapping options

There are a few settings that need your attention under the first tab: Mapping Options. Let's take a look at them one by one.

Enter your multisite IP address. Enter your multisite IP address.

The Server IP Address is where you enter the IP address of your multisite. This doesn't really affect anything; it appears in your users admin panels, and is only to inform them which IP they must use when mapping their domains.

Domain Mapping - Optional Instructions

Enter your own instructions if you want.

You can optionally enter your own instructions. When this field is left blank, the plugin's default text will be used.

Select the administration mapping option.

Select the administration mapping option.

Administration mapping is where you select the domain that will be used in the admin area of sub-sites.

  • domain entered by the user enables you and your users to access the admin area with either the mapped domain (userdomain.com/wp-admin/) or the original domain (usersite.yourdomain.com/wp-admin/).
  • mapped domain enables you and your users to access the admin area through whichever domain is mapped. Don't worry if you use usersite.yourdomain.com/wp-admin/, it will simply forward to userdomain.com/wp-admin/.
  • original domain enables you and your users to access the admin area through the original domain only (usersite.yourdomain.com/wp-admin/).

Select the login mapping option.

Select the login mapping option.

Login mapping has similar options as above, but it affects login action.

  • domain entered by the user enables you and your users to login with either the mapped domain (userdomain.com/wp-admin/) or the original domain (usersite.yourdomain.com/wp-admin/).
  • mapped domain requires you and your users to login with whichever domain is mapped (userdomain.com/wp-login.php/).
  • original domain requires you and your users to login through the original domain (usersite.yourdomain.com/wp-login.php/).

Enable/disable cross-domain login.

Enable/disable cross-domain login.

Enable Cross-domain autologin if you want the plugin to automatically log you into all sites you have mapped. Will also log your users into all domains they have mapped too!

Enable/disable domain verification.

Enable/disable domain verification.

If Verify domain availability is enabled, the plugin will notify your users if their selected domain cannot be mapped.

Domain Mapping - Front-end SSL

Force https in front-end and/or admin area.

You can force https in login and admin pages, only applicable if you have an SSL certificate. And you can also force http/https in front-end pages as well, applicable if you have SSL enabled.

Make domain mapping a Pro Sites feature.

Make domain mapping a Pro Sites feature.

Select Pro Sites Levels will only appear if you have the Pro Sites plugin activated on your network. This enables you to make the domain mapping functionality available to certain Pro Site levels only, and charge your end members for the privilege of mapping their own domain via Pro Sites upgrades.

Reseller Options

Now let's take a look at the settings under the second tab: Reseller Options.

Domain Mapping - Reseller options

The reseller API requests log level setting enables you to select how to log requests for domain names that your users purchase from you. The Reseller provider setting allows you to select from the available domain name resellers. You can select from the following providers:

  • eNom - you will need to enter your eNom account information.

Domain Mapping - Reseller - Enom

Your account id and password are the same you use to login to your eNom account. The Select environment setting enables you to specify whether to use a test account at http://resellertest.enom.com/ or your live account at http://www.enom.com/ Be sure the account ID & password you just entered are for the right account. :) The SSL Certificate Verification setting allows you to enable or disable SSL verification. The Select payment gateway setting will only be visible if you have Pro Sites also active on your network. You can select between the eNom credit card processing services (requires you to have a processing agreement with eNom and a secure SSL connection), or the PayPal payment gateway in Pro Sites.

Mapped Domains

Let's take a look at the last tab: Mapped Domains. This tab provides a great overview of the domains mapped on your network. Domains are shown along with details and options available in columns as follows: Site ID, Mapped Domain, Original Address, Health Status, DNS Configuration, Active, Actions

Domain Mapping - Mapped domains

  1. Easily find domains by entering a search term and clicking the Search mapped domains button.
  2. The Health Status column indicates whether a domain is valid or not. Clicking the link will refresh the field.
  3. The Actions column provides a couple of icons for quick actions: Toggle scheme or Remove mapping.

Domain Mapping

To add a domain name to your admin area is easy, but keep something in mind here: If in the previous steps you chose “Mapped Domain” as the method for accessing the admin area and the domain being mapped is either not resolving to your server yet or not resolving for another reason other than DNS propagation then that admin area will not be accessible until the domain name has resolved correctly. Choose another option if this bothers you. :-) Adding a domain name which is not resolving correctly in this instance will make that admin area inaccessible. Honest, we warned you!! ;-) So, lets go to a sub site which has it own domain to map. In the sub site's dashboard, go to Tools > Domain Mapping.

Domain Mapping - Tools Domain Mapping menu

Under the first tab, you can add the domain to be mapped to your sub site. Once you click add then that's all you need to do from WordPress.

Enter the domain to be mapped to the sub site.

Enter the domain to be mapped to the sub site.

If you have enabled Verify domain availability in your network settings as described above, and the domain entered here is not valid for some reason, an alert like this will pop up:

Domain name verification alert.

Domain name verification alert.

If you have enabled domain purchasing in your network settings, clicking the second tab (Purchase domain) will enable your users to select and purchase their preferred domain name from you, right in the admin of their site. How cool is that?

Purchase a domain name right from wp-admin!

Purchase a domain name right from the dashboard!


Read the full README on GitHub →