WordPress 多站点(英文名: WordPress Multisite)让站长可以在服务器上用同一个 WordPress 安装程序运行多个网站。本文将会从 WordPress 多个站点的设置到优化各种功能等多个方面跟大家分享,帮助大家了解这个独特的 WordPress 工具的方方面面。
WordPress 多个站点功能非常受欢迎,毕竟站长可以利用它在服务器(或者叫网站托管主机)上创建并管理多个网站。也就是说,站长可以在同一个 WordPress 后端(即仪表盘,我这里称为仪表盘)对几个不同的 WordPress 网站进行管理。
不过,很多人不太清楚如何使用这个功能。本指南会帮助大家搞清楚跟 WordPress 多站点相关的一系列问题,比如哪些人应该使用这个功能,如何进行安装设置。
1. WordPress 多站点是什么?
WordPress 多站点是一个功能,它可以让用户在一个 WordPress 仪表盘上创建并运行多个 WordPress 网站。之前它被称为 WordPress 多个用户或 WPMU。WordPress 多个站点并不是一个新功能。它属于 WordPress 建站平台的一个高级功能,自 WordPress3.0 版本起就有这个功能了。它的用途也有很多,例如用户可以通过一次性点击对所有网站进行更新,或者在多站点网络里创建一个网站对订阅用户进行收费。
2. WordPress 多站点的主要功能
WordPress 多站点也有很多比较独特的功能。新手可以通过单个 WordPress 安装程序运营一个由多个博客及多个网站组成的网络,例如 https://laoxuehost.example.com 或者一个目录网站 https://example.com/laoxuehost/。或者我们还可以在网络上给每个网站设置一个单独的网站域名。而且在由多个网站组成的网络上复制功能也更加方便。
在 WordPress 多站点网络里,用户可以作为一个超级管理员对所有网络进行管理和控制。常规的网站管理员只能管理并控制一个网站。但一个超级管理员就可以对想创建账户的用户以及创建 WordPress 博客网站的用户进行权限管理。
超级管理员可以安装新主题、新插件,而这些主题和插件会对网络内的所有网站都起作用。它的另一个功能是可以针对特定语言、特定地区和特定币种制作有针对的网站或在线网店。
超级管理员和网站管理员都可以对内容进行控制和管理,不过超级管理员可以控制管理整个网络内的网站,而网站管理员只能在单独的网站进行内容控制和管理。超级管理员还可以对网络内网站的插件进行管理。不过,如果网站管理员可以对各自网站上的插件进行启用和禁用的操作。
3. 哪些用户可以使用 WordPress 多站点?
虽然 WordPress 多个站点有些许功能,但是它也不一定就适合所有用户。毕竟多站点网络里的网站都共享着同样的数据库。换句话说,我们在做网站备份时,要为所有网站进行备份。因此,多站点网络里的所有网站都必须归属同一个主域名。
这里举例说明一下。一所大学可以使用 WordPress 多站点给论坛里的不同部门、不同学生和教职人员创建不同的网站。因为这些网站都使用了大学的主域名来共享数据库,因此这些网站在多站点网络里就很容易进行管理。
同样,像银行这类在整个国家范围内或国际范围内有分支机构的组织、有多个板块的数字出版机构、有很多不同部门的政府机构、连锁酒店、多网店的连锁商店、电商公司就可以使用多站点网络。
不过网站设计人员不能使用多站点对几个不相关客户的项目进行管理。如果其中一个客户决定将其网站进行搬家迁移,就会出问题。毕竟多站点网络里的单个网站是跟该网络里的其他所有网站共享着同一个数据库。多站点这个功能让网络里的某个网站备份变得苦难。如果属于这种情况,你最好单独使用一个 WordPress 程序。
4. WordPress 多站点的优势和劣势
了解了哪些用户不应该使用 WordPress 站点以后,我们再来看看技术层面上的优势和劣势。在决定要不要使用 WordPress 多站点功能之前我们需要仔细考虑一下。
优势
- 多站点网络的主要优点就是在一个仪表盘上管理多个网站。如果你在一个母域名下面有好几个不同团队运营的几个不同网站,这个功能就非常有用。例如一个电商网站在不同国家有着不同的子网站。
- 可以给多站点网络的每个网站指派不同的管理员。
- 要安装插件或主题,只需要下载一次就可以为多个网站完成安装和激活工作。
- 可以为网络里所有网站进行一次性更新。
劣势
- 因为所有的网站都共享着同一个网络资源,一旦网络崩溃,所有这些网站都会出现问题。
- 其中一个网站上流量激增会影响多站点网络里的其他网站。而且,新手在多站点网络里对流量的管理和对服务器资源的管理都会觉得棘手。
- 如果多站点网络里其中一个网站被黑客攻击,网络里的其他网站都会受到影响。
- 并不是所有的 WordPress 插件都支持多站点网络功能。
- 并不是所有的虚拟主机供应商都有相应的工具支持多站点网络功能。
- 如果你所用的虚拟主机没有服务器条件,你就无法使用多站点功能。例如,有些网站托管主机可能不允许用户在同一服务器上添加域名。如果是这种情况,我们可能就需要更换托管套餐了。
5. WordPress 多站点功能的要求
了解了技术层面的优势和劣势以后,现在你基本上可以确定用不用多站点网络功能了。如果你想使用这个功能,还是要满足某些技术方面的条件的。
首先,你需要选择一款合适的网站虚拟主机套餐,这个套餐必须支持多个网站域名。虽然我们可以为流量小的个别网站使用共享式虚拟主机,但建议你最好使用 VPS 托管主机或专用主机,毕竟这是由多站点功能的特性决定的。
另外,你还需要具备安装 WordPress 的基本知识。而且安装完之后,你还需要进行备份,并停用所有插件。
而且,你还必须有使用 FTP 的权限,并了解使用 FTP 编辑文件的基础知识。最后你还需要使用固定链接。因为最后的链接应该是 http://example.com/my-page 这种形式,而不是 http://example.com/?p=345 这种形式。
6. 多站点域名映射
用户按照默认设置是可以在多站点网络上创建多个网站的,作为主网站的次级域名或者是分级文件夹,这类网站通常属于下列形式:
xxx.laoxuehost.com 或者是 xxx.com/laoxuehost
但是,用户可能并不总是希望是这种形式,他们想给每个网站创建一个独特的域名。这就是域名映射的用武之处。用户可以在多站点网络里使用这个功能将其他网站映射为 laoxuehost.com 这类的域名。使用域名映射功能后,用户看到的网址一般是:
xxx.laoxuehost.com=yuming.com 或者 xxx.com/laoxuehost=yuming.com。
在 WordPress 4.5 版本之前,用户必须使用一款域名映射插件来映射其他网站。不过在 4.5 版本之后,域名映射功能就是自带的功能了。
7. 多站点网站虚拟主机及SSL证书
SSL 是 Secure Sockets Layer 的英文缩写,它是一种互联网协议,用于保护用户浏览器和访问网站之间的数据传输,让恶意用户、机器人以及黑客无法破解这些数据。
不过有些虚拟主机供应商仅为主要域名提供免费 SSL 证书。因此用户可能需要给每个次级域名分别购买相应的 SSL 证书。如果多站点网络上有一个网站没有 SSL 证书,这个网站很可能会危及多站点网络里面的其他网站。因此,用户一定要确保多站点网络里的所有网站都必须安装 SSL 证书。
8. 给网站安装并设置 WordPress 多站点
首先我们需要安装 WordPress,具体安装过程请参考老薛主机一键安装 WordPress 教程,如果是云服务器或独立服务器,则可能需要自己上传安装。安装完成后,我们需要开启多站点功能。当然如果你已经有了一个 WordPress 网站,还可以直接给现有网站开启多站点功能,不过前提是需要对网站进行备份。
- 使用 FTP 客户端或者是 cPanel 上的文档管理工具链接自己的网站,然后打开 wp-config.php 文件进行编辑。
- 在 wp-config.php 文件里找到 /* 图标,并在该图标之前添加下列代码:
define('WP_ALLOW_MULTISITE', true);
- 接下来,将 wp-config.php 文件保存以后上传回服务器。操作完成。
下面我们应该对多站点网络进行设置。如果你已经登录了 WordPress 网站后端的仪表盘,请刷新一下这个界面,然后才进行下一步操作。如果没有登录网站后端,请进行登录。
- 在已有网站上设置多站点网络时,我们需要禁用所有插件。操作步骤按照插件---已安装的插件进入页面,然后选择所有插件。从“批量操作”下拉菜单中选择“禁用”选项,然后点击“应用”按钮。
- 然后再在“工具”栏中找到并点击“配置网络”按钮。如果你看到一则“需要在 Apache 的 mod_rewrite 模块安装到服务器上”的通知,也无需担心。因为大多数优质的 WordPress 虚拟主机供应商都已经启用了这个模块。
-
网络里的所有网站设置域名结构,可以是次级域名,也可以是次级目录。
- 给多站点网络命名。
- 保证网络管理员的邮件地址正确无误。
- 点击“安装”按钮。
-
接下来你会看到将某些代码添加到 wp-config.php 文件和 .htaccess 文件上的通知。我们可以使用 FTP 客户端或者 cPanel 中的文件管理器来复制粘贴这些代码。
到这一步,整合安装过程就完成了。我们需要再次登录并访问多站点网络。
9. WordPress 多站点配置及其他设置
下面我们还需要配置网络设置,我们需要切换到多站点网络仪表盘上进行操作。
- 在管理员工具栏里打开“我的站点”按钮,然后点击“网络管理员”选项,接下来点击“仪表盘”按钮进入多站点网络仪表盘。
- 在管理员侧边栏上点击“设置”选项,然后你会看到网站的标题和管理员的邮箱地址板块。这两个地方的信息一定要保证正确无误。
注册设置(Registration)
这个选项主要是为了让其他用户注册并让已有用户在你的网络里创建新网站。接下来勾选适合自己的选项。
如果勾选“Registration Notification(注册通知)”复选框,当新用户注册或其他网站注册时你可以收到邮件通知。勾选“Add New Users(添加新用户)”选项可以让每个网站的管理员将新用户添加到各自的网站上。
使用“Limited Email Registration (邮箱注册限制)”选项可以对注册情况进行限制。例如,你可以让公司内部的人员在网站上注册。另外,你还可以阻止其他注册。
新网站设置(New Site Settings)
这里你可以对模式选项进行设置,这些默认选项如电子邮件设置,第一篇默认页面、博客文章以及评论信息的内容。不过你随时可以对这些设置进行更新。
多站点网络上传设置(Upload Settings)
我们需要随时关注服务器资源的使用情况。因此在上传设置部分,我们可以给上传文件的大小进行限制。
默认值是 100MB,这 100MB 可能比较适合上传 100 张图片。我们可以根据自己的实际需求对文件大小进行调整。
默认可以上传的文件格式包括图片、音频、视频、PDF 文件。我们还可以将其他文件类型也添加上,例如 doc 文件、docx 文件或者 odt 文件。当然,我们还可以对这些上传文件的大小进行限制,免得其他用户上传的文件过大。
插件菜单设置(Menu Settings)
这部分设置是针对多站点网络里多个网站上的插件部分进行管理的菜单,启用这个设置以后,用户就可以启用或者禁用插件了。但是他们不能添加新的插件。
然后我们点击“保存更改”按钮保存设置。
10. 将新网站添加到 WordPress 多站点网络
要将新网站添加到 WordPress 多站点网络里,在管理员工具栏上按照 My Sites→Network Admin 的步骤操作,然后点击“Sites(站点)”按钮。
点击这个按钮以后,就会出现多站点网络里的所有网站。默认状态下,我们的主站点是 WordPress 多站点网络里的唯一站点。
要添加新站点,点击底部的“Add New(添加新站点)”按钮。
在“Add New Site”页面,我们需要输入网站地址,不过我们不需要输入完整地址,只需要使用次级域名或次级目录就可以了。
接下来我们还需要添加网站标题(Site title),选择网站语言(Site Language),并输入管理员的邮箱地址。如下图所示:
我们在输入管理员邮箱时,可以选择其他邮箱地址,不需要再输入目前管理多站点使用的邮箱地址。
如果邮箱地址没有被其他用户使用,WordPress 就会创建一个新用户,然后将用户名和密码发送你输入的邮箱地址里。
完成这些操作之后,点击“Add Site(添加站点)”按钮就可以了。
到了这一步,我们已经将一个新站点添加到了多站点网络里。作为管理员,你还会收到一封新网站注册成功的邮件。
如果你创建了一个新用户,用户自己会收到一封邮件,这封邮件会告诉用户如何设置新密码、如何进行登录。
11. 将主题和插件添加到多站点网络里
因为单独的网站管理员不能自己安装主题和插件,你需要先将这些主题和插件安装上,然后其他管理员可以根据自己的需要选择安装这些主题和插件。
安装主题
要添加主题,按照 My Sites---Network Admin---Themes 的步骤操作。
这新出现的页面上,我们可以看到当前安装的所有主题列表。我们可以进行以下设置:
- “Network Enable” – 让主题对所有网站管理员可用。
- “Network Disable” – 取消之前对其他网站管理员可以使用的主题。
- “Add New” – 将新主题添加到网络里。
为多站点网络设置默认主题
在添加了几个主题之后,WordPress 仍然会为每个新网站启用默认的 WordPress 主题。
如果你想给新网站制作另一款主题作为默认主题,就需要将以下代码添加到自己的 wp-config.php 文件里。
// Setting default theme for new sites define( 'WP_DEFAULT_THEME', 'your-theme' );
这里要使用自己的主题名称替换掉上面代码里 your-theme。当然我们还需要使用主题文件夹的名称,这个名称我们可以通过 /wp-content/themes/ 文件找到。
给多站点网络安装插件
操作步骤按照 My Sites---Network Admin---Plugins 的顺序操作。
然后点击每个插件下方的“Network Activate”链接启用这些插件。
注意:如果之前在“Network Settings(网络设置)”部分为网站管理员启用了 Plugins Menu(插件菜单),网站上所有的管理员就可以自己启用或禁用已安装的插件。不过这些网站管理员不能够安装新插件,也不能删除插件。
12. 给多站点网络添加默认内容
默认状态下,WordPress 允许我们可以为多站点网络里的所有网站默认内容进行编辑。操作方法按照 Settings---Network Settings(设置---网络设置)的步骤操作,然后在“New Site Settings”部分下方添加默认内容。
我们可以对文章、页面以及评论信息部分的默认内容进行编辑,推荐大家将默认内容设置为对站点所有管理员都有价值的内容。
那么我们要想将新默认内容添加到各个网站上时又该怎么办呢?
这时我们需要将一些代码添加到 WordPress 多站点上。
本案例中,我们将为每个新站点都添加一个新的默认页面。
add_action('wpmu_new_blog', 'wpb_create_my_pages', 10, 2);
function wpb_create_my_pages($blog_id, $user_id){
switch_to_blog($blog_id);
// create a new page
$page_id = wp_insert_post(array(
'post_title' => 'About',
'post_name' => 'about',
'post_content' => 'This is an about page. You can use it to introduce yourself to your readers or you can simply delete it.',
'post_status' => 'publish',
'post_author' => $user_id, // or "1" (super-admin?)
'post_type' => 'page',
'menu_order' => 1,
'comment_status' => 'closed',
'ping_status' => 'closed',
));
restore_current_blog();
}
您可以使用相同的代码,只需稍加修改即可为新网站创建默认帖子。查看以下代码:
add_action('wpmu_new_blog', 'wpb_create_my_pages', 10, 2);
function wpb_create_my_pages($blog_id, $user_id){
switch_to_blog($blog_id);
// create a new page
$page_id = wp_insert_post(array(
'post_title' => 'A sample blog post',
'post_name' => 'sample-blog-post',
'post_content' => 'This is just another sample blog post. Feel free to delete it.',
'post_status' => 'publish',
'post_author' => $user_id, // or "1" (super-admin?)
'post_type' => 'post',
));
restore_current_blog();
}
13. 在本地服务器上进行设置
我们可以利用 MAMP、WAMP 或者 LAMP 软件在本地系统上设置 WordPress 多站点网络。当然,我们需要遵循在托管主机上相同的步骤进行操作。不过我们要注意网站域名映射的问题。我们可以在本地系统创建一个次级目录网站。但要设置一个次级域名或一个不同的域名,我们需要在 MAMP/WAMP 或者 LAMP 上面设置一个虚拟主机。
14. WordPress 多站点问题解决办法
WordPress 多站点网络最常见的问题是因为通配符子域名以及域名映射的配置不正确。在设置多站点之前,一定要确保自己的网站托管主机支持通配符子域名。
以下是一些常见问题及其快速解决办法。
修复多站点登录问题
在使用带有子目录的 WordPress 多站点网络时,有些用户在将代码添加到 wp-config.php 文件里以后登录不了管理员区域。
要修复这个问题,请在 wp-config.php 文件中将使用下列第一行代码替换掉第二行代码:
第一行代码:define("SUBDOMAIN_INSTALL", "false");
第二行代码:define("SUBDOMAIN_INSTALL", false);
15. 常见问题汇总
很多用户都存在有关 WordPress 多站点网络的问题,他们也想知道如何更有效地使用多站点功能。下面就是整理出来的常见问题。
A. 可以将在线店铺添加到 WordPress 多站点网站上吗?
可以的,你可以将在线店铺添加到多站点网络里。你可以使用类似于 WooCommerce 这样的电子商务类插件制作电商网站,这款插件跟 WordPress 多站点兼容。
B. 我可以在多站点网络上共享用户登录以及用户角色吗?
可以,你可以在多站点上共享用户登录和用户角色。如果你想让多站点网络里的所有网站管理员对各自网站上的内容进行管理,这个功能可以很容易实现。
C. 是否可以在多站点网络里的所有网站上显示主网站的文章?
答案是肯定的。主网站上的文章可以在多站点网络里进行展示。
D. 如果我是超级管理员,我可以使用一个 ID 号码登录所有网络里的网站吗?
可以。超级管理员可以使用相同的身份信息登录所有网络里的网站。
E. 作为超级管理员,我可以登录网络里的其他网站吗?
不可以,你不能登录网络里的除你自己网站的以外的站点。
F. 随后可以添加更多的网站到网络里吗?
可以,你可以随时添加网站到网络里,而且数量不限。
G. 可以给每个网站使用不同的插件吗?比如 Yoast 给其中一个网站,而 Rank Math 给另一个网站?
可以的,你可以给不同网站使用功能相似但不同的插件。不过,你必须针对指定网站设置插件。如果你的插件是针对整个多站点网络的,这个插件就会自动作用于所有网络的网站。
H. 我可以给个别网站安装插件吗?
不可以,不能直接给个别网站安装插件。必须先将插件安装在整个多站点网络里。不过,你可以针对个别网站启用插件或禁用插件。
I. 可以制作主题然后将它用于个别网站吗?
可以的,你想制作多少主题就制作多少主题。作为网站管理员,你还可以启用或禁用这些主题。
J. 可以更好地对多站点网络进行管理吗?
说实话,这要看实际的使用场景了。如果你的网站跟其他网站毫不相关,你就可以使用多站点网络工具,例如 InifiteWP。
假如你给一个连锁饭店、大学或者在线杂志管理多站点网络,WordPress 多站点功能就是你的最佳选择。
K. WordPress 多站点可以让我的网站加载速度更快吗?
这取决于几个因素。如果 WordPress 托管主机上的服务器资源比较多,多站点的加载速度就会比较快,其他单独网站加载速度也快。
不过在共享式虚拟主机上,如果流量激增会增加内存占有率,同时还会拖慢多站点网络上的其他站点的加载速度。要改善多站点网络的加载速度,大家可以参考如何优化 WordPress,提升访问速度。
16. WordPress 多站点案例
下面这几个案例是使用 WordPress 多站点网络的知名站点。
Cheap Flights 是一个旅游类网站,提供机票、酒店预订和各种度假套餐。该网站使用 WordPress 多站点来强化其旅游提示功能。这个板块就包含了最新旅游资讯、飞行提示、以及最佳旅游景点等信息。
这是一家风投公司的网站。该公司使用多站点网络运营着3个不同的网站,包括公司网站、公司博客以及一个由多个撰稿人合作的博客。该公司使用次级域名运营着后边2个网站。而且每个网站都有各自的主题。
结语
WordPress 多站点功能拥有几个优势,同时也有自己的劣势。用户可以在一个仪表盘上同时管控几个网站。希望各位通过本文 get 到在多站点网络上进行各种操作的技能。