如何制作符合搜索引擎要求的XML地圖

正如我們所知道的那樣,網站地圖總共有兩種格式,一為HTML網站地圖(就是我們在很多網站中常見的底部文件中的站點地圖),主要是方便用戶快速瞭解網站框架服務並快速定位到其所想訪問的內容,同時有助於搜索引擎有組織、有條理的訪問網站;另一種是XML網站地圖,這種站點地圖主要是為包括GOOGLE、YAHOO等在內的大型搜索引擎服務的,BAIDU目前雖還未明確表態支持這種網站地圖,但隨著目前各大搜索引擎紛紛支持的趨勢發展下去,BAIDU恐也很難免俗。

我們今天要探討的是XML格式的網站地圖制作及提交流程,至於HTML的站點地圖,留著以後再開篇文章專門討論。

在探討XML戰地地圖如何制作之前,我們要先知道:什麼是XML網站地圖?為什麼要做XML的網站地圖?

先來解決第一個問題:什麼是XML格式的網站地圖?

根據GOOGLE網站管理員工具中關於Sitemap.xml的定義:XML Sitemap – 通常稱為 Sitemap(使用大寫 S),是您向 Google 提供有關您網站信息的一種方法。 Sitemap 就是您網站上網頁的列表。 創建並提交 Sitemap 有助於確保 Google 知道您網站上的所有網頁,包括 Google 的正常抓取過程可能無法找到的網址。

是不是覺得GOOGLE官方的解釋晦澀難懂呢,像我們這種非專業人士其實完全可以簡單通俗易懂的理解一下,就是:Sitemap.xml是google搞出來的鬼,也就是網站地圖,不過這個網站地圖是用xml寫的,而且要按google的標準來寫,並且要將寫出來的這個文件sitemap.xml上傳到自己的服務器空間中去。至於什麼是XML文件,怎麼編寫XML文件,也不在今天探討的范圍之內,建議有興趣的可以自行GOOGLE學習一下。

好瞭,第一個問題解決瞭,緊接下來是第二個問題:為什麼要制作sitemap.xml??

我們還是先看一下GOOGLE對於制作sitemap.xml的目的官方說明,然後再給個比較通俗點的理解(今天很多概念、說法等都需要引用GOOGLE的官方說法,同時再給個通俗一點的解釋,倒不是為瞭反襯GOOGLE的說明有多難懂,而是站在我們草根一族角度來說:寫不瞭高深的武林秘籍,題個讀後感之類的露個臉也可以)。

GOOGLE對於為啥要做sitemaps.xml的官方解釋:

如果網站屬於下列情況,那麼 Sitemap 會特別實用:

網站含動態內容。

網站有不容易被 Googlebot 在抓取過程中發現的頁面,如有大量富 AJAX 或 Flash 內容的頁面。

網站為新網站且指向網站的鏈接不多。 (Googlebot 會跟隨鏈接從一個網頁到另一個網頁抓取網絡,因此,如果您的網站沒有很好地鏈接,我們可能很難發現它。)

網站有大量內容頁存檔,這些內容頁相互沒有很好地鏈接,或根本就沒有鏈接。

草根一點的理解就是:提交sitemap一是有利於搜索抓取一些正常抓取過程中無法抓取的網址,比如動態網頁,包含大量AJAX的網頁或者flash的頁面。二是為搜索蜘蛛指明工作方向。Sitemap就是你網站上頁面的列表,googlebot就按照這個去一個個的抓取收錄頁面,顯然比它自己去找會效率高,而且要全。

好瞭,回答完以上兩個問題後,馬上就切入正題瞭:如何制作符合搜索引擎要求的XML SITEMAP。

GOOGLE在其幫助指南中提供瞭多種創作sitemap.xml的方法,如基於GOOGLE協作平臺創建並驗證的網站可直接提交、使用RSS或ATOM供稿作為SITEMAP、根據SITEMAP協議創作的sitemap.xml與其他方式等。

這麼多方法中,目前符合國內使用習慣或多數人采用的,是根據sitemap協議自行創作sitemap.xml,這也是我們今天要討論的。如果網站采用ASP編程,可在網上搜索添加一段開源代碼使其在後臺中按照想要的格式生成相應的sitemap.xml文件;如果使用的是基於wordpress的開源系統,可使用WP自行攜帶的功能生成文件;如果你感覺自己的技術很牛又不喜歡用這些功能的話,可自行手動編寫符合 sitemap協議0.9(GOOGLE支持的)標準的站點地圖如果,再如果,你的網站不是以上情況中的任何一種,同時技術跟我一樣很菜的情況下,那麼,隻能借助於目前一些免費的軟件來制作我們所想要的地圖瞭。

一直在苦苦搜尋一款比較好用的Sitemap制作工具,可惜找瞭許久都無功而返,不是搜索鏈接不全,就是速度過慢,前段遇到一個稍微好用點的,可是有數量限制,生成1000個之後就自動退出(目前網上這種軟件魚目混珠,一搜一大把,但基本是限制在1000個鏈接內的)。直到這幾天,我找到瞭它老虎牌sitemap生成器,以前的鬱悶一掃而空,同時不斷的帶來驚喜,不但沒有1000個鏈接的限制,而且操作使用極其方便,在此感謝不認識的老虎兄弟的辛苦工作,才讓我們菜鳥們有這麼一塊好用的利器。

這個是老虎SITEMAP生成器的操作頁面,功能不復雜,操作極其簡單。

