WordPress4.7へアップデート後、Google Search ConsoleのサイトマップにRSSフィードを送信している場合、無効な日付エラーが発生している時の対処法。

※当サイトではアフィリエイト広告を利用しています。

WordPress備忘録

先日アップデートされた、Wordpress4.7にアップデート後、Google Search Consoleのサイトマップに「無効な日付」のエラーが発生するようになりました。

xmlの方は、問題ないようですが、RSSフィードにエラーがあると気持ち悪いので対策したほうが良いでしょう。

WordPress4.6に戻すのも一つの手ですが、せっかく4.7になったので、なんとかならないか調べてみることにしました。

原因は、RSSフィードに出力されている”lastBuildDate”タグの日付が、日本表記にローカライズされているのが原因のようです。
通常は、ローカライズしない書式で出力しないとダメなのですが・・・。

おそらく、Wordpress4.7.1で修正されると思うのですが、とりあえず改善できたので、対処方法をご紹介します。

スポンサーリンク

無効な日付エラーの対処方法

  1. FTP等で/wp-includes/feed-rss2.phpをダウンロードし開きます。
  2. 47行目を以下のように”false”オプションを追記します。
  3. 変更前:

    echo $date ? mysql2date( 'D, d M Y H:i:s +0000', $date ) : date( 'D, d M Y H:i:s +0000' );

    変更後:

    echo $date ? mysql2date( 'D, d M Y H:i:s +0000', $date, false ) : date( 'D, d M Y H:i:s +0000' );
  4. 変更したファイルをアップロードして、上書きします。

以上の手順で、RSSフィードでローカライズされない日付の書式で出力されるようになります。

上記手順は、feed-rss2.phpを修正しましたが、出力しているRSSの形式によって、修正するPHPのファイルが違っていますので、注意してください。
対象のファイルは下記の通りですが、いずれのファイルも「wp-includes」内にあります。

  • feed-atom-comment.php
  • feed-atom.php
  • feed-rdf.php
  • feed-rss.php
  • feed-rss-comment.php
  • feed-rss2.php
  • feed.php

また、今回の対処法は、Wordpress1のファイルを直接編集しているため、アップデート等で上書きされてしまいますので、その時は再度修正が必要になります。

次回のWordpressのアップデートで修正されると良いですが、もし修正されなかった時は、また、この作業が必要になると思いますので、覚えておくと良いかもしれません。

WordPress備忘録
スポンサーリンク
シェアする
スポンサーリンク
スポンサーリンク