WordPress.org

Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Installing Multiple Blogs

Multisite feature

If you want multiple blogs using WordPress, use multisite feature to create what was referred to as a network of sites. This feature was implemented by merging WordPressMU into the core at Version 3.0.

Multisite feature install single WordPress and database.

See Create A Network.

Multiple Blogs Through Multiple Installs

By some reason, if you need multiple WordPress instances, you must actually install each WordPress separately (that is, as a separate WordPress installation). System architecture can be divided into two types by number of databases.

  1. Multiple databases installation. Each database manages specific site's information.
  2. Single database installation. The database manages all site's information.

Multiple Databases

You'll need a separate MySQL database for each blog you plan to install. If you have not yet created these, basic instructions are found here.

The wp-config.php file will vary for each installation. The lines to change are:

define('DB_NAME', 'wordpress');     // The name of the database
define('DB_USER', 'username');     // Your MySQL username
define('DB_PASSWORD', 'password'); // ...and password

DB_NAME will be the name of the individual database created for that blog. If you are using different user logins for each database, edit DB_USER and DB_PASSWORD to reflect this, as well.

Upload each wp-config.php file to its specific root/installation directory, and run the installation. See Installing WordPress for more information.

Single Database

As with the multiple databases solution described above, the wp-config.php file will vary for each installation. In this case, however, only a single line will be unique to each blog:

$table_prefix = 'wp_'; // example: 'wp_' or 'b2' or 'mylogin_' 

By default, WordPress assigns the table prefix wp_ to its MySQL database tables, but this prefix can be anything you choose. By using more than one, you create unique identifiers for each blog in your database. For example, let's say you have three blogs to set up, with the names Main, Projects and Test. You want to substitute the prefix wp_ for each blog's wp-config.php:

Main blog:

$table_prefix = 'main_'; 

Projects blog:

$table_prefix = 'projects_'; 

Test blog:

$table_prefix = 'test_'; 

As noted, you may use a prefix of your own making. Those provided here are for example purposes only.

Upload each wp-config.php file to its specific root/installation directory, and run the installation. See Installing WordPress for more information.

Multiple Databases, Same Users

You can use the same userbase with all your blogs on the same domain, by defining the CUSTOM_USER_TABLE and optionally the CUSTOM_USER_META_TABLE constants to point to the same wp_your_blog_users and wp_your_blog_usermeta tables. See Editing wp-config.php/Custom User and Usermeta Tables.

Other Resources