WordPressでプラグインを使わずIFTTTを使ってRSSフィードからSNSに配信する

# 仕様

* WordPressで記事を投稿したら、記事URLやタイトルをSNSに自動配信したい
* SNSはTwitterとFacebook Page
* **諸事情**によりプラグインやIFTTTのWordPressアプレットを使わずRSSフィードを使った連携にしたい

[Jetpack](https://ja.wordpress.org/plugins/jetpack/)使えば事足りるのですが、諸般の事情でJetpackを含むプラグインを使えないことがあったので、[IFTTT](https://ifttt.com/)を利用して連携する。

※諸事情の例

* 管理画面と表側のURLが異なる（Webサーバの前段でリバースプロキシー使ってるなど）
* 管理画面をIP制限 or Basic認証してる（Jetpackと連携できない）
* [Shifter](https://getshifter.io/) 使ってフロント側が静的な作りになってる

# IFTTTでアカウント取得

[https://ifttt.com/join](https://ifttt.com/join)　より、
![スクリーンショット 2018-01-05 10.46.21.png](https://qiita-image-store.s3.amazonaws.com/0/18348/2670f896-8770-118d-b1b1-2f4362c340b5.png)


* メールアドレス
* Googleアカウント
* Facebookアカウント

いずれかでサインアップする

# RSSフィードからTwitterに配信

1. [New Applet](https://ifttt.com/create)で「+this」をクリック。
![スクリーンショット 2018-01-05 10.57.37.png](https://qiita-image-store.s3.amazonaws.com/0/18348/a805204d-4e92-5ba7-9394-f81cc7ce440d.png)

2. 「RSS Feed」をクリック。
![スクリーンショット 2018-01-05 10.58.18.png](https://qiita-image-store.s3.amazonaws.com/0/18348/b86e757f-7b94-4304-f3f7-37eae574c26c.png)

3. 「Choose trigger」では**「New feed item」**をクリック。
![スクリーンショット 2018-01-05 10.58.47.png](https://qiita-image-store.s3.amazonaws.com/0/18348/79b034d6-2b7a-e1d8-d5bb-9aa1826484ee.png)

4. 「Feed URL」入れて「Create trigger」をクリック。
![スクリーンショット 2018-01-05 11.01.14.png](https://qiita-image-store.s3.amazonaws.com/0/18348/4b874881-9181-e4fa-b3ab-3c42adfe5713.png)

5. 「+that」 をクリックして、配信先のSNSを選ぶ
![スクリーンショット 2018-01-05 11.01.54.png](https://qiita-image-store.s3.amazonaws.com/0/18348/e2640cec-84c9-2b56-e209-7c6a73bcbc3a.png)
![スクリーンショット 2018-01-05 11.02.30.png](https://qiita-image-store.s3.amazonaws.com/0/18348/15003f5e-8b3c-d2a1-09d8-03b2b5a4e716.png)

6. Twitterの場合、「Connect」をクリック後、Twitterで連携アプリ認証の手順になる。
![スクリーンショット 2018-01-05 11.04.03.png](https://qiita-image-store.s3.amazonaws.com/0/18348/1e141350-5722-0ed3-84f9-cc251cf1a925.png)
![スクリーンショット 2018-01-05 11.05.18.png](https://qiita-image-store.s3.amazonaws.com/0/18348/ab5d0e4c-182a-b466-04a7-3997cf97b787.png)

7. 「Choose action」でTwitter側で起きるアクションを選ぶ。
RSSの情報を元にブログ記事のURLをTweetするなら「Post a tweet」か「Post a tweet with image」で。
![スクリーンショット 2018-01-05 11.07.21.png](https://qiita-image-store.s3.amazonaws.com/0/18348/0a67aa1f-e02b-85ea-20e7-80fe5666a7a5.png)

8. Tweetされる内容を入れていく。
英語だけどまぁまぁ判別できる内容なので「ingredient」詳細は省きます。
ハッシュタグなどを入れたいは場合は「Tweet text」欄に直接テキスト入力可能。
「Create action」で保存。
![スクリーンショット 2018-01-05 11.09.54.png](https://qiita-image-store.s3.amazonaws.com/0/18348/a1c2ba3c-686e-c0c7-f90d-1fc6837dbab3.png)

9. 「Review and finish」で「Finish」を押せば完了。

# RSSフィードからFacebookページに配信

Twitterの場合の1〜4までの手順を繰り返し、5でFacebook Pagesを選ぶ。
6ではFacebook側の認証がでる。

※複数のFacebookページの管理者担っている場合にIFTTTで意図したFacebookページとの連携ができない場合は、Facebookの「アプリ設定」でIFTTTを選び「Facebookページの管理」で意図したFacebookページにチェックが入っているかを確認してください。
![スクリーンショット 2018-01-05 12.53.23.png](https://qiita-image-store.s3.amazonaws.com/0/18348/196a4ab9-c83c-3585-bc78-5c2f65a93c9b.png)


1. 「Choose action」で「Create a link post」を選ぶ。
![スクリーンショット 2018-01-05 11.19.02.png](https://qiita-image-store.s3.amazonaws.com/0/18348/855ca97c-a453-38bb-4f26-ed45c2807b4e.png)

2. 投稿させる内容を編集する。Facebook Pages ではURLとメッセージの欄が別なので注意。
![スクリーンショット 2018-01-05 11.24.22.png](https://qiita-image-store.s3.amazonaws.com/0/18348/a65bf090-bfc0-77da-1c54-6a4d4323af9f.png)

3. 「Review and finish」で「Finish」を押せば完了。

# メリットとデメリット
## メリット

* プラグインを使わないのでサーバー負荷やらプラグインのアップデートやらWordPress側の対応が不要
* RSSフィードがあればいいので、WordPressじゃなくてもこの方法を取れる

## デメリット

* ユーザーがIFTTTがRSSフィードを巡回するタイミングを調整できないので記事公開からSNS投稿までのタイムラグが発生する

現場からは以上です。