手把手程式實作分享系列: SiteMap 操作 並放在Django project裡面

為什麼突然來討論這個呢? 都是為了提升網站的SEO阿!
在我們寫好網站上線之後,用了一些方式寫關鍵字在前端裡面,但是我們發現,很多分頁無法被搜尋出來,所以就來討論這個技術了。

SiteMap到底是什麼?

SiteMap 是意指”網站導覽”又稱為”網站地圖”,用途為顯示網站內所有的頁面連結資訊架構,在 SiteMap 的形式當中又分為( html、asp、aspx、php )及 XML 兩大主要格式,在兩種主要形式當中( html、asp、aspx、php )多用於製作呈現給一般訪客在瀏覽網頁內容時查看使用(似書本摘要目錄),而 XML 是針對搜尋引擎所制定的導覽格式,主要用於列表整體連結協助搜尋引擎針對網站的所有頁面進行審查和收錄。

在 SEO 網站優化的角度上, SiteMap 的建置以 XML 格式最為重要,在新網站建置完成上線後,雖然搜尋引擎會透過爬蟲程式收錄網站資訊,但在面對架構複雜、連結較多的網站需要有較長的查詢時間且容易有收錄不完整的情況,因此透過 SiteMap 的建立與提交,能夠協助搜尋引擎較快速的得到網站完整資訊,也能幫助網站可以更快速的讓一般使用者查詢觀看。
那我們下面來看一下怎麼創造sitemap檔案,我比較懶惰拉,所以用了自動生成來完成sitmap XML檔案。

如何製作 Sitemap 檔案?

Sitemap 的檔案格式不只有 XML 檔,也可使用 RSS、mRSS 等格式。以下以最常用的 XML 格式示範。

Sitemap 產生器

利用線上的免費資源快速生成 Sitemap.xml 檔案,通常可能有網址數量限制,但以小型網站來說已相當夠用。

XML 格式的 SiteMap內容較為簡單,撰寫上可以自行製作,但連結資訊較為豐富多元的網站也有相關工具能夠協助自動產生SiteMap檔案,如:https://www.xml-sitemaps.com/

那完成之後要如何把你弄好的sitemap丟上google呢?

提交 Sitemap

Sitemap 製作完成後,利用 Google Search Console 提交 Sitemap。

進入 Google Search Console 後,點選工具列「Sitemap」,接著輸入 Sitemap 網址「sitemap.xml」,點選提交即完成提交。提交後可於下方「已提交的 Sitemap」欄位中看到 Sitemap 的上傳狀態與收錄網站數目。 點選「已提交的 Sitemap」旁的小圖示,可查看索引涵蓋範圍,了解網站檢索狀況。

那我們也放一些reference給大家參考~~
Google Search Console 完整版教學看這裡: 【Google Search Console教學篇】從安裝到功能設定一次解鎖,關鍵字與網站管理者必學!

和Django結合

我們是使用Django來寫網頁,所以在程式端也需要做一點點功夫,首先打開你某一支app 然後在該.url.py 底下把連結設定好

path("sitemap.xml",views.sitemap)

然後進去.view.py 加入一段function來幫忙轉

def sitemap(request):
return HttpResponse(open("sitemap.xml").read(),content_type="text/xml")

後面的content_type=’text/xml’ 一定要加進去,否則讀取到的網頁會變成html 而不是xml

那google就會看不出來

後語:

如果要手動自己輸入,sitemap也是有其他方式來製作。

如果要django自己來生成sitemap檔案,也是可以,只是設定上會比較麻煩,而且還有許多版本的問題,我們不使用是因為前端用了Vue來執行,滿多設定上的麻煩,所以最後就使用自動生成了。

--

--

Walter Chiu
Bandai的機器學習筆記

台大電機博士候選人,主要學習電腦科學、資訊教育,關心各種時事議題,歡迎一起討論有趣的專題 dodo0095@hotmail.com