现在的位置:首页>wordpress>正文

WordPress一站非301跳转绑定多个域名及相关的SEO优化设置

2016年10月04日 ⁄ 共 3408字 暂无评论

一般来说,这种情况相当罕见,我们都知道,WordPress默认只能绑定一个域名,如果想要把多个域名绑定到同一个站点而且不是以跳转的方式,我们需要对主机进行相关的设置,当然,这一方面wordpress也提供了插件, Domain Theme这个插件就可以实现这个功能,这里我们一直来看看一个站点上绑定多个域名及相关的SEO优化设置.

当然,这里部落需要补充一下,如果是作301跳转的话,那么这篇文章就没有多少意义了.理论上,301重定向是对搜索引擎友好的设置,而且搜索引擎也能识别301返回码,从而只收录首选的主域名.

这里部落收集到的一个案例,一个客户的主域名在做Google AdWords推广的时候被封禁了,所以要求启用其他域名绑定来做Google推广.根据客户的要求,另外的一个做Google推广的域名却不能做301跳转,这个时候如果想要搜索引擎不认为你在作弊,最好当然是禁止搜索因为访问这个域名了.

WordPress禁止搜索引擎收录非主域名

在网站根目录新建wrobots.txt文件,内容如下:

  1. User-Agent: *   
  2. Disallow: /  

这个大家都看得懂,就是禁止搜索引擎来抓取.

Nginx平台

编辑网站对应的nginx域名配置文件,比如:

vim /usr/local/nginx/conf/vhost/www.mfbuluo.com.conf

找到之前301跳转的配置,如:

  1. server {   
  2.        server_name mfbuluo.com;   
  3.        return 301 $scheme://www.mfbuluo.com$request_uri;   
  4. }  

直接修改为如下内容:

  1. server   
  2.          {   
  3.                 server_name mfbuluo.com;   
  4.                 root  /home/wwwroot/mfbuluo.com;   
  5.                 location / {   
  6.                         rewrite (.*) http://www.mfbuluo.com$1 permanent;   
  7.                         }   
  8.                location ~ (robots.txt) {   
  9.                         rewrite /robots.txt /wrobots.txt last;   
  10.                         }   
  11. }  

重载nginx即可生效:

/usr/local/nginx/sbin/nginx -s reload

Apache平台的设置

编辑 .htaccess 文件,将之前的301跳转规则替换成如下代码即可:

  1. RewriteEngine on   
  2. RewriteCond %{HTTP_HOST} ^mfbuluo.com [NC]   
  3. RewriteRule ^robots.txt wrobots.txt [L]   
  4. RewriteCond %{REQUEST_FILENAME} !robots.txt   
  5. RewriteRule ^(.*) http://www.mfbuluo.com/$1 [R=301,L]  

其中第4行是关键,表示仅在请求名称非robots.txt的时候,才会执行后面的301跳转,从而避免第三条规则被覆盖!

虚拟主机的设置

在已有的.htaccess文件的最前面加上如下三行代码即可:

  1. RewriteEngine on   
  2. RewriteCond %{HTTP_HOST} ^mfbuluo.com [NC]   
  3. RewriteRule ^robots.txt wrobots.txt [L]  

修改后的完整的htaccess的内容如下:

  1. RewriteEngine on   
  2. RewriteCond %{HTTP_HOST} ^mfbuluo.com [NC]   
  3. RewriteRule ^robots.txt wrobots.txt [L]   
  4. #以下为已存在规则:   
  5. <IfModule mod_rewrite.c>   
  6. RewriteEngine on   
  7. RewriteCond %{REQUEST_FILENAME} !-f   
  8. RewriteCond %{REQUEST_FILENAME} !-d   
  9. RewriteBase /   
  10. RewriteRule . /index.php [L]   
  11. </IfModule>  

其他虚拟主机、建站程序,可以参考这个实例来修改即可,注意避免和主机已有的301发生规则冲突即可.

最后,效果可以直接访问域名的robots.txt文件,或者使用百度站长平台的robots工具来检测.

上面的方法测试可以用,但是还有一个更简单的方法,只要在网站的head部分加入如下代码即可:

  1. <?php   
  2. if($_SERVER['HTTP_HOST'] == '禁止收录域名1')   
  3. if($_SERVER['HTTP_HOST'] == '禁止收录域名2'){   
  4. ?>   
  5. <meta name="robots" content="noindex,nofollow" />   
  6. <?php } ?>  

补充一下相关meta robots的说明,可以自行选用:

  1. <META NAME="ROBOTS" CONTENT="INDEX,FOLLOW" /> 可以抓取本页,而且可以顺着本页继续索引别的链接   
  2. <META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW" /> 不许抓取本页,但是可以顺着本页抓取索引别的链接   
  3. <META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW" /> 可以抓取本页,但是不许顺着本页抓取索引别的链接   
  4. <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW" /> 不许抓取本页,也不许顺着本页抓取索引别的链接。  

特别说明:用这个方法需要取消301重定向功能,否则不会有meta申明的输出!

所以,将robots和META这2种方法结合一下,新站架设前可以这样设置:

无须设置301重定向,先在nginx配置文件中,将监听www.mfbuluo.com(非首选域名)的配置修改如下:

  1. server   
  2.         {   
  3.               listen 80;   
  4.               server_name mfbuluo.com;   
  5.               index index.html index.htm index.php default.html default.htm default.php;   
  6.               root  /home/wwwroot/mfbuluo.com;   
  7.               #以下是robots的重写规则   
  8.               location ~ (robots.txt) {   
  9.                          rewrite /robots.txt /wrobots.txt last;   
  10.                         }   
  11.                #以下其他需要的规则,和首选域名保持一致   
  12.                *******   
  13.         }  

然后,wordpress程序的话,直接在header.php里面新增如下代码:

  1. <?php if($_SERVER['HTTP_HOST'] == 'www.mfbuluo.com') { ?>   
  2. <meta name="robots" content="noindex,nofollow" />   
  3. <?php } ?>  

到此,您的WordPress绑定多个域名和禁止搜索引擎收录非主域名的设置就完成了,相关的优化,主要是针对搜索引擎的优化,也就是这些了.

小结

文章中的方法来源自网络,由免费部落整理发布.

这里部落补充一下,如果您的网站同样被谷歌adsence封禁了,那么部落觉得我们除了申请解封多外,最好的办法是更换域名.

给我留言