Press "Enter" to skip to content

Converting a Single WordPress Site to a Mulisite

Multisite is an interesting feature I have not tried before and currently exploring. I used single site for many years and currently working on a project to set up multi-language site which I believe Multisite will be best fit into this situation since multisite WordPress installation allows me to create and manage a network of multiple websites from a single WordPress dashboard. This lets me easily make changes and keep all of my websites updated from one place. Just for my own references, I recorded some steps in this post.

Enable Multisite in wp-config.php

1  Open the file wp-config.php under your word press installation folder, such as /etc/html/, which is is located in the main directory of your WordPress, and add the line
define('WP_ALLOW_MULTISITE', true);
above the line:
/* That's all, stop editing! Happy blogging. */

Define WP_ALLOW_MULTISITE in wp-config.php

Define WP_ALLOW_MULTISITE in wp-config.php to enable the Multisite feature.

2  Save the changes.

Enable Network from WordPress Admin Portal

1  Open your <website url>/admin or <website url>/wp-admin page. Log in as an administrator

2  In the left sidebar clickTools, you will find the menu tab Network Setup in an un-collapsed list, where you can configure your WordPress Multisite.

Create a network of WordPress sites
Install a WordPress Multisite – Settings page “Create a Network of WordPress Sites”

Change wp-config.php and .htaccess

1  Add the first code snippet to your wp-config.php directly above the line
/* That's all, stop editing! Happy blogging. */
The snippet looks like this, but adapted to your own site:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'My Website');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

2  Add the second code snippet to the .htaccess file and replace other WordPress rules.

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

3  Save changes to both files.

YouTube Video:


from Blogger //

Leave a Reply

%d bloggers like this: