「Ninja RSS Syndicator」コンポーネントでフィードを作成し、「BlogPing Pro」プラグインでピング送信を行うようにしたのに、日本ブログ村に更新情報が配信されません。

何でかなと思って、W3C Feed Validation ServiceやFeedvalidator.orgで確認してみると、何やらエラーがでて読み込めない様子です。

Server returned [Errno 1] _ssl.c:504: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error

というエラーが出ています。

フィードのエラー原因

調べていると、どうもこのエラーはJoomla!によるものではないようだということがわかりました。ブラウザーでは開けるのに、ブログ村やフィード確認サイトからは開けないのです。

でも検索エンジンには認識されているので、ピング自体は送信できているようです。

あちこちの掲示板の書き込みを見ていると、SSL接続の場合には、フィードの読み込み側のcurlに問題がどうもあるようです。対処法が載せられていたものの、適応できないのでどうしようもありません。

また、最近も「読めない」報告が上がっているので、どうもダメそうです。

よく見ると、このサイト「Joomla日記」の親ディレクトリのフィード(https://tek2tech.com/feed)も同じエラーが出ています。

応急処置で非SSL接続を許可

仕方がないので、非SSL接続でフィードにアクセスできるようにしてみます。

.htaccessでSSL接続を強制している部分を改変します。

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

になっていたところへ追記を行い、

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/joomla/feed
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

にしてみました。/joomla/feed以外へのアクセスは強制的にhttps://をつけたアドレスへ転送します。

バリデーション通過!

.htaccessを編集した後、再度バリデーションを行ったところ、読み込みができるようになっていました。

ただし、http://tek2tech.com/joomla/feedは通過しましたが、https://tek2tech.com/joomla/feedのエラーは消えません。

日本ブログ村への更新通知

.htaccessの更新を行い、トップページに表示しているフィードURLを変えれば、無事にフィードの内容がブログ村に反映されるようになりました。なお、トップページに変更を行わなくても、ブログ村の設定でフィードURLを変えれば、トップページに書いてあるURLを無視してブログ村のサイト上で設定したURLを読み込んでくれるようです。

WordPressはこの方法ではダメでした

Joomlaでうまく行ったこの方法をそのまま、https://tek2tech.com/feedに適応してみましたが、残念ながら動きませんでした。ピング送信は時代遅れだと言えばそれまでなのですが、SSL接続だとトラブルが多いです・・・。