LoginSignup
2
3

More than 5 years have passed since last update.

Wordpressで簡易サジェストチェッカーを作ってみた

Last updated at Posted at 2016-12-31

やりたいこと

  • サジェストのチェックを自作で作りたい
  • キーワードを入れると、「該当キーワード」、「該当キーワード+スペース」、「該当キーワード+任意の1文字」のサジェストを一覧表示させる

完成イメージ

スクリーンショット 2016-12-31 11.26.45.png
※ デザインは適用されているテーマによって異なります。

前提

  • 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">&nbsp;&nbsp;<input type="submit" name="send" value="送信">
</form>
[get_suggest_list]

完成

何とたったこれだけです。
作成した固定ページを開いてみましょう。

1. 検索ボックスが表示されます。
スクリーンショット 2016-12-31 11.50.18.png

2. 検索ボックスに適当なキーワードを入れて、送信ボタンをクリック
スクリーンショット 2016-12-31 11.51.53.png

3. 入力したキーワードのサジェストと、キーワード+1文字入力された場合のサジェストの一覧が表示されます。
スクリーンショット 2016-12-31 11.26.45.png

まとめ

Wordpress内に簡単なプログラムを埋め込むだけで、サジェストを取得できるようになりました。
これを使ってSEO記事を書く際の参考にしたり、これを応用してサジェストワードをDBに登録してグラフ表示させたりとか、いろいろ出来そうですね。是非一度お試し下さい。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3