關鍵字組合工具依「先見順序」逐一走訪兩個清單,並可透過 A 然後 B 或 B 然後 A 的切換鈕鎖定外層與內層迴圈,因此詞組順序完全取決於您貼上的行序、選擇的迴圈,以及您輸入的分隔符——除此外不受任何其他因素影響。由於每個組合都是從上到下走訪外層清單,再將每個詞與內層清單從上到下逐項配對,因此以相同的順序貼上相同的兩個清單、使用相同的切換與相同的分隔符,必定重現相同的「每行一個詞組」輸出。空行會被忽略,每個清單內部完全區分大小寫的重複項目會摺疊成第一個出現的版本,且任何控制字元都會在任何配對建立之前被拒絕。配對預算會在最前端進行檢查,因此當輸入配對數超過 10,000 時會整個失敗,而不會靜默地只回傳第一頁的詞組。這些決策都不會隱含地發生;每一個會影響排序的屬性,都有一個由您控制的明確輸入。

how do i keep keyword order consistent in keyword combiner
在關鍵字組合工具中保持關鍵字順序一致

在笛卡兒積中「一致的關鍵字順序」代表什麼

笛卡兒積會將一個集合中的每個項目與另一個集合中的每個項目進行組合。在兩個清單的組合工具中,這代表清單 A 中的每個詞都會與清單 B 中的每個詞配對,每行輸出一個配對。所謂一致的順序,是指清單 A 中位置 1 的同一行來源,永遠會先與清單 B 中位置 1 的同一行來源配對,然後才輪到 A 中位置 2 與 B 中位置 1 配對,依此類推。工具會從上到下走訪外層清單,並對每個外層詞,從上到下走訪內層清單。舉一個具體的例子,將清單 A 視為三個顏色(紅、藍、綠),清單 B 視為兩個產品名稱(鞋子、帽子)。在 A 然後 B 並使用單一空格分隔符的情況下,輸出為紅 鞋子、紅 帽子、藍 鞋子、藍 帽子、綠 鞋子、綠 帽子——依照該順序共六行,源自 3 × 2 = 6 個輸入配對。重新排序任一清單、切換切換鈕,或更改分隔符,這六行都會隨之改變。

將順序鎖定的三個控制項

來源順序。每個清單會依換行符分割、修剪外部邊緣空白,並在保留第一次出現的前提下,以區分大小寫的方式去除重複。因此 red、blue、red 僅會產生 red 與 blue,且依此順序。在 red 與 Red 之間切換並不會合併它們,而在貼上前反轉您的清單,也會反轉最終的配對序列。

A 然後 B 或 B 然後 A 的切換鈕。切換鈕會選擇哪個清單作為外層迴圈。選擇 A 然後 B,結果會以每個 A 詞與第一個 B 詞的配對作為開頭。選擇 B 然後 A,結果會以每個 B 詞與第一個 A 詞的配對作為開頭。規格說明指出,切換鈕會同時改變迴圈順序與詞組順序,因此選定一次並保持穩定,是維持輸出穩定的一部分。如需並列比較每種迴圈選擇如何重塑相同的輸入,請參閱在關鍵字組合工具中比較 A 然後 B 與 B 然後 A。

分隔符。分隔符是長度最多 20 個 Unicode 碼位、且不含換行符或控制字元的字面字串。不會額外加入隱藏的間距。使用單一空格時,red 與 shoes 會變成 red shoes。使用空分隔符時,同樣的兩個詞會變成 redshoes。您輸入什麼,輸出就會原樣出現,因此若貼上的內容夾帶看不見的尾端空格,也會原封不動地出現在輸出中。

在多次執行間保持關鍵字順序一致

  1. 在清單 A 中每行貼上一個關鍵字,在清單 B 中每行貼上一個修飾詞,每行皆無空行且無尾端空白。
  2. 記下您貼上的確切順序。將該順序視為輸入的一部分——除非您想要新的序列,否則不要在執行之間重新排序。
  3. 選擇 A 然後 B 或 B 然後 A,並在每次重複執行時保持該選擇不變。
  4. 請完全依照您的意圖輸入分隔符。若需要單一空格,請輸入一個空格。若需要連字號,請只輸入一個連字號,不要多也不要少。
  5. 執行組合,並從關鍵字組合工具將具確定性的「每行一筆」輸出以單一區塊的方式複製起來。
  6. 稍後重新執行時,請以相同的順序貼上相同的行、保持相同的切換、保持相同的分隔符,您將會得到與先前相同的文字。

