SSL化 & PHP7.1アップデートで、今のところ、サイトは順調に機能してくれているように思うものの、httpsへのリダイレクトとPHP7.1にした事で、本家サイトで取得していたRSS系がエラーを吐く事に。
本業がIT屋さんじゃないから、コードを書き直す...とかまでは至れなかったけど、一応、多分これが原因ではないか?ものは突き止めたつもりなので、備忘録的に纏めておきます。
目次
本家のサイドバーに取得していたこのサイトのRSSに、
リダイレクトによるエラーが発生
サイトの改変ログを書き出してるこのサイトのRSSを本家サイトで取得して、「お知らせ」的に使用して来たけど、その場所に、今日の午後からこういうエラーが出るようになりました。
WP Http Error : Too many redirects
文面だけ見れば、リダイレクトが多すぎてのエラー。一昨日SSL化して、昨日301リダイレクトを(やっとまともに)設定したから、非常に納得が行くエラー。
それに、上のキャプチャーにある一番上のこのサイトへのリンクをクリックすると、このサイトには繋がらず、なぜか本家の方のホームページに戻ると言う気味悪さまで付いてるw リンクの設定とか見ても、ちゃんとこのサイトの...それもHttpsに直したリンクになっているにも拘らず。
多分、WP-includesの中にあるRSS取得を司ってる”Simple Pie”と言う部分が影響を受けて、そこを経由するリダイレクトが壊れてる...としか言えないんだけど、しかし、Wordpress自体、外部からのRSS取得にあんまり強くない...と言うか、海外のWP orgの記事には、外部からのRSS取得がうまく行かない...と言うスレッドも結構あります。
しかし、今はTwitterやFaceBookと連携する(サイドバーに貼り出す)方が当り前で、別の自分のサイトとRSS経由で連携する...とかある意味で古い手法でもあるから、違うサイトのRSSがうまく取得出来ないから...と言って、それほど大騒ぎにはなっていたような気もする。
それで、海外の記事を幾つか読む事になったけど、多くはリダイレクトのループによって起こる事例として説明してる事が多い。
Fixing the Too Many Redirects Error in WordPress
昨日も書いたけど、自分の所もリダイレクトのループ地獄にはまっていたから、これを読んだ時ドキっとしたけど、しかし、今、自分が分かる限りでは、他の部分ではリダイレクトのループは解消してるように見えるから、このRSS取得の部分だけで、リダイレクトのループでも起きてるように思う。(これはPHP7.1を前のバージョンに戻しても解消されなかった)
その内、httpsのアドレスが浸透してくれたらリダイレクトなんて必要なくなるかもしれないし、もしかしたら、WPの方のSimple Pieの方が対応するかもしれないし、いつかは解消してくれるだろう...程度に個人的にはあまり深刻視していない。
余談: 取り敢えずのその代替手段
それで、今、サイトの見た目は殆ど同じでも、環境的にはかなりの変化が起きてるから(SLL化&PHP7.1とか)、それを読者に知らせる為に(ITに興味がある人以外、興味持たない話とは思うけど)RSSでここの記事をリンクしておく代替手段。
...と言うか、このサイトが出来た時から貼ってあった懐かしきブログ・パーツの部類なんだけど、最初は日本語のサイトだった筈が今行くと英語のサイトになってるし...ベータ版だし、どうしたんだろ?
しかし、かなり細かくカスタマイズ出来るようになってて、文字の大きさや色、ボーダーの有り無し等、自由に決める事が出来るから、一辺倒のデザインにならないのが良い。本家サイトでは、かなりシンプルな形でオートスクロール機能もなしで貼ってる。
あと、このFeed windはHttpsのサイトだから、SSL化したサイトに貼ってもペナルティ受けないのが有り難い。このサイトで使っていたこのガジェットを本家でも使うとは思ってなかったけど、助かった...w 大事に使わせて頂きます。
PHP7.1にアップデートしたら、
Google NewsのRSS自動取得がエラーを吐く
そして最後の話。
PHP7.1が自分のサーバー(さくら)でも使えるようになって、7.1に変えたらマジで爆速。サイトの読み込みが、Chromeの調子が良ければ、3秒位縮まったレベル。
これについては、また別記事に書きたいと思うものの、サーバーでの処理時間が劇的に縮まったのが、Web担当者Forum版 ページ速度分析ツールでもわかる。
しかし、PHP7.1環境では、WPのプラグインによっては機能しない...と言うものもあるとか、自分の環境では今のところプラグインはOKに見えているけど、Googleから取得していたニュースページがエラーを吐く事に。それも、4つのニュースRSSの内、一つ目と3つ目はOK、2つ目と4つ目はエラーと言う状態。
結論から書くと、これはPHPのバージョンを戻すと正常に表示されるようになるから、完全にPHPのバージョンが合ってない...と言うか、WPの方がこれに対応出来てない事になる。
これも、WP-includesの中の”Simple Pie”の問題で、その694行目が問題になってるけど、このニュース取得はあっても無くてもいいようなものだから、これがPHP7.1に対応するまで使わない事にした。
これで、大変だったSSL化の施行も一段落してくれるといいんだけど...w