Django Sitemap

之前的 SEO 幼幼班 (二)當中,我們提到了登錄 sitemap 的重要性。sitemap 主要是敘述了網站的結構,可以藉由 sitemap 使得搜尋引擎更容易理解網站的內容,藉此幫助搜尋引擎對於網站的索引。這邊我們來告訴大家要如何透過 Django 這個強大的 web framework 來創建動態的 sitemap。

sitemap 怎麼建?

sitemap 是個 xml 檔,格式可以參照 sitemaps.org的描述,基本上來說就是要知道每個 url 的位置、上次更新時間、更新頻率以及權重等等的資料。對於靜態網頁來說,sitemap 可以用人工慢慢的建出來,因為靜態網站不會變動,因此建一次後提交即可。但是對於動態網站或是規模較大的網站來說,可以考慮像是 http://www.xml-sitemaps.com/ 這種 sitemap generator。它會透過 crawler 的方式抓取你的網站,並且建立相對應的 sitemap。

Django sitemap

用手工或是 sitemap generator 的方式生成 sitemap 固然是種方法,但是常常我們的網頁會不斷的新增內容,這個時候用 sitemap generator 定期掃一次的方式可能就不會是那麼即時的更新。對於 Django 這個優秀的 web framework 來說,自動建立 sitemap 當然不會是問題。步驟如下:

在 settings.py 當中加上:

接著就可以訂定 sitemap 當中的成員,假設你今天的網站是個以 blog 為主的網站,那麼你的 views.py 可能會這麼寫:

在這邊我們直接繼承自 Sitemap,設定好 changefreq 根 priority。item 是代表著所有要加入到 sitemap 當中的資料,lastmod 代表著最後更新的日期,location 則是對應到網站的 url。如果你在網站當中有多項資料,那麼只要分別實作不同的 Sitemap 即可。

最後,在 urls.py 當中加入:

這樣就可以完成 sitemap 的創建。

結論

看到 Django 可以那麼輕易的創建出 sitemap 是不是很讓人心動呢?其實 Django 有更多好用的 applications,如果對於 Django 有興趣的人,歡迎參加我們 6/9 以及 6/10 的 PyCon Taiwan,和大家一起了解 Python 以及 Django 的奧妙!



Comments
  1. 回覆

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *