SEO 優化 (一):為什麼搜尋 (Google) 不到我的 Hexo 部落格?
前言
因為即使一個新的網站被創建,搜尋引擎也不會馬上辨識到該網站,要等搜尋引擎自動辨識到網站,不知道幾年過去了…,所以,我們必須實行一些動作,使搜尋引擎確實收錄新建立的網站。
也就是讓搜尋引擎的索引,有新建立網站中網頁的內容及網址等資料,讓搜尋引擎能更容易地搜尋到我們的網站,這個動作算是 SEO 的其中一種。
工具
Google 有一個 Search Console 工具,可以讓我們在 Google 搜尋引擎登錄新建的網站,還提供檢索分析,讓我們更加了解網站的流量和被查詢的關鍵字等。
不同的搜尋引擎都需要個別登錄。或是不想登錄,就等一段時間 (5、6 個月到一年吧…) 後它自行發現吧!
Search Console 的流程是:驗證網站擁有權 > 提交網址給 Google 索引
驗證網站擁有權
在提交網址之前,我們必須先在 Google Search Console 驗證網站擁有權。
-
點擊「新增資源」。
-
選擇「網址前置字元」(如果選擇左邊的「網域」,則需要進行 DNS 認證,我沒有買域名,所以不選擇這項。如果有買的人,應該可以參考這篇:github 設定 DNS)。
-
連同
http
、https
輸入網站的網址。
-
驗證網站的擁有權。
它建議直接在網站中放置一個驗證檔案,但是說真的我不確定這個應該放在我的 Hexo 網站架構中的哪一個部分,所以我直接選擇了其他認證方法中的 HTML 標記,之後會考慮改成 Google Analytics。
- HTML 標記:只需要在
<head>
中,增加一段它給予的<meta>資料
就好。
- HTML 標記:只需要在
-
驗證完畢後就會出現如下的畫面。
提交網址給 Google 索引
提交的方式有兩種,如下所示:
- Google 模擬器工具:適合規模較小 (500頁以下)、有 Blogger 或 Wix 等網站代管服務的網站。
- 提交 Sitemap:適合擁有大量網址的網站。
Sitemap 簡單來說,就是一個放有管理者覺得是重要網頁 (想被搜尋) 的檔案。能讓瀏覽網站者一目瞭然 (可以做一個漂亮的畫面,也可以不做)。也能讓搜尋引擎的 spider (或稱:蜘蛛、爬蟲、web crawler) 知道,應該檢索網站上的哪些網頁。
可以參考「什麼是 Sitemap?」、「是否該使用 Sitemap?」
Google 模擬器工具
使用該工具自動產生索引,需要 1~2 週的作業時間。
第一次
-
先在 Google Search Console 點擊左欄的「網址審查」,因為網址還沒有提交到 Google 索引,因此出現如下畫面:
-
點擊「要求建立索引」,Search Console 工具會檢查網址,確認是否有任何索引問題,如果沒有問題,就會自動幫該網址建立索引囉!
更新網址內容以後
因為我們可能會變更或修正線上網址的部分內容,造成 Google 檔案中已建立的索引和修改後可以產生的索引有差異。因此,可以檢查兩者的差異性,並且產生新的索引。
- 點擊「網址審查」,它的功能其實是檢查已建立索引的網址,並且查看目前的索引狀態。
- 點擊「測試線上網址」。
- 點擊「要求建立索引」。
提交 Sitemap 檔案位置
-
產生 Sitemap 檔案
- 手動產生:參考 Sitemap 通訊協定。
- 自動產生:
- 第三方工具
- 我是用 hexo-generator-sitemap
在終端機輸入以下指令:
1
$ npm install hexo-generator-sitemap --save
並且在 Hexo 基本配置 (不是主題的配置)
_config.yml
檔案中添加:1
2
3
4sitemap:
path: sitemap.xml
# template: ./sitemap_template.xml
rel: falsetemplate:客製化的網站地圖樣板,不需要就註解掉。
rel:預設 false。開啟的話,會產生指向網站地圖檔案的連結<link rel="sitemap" type="application/xml" title="Sitemap" href="${url_for.call(this, path)}" >
,但是,我不確定是不是因為 BMW 主題沒有涵蓋相關的程式碼,所以我改成 true 後,完全沒反應,之後再研究。 -
Sitemap 檔案一般會放在網站的根目錄,網址是
http://首頁網址/sitemap.xml
,跟index.html
首頁同層,也就是如下的位置:1
2
3My_folder
├ index.html
└ sitemap.xml如果有安裝
hexo-generator-sitemap
,在使用指令hexo g
產生靜態檔的同時,就會產生和首頁同層的 Sitemap 檔案。 -
可以用這個網站檢查 Sitemap 檔案是否符合規範。記得輸入整個網址,例如我的是:
https://jenifers001d.github.io/sitemap.xml
。 -
將 Sitemap 檔案位置提交到 Search Console:點擊 Search Console 左欄的「Sitemap」,在紅框位置輸入
sitemap.xml
提交 Sitemap 後的觀察日記
一天後
主動提交 Sitemap 檔案路徑經過一天後,顯示「網址在 Google 服務中」,表示網站已經可顯示在 Google 搜尋結果中。Sitemap 顯示「不適用」的原因應該是因為檔案中,沒有 https://jenifers001d.github.io
這個網址。我是在第四天才發現這件事的,所以不確定一天後就審查文章網址是不是不會出現「不適用」。
搜尋我的網站名稱 Jenifer.Code.World
已經可以找到少數的網頁,如下:
但是如果直接搜尋文章標題或網址片段,還無法找到任何結果:
三天後
主動提交 Sitemap 檔案路徑經過三天後,也就是網站已經可顯示在 Google 搜尋結果中的兩天後,已經有分析結果出現了。
直接搜尋文章標題,有機率可以找到自己的文章啦!
四天後
主動提交 Sitemap 檔案路徑經過四天後,也就是網站已經可顯示在 Google 搜尋結果中的三天後,審查文章網址,可以看到 Google 發現文章的方式是透過 Sitemap。
索引的「涵蓋範圍」也出現執行結果了!
在「詳細資料」裡的「排除」欄位,可以觀察到新發布的文章,不會馬上被建立索引,會出現「已檢索 - 目前尚未建立索引」的字句。有時候甚至還沒被檢索到。
網址審查結果請參照網址檢查工具中的檢查結果資訊欄:「Google 服務呈現狀態」和「索引涵蓋範圍」。
不想主動登錄新建的網站,也可以建立 Sitemap
Sitemap 是為了讓網路爬蟲能快速、便捷地認識該網站中的結構。因此,如果不想去搜尋引擎登錄新建的網站,也還是可以建立 Sitemap。它有助於 SEO,因為,等到某一天,某隻爬蟲爬入網站中的某一頁,就還是能認識到網站的結構啦!
除了在資料夾中放入 Sitemap 檔案,還需要將 Sitemap 檔案位置放置在爬蟲會發現的地方:
- 加入 Sitemap 檔案位置到
<head>
中 - 在
robots.txt
中增加Sitemap
參數
加入 Sitemap 檔案位置到 <head>
中
1 | <head> |
在 robots.txt
中增加 Sitemap
參數
robots.txt
檔案只能放在網站的根目錄底下,否則不會被爬蟲發現。
robots.txt
簡單來說,就是一個讓爬蟲「不要」檢索網站中某些網頁的檔案,因此單就 Disallow 參數寫得好,也是能加強 SEO。除此之外,還能指定 Sitemap 檔案位置。
可以參考維基百科的解說。
Hexo 網站中,robots.txt
是放在 Hexo資料夾/source
中,如下:
1 | JeniferCodeWorld |
動作是,在檔案中任意位置增加如下語句:
1 | Sitemap: https://jenifers001d.github.io/sitemap.xml |
至於,已經主動提交 Sitemap 檔案位置給搜尋引擎後,再做出上面兩個其中一個步驟會有助於 SEO 嗎?待研究。
參考資料:
Hexo搜尋引擎優化
sitemap.xml網站地圖是什麼?從工具/產生器/程式製作到進行提交教學