WordPress記事投稿をTwitterに自動通知する方法の比較

WordPressに記事を投稿したタイミングで、Twitterに投稿する作業を自動化ができたら便利です
自動化する方法の選択肢は、大きく3種類です

  • WordPressのブラグインを使う
  • プラグインなしで実装する
  • 「Zapier」「IFTTT」などアプリを連携して自動化するサービス(iPaaS)を使う
実は

結論が出るまでにかなり時間がかかりました
調べて・・試して・・二転三転しました 
最後にはオチまでありますwww

Twitter に自動投稿するだけ & 「OGP設定済み」または「ツイートの表示にこだわりがない」場合は
Zapier(ザピアー)かIFTTT(イフト)を使いRSSフィードを取得してTwitterに投稿する方法がおすすめです
グダグダ書いているところは飛ばして下さい 💦

RSSを利用してTwitter と連携する(おすすめ)

WordPress の設定環境や、希望はそれぞれ違うと思います
「参考になることがあるかも」とまとめを書きました

目次
  1. ざっくり用語説明
    1. APIキーについて
    2. OGP(Open Graphコード)
    3. RSSフィードについて
  2. SNS連携にWordPressプラグインを使う場合
    1. プラグインを使うときの注意点
    2. Jetpackについて
      1. Jetpackの注意点
      2. 無料版「Jetpack」の機能
  3. SNS連携にZapier(ザピアー)かIFTTT(イフト)を使う場合
    1. Zapier(ザピアー)とIFTTT(イフト)のサービス比較
    2. WordPressとIFTTTやZapierを連携する場合
      1. サーバーの設定変更(エックスサーバーの場合)
      2. 専用ユーザー作成(必須ではありません)
    3. IFTTTやZapierにWordPressとTwitterを連携した感想
  4. RSSを利用してTwitter と連携する(おすすめ)
    1. ZapierでRSSフィードを取得してTwitter と連携する手順
      1. 「Zapier」で使われる単語
      2. アカウント作成
      3. Zap作成手順
      4. Zapの停止と削除
    2. IFTTTでRSSフィードを取得してTwitter と連携する手順
      1. 「IFTTT(イフト)」で使われる単語
      2. アカウント作成
      3. アプレット作成手順
      4. アプレットの停止と削除
  5. 最後に

ざっくり用語説明

APIキーについて

「API キー」とはざっくりいうとサービスを使う時のIDとパスワードのプログラミン版です😅

ほとんどのプラグインは連携したいSNSごとに「API Kキー」を取得する必要があります
Twitterの「APIキー」は英語で利用目的などを申請し承認される流れとなり、かなりハードルが高いです

頑張って「APIキー」を取得してもSNS側でAPI運用ルールが変更になったら、再度対応する必要があります

「WordPressプラグインのほとんど」・「実装する場合」は「APIキー」が必要です
できれば「APIキー」を使わずに連携したいものです

OGP(Open Graphコード)


SNSでシェアした時に、URLだけの表示(画像なし)になったり、意図しない表示になることを防止するために設定します

「OGP」はSNSでシェアした際の、サイトのタイトルやイメージ画像、説明などを設定するもので、metaタグの中に書きます
*Twitterは「Twitterカード」と呼ばれています

WordPress が自動でつけるものではありません

OpenGraph コード
追加されたOGP
Twitter・FacebookのOGPです
わたしは「Yoast SEO」というSEOプラグインで設定しています

右クリックして「ページのソースを表示」をクリックすると、HTMLファイルの中身が表示されます
<head>から</head>の間にあります(上の方です)

RSSフィードについて

RSSアイコン

上のマークは RSSでサイトの更新情報が提供されているという印です

サイト運営者側
「RSS」は「XML」という「HTML」の親戚のような言語で書き、書いたデータ(RSSフィード)を配信します
購読者側
「RSSリーダー」を準備して、興味のあるサイト(RSSフィードのURL)を登録します
登録したサイトに更新があれば受け取る仕組みです

WordPressのテーマやプラグインでRSSフィードを配信している場合が多く、上のマークがなくてもRSSフィードを配信しているサイトはたくさんあります

SNS連携にWordPressプラグインを使う場合

最大のデメリットはAPIキーが必要なこと

メリットは
WordPressのプラグインを使う場合、OGP設定を気にする必要はない(プラグイン側で配慮されているはず)
対応しているSNSの数が多い

