在做 Google SEO優化 時,關鍵字挖掘是第一步。只有真正理解使用者在搜尋什麼,才能制定後續的內容和優化策略。
關鍵字挖掘方法:找到使用者真實搜尋意圖
關鍵字挖掘不是“找詞”,而是找出使用者在 Google 中真實表達的需求。以下是幾種推薦方式:
Google自帶資源
- 下拉聯想詞:輸入關鍵字後出現的自動補全
- PAA(People Also Ask):相關問題建議,適合拓展長尾
- 底部相關搜尋:獲取近義詞、變體詞
工具推薦
| Google Keyword Planner | 免費查搜尋量、CPC、競爭度 |
| Keywords Everywhere | 瀏覽器外掛,顯示關鍵字指標 |
| Ahrefs / SEMrush | 分析競爭對手關鍵字、排名詞 |
| Ubersuggest、Keyword Tool、Ask the Public | 擅長抓長尾詞、問題類搜尋 |
| Google Trends | 識別熱門趨勢與時效性關鍵字 |
競對挖詞技巧
- 使用 Ahrefs或其他第三方工具搜尋競爭對手網址
- 檢視其排名頁面和關鍵字(Top Pages)
- 按主題整理,衍生出內容選題
社群/B2B/B2C平臺挖詞
- 社群 hashtag:Instagram、X、Facebook 等
- 平臺搜尋建議:Amazon、Alibaba、Shein、Etsy 等
- YouTube下拉建議:拓展視訊相關關鍵字
AI挖詞
輸入種子詞,讓AI衍生相關的長尾詞。
關鍵字型別
不同的關鍵字型別代表著不同的搜尋意圖,滿足使用者的搜尋意圖才能讓我們的排名一直上升。
| 型別 | 意圖 | 示例 | 建議頁面 |
| 導航詞 | 查詢某站/品牌 | 知乎官網/google登入 | 首頁,品牌頁 |
| 資訊詞 | 獲取知識 | 如何選擇關鍵字 | 部落格,百科,教程詞 |
| 商業詞 | 比較選項 | seo工具對比,建站服務對比 | 對比文章,內容聚合文章,產品頁 |
| 交易詞 | 準備轉化,價格 | seo優化服務價格,建站費用 | 報價頁,服務落地頁 |
關鍵字篩選
關鍵字研究不是“越多越好”,而是找到“能帶來轉化的高性價比詞”。
篩選維度:
- 搜尋量(Search Volume)
- 關鍵字難度(Keyword Difficulty,KD)
- 商業價值(CPC / 轉化潛力)
- 意圖匹配度(是否與產品或內容目標一致)
- 競爭者密度(巨頭是否已主導)
操作建議:
- 建表整理所有關鍵字 → 使用工具匯出 Volume/KD/CPC → 排序優先順序 → 手動標註推薦方向
批量查詢關鍵字資料
登入Keywords Everywhere檢視一下自己的額度,看是否還有,沒有的話可以根據預算購買一下對應的套餐,批量查詢的時候需要用到額度,沒有額度查詢不出來。
接下來轉入keywords everywhere的api documentation,或在Google搜尋keywords everywhere api documentation。
點選yes,第二個選項,take me to the API documentation。
點選獲取API key。
輸入你註冊時的郵箱。
郵箱會接收到帶有api key連結的郵件。
複製API key。
回到api documentation,點選get keyword data。
選擇google sheets。
Google搜尋框搜尋google sheets。
新增空白表格。
選擇extensions,app script。
進入這個頁面,新增以下程式碼。
API記得改成自己獲得的那個。尖括號也要去掉。
const API_KEY = '<YOUR_API_KEY>';
const API_ENDPOINT = 'https://api.keywordseverywhere.com/v1/get_keyword_data';
/**
* Register spreadsheet menu.
*/
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Call KE API')
.addItem('Call Keywords Everywhere API and display results','callKeApi')
.addToUi();
}
/**
* Make an API request to the Keywords Everywhere API and display the results.
*/
function callKeApi() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var activeRange = SpreadsheetApp.getActiveRange();
var col = activeRange.getColumn() + 1;
var row = activeRange.getRow();
if(activeRange.getWidth() > 1){
throw new Error( "Please select a single column" );
}
var selectedKeywords = activeRange.getValues();
if(row == 1){
//Remove the first keyword assuming it's part of the header row
selectedKeywords.shift();
} else {
row --;
}
selectedKeywords = selectedKeywords.map(function(row){
return row[0];
});
//Remove empty rows
requestKeywords = selectedKeywords.filter(function(kw){
return kw != '';
});
//Remove duplicates
requestKeywords = [...new Set(requestKeywords)];
if(requestKeywords.length == 0){
throw new Error( "Please select some keywords" );
}
var formData = {
'dataSource': 'gkp',
'country': 'us',
'currency': 'USD',
'kw[]': requestKeywords
};
var headers = {
'Authorization': `Bearer ${API_KEY}`,
'Accept': 'application/json',
};
var options = {
'method' : 'post',
'payload' : queryfy(formData),
'headers': headers
};
var response = UrlFetchApp.fetch(API_ENDPOINT, options);
var json = response.getContentText();
var parsedJson = JSON.parse(json);
if(!parsedJson.data.length){
return;
}
resultMap = {};
parsedJson.data.forEach(function(elem, i){
resultMap[elem.keyword] = elem;
});
var output = [];
var header = null;
var trend = null;
selectedKeywords.forEach(function(kw,i) {
var elem = resultMap[kw];
if(!elem){
output.push([]);
return;
}
if(header === null || trend.length < elem.trend.length){
header = ["Volume", "CPC", "Competition"];
elem.trend.forEach(function(trendItem, j){
header.push("Trend (" + trendItem.month + " " + trendItem.year + ")");
});
trend = elem.trend;
}
var dataRow = [elem.vol, elem.cpc.currency + elem.cpc.value, elem.competition];
elem.trend.forEach(function(trendItem, j){
dataRow.push(trendItem.value);
});
output.push(dataRow);
});
output.unshift(header);
var h = output.length;
var w = output[0].length;
for(var i = 5; i < w; i++){
sheet.setColumnWidth(i + col - 1, 150);
}
for(var i = 0; i < h; i++){
while(output[i].length < w){
output[i].push("")
}
}
sheet.getRange(row, col, h, w).clearContent();
sheet.getRange(row, col, h, w).setValues(output);
sheet.getRange(row, col - 1, 1, w + 1).setFontWeight('bold');
}
/**
* Convert a JavaScript object to a HTTP query string.
*/
function queryfy(obj){
return Object.keys(obj).reduce(function(p, e, i) {
return p + (i == 0 ? "?" : "&") +
(Array.isArray(obj[e]) ? obj[e].reduce(function(str, f, j) {
return str + e + "=" + encodeURIComponent(f) + (j != obj[e].length - 1 ? "&" : "")
},"") : e + "=" + encodeURIComponent(obj[e]));
},"")
}
貼上進去。
點選上方的儲存和測試。
選擇review permissions。
按以上步驟授權,就可以先測試了。如下可以正常使用。
在A這列批量貼上你需要查詢的關鍵字,或者手動輸入也可以,選擇之後然後點選call ke API。關鍵字的資料都會展現出來。
關鍵字佈局
關鍵字不只是要有,更要“放對位置”:
- 頁面標題(Title)
- 頁面描述(Meta Description)
- H1 / H2 等結構化標題
- 正文內容(首段、中段、結尾)
- 圖片 ALT 屬性
- URL 中包含關鍵字
- 內部連結錨文字中使用關鍵字
長尾關鍵字策略
我們也叫“農村包圍城市策略”,因為長尾關鍵字(Long-tail keywords)一般搜尋量低,但意圖明確、轉化率高,是早期站點流量突破的重要方式。
注意選擇中低搜尋量的詞。
獨立Google SEO專家,ylsseo.com創始人,基於Google專利、IR與API Leak解讀排名機制,中文SEO啟蒙第一人。