轉自:http://drupalsh.cn/node/416
Drupal 核心模塊中就包含了可選的 SEO 優化選項,此外還有一些有益的 Drupal 的第三方模塊,他們都可以幫助 Drupal 的使用者提升搜索引擎的排名。本文就將介紹一些 Drupal SEO 時必裝模塊和相應的設置,希望對您有所幫助。但是這只是 Drupal SEO 的開始……
- 開啓簡潔鏈接(Clean URLs)
- 開啓 Path 模塊 (從 Drupal 4.3 開始進入 Drupal 核心模塊)
Path 模塊可以讓您通過添加路徑別名(path alias),來達到自定義鏈接名的效果。例如 http://www.mypetal.com/node/7 可以定義爲 http://www.mypetal.com/library/drupal-seo 。
- 開啓 Pathauto 模塊 (http://drupal.org/project/pathauto)
Pathauto 模塊能夠爲不同類型的頁面(nodes, categories, users)自動生成路經別名(path alias),而不在需要用戶手動定義路徑別名。
- 設置 Pathauto 模塊,在修改 node 的標題時,禁止 Pathauto 模塊二次修改路徑別名。
- 開啓 Global Redirect 模塊(http://drupal.org/project/globalredirect)
Global Redirect 模塊在頁面擁有路徑別名的情況下,移除該頁面的原始路徑,這樣可以減少網站的重複內容頁面,有利於 SEO。
- 開啓 Meta Tags (nodewords)模塊(http://drupal.org/project/nodewords)
Meta Tags 模塊可以讓您爲每個 node、user、view 或 panel 頁面設置多種 meta tags,例如:keywords 和 description,有利於 SEO。
- 開啓 Page Title 模塊(http://drupal.org/project/page_title)
Page Title 模塊能讓您自定義頁面標題,有利於 SEO。
- 使用 Drupal XML Sitemap 模塊
- 調整 .htaccess 文件to redirect to "www" or remove the "www" subdomain.
- 調整您網站主題的 HTML headers -- 許多主題設置不正確。
- 調整您網站的 robots.txt 文件。在 Drupal 6 中 Drupal 默認的 robots.txt 文件還是有一些問題。
- 檢查安裝的第三方模塊是否新增了一些重複的鏈接,如果有,使用在 robots.txt 添加規則對搜索引擎的爬蟲進行屏蔽。
文章說明
- 參考文章地址:
- Cityreader 對原文進行翻譯,結合了自己的理解和註釋。
- 轉載本文請留言,請保留作者名和網頁地址:)
- Petal SEO 爲您提供更多精彩的 Drupal 文章
Drupal SEO 常用模塊
本文羅列了 Drupal SEO 常用模塊,定期更新中……
模塊 | 簡介 | 鏈接 | 推薦 | |
---|---|---|---|---|
Pathauto | 基於文章標題自動生成對搜索引擎友好的鏈接。 | 模塊下載 · 使用說明 | ||
Google Analytics | 網站統計與客戶追蹤。 | 模塊下載 · 使用說明 | ||
Page title | 允許您爲網站所有的 node 頁面設置 <title> 標籤。 | 模塊下載 · 使用說明 | ||
Global redirect | 修正開啓簡潔鏈接和 Pathauto 模塊後出現常見的鏈接問題。 | 模塊下載 · 使用說明 | ||
Taxonomy title | 允許您爲網站所有的 taxonomy 頁面設置 <title> 標籤。 | 模塊下載 · 使用說明 | ||
Meta tags (曾用名:Nodewords) | 允許您自由編輯您網站上node、分類、view等頁面上的 meta 標籤。 | 模塊下載 · 使用說明 | ||
XML Site map | 創建和 Sitemaps.org 標準相兼容的,搜索引擎可讀的動態網站地圖。 | 模塊下載 · 使用說明 | ||
URL list | 創建純文本的網站地圖,包含您網站上的所有鏈接。 | 模塊下載 · 使用說明 | ||
Site map | 創建純文本的網站地圖。 | 模塊下載 · 使用說明 | ||
Syndication | 創建一個網頁,包含所有的 RSS feed。 | 模塊下載 · 使用說明 |
文章說明
- 參考文章:Search Engine Optimization
- Cityreader 對原文進行翻譯,結合了自己的理解和註釋。
- 轉載本文請留言,請保留作者名和網頁地址:)
- Petal SEO 爲您提供更多精彩的 Drupal 文章
SEO Drupal .htaccess 文件(適合multi-site)
6.x
如果要對基於 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種方案,查找下面代碼:
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
刪除上面高亮顯示的 #,並把 example 和 com 改爲您的域名。
第2種方案,查找下面代碼:
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
刪除上面高亮顯示的 #,並把 example 和 com 改爲您的域名。
Multi-site(多站點)下 Drupal .htaccess 配置
第1種方案,查找下面代碼:
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
在後面添加如下代碼:
RewriteRule ^ http://www.%1%{REQUEST_URI} [L,R=301]
第2種方案,查找下面代碼:
# RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
在後面添加如下代碼:
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
參考內容
修改 Drupal 的 robots.txt 文件
6.x
在 SEO (Search Engine Optimization——搜索引擎優化) 時關鍵的一點是爲搜索引擎的爬蟲提供一個好的、乾淨的鏈接地址,這就意味着在一個網站內不能有內容重複的兩 個或以上不同鏈接地址的頁面。 然後這個問題在對 Drupal SEO 時尤爲突出。而且如果使用的第三方模塊中存在一些不合理的鏈接,那麼這個問題就會更加嚴重了。
這時我們就要用到 robots.txt 這個文件,它的作用是限制爬蟲機器人抓取文件範圍。從 Drupal 5 時代起,Drupal 安裝包裏就包含了這個文件了,它的位置在安裝包的根目錄下。但是它還不夠完美,需要一些改善。
修改Drupal 的默認 robots.txt 文件
抓取延時
第一步要做的就是註釋掉 Crawl-delay 這行。除非您的網站規模很大,或者備受爬行機器人的困擾,如果不是這樣,那麼不需要這行。
Crawl-delay: 10
在 Robots.txt 中,下面提及到規則都可以幫助減少爬蟲收取重複內容的數量。
目錄
下面這部分是在默認 robots.txt 文件中 Drupal 設置的禁止爬蟲訪問的實際存在的目錄。
Disallow: /database/
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /sites/
Disallow: /themes/
Disallow: /scripts/
Disallow: /updates/
Disallow: /profiles/
文件
下面這部分是 Drupal 的根目錄下的默認文件。我重來沒有看到這些文嘉被加入索引,但是如果你喜歡可以保留他們不變。但是不要刪除 CHANGELOG.txt 這個文件,因爲就算過了一段時間,它還是能提醒您 Drupal 的版本號。
Disallow: /CHANGELOG.txt
Disallow: /cron.php
Disallow: /INSTALL.mysql.txt
Disallow: /INSTALL.pgsql.txt
Disallow: /install.php
Disallow: /INSTALL.txt
Disallow: /LICENSE.txt
Disallow: /MAINTAINERS.txt
Disallow: /update.php
Disallow: /UPGRADE.txt
Disallow: /xmlcpc.php
開啓 Clean URLs 功能的路徑
這是默認 robots.txt 文件中最重要的一部分,因爲這裏有些問題:
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
在 Drupal 中,鏈接的尾部不包含斜線,所以您可以參照下面高亮顯示的位置修改 Robots.txt 中的相應規則。
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact
Disallow: /logout
Disallow: /node/add
Disallow: /search/
Disallow: /user/register
Disallow: /user/password
Disallow: /user/login
舉例來說,每個 node 頁面上的“Login or register to post comments”(登錄或註冊後發表評論)鏈接地址形式如下:http://mypetal.com/user/login?destination=comment/reply/806%2523comment-form 和 http://mypetal.com/user/register?destination=comment/reply/806%2523comment-form。在默認的 robots.txt 中的規則是不會屏蔽搜索引擎的爬蟲抓取這些鏈接,但是如果您刪除上面高亮顯示部分末尾的斜線。
沒有開啓 Clean URLs 功能的路徑
下面這部分針對與沒有開啓 Clean URLs 模塊下的規則,您可以參照上面開啓 Clean URLs 模塊的修改邏輯來修改下面這部分。
Disallow: /?q=admin/
Disallow: /?q=aggregator/
Disallow: /?q=comment/reply/
Disallow: /?q=contact/
Disallow: /?q=logout/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
如果您沒有開啓 Clean URLs 模塊,並且提交到搜索引擎並生成索引,那麼這種頁面:http://example.com/?q=node/25 就會擁有 PageRank。如果您正打算開啓 Clean URLs 模塊,那麼別忘了在 .htaccess 中設置301 redirects(重定向):把動態鏈接重定向到簡介鏈接。
其他規則
我同時推薦您在仔細閱讀並理解後添加下面的規則:
在網站中,每個模塊都可能添加額外的鏈接,這樣會增加大量的重複內容的頁面,同時在搜索引擎抓取頁面時增加服務器的負擔。在這裏爲核心模塊定製一些額外的規則。
http://mypetal.com/node 頁面和 http://mypetal.com/ 頁面重複。
添加上面這條規則可以阻止爬蟲抓取 http://mypetal.com/node 頁面。如果您想對搜索引擎屏蔽所有用 user 頁面,只需刪除最後的。
如果安裝論壇模塊、視圖模塊(Views)或其他包含有按**排序(Sort by **)功能的模塊,就需要以上這條規則。
添加上面這條規則可以阻止爬蟲抓取 http://mypetal.com/search 鏈接。而這個鏈接會進行一個302 redirect 重定向到 http://mypetal.com/search/node 這個頁面,而這個頁面已經被 Drupal 默認的 Robots.txt 規則屏蔽。
如果您在 Home › Administer › Site configuration 頁面改變了默認首頁,這樣可以對爬蟲屏蔽這個鏈接。或者您可以選擇使用 Global Redirect 模塊,它會自動重地向到真正的首頁頁面。
文章說明
- 原文地址:http://tips.webdesign10.com/robots-txt-and-drupal (For Drupal 5)
- Cityreader 對原文進行翻譯,並針對 Drupal 6 版本做了相應改動,結合了自己的理解和註釋。
- 轉載本文請留言,請保留作者名和網頁地址:)
Drupal 多站點(multi-site) robots.txt 配置攻略
6.x
Drupal 憑藉其強大的擴展性備受使用者的親睞,而且 multi-site 配置更是一絕(multi-site 是指只用一套 Drupal 程序,同時結合域名的設置,就可以建立多個網站)。本文主要講述如何在 multi-site 下爲每個網站配備的獨立 robots.txt 文件。
Multi-site 下 robots.txt 的困惑
在使用 multi-site 技術建立多個網站時可能會碰到這樣的問題:一個網站希望被搜索引擎收錄,允許爬蟲抓取網頁,而同一個 Drupal 系統下的另一個網站出於某種原因不希望被搜索引擎爬蟲抓取網頁。舉例來說:網站1 mypetal.com 希望網頁被 Google 收錄,但是 網站2 car.mypetal.com 是一個案例演示網站,期中的數據不希望被收錄到 Google 中。但是當我們打開 Drupal 根目錄時就會發現只有一個 robots.txt 文件,這就意味着所有站點都是使用這個 robots.txt,如果修改就會影響到全部站點。
好在我們不是第一個碰到這個問題的人,只要善用搜索功能,不論是搜索 drupal.org 還是 google.com 相信都會找到滿意的答案。下面就是我結合自己的搜索結果整理的兩個解決方案。
方案1:使用 Drupal 的第三方模塊 RobotTxts
從 Drupal 5 時代起,對應這個問題就給出了第三方解決方案 RobotsTxt 模塊,點擊這裏進入 http://drupal.org/project/robotstxt。這個模塊使用原理就是:每個網站都可以在後臺設置 robots 內容,然後保存在數據庫系統變量的表中,當搜索引擎訪問時動態生成 robots.txt 文件內容。因爲每個網站都有獨立的系統變量數據表,所以就可以設置不同的 robots.txt 的訪問規則。
這個模塊使用起來十分方便,但美中不足是又增加了一個模塊,對於我們這些租用虛擬主機、系統資源配額捉襟見肘、對 Drupal 第三方模塊無限渴望、但又多裝幾個模塊就會白屏的人來說,勢必又是增加一筆內存開銷。所以如果像我們一樣的拮据,我還爲您準備了第二種解決方案。
方案2:設置 .htaccess 讓暴風雨來得更猛烈些吧
.htaccess 是個好東西,在這裏它同樣能幫我們解決這個問題,但前提是:
- 您使用的服務器(/虛擬主機)支持 .htaccess
- 您使用的 php 服務器(/虛擬主機)安裝了mod_rewrite 模塊,換句話說您可以正常開啓使用 Clean URLs 功能
現在就開始修改 .htaccess
重要提示:在修改 .htaccess 時,如果有任何錯誤(包括書寫和格式錯誤),都將可能引起 錯誤代碼 500 的錯誤,甚至於使網頁無法打開!所以請在修改前,備份原文件,仔細閱讀並理解下面內容,修改後請檢查網頁打開是否正常,並嘗試打開不同網站的 robots.txt 是否正常顯示,例如:http://mypetal.com/robots.txt 和 http://car.mypetal.com/robots.txt。
打開 /.htaccess 文件,查找:
在後面添加如下規則:
RewriteCond %{REQUEST_URI} !^(.*)/sites/(.*)$ [NC]
RewriteRule ^(.*)robots.txt$ /sites/%{HTTP_HOST}/files/robots.txt [L]
注意這三行代碼針對的是二級子域名的網站,例如二級子域名網站 car.mypetal.com,當 搜索引擎爬蟲讀取該網站的 robots.txt 時會自動定位到 /sites/car.mypetal.com/files/ robots.txt 文件。而對於一級域名網站 mypetal.com,仍然讀取的是 /robots.txt 文件。這是我所希望的解決方案,但是如果您在一個 Drupal 系統上同時建立多個一級域名的網站,例如同時有 mypetal.com 和 cooos.com, 那麼請您先閱讀 SEO Drupal .htaccess 文件(適合multi-site),修改諸如: www.mypetal.com 重定向到 mypetal.com 的文章後,刪除上面3行規則中的高亮顯示的第一行規則。