WordPress標準のRSSフィードに “first appeared on” とつくようになった問題を直す

結果的になんでもなかったのですが、結構苦しんだのでその怨嗟の念とともに原因や対処方法を書き記しておきます。

問題の内容

このサイトでは記事の更新情報をWordPress標準のRSSで流しているのですが、2020年8月中旬ごろから、RSSの末尾に “first appeared on” という文言とともに、自サイトのURLがつくようになってしまいました。

RSSフィードの内容はSlackで投稿ごとにチェックしていたため、その変化には気づきやすく、

8/21までのRSSフィード

というようなRSSだったものが、8/22の投稿から形式が変わり、

8/22以降のRSSフィード

と、フィード本文の末尾にサイト本体のURLが入ったことで、展開される量が増えてなんだか微妙な感じになっていました。

さすがに邪魔な内容だったので、すぐ直るだろうと様子見していたのですが、そんな気配もなく、公式のWordPressフォーラムにも

のスレッドしかなく、類似の「 Yoast SEO の問題じゃないの?」と返されている状態でした。

この方も同様ですが、このサイトも Yoast SEO は導入しておらず、WordPress標準のRSSを使っていたため、別の問題だろうけどよくわからないという状態になっていました。
ただし後に悲しい事実が判明します

原因と直し方

紆余曲折ありつつ、色々調べたところ原因は All in One SEO Pack 3.7.0のRSSカスタマイズ設定にありました。

直し方

先に直し方ですが、 All in One SEO Pack の [一般設定] の RSS Content Settings を見てみると、原因がありありと分かります。

ここの、 After Your Content のところに、自サイト名を補うようなデフォルトのテンプレートが指定されており、それがそのままRSS本文の末尾に反映されていたことになります。

特に隠された設定でもないので、このように公式ドキュメントにもがっつり書かれてはいますが、なんか腑に落ちない感じですね…。

というわけで、この指定をまっさらに削除して保存すれば完了です。

問題が解消したことは次回のRSS投稿を実際に見てもいいですし、この反映は現在配信されているRSSにも及ぶので、例えばうちのサイトなら

を見ることでも末尾のおまけが消えたことを確認できます。

(追記)ちゃんと直ってました

対応後の新規RSSフィード

原因

原因は上の通り、 All in One SEO Pack の挙動変更なのですが、アップデート履歴を見てみると、確かに8/21に3.7.0へのアップデートが入っていました。

あるあるといえばあるあるなんですが、WordPress 5.5で導入されたプラグインの自動アップデートで自動的にあがっていたものであるため、この問題が発生したタイミングとプラグインのアップデートを結び付けられなかったというのが敗因(?)ですね。悔しい…。

要するに「WordPress 5.5でプラグインの自動アップデートを有効化した」というのが遠因にあるわけですが、それも「WordPress 5.5にアップデートした」タイミングと重なるので、RSS自体がWordPress標準のものであったことと併せ、十中八九WordPress本体の問題だろうと思っていました。

また、この問題を探るにあたり、キーとなる “first appeared on” というキーワードでググっていたりしてたんですが、これまた厄介なことに All in One SEO Pack の最新ソースがどうも見つからなかったんですよね。

検索で引っかかるAll in One SEO Pack のソースはどうやらこの2つで、開発元のSemper Pluginっぽいほうとか、fork元のawesomemotiveのいずれにも、問題となった3.7.0がきておらず、問題の文字列を検索してもヒットしなかったことが調査の迷走を招いていました。

最終的に、動いている実コードが3.7.0であること、GitHub上のコードがそれより古いことから、ここのサーバから実コードをひっぱってきてローカルで検索し、ようやく問題の箇所を見つけたという顛末です。

悲しい事実

この問題を解決したあと、まさにこの記事を書いてから悲しい事実に気づいたのですが、「Yoast SEOのことを的外れに言っている」と思っていた公式フォーラムのスレッドですが、実はよくよく読んでみると解決方法がここで示唆されていたことに気づきました。

スレ主の質問に対して、

Matthias Pfefferle
The text is added by the Yoast SEO plugin, not by SemPress. Here is a post, how to remove the text: https://www.feedotter.com/blog/remove-this-post-first-appeared-from-your-blog-posts/

と「Yoast SEOの話だね」と返されているのですが、これに対して

pbrewer
Ah. In my case it was added by All In One SEO, but yes—thank you! (I’ve had that plugin for years, but I guess this is a new feature in a recent update.)

とスレ主が返していて、当初は「私のケースはAll in One SEOなので…」とネガティブ返答をしていると理解したのですが、記事を書く上で改めて読み返したときに、実はここで「but yes(でも合ってました)」と返していたことに気づきました。
要するに、「違うんだけど、解決方法は同じでした」って返答ですね。

確かに、プラグインは違うものの、内容的には Yoast SEO における対応とほぼ同じなので、この方はこのやり取りで解決できていたんだなと気づきました。ぐぬぬ。

まとめ

解決まではそれなりに苦しみましたが、原因と直し方は至極単純でした。

ちょうどWordPress 5.5のタイミングとかぶったので余計に苦しんだ感はありますが、自動プラグイン更新含め恩恵もしっかり受けているので「これだから新バージョンは…」とも思わず、これからも最新テクノロジーと戦い続けていきたと思います(大げさ)

ちなみに、こういうことになる点について、美しくフラグを立てていました。

テノヒラクルーはしていない…していないから大丈夫…。