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
; - }
- }
nginx
即可生效: - /
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’){- ?>
-
name
=“robots
”content
=“noindex
,nofollow
” /> - <?
php
} ?>
另外补充一下相关meta
robots
的说明,可以自行选用:
-
NAME
=“ROBOTS
”CONTENT
=“INDEX
,FOLLOW
” /> 可以抓取本页,而且可以顺着本页继续索引别的链接 -
NAME
=“ROBOTS
”CONTENT
=“NOINDEX
,FOLLOW
” /> 不许抓取本页,但是可以顺着本页抓取索引别的链接 -
NAME
=“ROBOTS
”CONTENT
=“INDEX
,NOFOLLOW
” /> 可以抓取本页,但是不许顺着本页抓取索引别的链接 -
NAME
=“ROBOTS
”CONTENT
=“NOINDEX
,NOFOLLOW
” /> 不许抓取本页,也不许顺着本页抓取索引别的链接。
meta
申明的输出!所以,将 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
’) { ?> -
name
=“robots
”content
=“noindex
,nofollow
” /> - <?
php
} ?>
如此,就做好了 WordPress
绑定多个域名和禁止搜索引擎收录非主域名的方法的设置!
转载请注明:汇站网 » WordPress
如何绑定多个域名,以及如何禁止搜索引擎收录非主控域名