The Benefits of WordPress Multisite
For us, enabling multisite was a huge win. By going with multisite, we were able to take advantage of many benefits. WordPress multisite allows you to:- Share one custom theme among all of your multisite blogs. We made slight adjustments to each of them using child themes.
- Share one set of authors. There is only one username/password combination for each user, plus one profile to manage.
- Distribute plugins across all blogs, rather than managing them individually for each install. This goes for WordPress updates as well.
- Simplify the blogging process. By logging into one blog, we have access to each of them.
The Process
The actual process of converting a site to multisite (http://codex.wordpress.org/Create_A_Network) is pretty easy. It only takes a few minutes. If you are going to do it, however, you should be aware that it will require changes to your .htaccess file and core WordPress configuration files. Be sure to proceed with caution, and make sure you have a backup of your site.You will need FTP access to your WordPress installation.
Step 1 – Enable Multisite
[Callout "Adddefine('WP_ALLOW_MULTISITE', true);
to your wp-config.php
file above where it says /* That’s all, stop editing! Happy blogging. */:"]
Add define(‘WP_ALLOW_MULTISITE’, true); to your wp-config.php file to enable multisite.
Step 2 – Network Setup
You’ve successfully enabled WordPress multisite, but now you will need to make some configurations.
Access the new Network Setup page in your Tools menu.
In the Network Setup area, you will be able to make key decisions about your site.
- Sub-domains: a domain-based network in which on-demand sites use subdomains. (newblog.yourdomain.com)
- Sub-directories: a path-based network in which on-demand sites use paths. (yourdomain.com/newblog)
* /blog – Original marketing blogAdmittedly, this is not the best structure in the world for SEO purposes, although we believe that it still beats the use of sub-domians, which can have a negative impact on building PageRank. We improved the situation by creating a few custom 301 redirects in our parent .htaccess file.
* /blog/team – New team blog
* /blog/dev – New development blog
Redirect 301 /bangla /blog/bangla
Redirect 301 /english /blog/english
This allows us to use the short URLs http://sajubd.com/bangla and http://sajubd.com/english to access our blogs. There are better ways to solve this problem, but for us, this was an acceptable solution.Step 3 – Enabling The Network
Once you’ve made your decision on sub-domains or sub-directories, you will need to make some significant changes to your.htaccess
and wp-config.php
files. These changes will vary depending upon your specific
installation, so be sure to follow the customized WordPress instructions
that are provided.
Complete the following steps to enable the features for creating a network of sites.
wp-config.php
and .htaccess
files will look something like this:
Add the code that your WordPress installation generates into your wp-config.php
The configuration of your particular .htaccess will vary depending on your network.
Step 4 – Network Admin Dashboard
Once you have logged back into your WordPress install, you will be able to see a few new menu options in the WordPress Admin Bar.
You will see a whole new world in the Network Admin area of your WordPress menu bar.
Sharing Themes & Plugins
You can share your themes and plugins with all of your new blogs/sites very easily from the Network Dashboard.
By setting a theme to network enable, it will be available throughout all of your new sites.
Once you have a multisite, plugins can be automatically enabled for each blog, or left to individual installation.
A Note About Permalinks
The only trouble that we encountered with our multisite conversation was related to the structure of the permalinks. Traditionally, we have always used/blog/%postname%/
for our primary blog. Because
we were already using a subdirectory for our blog, WordPress wanted to
insert a second /blog subdirectory in our url. Resulting in something
like this /blog/blog/%postname%/
.Needless to say, this broke all of the old links on our site. The issue was not easily solved, due to some oddities with WordPress itself. Ultimately the fix for use was as simple as doing things in the correct order:
1. At blog site set Settings -> Permalinks -> Common Setting -> Default
2. At Network Admin -> Sites -> (root site) Permalink Sturcture -> /%category%/%post_id%