代表的なプラグイン

  • Social NetWORKS Auto-Poster(SNAP)
  • Blog2Social
  • Jetpack
「Jetpack」と他のプラグインの違い

「Jetpack」は「APIキー」を取得する必要がありません

プラグインを使うときの注意点

  • 継続して開発されているか(API運用ルールが変更になった場合など、対応はプラグインの開発者次第です)
  • 連携したいSNSに対応しているか
  • 「カスタム投稿タイプ」を使っていれば「カスタム投稿タイプ」に対応しているか


ちなみに「カストム投稿タイプ」とは?
「固定ページ」「投稿」のほかに別の「投稿」を作成する機能です
WordPressの管理画面の「投稿」とは別に投稿する場所があればそれは「カストム投稿タイプ」です

この場合は、「作品」という「カスタム投稿タイプ」があります
WordPress管理画面の一部

Jetpackについて

「Jetpack」はSNS連携するためだけのプラグインではなく、いろいろな機能が集まった複合型の有名なプラグインです

「WordPress.com」というレンタルプログサービスの運営会社Automatic社が開発して「WordPress.com」で使われているプラグインですが、インストール版のWordPressでも使えます

「WordPress.com」はWordPressを使ったAmabaブログみたいなもので
ご自身でサーバーを用意して運営している「インストール版WordPressサイト」とは別のものです
「Jetpack」に関して検索する時は「WordPress.com」での設定と混同しないように注意が必要です

Jetpackの注意点

  • SNS連携のためだけに使うには多機能すぎて使わない機能が多く、重くなってしまう
  • WordPress.comにアカウント登録が必要
  • 管理画面の表示がけっこう変わる
  • 無料枠の場合、自動投稿できるSNS数が少ない(2021年9月現在 Twitter・Facebook・LinkedIn・Tumblr)
  • 注意「カスタム投稿タイプ」に対応していない

無料版「Jetpack」の機能

  • サイト統計情報(アクセス解析)
  • 総当たり攻撃からの保護
  • 自動ソーシャルメディア投稿
  • ダウンタイムのモニター(サーバーがダウンした場合などを通知)
  • アクティビティログ(複数人で投稿している場合、誰がログインしたかなど)

SNS連携にZapier(ザピアー)かIFTTT(イフト)を使う場合

注意点
SNSで意図しない表示にならないよう、OGP設定することが望ましいです

(*WordPressの投稿・RSSフィード更新をトリガーにした場合のアクションに)
FaceBookは「Facebook Pages」のみの対応です
Instagramは対応していません(2021年10月)

Zapier(ザピアー)とIFTTT(イフト)のサービス比較

無料枠を使ってSNS連携することを前提に比較(2021年9月時点)

ZapierIFTTT
1ヶ月のタスク量
1回の投稿が1タスク
100特になし
違っていたらごめんなさい
ワークフロー
例えばWordPressからTwitterに投稿で1
5
5Zaps
3
3 Applets
*自分で作った場合
第3者が作ったアプレットの利用は無制限
反映するまでの時間最高15分かかるかなりかかる
(有料版は短縮されている)
有料プランStarter
¥2,318から
Pro
$3.33から
IFTTTの「第3者が作ったアプレットの利用無制限」が凄いです
他でもいろいろ試したいです😊

WordPressとIFTTTやZapierを連携する場合

個人的に、WordPressと連携するよりもRSSフィードが手軽だと思います
詳細な設定方法は省略しますが、RSSフィードの場合と同じ流れです
その前の注意点のみ記載しています

(注意)
WordPress と連携する場合に必要なことです 
RSSフィードを利用する場合は不要です

サーバーの設定変更(エックスサーバーの場合)

サーバーのセキュリティ設定で国外IPからのアクセスを制限をしている場合があります
(例エックスサーバー)
その場合はZapierもIFTTTも海外のサービスになるので、設定を解除する必要があります

エックスサーバーの場合はサーバーパネルの「WordPressセキュリティ設定」から「XML-RPC API アクセス制限」を「OFF」にします

エックスサーバーのサーバーパネル
エックスサーバーのサーバーパネル

専用ユーザー作成(必須ではありません)

