人気ブログランキングなどのサービスにはRSSで新着記事を伝えるわけですが……。
当ブログを含めた、私が運用しているブログではなぜかそういったサービスにRSSが読んでもらえていませんでした。
RSS自体は出力されており、エラーチェックをしても正常。
それなのに、RSSが認識してもらえない。
散々調べた結果、辿り着いたのは「RSSフィードの場所が正しく伝わっていないのでは」という疑い。
RSSフィードを自動検出するサービスを使ってみると、やはり検出できない様子。
結果、原因はプラグイン「Autoptimize」で使っていた”HTMLコード最適化“。
“HTMLコード最適化”を解除したら、無事RSSフィードが読み取ってもらえるようになりました。
この手の問題、ハマるんですよねぇ。
Ping送信しているのに人気ブログランキングで新着記事が反映されない
人気ブログランキングなどに登録すると、自サイト用に用意されるPing送信先URL。
このPing送信先URLに対して更新情報を伝えることで、最新記事が表示されるのですが……。
なぜか当ブログを含めた私のブログでは最新記事が表示されず。
登録されている他のサイトと並んだ時に、かたや新規記事が表示されているのにこちらには新規記事が表示されていないわけなので、どうにも印象が弱くなってしまいます。
WordPressを使っているので、もちろん、設定→投稿設定→更新情報サービスにPing送信先URLは記入しています。
が、RSSフィードが読まれている様子はなく、人気ブログランキング側のPing代理送信を使ってみても記事が反映されません。
RSSフィードのエラーチェックとフィードの自動検出
何が原因かを突き止めなければ進展はありませんので、まずはエラーが無いかなどを調べる必要があります。
RSSフィード関連で使いやすいのは下記のサービス。
- W3C Feed Validation Service → https://validator.w3.org/feed/
- RSSフィード取得・検出ツール → https://berss.com/feed/Find.aspx
まずはW3CのサービスでRSSフィードの記述にエラーが無いかを確認します。
ここでエラーが出れば記述の問題。しかし、今回はここでエラーは出ませんでした。
続いて、RSSフィード取得・検出ツールを使ってみるとここで問題。
「フィードの自動検出はできませんでした」との結果。
ここまでで、RSSフィードの記述に問題はないがRSSフィードの存在が外部サービスからはわからない状態、ということがわかりました。
WordPressでRSSフィードが検出できなくなっていた原因はAutoptimize
さて、ここまでわかったものの、後はひとつずつ怪しいところを潰していくしかありません。
外部サービスからRSSフィードの場所がわからないということは……と考えていて、まず思い付いたは<link>タグでのRSS指定がされていないこと。
<link href=https://www.islog.jp/feed/ title=RSS type=application/rss+xml rel=alternate>
ソースを見てみると、むむ……ちゃんと出力されていますね。
ただひとつ気になったのです。値がクォテーションで括られていない。何故だ。
<link href="https://www.islog.jp/feed/" title="RSS" type="application/rss+xml" rel="alternate">
HTMLを自分で書くなら、このように書くはず。
テーマにもよりますが、WordPressではRSSフィードが自動で出力されていたりします。さて、なんでこんなことになっているんだろう。
……WordPressの不具合にはプラグインが絡んでいることがほとんど。
HTMLを整形しているプラグインですぐに思い付いたのがAutoptimize。「HTMLコードを最適化」のチェックを外すと、前述の問題部分、クォテーションが復活しました。
この状態でRSSフィード取得・検出ツールを使ってみると……無事にフィードが自動検出されました!
人気ブログランキングなんかにも新着記事が表示されるようになりましたよ。
WordPressで何か問題が起きたらプラグインをひとつひとつ停止して確認!なんてよく目にしますが、ひとつひとつ確認していたら時間がかかりますからね……。
詳しい原因を探る前に、調べる範囲だけは絞っておきたいですね。
コメント
こんにちは、初めまして。
RSSの取得ができず4日間ほど原因を探してさまよっておりましたが、こちらの記事で一発で解決できました。
ありがとうございました!
> ふるやさん
お役に立てたようで良かったです!コメントありがとうございます^^