WordPressテーマ、Luxeritas(ルクセリタス)で、Jetpackが連携できないエラーが起こることがあります。解決方法は簡単なのですが、使用しているサーバーによってチェックするべき項目があります。
JetpackというプラグインでFacebookやTwitterなどのSNSと連携し、自動投稿することができるのですが、JetpackがWordPress.comを通じてSNSに接続するので、WordPress.comがWebサイトと接続できていなければいけません。
別サイトになりますがTwitterに自動投稿させようと、Jetpackと連携できない原因を探っていたら見事にハマりました。(笑)
目次
連携エラーの状態
さて、ルクセリタスを使用し、Jetpackをインストールすると統計情報などは見れるのですが、WordPress.comではビックリマークが付いていてサイトに接続できていなかったりします。
サーバーをチェック
この状態でSNSに接続しようとしても、「500 status code for “POST /site/○○○○○○○○○/publicize-connections-new”」というメッセージが出て、連携できないんですね。
xml-rpc.phpへのアクセスを確認する
使っているサーバーによって変わってくるので、まずチェックしたいのはxml-rpc.phpへのアクセス。Jetpackを使用するとき、このxml-rpc.phpを利用するのでアクセスできないと連携できません。
xml-rpc.phpにアクセスできるかどうかを確認するため、所有のサイト名の末尾に「/xmlrpc.php」をつけページにアクセスします。
例えば、サイトのURLがabc.comなら、「abc.com/xmlrpc.php」と入力しページにアクセスします。そして、ブラウザに ”XML-RPC server accepts POST requests only” と表示されること。さらにサイト名の末尾に「/xmlrpc.php?rsd」をつけて下図のようなxml表示がされていれば、xml-rpc.phpへのアクセスは問題ありません。
404などの表示で、xml-rpc.phpへのアクセスが制限されている場合、サーバー側でアクセス制限を解除する必要があります。
Xサーバーの場合
Xサーバーなら、サーバーパネルから「WordPressセキュリティ設定」メニューをクリック。そしてxml-rpcのアクセス制限をOFFにして設定を保存します。
Jetpackの接続が確認できたらアクセス制限をONに戻します。
ヘテムルの場合
ヘテムルならWordPressを構成する、wp-config.phpを触ることになります。
ちょっとややこしいですよね。
FTPソフトなどでWordPressを設置しているフォルダにいき、wp-config.phpをダウンロードして修正を加え、アップロードし直します。
wp-config.phpの場所はココ。
/web/WordPressの設置フォルダ/wp-config.php
修正するのはファイル内の95行目以下に記載されている
「add_filter(‘xmlrpc_enabled’, ‘__return_false’);」
を削除するか
「/**add_filter(‘xmlrpc_enabled’, ‘__return_false’);*/」
と修正をかければOKです。
Mixhost(ミックスホスト)の場合
Mixhostではxml-rpcへのアクセスが制限されていないのでそれ以外に原因があります。
(私の場合、これに該当し半日を潰しました。笑)
プラグインを無効化する
Jetpack以外のプラグインを全て無効化し、WordPress.comとサイトの接続状況を見てみる。Jetpackを一度無効化し、再度有効化する。これで連携できないなら、プラグインに問題はないということ。
テーマを疑う
Jetpackのサポートには、うまく連携できない場合、WordPressの初期テーマであるtwentyシリーズに戻して連携を試して欲しい。と記載があります。テーマを戻して連携できるのなら、テーマのどこかに問題があります。
ルクセリタスの場合、無料のテーマであるにも関わらず、非常に機能が豊富です。実はこの豊富な機能のある部分を有効化することで、Jetpackとの連携できない問題は解消されました。
WordPressの管理画面の左側にある、Luxeritasから、カスタマイズをクリックし、AMPタブを選択します。
AMP設定を有効化するとき、どのプラグインをAMP対応させるかの設定になります。ここでJetpackがAMP対応していなかったことが、サイトと連携できない原因になっていました。
wp-config.phpに追記する
他にもwp-config.php ファイルの末尾に
define( ‘JETPACK_CLIENT__HTTPS’, ‘NEVER’ );
を追記したり
$_SERVER[‘SERVER_PORT’] = 80;
を追記してみましたが変化はありませんでした。
Jetpackが連携できない解決方法探るべく、最初はxml-rpcを中心に検索をかけていましたが、解決できず、Twitterとの連携ができないままにしていました。
その状態で、Jetpackの設定の共有からパブリサイズの設定を「投稿をソーシャルメディアに自動共有する」をONにしておくと、投稿画面のパブリサイズ共有は未連携になります。
その横にある編集をクリックし、いずれかのSNS名をクリックすると「エラーコード -32610」が表示され、これがwp-config.phpへの追記に繋がりました。
おそらく、高機能であるルクセリタスの何かが引っかかっているのだろう、と考えていたのですが、Jetpackが連携できないのは高機能がための盲点でした。
スポンサードリンク