大部份有寫blog的人應該都知道SiteMap是什麼東西,網站地圖,以前網站做SiteMap是讓使用者更方便找到資料,如今的SiteMap功能確是讓搜尋引擎更方便快速的取得資料。
What is SiteMap?
SiteMap對於一個網站來說有好有壞,好處就是可以直接提供資料給搜尋引擎,讓搜尋引擎更快速的來抓取資料,壞處呢?相對的資料也很容易被其它有心人事直接取走使用,所以在取捨上就需要好好考慮了,不過大部份的網站還是選擇提供SiteMap。
相關說明:wiki資料、什麼是 Sitemap?
SiteMap格式?
SiteMap的格式是以xml的方式提供,不管是bing、Google或是yahoo等各大搜尋引擎都有相同的格式,全都遵守SiteMaps.org的規定,所以只需要建立一份資料就可以一次性的提供給各大搜尋引擎。
Sitemap 必須:
- 以起始
<
urlset>
標記做為開頭,並以結束</urlset>
標記做為結尾。 - 指定
<urlset>
內的名稱領域 (通訊協定標準)。 - 讓每個 URL 中包含一個
<
url>
項目做為母層 XML 標記。 - 在每個
<url>
母層標記包含一個<
loc>
子層項目。
範例:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://blog.yslifes.com/</loc> <lastmod>2010-01-01</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> </urlset>
更多詳細內容請參考Sitemaps XML 格式
通知搜尋引擎
有幾種方法可以通知搜尋引擎
- 透過搜尋引擎的提交介面進行提交
- 在您網站的 robots.txt 檔案中指定位置
- 傳送 HTTP 要求
第一種是利用搜尋引擎提供者提供的管理工具,直接告知SiteMap的位置,不過這需要經過一個簡單的認證動作,來確認網站的所有權,對於使用無法自由控制網站的人並不太適用。
第二種是在網站根目錄下告知SiteMap的網址,這也需要有網站的管理權,格式如下:
Sitemap:
http://www.example.com/sitemap.xml
第三種是利用HTTP要求,這有點像blog ping?傳送一串字串給某一個網址,此時回應200時就是提交成功,否則則有問題
<searchengine_URL>/ping?sitemap=http://www.example.com/sitemap.gz
ps.其中yahoo需要一個應用程式ID才可以進行更新
更多詳細內容請參考Sitemaps XML 格式
下一篇會先介紹SiteMap Creater的運作方式,爾後再敍述程式內容。