★悩み★
・WordPressのAPIで全記事のSEO情報を取得することはできるのだろうか。
・All in One SEOで設定したSEO情報をWordPressのAPI経由で取得したい。
・WordPressのAPIでSEO情報を取得する手順を知りたい。
こういった「悩み」に答えます。
★本記事の内容★
WordPressのAPIでSEO情報を取得する手順をご紹介
これからご紹介する「WordPressのAPIでSEO情報を取得する手順」を実践したことで、筆者は30分以内でWordPressのAPI経由でSEO情報を取得できました。
記事の前半では「WordPressのAPIでSEO情報を取得するための準備」を解説します。
記事の後半では「”WordPressのAPIでSEO情報を取得する”APIの作成手順」をご紹介します。
この記事を読み終えることで、「WordPressのAPIでSEOを取得する手順とWordPressのAPI作成手順」を把握した状態になります。
ちなみに、「WordPressのAPIとは何か?」を知りたい方は、以下の記事をご覧ください。
WordPressのAPIでSEO情報を取得する手順
「WordPressのAPIでSEO情報を取得する手順」に関してご紹介します。
★WordPressのAPIでSEO情報を取得までの流れ★
手順1:WordPressで「All in One SEO」をインストール
手順2:WordPressでSEO情報を取得するAPIを作成
手順3:WordPressでSEO情報を取得するAPIの動作確認
上記の流れで、WordPressのAPIでSEO情報を取得することができます。
以降で、「WordPressのAPIでSEO情報を取得までの流れ」の各手順に関してご紹介します。
手順1:WordPressで「All in One SEO」をインストール
「手順1:WordPressで「All in One SEO」をインストール」に関してご紹介します。
WordPressのAPIでSEO情報を取得するためには、「All in One SEO」のインストールが必要です。
WordPressに「All in One SEO」をインストールする手順に関しては、以下の記事をご覧ください。
既に「All in One SEO」をインストールされている方は、本手順を省略してください。
以上で、「手順1:WordPressで「All in One SEO」をインストール」は完了です。
手順2:WordPressでSEO情報を取得するAPIを作成
「手順2:WordPressでSEO情報を取得するAPIを作成」に関してご紹介します。
以下の記事を参照し、WordPress管理画面で「テーマのための関数(functions.php)」を編集する画面(下図)を開きましょう。
今回は、以下のコードを上図の赤四角に貼り付け、ページ末尾の「ファイルを更新」をクリックします。
<?php //子テーマ用関数
if ( !defined( 'ABSPATH' ) ) exit;
//子テーマ用のビジュアルエディタースタイルを適用
add_editor_style();
//以下に子テーマ用の関数を書く
//記事のIDとタイトル、SEOキーワードを返却する関数を設定
add_action('rest_api_init', function() {
register_rest_route( 'wp/v2', '/org_api', array(
'methods' => 'GET',
'callback' => 'org_api',
));
});
//記事のIDとタイトル、SEOキーワードを返却する関数
function org_api( ) {
$contents = array(); //APIで返却する値用の配列を宣言
$myQuery = new WP_Query(); //取得したいデータを設定
$param = array(
// 'order' => 'DESC'
'posts_per_page' => -1
);
$myQuery->query($param); //WordPressを検索し、データの取得
if($myQuery->have_posts()):
//記事情報で処理の繰り返し
while ( $myQuery->have_posts() ) : $myQuery->the_post();
$ID = get_the_ID(); //記事のIDを取得
$title = get_the_title(); //記事のタイトルを取得
$keyword = get_post_meta($ID, "_aioseop_keywords", true); //記事のSEOキーワードを取得
//APIで返却する値を設定
array_push($contents, array(
"title" => $title,
"id" => $ID,
"keyword" => $keyword
));
endwhile;
endif;
return $contents;
}
上のコードにより、WordPressで執筆した全記事の「ID」/「タイトル」/「SEOキーワード」を取得できます。
「get_post_meta($ID, “_aioseop_keywords”, true);」を利用することで、記事に設定されたSEO用のキーワードを取得できます。
以上で、「手順2:WordPressでSEO情報を取得するAPIを作成」は完了です。
手順3:WordPressでSEO情報を取得するAPIの動作確認
「手順3:WordPressでSEO情報を取得するAPIの動作確認」に関してご紹介します。
Webブラウザを起動し、以下のURLを開きましょう。
http://<WordPressのIPアドレス>/wp-json/wp/v2/org_api
Webブラウザで上記URLにアクセスすることで、WordPressでSEO情報を取得するAPIを実行できます。
上図のフォーカス部分に着目したところ、以下記事の「All in One SEO Packで設定したキーワード」(下図の赤枠)の取得ができています。
以上で、「手順3:WordPressでSEO情報を取得するAPIの動作確認」は完了です。
上記3手順で、WordPressのAPIでSEO情報を取得することができました。
【まとめ】WordPressのAPIでSEO情報を取得する手順
今回の記事を通して、「WordPressのAPIでSEO情報を取得する手順」をご紹介することで、以下の悩みを解消しました。
★悩み★
・WordPressのAPIで全記事のSEO情報を取得することはできるのだろうか。
・All in One SEOで設定したSEO情報をWordPressのAPI経由で取得したい。
・WordPressのAPIでSEO情報を取得する手順を知りたい。
「WordPressのAPIでSEO情報を取得する手順は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
コメント