専用ユーザーを作成する場合

  1. 管理画面ユーザー一覧

    WordPress 管理画面
    「ユーザー」「新規追加」を選択

  2. 管理画面ユーザー新規追加画面

    「ユーザー名」「メールアドレス」「パスワード」が必須
    権限グループは「編集者」の権限が最低限必要なようです
    (*Zapierのドキュメントより)

IFTTTやZapierにWordPressとTwitterを連携した感想

間違えていたらごめんなさい🙇‍♀️

操作性
「IFTTT」の方が直感的な操作ができ簡単な印象です
「Zapier」はWordPress と連携する時に戸惑いました
(ドキュメントに書かれているZapierプラグインをWordPress にインストールして設定しました)
スマートフォンアプリ
「IFTTT」はスマートフォンアプリがあるので管理しやすい
「Zapier」はアプリはありません
送信テスト
「IFTTT」はエラーの確認だけ、実際の送信テストはできません
「Zapier」は送信テストができるので、テスト時に送信して確認ができます
その他(無料プラン前提)
「IFTTT」は自分で作成する場合は3つまで、反映までの時間がZapierより遅いです
「Zapier」は5つまで、反映まで長くて15分以内です、上限があり100回/1ヶ月です

RSSを利用してTwitter と連携する(おすすめ)

個人的にこの方法がおすすめです
何よりWordPress との連携が不要
使うサービスはIFTTTやZapier にWordPress とTwitterを連携した感想なども参考にしてみて下さい

RSSフィードのアドレスが必要です
通常、WordPress の場合RSSフィードのアドレスはサイトのアドレスの末尾に/feed/をつけます

確認方法
  1. ホームページ上で右クリックした画面

    ホームページのトップ画面で
    右クリック
    「ページのソースを表示」をクリックします

  2. HTMLコードが表示されている画面

    Mac: Cmd + F
    Windows: Ctrl + F

    で検索窓に「rss」と入力
    フィードのアドレスを確認して下さい

ZapierでRSSフィードを取得してTwitter と連携する手順

「Zapier」で使われる単語

Trigger(トリガー)
引き金
新規投稿があれば
Action(アクション)
Triggerが発生したらどうするか
Twitterに投稿する
Zap(ザップ)
TriggerとActionのセット

アカウント作成

こちらから
Zapierアカウント作成画面

アカウントは下記4つの中から選択します

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

メールアドレスの場合は「sign up」をクリックするとメールアドレスとパスワード入力画面になります

Zap作成手順

  1. ダッシュボードapp検索

    左側アイコン「Dashboard」の画面

    「Search for an app」に「rss」と入力
    「RSS by Zapier」をクリックします

  2. ダッシュボードapp検索

    下に候補が表示されるので
    「 Tweet new RSS Feed items」の右側の「Try it」をクリック

  3. set up triggerの画面

    Set up trigger(トリガー設定)

    「Feed URL」に確認したサイトのRSSフォードアドレスを入力

    「What Triggers a New Feed item?」のセレクトボックス(矢印のところ)をクリック

  4. set up triggerの画面

    「Different Guid/URl(recommended)」の左側にチェック

  5. set up triggerの画面

    「Continue」が押せる状態になるので
    クリック

  6. set up triggerの画面

    「Test Trigger」をクリック

  7. set up triggerの画面

    フィードの情報が表示されます

    「Continue」をクリック

  8. アクションの設定

    Action Event(アクション設定)

    「Create Tweet」をクリック

  9. アクションの設定

    「Continue」をクリック

  10. アクションの設定

    「Sign in to Twitter」をクリック

  11. Twitter側接続許可画面

    Twitter側が、Zapierのアカウントの接続を許可するか聞いています

    「Yes, Continue」をクリック

  12. Twitter側アカウント認証画面

    Twitter に登録している「emailアドレス」「パスワード」を入力
    「Authorize app」をクリック

  13. アクションの設定画面

    「Continue」をクリック

  14. アクションの設定画面

    「Continue」をクリック

  15. アクションの設定画面

    下の「Test & Contiune」をクリックすると実際にTwitter に投稿されます

    Twitterに投稿しない場合は右上の「Skip Test」をクリックします

  16. アクションの設定画面

    画面下のボタンを「ON」にします

  17. Zap完成画面

    「Zap」完成です
    右上バツ印で閉じます

    新規投稿をすれば、Twitterに自動でシェアされます

Zapの停止と削除

