Jetpack by WordPress.comを利用して、wordpressの投稿をtwitterに自動投稿しようとした時にハマった点と解決方法です。
通常の個人のblogであれば、それほど問題にはならない部分だと思いますが、企業サイトなどで各種要望や設定があったため多少てまどりました。
1. JetpackのSNS連動画面でエラーが発生して連動できない
JetpackのSNS連動画面というより、Jetpackから移動したWordPress.comでエラーが表示されました。
twitterとの連動ボタンを押すとエラーがあるとの表示。
または、WordPress.comで連動画面でサイトの設定に問題があるとの表示。
twitterと連動ボタンをおしても、500エラーなどが発生し連動できませんでした。
結論的には、xmlrpc.php のアクセス権限関連が問題でした。
xmlrpc.phpは標準の管理画面以外からの投稿を受け付けるためのAPIで利用するようですが、以前の業者さんがセキュリティ対策としてアクセス制限をつけていました。
対応として以下を行いました。
- htaccessでxmlrpc.phpのアクセスを制限していたので、htaccessの一文をコメントアウト。
- コメントアウト後に再度、Jetpackでtwitterと連動。
- 一度連動してしまえば、問題ないのでhtaccessでxmlrpc.phpのアクセスを再度制限。(コメントアウトをはずす)
上記で、twitterとの連動が可能になりました。
2. 投稿者からのレビュー待ち投稿を公開してもtwitterに連動されない
Jetpackを導入した管理者が投稿した場合は、twitterに連動されていました。
投稿者などがレビーとして保存、管理者が公開した場合はtwitterに連動しませんでした。
おそらくですが、投稿者ではなくて他のユーザーからの投稿はtwitterとの連動はしていなかったと思われます。
結果としては、Jetpackとtwitter連動時に、「このブログの他のユーザーもこの連携を利用できるようにしますか ?」のチェックにチェックをしていなかったためでした。
(でも、ここの表示は非常に分かりづらい!)
一旦、twitterとの連動を削除。
その後、twitterとの連動を再設定。
設定の最後で表示される「このブログの他のユーザーもこの連携を利用できるようにしますか ?」のチェックにチェックを入れて保存。
上記で、レビュー待ちや他ユーザーからの投稿でもtwitterに連動することができました!