やりたいこと
- サジェストのチェックを自作で作りたい
- キーワードを入れると、「該当キーワード」、「該当キーワード+スペース」、「該当キーワード+任意の1文字」のサジェストを一覧表示させる
完成イメージ
前提
- Wordpress4.7(4.7でなくてもOK)
- テーマ:何でもOK
- こちらのサイトを参考にさせていただきました
対応1:function.phpにコード追加
function get_suggest_list() {
$checkWord = htmlspecialchars($_GET['check_word']);
// キーワードが空の場合は処理終了
if (empty($checkWord)) {
return false;
}
$addWords = array(
"",
"a","b","c","d","e","f","g",
"h","i","j","k","l","m","n",
"o","p","q","r","s","t","u",
"v","w","x","y","z",
"あ","い","う","え","お",
"か","き","く","け","こ",
"さ","し","す","せ","そ",
"た","ち","つ","て","と",
"な","に","ぬ","ね","の",
"は","ひ","ふ","へ","ほ",
"ま","み","む","め","も",
"や","ゆ","よ",
"ら","り","る","れ","ろ",
"わ","を","ん",
"が","ぎ","ぐ","げ","ご",
"ざ","じ","ず","ぜ","ぞ",
"だ","ぢ","づ","で","ど",
"ば","び","ぶ","べ","ぼ",
"ぱ","ぴ","ぷ","ぺ","ぽ"
);
echo '<table>';
echo '<thead>';
echo '<tr>';
echo '<th>サジェスト元</th>';
echo '<th>キーワード</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';
// GooleサジェストAPIを使用してサジェストワードを取得
foreach ($addWords as $addWord) {
$url = "http://www.google.com/complete/search?hl=ja&output=toolbar&ie=utf_8&oe=utf_8&q=".urlencode($checkWord . ' ' . $addWord);
$toplevel = simplexml_load_file($url);
foreach ($toplevel->CompleteSuggestion as $completeSuggestion) {
$suggest_word_array[] = $completeSuggestion->suggestion->attributes()->data;
echo "<tr><td>". $checkWord . ' ' . $addWord ."</td>\t<td>".$completeSuggestion->suggestion->attributes()->data."</td></tr>\n";
}
}
echo '</tbody>';
echo '</table>';
}
add_shortcode('get_suggest_list', 'get_suggest_list');
対応2:専用固定ページを追加
※ ステータスは非公開で作りましょう
※ form actionの値は作成する固定ページのパーマリンクの値を設定します
<form method="GET" action="/suggest-checker/">
<input type="text" name="check_word"> <input type="submit" name="send" value="送信">
</form>
[get_suggest_list]
完成
何とたったこれだけです。
作成した固定ページを開いてみましょう。
2. 検索ボックスに適当なキーワードを入れて、送信ボタンをクリック
3. 入力したキーワードのサジェストと、キーワード+1文字入力された場合のサジェストの一覧が表示されます。
まとめ
Wordpress内に簡単なプログラムを埋め込むだけで、サジェストを取得できるようになりました。
これを使ってSEO記事を書く際の参考にしたり、これを応用してサジェストワードをDBに登録してグラフ表示させたりとか、いろいろ出来そうですね。是非一度お試し下さい。