ZapierのMy Zapsの画面

停止

左側アイコン「Zaps」を選択
登録済み「Zap」が表示されます
「ON/OFF」を切り替えます

My Zapsの画面

削除

左側アイコン「Zaps」を選択
削除したい「Zap」の左側にチェックをつけ、「Trash」をクリックします

IFTTTでRSSフィードを取得してTwitter と連携する手順

「IFTTT(イフト)」で使われる単語

if This Then That

Trigger(トリガー)
「if This」の部分 引き金
例 新規投稿があれば
Action(アクション)
「Then That」でTriggerが発生したらどうするか
例 Twitterに投稿する
Applets(アプレット)
TriggerとActionのセット
既に誰かが作ったアプレットを使うか、自分で作るか

アカウント作成

こちらから
IFTTTアカウント作成画面

アカウントは下記4つの中から選択します

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

メールアドレスの場合は「sign up」をクリックするとメールアドレスとパスワード入力画面になります

アプレット作成手順

自分でアプレットは作成するか、既に作成されているアプレットを使うこともできます
今回は作成します(ちなみに無料枠は自作のアプレットは3つまで作成できます)

  1. IFTTTのホーム画面

    ホーム画面右上「Create」をクリック

  2. IFTTTトリガー選択画面

    「If This」をクリック

  3. IFTTTサービス選択画面

    「rss」で検索し
    「RSS Feed」をクリック

  4. IFFFTトリガー設定画面

    「New feed item」をクリック

  5. IFFFTトリガー設定画面

    サイトのRSSフォードアドレスを入力し
    「Create trigger」をクリック

  6. IFTTTアクション設定画面

    「Then That」をクリック

  7. IFTTTサービス選択画面

    「Twitter」を検索してクリック

  8. IFTTTアクション設定画面

    「Post a tweet」をクリック

  9. IFTTTアクション設定画面

    「Connect」をクリック

  10. Twitter側接続許可画面

    Twitter側でのアカウント認証

    Twitter に登録している「emailアドレス」「パスワード」を入力
    「Authorize app」をクリック

  11. IFTTTアクション設定画面

    「Create action」をクリック

  12. IFTTTアクション設定画面

    「Continue」をクリック

  13. IFTTTアプレット作成完了画面

    「実行時に通知を受け取る場合」は右側に白が来るように

    「Finish」をクリック

  14. IFTTTアプレット作成完了画面

    「Connected」がオンの状態です

    左側にIFTTT Proのお誘いが表示されましたので「Maybe later」で閉じました

    「Check now」は接続確認です
    クリックして画面上「Check Completed」が表示されれば成功です

アプレットの停止と削除

  1. IFTTTMy Appletsの画面

    画面上部「My Applets」をクリックした画面

    作成したAppletの一覧
    Applet(赤枠)をクリック

  2. IFTTTアプレットの画面

    「Connect」が「Applet」が停止した状態です

  3. IFTTTアプレットの画面

    「Archive」をクリックすると
    画面上部にアラートが表示されます
    「OK」をクリック

    これでアプレットはアーカイブされてカウントされなくなります
    完全に削除はできないようです

最後に

迷走記録です 😅
  • APIキー取得や管理は面倒(特にTwitter)、高機能なカスタマイズは不要なのでプラグインは除外
  • 「Jetpack」は使っていないのでシェアだけのためにインストールはしたくない
  • 既にOGPは別の「Yoast SEO」というプラグインで設定済みの為、「IFTTT」か「Zapier」を検討
  • 「Zapier」はWordPress との接続に失敗してZapierのプラグイン(かなりレビューが低い)を使い接続した
    「Zapier」は送信テストができ、バグはなかったがとりあえず「IFTTT」を試すことに
  • 「IFTTT」は操作が直感的でWordPress との接続も簡単でした
    しかしバグった(別の記事の編集中に関係ない昔の投稿がツイートされた???)
  • 「RSSフィード」を使えばWordPressと接続する必要がなく「OGP」を設定していれば大丈夫なのではと思いつく
オチ

公開した直後に、なんと投稿画面の右側「Yoastメタボック」にこんな表示が

投稿画面右側のYoast メタボックスシェアボタン

わざわざ連携しなくても「Yoaset SEO」を使っていたら、投稿した後にこのボタン押したらいいだけじゃん 😭

参考に