如果要对基于 Drupal 建立的网站进行 SEO (Search Engine Optimization——搜索引擎自然结果优化),那么就一定要尽量避免网站内的重复页面。因为当搜索引擎的爬虫抓取到大量的重复页面时,搜索引擎就会降低对网站页面的打分,当然这种影响可能并不太容易被察觉。
当我们使用 Drupal 时通常会碰到这样的问题,例如:页面 http://www.mypetal.com/node/12 和页面 http://mypetal.com/node/12 显示的是相同的内容。或许您会认为这是大惊小怪,但事实上这是两个独立的页面,它们的内容重复,这一点对 SEO 不利。好在 Drupal 开发者早已为我们考虑到了这点,只要做个略施小计就能唤醒这个功能:)
注意:本文只针对拥有一级域名的网站,二级域名的网站不存在这个问题。
默认安装下 Drupal .htaccess 配置
Drupal 默认的 .htaccess 为我们提供了两种解决方案:
- 把链接 http://mypetal.com 重定向到 http://www.mypetal.com
- 把链接 http://www.mypetal.com 重定向到 http://mypetal.com
这两种方案都是为了确保只有一种形式的链接,没有优劣之分。
第1种方案,查找下面代码:
# RewriteCond %{HTTP_HOST} ^
example\.
com$ [NC]
# RewriteRule ^(.*)$ http://www. example. com/$1 [L,R=301]
# RewriteRule ^(.*)$ http://www. example. com/$1 [L,R=301]
删除上面高亮显示的 #,并把 example 和 com 改为您的域名。
第2种方案,查找下面代码:
# RewriteCond %{HTTP_HOST} ^
example\.
com$ [NC]
# RewriteRule ^(.*)$ http://www. example. com/$1 [L,R=301]
# RewriteRule ^(.*)$ http://www. example. com/$1 [L,R=301]
删除上面高亮显示的 #,并把 example 和 com 改为您的域名。
Multi-site(多站点)下 Drupal .htaccess 配置
第1种方案,查找下面代码:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
在后面添加如下代码:
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+\.[a-z]{2,6})$ [NC]
RewriteRule ^ http://www.%1%{REQUEST_URI} [L,R=301]
RewriteRule ^ http://www.%1%{REQUEST_URI} [L,R=301]
第2种方案,查找下面代码:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
在后面添加如下代码:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
参考内容
来源:oschina
链接:https://my.oschina.net/u/187928/blog/34591