為何「先見順序」能讓輸出具有確定性

在此工具中,確定性代表相同的輸入必定產生相同的輸出。走訪順序是固定的:外層清單從上到下,內層清單從上到下。空行會被忽略,每個輸入清單內部的重複項目會摺疊成第一個出現的版本,分隔符則會原樣附加。由於管線中的每個步驟皆完全由您控制的輸入所指定,因此跨兩個工作階段的相同輸入會產生相同的文字。正是這個特性讓結果適用於版本比較、回歸測試,以及必須與先前匯出相符的廣告群組草稿。配對預算同樣會在輸出去除重複之前計算:工具會在產生任何配對之前先計算 A×B,並拒絕任何超過 10,000 個配對的請求,且不提供部分輸出。該閘門同樣具有確定性——請求要不就是完整執行,要不就是整個失敗。

正是這種穩定性,讓輸出得以流入試算表、廣告群組草稿或內容簡報中,而無需手動重新排序。可重現的輸出也能讓您保留一份測試固定資料:貼上相同的固定資料、點擊組合,然後將複製結果與已知字串進行比對。若不相符,代表三項輸入——來源順序、切換或分隔符——其中之一已產生偏差,而稽核摘要能協助您釐清是哪一項。

會在執行間悄悄改變順序的因素

即使文字看起來相同,順序仍可能產生漂移。常見的原因包括:

  • 在執行之間對來源清單重新排序或手動編輯。請從儲存好的檔案重新貼上原始順序。
  • 不小心將 A 然後 B 切換成 B 然後 A。請在您的筆記中固定該選擇。
  • 細微的分隔符漂移:多餘的空格、不中斷空格,或誤用減號而非 en 破折號。請在每次執行前逐字元比對分隔符。
  • 貼上內容末端含有空行。空行會被忽略,因此以五個空行作結的清單,其行為與沒有空行作結的清單相同;但末端附近若混入一個非空白的行,則會使後續所有配對位移。
  • 混合大小寫以創造新的變體。由於去除重複會區分大小寫,Shoe 與 shoe 會保持相異。請將大小寫視為刻意的輸入,而非雜訊。

串接後的碰撞是另一種隱形的重新排序。在使用空分隔符的情況下,ab 加上 c、以及 a 加上 bc 都會產生 abc。工具會保留最先產生的輸出,並將後續的碰撞另外回報,因此唯一輸出的數量將會小於輸入配對的數量。稽核摘要會顯示已移除的輸入重複項與已移除的輸出碰撞,請利用這些數字來確認您複製的清單與您預期的內容相符。

在順序產生影響之前即中止請求的硬性限制

在任何配對執行之前,會先檢查多項輸入限制。只要超過其中任何一項,整個請求就會失敗——工具絕不會回傳部分樣本。相關的限制如下:

控制項限制
每次編輯器貼上大小100,000 個 UTF-16 碼元
每個清單的唯一詞數500
每個詞的字元數100 個 Unicode 碼位
分隔符長度20 個 Unicode 碼位,不得含換行符或控制字元
每次請求的輸入配對數10,000(超過即整個失敗)

每個詞會在外部邊緣進行修剪,並限制為最多 100 個碼位。由於控制字元會被拒絕,請從乾淨的來源貼上。空行會在計數前被捨棄,而區分大小寫的去除重複會依先見順序套用,因此一份含有 100 個重複的 600 行清單,會化約為 500 個唯一詞——剛好達到上限。若您的標準化清單大小相乘後超過 10,000 個輸入配對,請求會在任何輸出產生之前失敗。請縮減其中一個來源清單,直到乘積等於或低於上限,然後重新執行。

若您正在權衡選項,Mac 上的關鍵字密度檢查工具:瀏覽器工作流程對此有詳細說明。