ルクセリタスでJetpackが連携できないときはコレで解決!

Jetpack連携できない

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へのアクセスは問題ありません。

xml表示
 
404などの表示で、xml-rpc.phpへのアクセスが制限されている場合、サーバー側でアクセス制限を解除する必要があります。
 
 

Xサーバーの場合

Xサーバーなら、サーバーパネルから「WordPressセキュリティ設定」メニューをクリック。そしてxml-rpcのアクセス制限をOFFにして設定を保存します。

Xサーバー セキュリティ設定

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設定を有効化するとき、どのプラグインをAMP対応させるかの設定になります。ここでJetpackがAMP対応していなかったことが、サイトと連携できない原因になっていました。
 

wp-config.phpに追記する

他にもwp-config.php ファイルの末尾に
define( ‘JETPACK_CLIENT__HTTPS’, ‘NEVER’ );
を追記したり
$_SERVER[‘SERVER_PORT’] = 80;
を追記してみましたが変化はありませんでした。

Jetpackが連携できない解決方法探るべく、最初はxml-rpcを中心に検索をかけていましたが、解決できず、Twitterとの連携ができないままにしていました。
 
その状態で、Jetpackの設定の共有からパブリサイズの設定を「投稿をソーシャルメディアに自動共有する」をONにしておくと、投稿画面のパブリサイズ共有は未連携になります。
 
jetpack ソーシャルメディアと接続
 
 
その横にある編集をクリックし、いずれかのSNS名をクリックすると「エラーコード -32610」が表示され、これがwp-config.phpへの追記に繋がりました。

 
 
おそらく、高機能であるルクセリタスの何かが引っかかっているのだろう、と考えていたのですが、Jetpackが連携できないのは高機能がための盲点でした。
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です