近期SEO總整理
前言
最近為了SEO做了滿多功課
整理一下最近的一些SEO操作
SEO
基本方式
比較傳的的就像是title要使用該頁重點
Meta Tag的keywords, description
還有一些像是h1, strong tag的HTML Friendly用法等等
URL
網址如果符合該頁的的內容
將會對於SEO更加友善
例如文章頁面https://example.com/article
商品頁面https://example.com/product
Mobile First
現在是智慧型手機的時代
如果網站沒有支援Mobile
將會影響SEO
這是Google的Moblie Friendly Test Tool
可以測試並評分Web對Mobile的友善程度
https://search.google.com/test/mobile-friendly
網站速度
網站載入的速度也會影響SEO的排名
除了對搜尋引擎外
對一般使用者來說
如果網站載入時間太慢(有一種說法是說超過6秒)
使用者就會以為網站壞了而直接離開網站
加速網站幾種方式
- 為api加上cache
- 圖片做壓縮處理
- api使用gzip來壓縮傳輸
- html, css, javascript做壓縮
至於測試Google也提供一個網站速度的測試工具
https://developers.google.com/speed/pagespeed/insights
SSL
Google在2014有提出SSL將會提升網站的搜尋排名
https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html
Facebook Open Graph
Open Graph是Facebook提出的一個標準
在Web加上Open Graph Tag
能夠讓Facebook Crawler精準的取得該頁的重點
參考網址: https://developers.facebook.com/docs/sharing/webmasters
Open Graph測試工具: https://developers.facebook.com/tools/debug/
Google Search Console
使用Google Search Console
能夠提交網頁、Sitemap給Google
也能預覽頁面的Google檢索結果
讓網站管理者能夠更清楚網頁是否能正確的被檢索
Google Search Console: https://www.google.com.tw/intl/zh-TW/webmasters/#?modal_active=none
另外
也可以提交網站的route規則給Google
讓Google能夠更準確、更有效率的檢索網站
https://support.google.com/webmasters/answer/6080550?hl=zh-Hant
Google Structured Data
結構化資料
一般網頁呈現的是給人類看的資料
但是機器(爬蟲)很難能準確的抓到每一頁的重點資料
所以我們可以使用Google提出的Structured Data餵資料給爬蟲
讓爬蟲能後精準的知道該頁的重點
就跟Facebook的Open Graph Tag的功能一樣
不過Google Structured Data比較複雜一點
能夠依照頁面的類型像是文章、產品、書籍、課程等等
讓Google能夠依照這些類型更準確的提供搜尋
也能夠產生不同的搜尋體驗
Google Structured Data採用schema.org訂的標準
格式可分為JSON-LD、Microdata、RDFa
詳見: https://developers.google.com/search/docs/guides/intro-structured-data#markup-formats-and-placement
Google建議使用JSON-LD這種格式
因為另外兩種是將Structured Data寫在HTML Tag中
這樣會造成HTML過於雜亂而造成維護困難
JSON-LD則是將Structured Data抽離到script tag中
維護起來更加方便
另外Google也有提供Structured Data的測試工具
這個Chrome Extension的Structured Data測試工具也滿好用的
Single Page SEO
Single Page Web的SEO一直是最令人頭痛的問題
尤其是要將非同步api資料設定為SEO資料時
更是要使用麻煩的Server Side Render
之前網路上看過許多做法
很多都是要另外架node server來做Server Side Render
甚至為了SEO來改變single page的開發code
感覺成本代價實在有點高
所以我目前正在開一個由laravel+phantomjs做的Server Side Render專案
待完成專案後
會在新增一篇獨立文章來介紹使用方式