WordPress绑定多个域名
客户网站绑定了多个域名,有些域名直接重定向到主域名。但是,在进行Google AdWords推广时,客户的主域名被阻止,因此需要为Google推广启用其他域名绑定。
虽然WordPress默认只能绑定一个域名,但是如果你想在不跳转的情况下将多个域名绑定到同一个站点,这个问题并不难解决。您应该使用代码将域名直接添加到配置文件中。然而,新版本的WordPress似乎仍然容易出现问题。推荐吗?WordPress域名插件?域名?(可实现后台搜索。
绑定多个域名后,WordPress一般会进行301跳转,将所有域名指向主域名,这有利于增加网站的权重和收藏量。
例如,我们网站www.yusi123.com的域名进行了301重定向,并跳到了yusi123.com。其他域名也有同样的含义。
但是如果你不跳,直接输入域名时仍然可以访问该网站。
理论上,301重定向是一种搜索引擎友好的设置,搜索引擎还可以识别301返回码,以便只包含首选主域名。
但是,根据客户的要求,谷歌推广的另一个域名不能做301跳转。此时,如果你想让搜索引擎不认为你在作弊,最好禁止搜索,因为你可以访问这个域名。
下面介绍该方法。
WordPress禁止搜索引擎包含非主域名
在网站的根目录中创建一个新的wrobots.txt文件,并粘贴以下内容:
- User–Agent: *
- Disallow: /
①、Nginx平台
编辑网站对应的nginx配置文件,比如:
- vim /usr/local/nginx/conf/vhost/yusi123.com.conf
找到之前301跳转的配置,如:
- server {
- server_name yusi123.com;
- return 301 $scheme://yusi123.com$request_uri;
- }
修改为:
- server
- {
- server_name yusi123.com;
- root /home/wwwroot/yusi123.com;
- location / {
- rewrite (.*) http://yusi123.com$1 permanent;
- }
- location ~ (robots.txt) {
- rewrite /robots.txt /wrobots.txt last;
- }
- }
- /usr/local/nginx/sbin/nginx –s reload
②、Apache平台
编辑 .htaccess 文件,将之前的301跳转规则替换成如下代码即可:
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^yusi123.com [NC]
- RewriteRule ^robots.txt wrobots.txt [L]
- RewriteCond %{REQUEST_FILENAME} !robots.txt
- RewriteRule ^(.*) https://yusi123.com/$1 [R=301,L]
其中第4行是关键,表示仅在请求名称非robots.txt的时候,才会执行后面的301跳转,从而避免第三条规则被覆盖!
③、虚拟主机
在已有的.htaccess文件的最前面加上如下三行代码即可:
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^yusi123.com [NC]
- RewriteRule ^robots.txt wrobots.txt [L]
修改后的完整的htaccess的内容如下:
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^yusi123.com [NC]
- RewriteRule ^robots.txt wrobots.txt [L]
- #以下为已存在规则:
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteBase /
- RewriteRule . /index.php [L]
- </IfModule>
其他虚拟主机、建站程序,可以参考这个实例来修改即可,注意避免和主机已有的301发生规则冲突即可。
最后,效果可以直接访问域名的robots.txt文件,或者使用百度站长平台的robots工具来检测。
上面的方法测试可以用,但是还有一个更简单的方法,只要在网站的head部分加入如下代码即可:
- <?php
- if($_SERVER[‘HTTP_HOST’] == ‘禁止收录域名1’)
- if($_SERVER[‘HTTP_HOST’] == ‘禁止收录域名2’){
- ?>
- <meta name=“robots” content=“noindex,nofollow” />
- <?php } ?>
另外补充一下相关meta robots的说明,可以自行选用:
- <META NAME=“ROBOTS” CONTENT=“INDEX,FOLLOW” /> 可以抓取本页,而且可以顺着本页继续索引别的链接
- <META NAME=“ROBOTS” CONTENT=“NOINDEX,FOLLOW” /> 不许抓取本页,但是可以顺着本页抓取索引别的链接
- <META NAME=“ROBOTS” CONTENT=“INDEX,NOFOLLOW” /> 可以抓取本页,但是不许顺着本页抓取索引别的链接
- <META NAME=“ROBOTS” CONTENT=“NOINDEX,NOFOLLOW” /> 不许抓取本页,也不许顺着本页抓取索引别的链接。
所以,将robots和META这2种方法结合一下,新站架设前可以这样设置:
无须设置301重定向,先在nginx配置文件中,将监听www.yusi123.com(非首选域名)的配置修改如下:
- server
- {
- listen 80;
- server_name yusi123.com;
- index index.html index.htm index.php default.html default.htm default.php;
- root /home/wwwroot/yusi123.com;
- #以下是robots的重写规则
- location ~ (robots.txt) {
- rewrite /robots.txt /wrobots.txt last;
- }
- #以下其他需要的规则,和首选域名保持一致
- *******
- }
然后,在header.php里面新增如下代码:
- <?php if($_SERVER[‘HTTP_HOST’] == ‘www.yusi123.com’) { ?>
- <meta name=“robots” content=“noindex,nofollow” />
- <?php } ?>
如此,就做好了WordPress绑定多个域名和禁止搜索引擎收录非主域名的方法的设置!