在制作SITEMAP之前,可先做一些設置。點擊工具,選擇選項,在彈出框中選定默認值一欄,裡面有關於SITEMAP中的一些設置,包括更新頻次(changefreq)與優先級(priority)兩項,這是sitemap.xml中要體現的,關於這兩個參數的含義下面將具體描述。

因軟件功能限制,可以在操作之前將這兩個參數設置一下,也可以留空後面再根據需要補充,我用的時候就是留空,等結束瞭再手動設定借個頁面的更新頻次與優先級,影響不大。

輸入要做地圖的網站網址,同時選擇保存路徑,要註意的一點是,默認的文件格式是xml,不要修改。點擊開始即可,記得在生成過程中定時保存。

在這個頁面中,註意到右側的上次更改時間、更新頻率、優先級都為空,在整個站點地圖生成完畢後,統一修改。目前網上的SITEMAP生成軟件(包括老虎在內),都沒有提供一個比較智能的頁面更新頻次與優先級設定功能,因此這邊采用最傳統的方式,也偷懶一點,先是所有的鏈接更新頻次設定為daily,優先級設置為0.6,然後挑出幾個重要頁面與特殊頁面,手動修改其更新頻次與優先級,如首頁的更新頻次為daily,優先級為1.0,而about us或contact us的更新頻次可能就是yearly,優先級為0.4瞭,幾個認為比較重要的頁面修改一下,如果偷懶全置空或者所有的更新頻次與優先級全設置為相同,那麼在上傳並提交給GOOGLE後會出現錯誤的提示。

操作方法是隨便選擇一條鏈接,雙擊之後會彈跳出一個頁面,頁面中更新頻次選擇daily,優先級選擇0.6,點擊右側應用到所有鏈接後確定即可,然後手動挑選出重要頁面,按照上述方法進行修改,唯一的區別就是不選擇應用到所有鏈接。

sitemap完全生成並修改後,保存,然後點擊上面的第四個按鈕sitemap,查看sitemap.xml文件。

xml文件的創建在google官方中詳細描述,這裡隻簡單介紹一下部分代碼語句:

<?xml version=1.0 encoding=UTF-8?>

<urlset xmlns=/schemas/sitemap/0.84 >

<url>

<loc></loc>

<lastmod>2008-12-29</lastmod>

<changefreq>daily</changefreq>

<priority>1.0</priority>

</url>

<url>

<loc>/contact.htm</loc>

<lastmod>2008-12-19</lastmod>

<changefreq>yearly</changefreq>

<priority>0.4</priority>

</url>

</urlset>

代碼解釋:

<?xml version=1.0 encoding=UTF-8?>

<urlset xmlns=/schemas/sitemap/0.84 >

這兩行就相當於網頁文件中的<html>標簽一樣的作用。不必管這兩行什麼意思,照抄即可。

切記:一個字符也不能錯,即使多一個空格,google網站采集時也會報錯。另外,千萬別忘瞭在文件的末尾加上</urlset>標簽。

<loc>/contact.htm</loc>

這裡是頁面鏈接地址,也就是你希望蜘蛛訪問的地址。

lastmod:頁面最後修改時間

這個很重要。Google的機器人會在索引此鏈接前先和上次索引記錄的最後更新時間進行比較,如果時間一樣就會跳過不再索引。所以如果你的鏈接內容基於上次Google索引時的內容有所改變,應該更新該時間,讓Google下次索引時會重新 對該鏈接內容進行分析和提取關鍵字。這裡必須用ISO 8601中指定的時間格式進行描述,格式化的時間格式如下:

年:YYYY(2008)

年和月:YYYY-MM(2008-12)

年月日:YYYY-MM-DD(2008-12-29)

年月日小時分鐘:YYYY-MM-DDThh:mmTZD(2008-12-29T10:37+08:00)

年月日小時分鐘秒:YYYY-MM-DDThh:mmTZD(2008-12-29T10:37:30+08:00)

這裡需註意的是TZD,TZD指定就是本地時間區域標記,像中國就是+08:00瞭

切記:其他格式可能引起出錯,比如將2008-08-08 寫成2008-8-8就會出問題。

changefreq:頁面內容更新頻率。

這裡可以用來描述的單詞共這幾個:always, hourly, daily, weekly, monthly, yearly,具體含義我就不用解釋瞭吧,光看單詞的意思就明白瞭。如果要瞭解詳細的意思,可以查看google對於更新頻次的定義

priority:相對於其他頁面的優先權

定於0.1 – 1.0之間 。

切記:建議將各類網頁根據重要性給出不同的數值,以方便蜘蛛的采集,不要耍小聰明全部寫1.0,google管理工具會報錯的。

sitemap.xml制作好後,上傳到網站根目錄下,如/sitemap.xml,同時登陸GOOGLE管理員工具,按照其提示與要求進行提交。Google提交網址:

/webmasters/sitemaps/?hl=zh-CN

提交後,在幾個小時內,系統就會開始下載處理瞭。

提交後,還有一項工作需要做:SITEMAP的驗證。

驗證網站地圖是否符合標準,最方便的手段就是使用google的管理員工具瞭。

在他下載sitemap.xml後幾天內,這個工具就會將詳細的分析結果反饋回來,包括:sitemap.xml中包含瞭多少地址,google已將多少地址加入索引,sitemap.xml中出現瞭哪些錯誤,甚至蜘蛛采集過程中遇到的各種問題,比如哪些網頁有404,500錯誤都會詳細的羅列出來,非常方便。

如果你提交的xml文件一切無誤,那麼接下來,你就是等著讓它的搜索蜘蛛來爬瞭,sitemap的文件告知瞭文件更新的頻率,這樣搜索蜘蛛來得更勤快,頁面被收錄當然也就更快。