若是要對基於 Drupal 創建的網站進行 SEO (Search Engine Optimization——搜索引擎天然結果優化),那麼就必定要儘可能避免網站內的重複頁面。由於當搜索引擎的爬蟲抓取到大量的重複頁面時,搜索引擎就會下降對網站頁面的打分,固然這種影響可能並不太容易被察覺。node
當咱們使用 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
這兩種方案都是爲了確保只有一種形式的連接,沒有優劣之分。spa
第1種方案,查找下面代碼:code
# RewriteCond %{HTTP_HOST} ^
example\.
com$ [NC]
# RewriteRule ^(.*)$ http://www.
example.
com/$1 [L,R=301]
刪除上面高亮顯示的 #,並把 example 和 com 改成您的域名。索引
第2種方案,查找下面代碼:seo
# RewriteCond %{HTTP_HOST} ^
example\.
com$ [NC]
# RewriteRule ^(.*)$ http://www.
example.
com/$1 [L,R=301]
刪除上面高亮顯示的 #,並把 example 和 com 改成您的域名。 開發
Multi-site(多站點)下 Drupal .htaccess 配置
第1種方案,查找下面代碼:rem
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# 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]
第2種方案,查找下面代碼:
# RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
在後面添加以下代碼:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
參考內容