Google定期會(huì)發(fā)布一些新的服務(wù),這些服務(wù)中很多用來幫助網(wǎng)站管理員,管理那些來自訪問者的大量數(shù)據(jù),或幫助他們獲得更多的訪問量。其中之一就是Google Sitemaps,通過努力改善Google的網(wǎng)頁搜索器(Web crawlers)來搜索網(wǎng)站更新內(nèi)容的方式,可使網(wǎng)站更新迅速的出現(xiàn)在搜索結(jié)果頁里,從而提升訪問量。
本文中,將解析Google Sitemaps的細(xì)節(jié),并通過一個(gè)例子,告訴你如何讓Sitemaps企業(yè)服務(wù)。作為一個(gè)示范用的網(wǎng)站,我將使用http://www.allinvites.com來進(jìn)行講解。一般情況下,我會(huì)使用一個(gè)虛假的網(wǎng)站來做例子,但是考慮到本文的目的,一個(gè)小型的真實(shí)網(wǎng)站顯然更為有效。
具體細(xì)節(jié)
我已經(jīng)在一個(gè)上面的綜述里提到了Google Sitemaps的用途,但是對(duì)于該服務(wù),你還需要理解很多。第一點(diǎn),Google指出Sitemaps不會(huì)降低也不會(huì)提升網(wǎng)站在Google中的排名。實(shí)際上,Google在Sitemaps的常見問答已經(jīng)明確的指出了這一點(diǎn):“使用Google Sitemaps將不會(huì)影響網(wǎng)站排名PageRank;計(jì)算網(wǎng)頁的排名不會(huì)因此有任何改變”。不過,如果網(wǎng)站以前并未被索引過,而現(xiàn)在被Google收錄了,那么網(wǎng)頁排名還是會(huì)提升的。我對(duì)這一點(diǎn)的看法是:如果你唯一的目的是希望獲得更好的排名,那么不要指望Sitemaps。除非Google最終官方宣布Sitemaps會(huì)用于這一點(diǎn),或者你的確想從Sitemaps上獲得一些其他好處。
Google并不總會(huì)索引你提交的所有網(wǎng)頁。比如,如果你提交了一個(gè)網(wǎng)址,但是在網(wǎng)站的Robots.txt文件對(duì)其進(jìn)行了保護(hù),那么比起在Sitemaps中的設(shè)置,Google的網(wǎng)頁搜索器會(huì)更尊重Robots.txt中的設(shè)定。
第二點(diǎn),Google也并不擔(dān)保所有你提交的網(wǎng)頁都將被抓取,但是Sitemaps還是會(huì)讓Google的網(wǎng)頁搜索器對(duì)網(wǎng)站更加了解。正如Google指出的那樣,設(shè)置你的Sitemaps通常只會(huì)幫助你,而不是傷害你。
即使存在負(fù)面影響,Google Sitemaps還是一項(xiàng)非常好的服務(wù)。第一點(diǎn),即便被用于商業(yè)應(yīng)用,它也是完全免費(fèi)的。對(duì)身無分文的blog作者而言,起碼這不是壞事。第二點(diǎn),Sitemaps最強(qiáng)的一點(diǎn)是它幫助網(wǎng)站被索引的速度更快更有效。發(fā)現(xiàn)你的網(wǎng)站,提交最新更新的內(nèi)容,這些都比手工去提交要快很多。
最后,可能也是最重要的,Google提供Sitemaps相關(guān)報(bào)表工具,以便你在一定范圍內(nèi)收集信息,包括:
咨詢狀況:為你提供關(guān)于通過Googele搜索你的網(wǎng)站、以及返回結(jié)果的相關(guān)信息。
抓取狀況:關(guān)于抓取網(wǎng)站資料時(shí)成功和失敗的信息,就像PageRank信息一樣。
頁面分析:關(guān)于你網(wǎng)站頁面的類型、編碼類型等統(tǒng)計(jì)信息。
索引狀態(tài):關(guān)于網(wǎng)站如何被索引的信息。舉例來說,你會(huì)得到一個(gè)網(wǎng)站被索引的頁面列表,一個(gè)連到你網(wǎng)站的頁面列表,Google的網(wǎng)頁快照中保存你網(wǎng)站的信息,以及許多其他信息。
使用Google Sitemaps
現(xiàn)在你可能對(duì)Google Sitemaps能幫你解決難題有了一個(gè)更好的想法,讓我們來看看如何使用這項(xiàng)服務(wù)。
要想讓Sitemaps發(fā)揮全部作用,需要3個(gè)高級(jí)步驟:
為網(wǎng)站建立一個(gè)Sitemap。
將該Sitemap加入你的Google賬戶。
使用Google的報(bào)表與狀態(tài)工具。
建立一個(gè)Sitemap
Google的Sitemap服務(wù)使用Sitemaps來建立,使用Google自行定義的、開放源代碼“Sitemap協(xié)議”,該協(xié)議使用XML提供關(guān)于你的網(wǎng)站輸出信息。Google甚至還提供給你Google Sitemap生成器,使用這個(gè)專用于Google的Sitemap工具非常有趣。
如果你符合下述要求,Google的Sitemap生成器是你的最好選擇:
你可以在Web服務(wù)器上運(yùn)行Python 2.2+腳本程序(檢查主機(jī)是否提供此服務(wù))
你可以向你的WEB服務(wù)器上傳文件
如果你打算使用access Log文件來建立一個(gè)Sitemap,你必須知道這些log文件的編碼模式。
開始之前,先得拿到Sitemap生成器。我已經(jīng)下載了一個(gè)"tar.gz"版本的生成器,因?yàn)橄旅鎸?shí)例網(wǎng)站的主機(jī)是linux服務(wù)器。我的主機(jī)支持Python scripts,版本是2.2.3。
把下載下來的文件放到你的網(wǎng)頁服務(wù)器上,隨便取個(gè)名字,比如"sitemap_gen-x.x.tar.gz"。我把文件放在實(shí)例網(wǎng)站的根目錄下。下一步,使用gunzip命令來解壓縮文件包:
gunzip -dc sitemap_gen-x.x.tar.gz | tar xvf
現(xiàn)在文件內(nèi)容將被解壓到一個(gè)同名的目錄下,這個(gè)目錄名后加了.tar.gz的后綴。
在這個(gè)文件夾里,可以找到范例文件example_config.xml,并把它拷貝成 config.xml。編輯這個(gè)文件,添加必要的注釋參數(shù)。
base_url (必要): 你網(wǎng)站的最頂級(jí)域名地址。比如我的網(wǎng)站,這里就寫http://www.allinvites.com。
store_into(必要): sitemap應(yīng)當(dāng)被寫入的路徑和文件名,對(duì)我來說,就是"/home/alowe/www/sitemap.xml.gz". 這個(gè)文件你不用事先建立。
default_encoding (可選): 默認(rèn)編碼為UTF-8。如果你的路徑或者文件需要一個(gè)不同的解碼方式,在這里改變它。
verbose(可選): 默認(rèn)為1,你可以從0到3的改變它,0是不提供診斷輸出,3只提供重要輸出。
url or urllist (可選):使用這兩個(gè)指令,告知Sitemap生成器哪些網(wǎng)址將被收錄進(jìn)sitemap。你可以使用url指令一條一條加,或者使用urllist指令指向一個(gè)單獨(dú)的文本文件(文件中寫上要收錄的所有網(wǎng)址)。我的例子中使用的是url指令,后文你就會(huì)看到。如果你選擇urllist指令,你依舊還要在文本文件中使用url指令。
url指令只有一個(gè)參數(shù):href。就像你可能期望的那樣,href參數(shù)是完整的路徑,包括你的域名,以及你的連接地址。另外,你還可以使用一些可選的屬性,比如changefreq, lastmod, 以及priority。
○Changefreq (never,yearly,monthly,weekly,daily,hourly,or always) 用于告知sitemaps多久網(wǎng)址內(nèi)容會(huì)更新一次。
○使用lastmod (ISO8601 datestamp format) 告知上次更新內(nèi)容的時(shí)間。
○并且,使用priority (0到1)告知sitemaps一個(gè)特別的網(wǎng)址與整個(gè)站點(diǎn)內(nèi)容之間的相對(duì)重要性。比如,使用0.5表示該網(wǎng)址的重要性只是使用1.0網(wǎng)址的一半。Priority的數(shù)值可以影響搜索引擎搜索整個(gè)網(wǎng)站的順序。不要認(rèn)為每個(gè)網(wǎng)址后面都寫上最大的數(shù)字會(huì)有什么特別的效果,那只是告訴搜索引擎你的每一個(gè)網(wǎng)址都是同樣重要而已,因?yàn)樗阉饕娌粫?huì)拿這個(gè)數(shù)字同其他網(wǎng)站作比較。
directory (可選):使用這個(gè)標(biāo)記來定義指定的目錄中所有文件都將被包含進(jìn)網(wǎng)址列表里。這個(gè)指令接受3個(gè)參數(shù):path, url, default_file。path就是該目錄的完整路徑(比如,/home/alowe/www)。URl用于給定該目錄的web地址(比如,http://www.allinvites.com)。使用default_file指令告知sitemap你服務(wù)器的默認(rèn)訪問文件(比如index.php或者index.html)。
accesslog: 有兩個(gè)參數(shù),path和encoding。它允許sitemap生成器為sitemap中包含的地址列表分析相關(guān)log文件。
filter: 使用此指令來包含或者刪除指定文件。我會(huì)在為www.allinvites.com站點(diǎn)編寫的樣板配置文件中使用它。
實(shí)例
給出上述列表后,這是我為www.allinvites.com定制,打算提交給Google Sitemasp的示范配置文件:
?
? ? ?
?
? ?
?
pythonsitemap_gen.py --config=config.xml --testing
把Verbosity設(shè)置為1,你將得到一個(gè)腳本執(zhí)行的較高級(jí)概況。如果你需要更多信息,提高Verbosity,這是我的小站點(diǎn)的輸出范例:
-bash-2.05b$ python sitemap_gen.py --config=config.xml --testing
Reading configuration file: config.xml
Walking DIRECTORY "/home/alowe/www/images/"
Walking DIRECTORY "/home/alowe/www/"
Sorting and normalizing collected URLs.
Writing Sitemap file "/home/alowe/www/sitemap.xml.gz" with 77 URLs
Search engine notification is suppressed.
Count of file extensions on URLs:
5 (no extension)
1 .css
8 .gif
1 .gz
27 .jpg
1 .old
22 .php
3 .py
2 .txt
2 .xml
5 /
Number of errors: 0
Number of warnings: 0
順便說一下,Python腳本除了"config", "testing",和"help",不接受任何其他參數(shù)。使用"config"指令將告知腳本你的配置文件名,使用"testing"指令測(cè)試你的腳本,在真實(shí)使用前看看它是否還有錯(cuò)。
正如你能看到的,沒有錯(cuò)誤和警告。如果你收到錯(cuò)誤提示,改正你配置文件中的錯(cuò)誤,而后再進(jìn)行測(cè)試。當(dāng)你看到“no errors”的提示后,去掉“--testing”指令,再運(yùn)行一次該腳本。
添加新的sitemap到你的Google Sitemaps賬戶 在能為你的Sitemaps賬戶添加文件之前,你應(yīng)當(dāng)在Google先注冊(cè)一個(gè)賬戶。得到了賬戶后,去sitemaps的登錄頁面,登錄進(jìn)入該服務(wù)。圖A看起來很空,但是基于完成過程中的趣味,我將展示當(dāng)你登錄成功后的頁面。點(diǎn)擊"Get started with Google Sitemaps"下面的“Continue”按鈕,OK,我們開始進(jìn)入Google Sitemaps了。