WordPressの投稿をFacebookに連携する方法【タグ→ハッシュタグ変換付】

本ページはプロモーションを含みます
この記事は 2017年12月30日 に書いたものです。画面や手順が今と違うことがあります。
- RSSをカスタマイズしてハッシュタグを出力する
- IFTTTを使ってRSSからFacebookに連携する
- プラグインは利用しない
全体設計
WordPressには、RSS/Feedに最新情報が投稿される機能があります。このRSSの情報を、IFTTTというサービスを使って、FacebookやFacebookページに投稿します。

もし、単純にWordPressの投稿(抜粋)を連携するのであれば、これで十分ですが、SEOのことを考えますと、ハッシュタグをつけたほうがより多くのユーザーさんの注目を集めやすくなります。そこで、RSS出力に若干のカスタマイズをしてから、Facebookへ連携します。
手順1:RSSをFacebook仕様にする
WordPressのテーマや、使用しているプラグインによって、作業方法は変わると思います。ここでは当サイトを事例に紹介しますが、環境によって、適宜、読み替えて頂ければと思います。
RSS は、ブラウザでフィードの URL を開くと確認できます。
WordPressのRSSに表示させる情報をまずは定義します。当サイトの場合は、以下の情報をRSSに表示させています。
- タイトル
- タグ(ハッシュタグへ変換)
そして、これらの情報をコーディングしたPHPファイルを、WordPressの子テーマのファイルに含めます。WordPressの子テーマの作り方については割愛します。当サイトの場合は、以下の2つのファイルを子テーマに含めました。
- feed-rss2.php … デフォルトテーマのRSS出力プログラム
- function.php … RSSの追記プログラム
- 抜粋(Yoastから取得)
- 記事へのリンク
- Facebookカード
当サイトのテーマでは、「feed-rss2.php」からRSS情報が出力されます。また、Facebookに投稿する記事抜粋データは、プラグイン「Yoast SEO」の抜粋部分の情報を利用しています。そのため、子テーマにモディファイした「feed-rss2.php」を含めています。

そして、「functions.php」のほうに、以下のようなプログラミングを施して、RSSに出力する内容を制御します。
<?php
function get_my_feed($post_id){
if ( has_post_thumbnail($post_id) ) {
$values = '<p>'.the_post_thumbnail('medium').'</p>';
}
$posttags = get_the_tags();
$instags = '';
if ( $posttags ) {
foreach ( $posttags as $tag ) {
$instags = $instags.'#'.$tag->name.', ';
}
$instags = rtrim(rtrim($instags, ' '),',');
}
$values = '<p>'.$instags.'</p>';
$values = $values.'<p>'.get_the_excerpt($post_id).'</p>';
$values = $values.'<p>●続きを読む ⇒ '.'<a href="'.get_permalink().'">'.get_the_title().'</a>'.'</p>';
return $values;
}
add_action('do_feed_rss2', 'custom_feed_rss2', 10);
?>
「function get_my_feed()」の箇所が、RSSの表示を制御する箇所になります。当サイトでは、サムネイル画像、タグ→ハッシュ変換、抜粋、リンクをカスタマイズ(モディファイ)しています。
そして、「feed-rss2.php」から「function.php」の「function get_my_feed()」を読み込みます。
あわせて読みたい手順2:Facebookページの設定
手順1をクリアすると後は簡単です。FacebookでFacebookページを作ります。Facebookページとは以下のように、Facebookアカウントに紐づくページです。

Facebookアカウントは個人に紐づき、1人1つまでです。将来的に複数サイトを運用することを想定しますと、Facebookページを作ってしまったほうがいいかと思います。
手順3:IFTTTの設定
最後に、IFTTTのサービスを使って、Facebookと連携する仕組みを作ります。

IFTTTとは定期的に情報を確認し、もし、新しい情報があればアクションを起こすことのできるサービスです。例えば、有名人のtwitterが更新されたら、メールに配信するといった仕組みも作ることができます。利用も無料です。
IFTTTのアカウントは、メールアドレスに紐づきます。もし、1人で複数サイトを運営する場合は、サイトごとにメールアドレスを変更しておくことをおすすめします。
gmailではプラス(+)をメールアドレスに入れることによって、見せかけ上の複数のアドレスを持つことができます。(mail@mail.comの場合、mail+01@mail.com、mail+02@mail.comといったアドレスを利用することができます。ご自身のメールアドレスに送信していただけますとわかるかと思います。)
また、IFTTTに関しては、既に誰かが作った仕組みを利用することができます。
既に、RSSからFacebookページに情報を転送するアプレットがありますので、それをカスタマイズするのがラクチンです。
Googleで「IFTTT rss to facebook with image」と検索すると出てくるアプレットを基に制作することをお勧めします。

設定を以下のようにします。

まとめ
RSSに表示させる情報を制御できれば、IFTTTを経由して、Facebookにも連携できますし、Twitterにも連携できます。
Twitterの場合は「Wp to Twitter」というプラグインを利用すると、RSSやIFTTT非経由でも投稿を連携することができますが、Duplicate Postとの相性がよくないため、運用上は注意が必要です。
カスタマイズは少し手間がかかりますが、こちらで紹介させて頂きましたIFTTT経由の方法のほうが、サーバ負荷も下げられますし、いろいろと応用も利きますので便利だと思います。