Research - 加強在 Web 服務在搜尋引擎與部分社群的呈現
on 2019-11-21
Research - 加強在 Web 服務在搜尋引擎與部分社群的呈現
這是一份紀錄著如何加強 SEO? 的筆記
參考來源大部分會是 Google 文件或者是 blog 發佈的消息與部分試驗出來的結果
僅供參考
從 0 到 1
建立 [Gogole search console](google search console)
瞭解 Sitemap
social metag og
結構化資料格式
Google rich content
favicon
可讓 Google 識別的特殊標記
lang
PWA(Option)
AMP(Option)
App link(Option)
Google News Publisher Center - Partnerdash(Option)
Google My Business - Stand Out on Google for Free(Option)
提高在 Google 搜尋中的能見度
wiki(Option)
建立 wiki 頁面, 因為 Google 會把 wiki 中相關頁面呈現在前面
對品牌較有效益
更新您的 Google 知識面板(Option)
Google Knowledge Graph Search API(Option)
Knowledge Graph & 知識面板是 Google 一個很猛的計畫
涵蓋範圍不只是只有 web
當有 1 之後
資料品質
Follow the structured data guidelines
避免使用下列手法:
自動產生的內容 加入連結配罝 建立沒有原創內容或極少原創內容的網頁 偽裝 幕後重新導向 隱藏的文字或連結 入口網頁 剪輯的內容 加入無法有效增值的聯盟計畫 載入含有無用關鍵字的網頁 建立具有惡意行為的網頁,例如網路詐騙,或是植入病毒、木馬程式或其他惡意程式 濫用結構化資料標記 對 Google 傳送自動查詢
為操控 Google 搜尋排名而在內容中加入隱藏的文字與連結,可能會遭系統視為詐欺行為,同時也違反 Google 的《網站管理員指南》。隱藏文字 (例如過多關鍵字) 的方式有很多種,例如:
在白色背景上使用白色文字 將文字藏在圖片底下 透過 CSS 將文字放置於畫面外 將字型大小設為 0 透過建立某個小字元的連結來隱藏連結,例如段落中的連字號
在搜尋結果中顯示合適的網頁標題和摘要
圖片
Web - HTML metadata image size with open graph…etc
網址檢查工具
向 Google 說明您的出站連結限制
rel="sponsored"
- Adrel="ugc"
- User generate contentrel="nofollow"
- not follow link
在測試網站時保持 Google 搜尋排名的最佳做法
不過就我的經驗在搞 A/B 測試時沒在導頁的
整合重複的網址
如果要有效的 redirect 頁面請使用 301 作為永久導頁用
本地化(多國語系)
- HTML tag
<link rel="alternate" hreflang="en-us" href="http://en-us.example.com/page.html" />
- HTTP header
Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en", <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch", <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"
- stiemap
<url>
<loc>http://www.example.com/deutsch/page.html</loc>
<xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/deutsch/page.html"/>
<xhtml:link rel="alternate" hreflang="de-ch" href="http://www.example.com/schweiz-deutsch/page.html"/>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/english/page.html"/>
</url>
請勿使用 IP 分析來調整內容。 分析 IP 位置資訊相當困難,而且往往並不可靠。此外,Google 可能無法正確檢索您網站的變化版本。雖然有部分例外,但 Google 檢索器在大多數情況下是源自美國,我們也不會為了偵測網站變化版本而試圖變更位置。如要針對特定地區提供內容,請採用本文列出的方式 (hreflang、替代網址和明確連結)。
當然如果是 App 服務那就沒差了, 因為又不用顧及 Google 爬蟲 XD
保持簡單的網址結構
您可以試著在網址中使用標點符號。http://www.example.com/green-dress.html 這樣的網址比 http://www.example.com/greendress.html 更實用。建議您在網址中使用連字號 (-),而不要使用底線 (_)。
Chrome headless 研究筆記
on 2018-12-26
Chrome headless 研究筆記
最近要用到 chrome headless 的部分功能
且得在 ubuntu or debian server 實踐
所以筆記一下
Intro
headless 大致分兩種用法
-
CLI
-
libary
Refer - Getting Started with Headless Chrome
CLI 用法簡單但是受限很多且沒有找到具體詳細完整的文件, 就連用 man 查都查不到…
也有可能是我自己沒有認真找
libary 就相對容易, 連 Google 自己都有提供部分語言的版本, 且有前端工程師很熟的 Node 版本
on ubuntu server
sudo apt-get install chromium-browser
ex:
chromium-browser --headless --screenshot=test.png --disable-gpu --window-size=320,480 --user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53" http://tedshd.logdown.com
這指令下了截圖, 設定寬高, 模擬 UserAgent
當然也有 --dump-dom
可以看 source code
使用 puppeteer 處理
puppeteer 是 Google 維護的用 node 處理 headless 的套件
用了一下真是感到清爽好用
放一段最簡單的 smaple code
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:64.0) Gecko/20100101 Firefox/64.0');
await page.goto('https://tysh310246.blogspot.com');
await page.screenshot({path: 'example.png', fullPage: true});
await browser.close();
})();
就是如此清爽
且有很多包好的 function 可以用
看了一下文件根本可以用 headless 取代 selenium + webdriver.io 了
但是目前的需求也不需要用到太多其他的功能
有空再慢慢研究
字型
在一台 server 上除非要截的網站是用 webfont 不然就會發現截的圖因為沒有字型所以中文會是方塊字
這部分就得處理一下
可以直接裝 Google 的 noto 字型
wget -c https://noto-website.storage.googleapis.com/pkgs/Noto-hinted.zip
把字型檔載下來放在
/usr/local/share/fonts/
設定 owner
設定權限
安裝字型
sudo fc-cache -fv
搞定
這邊建議直接裝全部語系的字型較為完整, 以免會遇到其他語系還是會有問題