【おしらせ】RSSフィード配信を停止しました

KUSANAGI(Nginx)でWordPressが生成するXMLサイトマップをリダイレクトしたり無効化したりする

KUSANAGI for ConoHa
この記事は約2分で読めます。

WordPress 5.5でXMLサイトマップの自動生成が標準機能として実装されました。
しかしこの自動生成サイトマップ。
出力するURLを細かく制御できないわ、更新日付は出力しないわ。
現状ではプラグインに任せた方がいいので無効化します。

なお、KUSANAGIとしていますが、当然Nginx全般で使えます。
ファイル名は適当に読み替えてください。

スポンサーリンク
この記事を読む方へのオススメ

Nginxで標準XMLサイトマップをリダイレクトする方法

方法は2つあります。

  • Nginxの設定ファイルにリダイレクトを記述する方法。
  • functions.phpに生成機能を無効化するコードを記述する方法。

どちらも簡単ですし、どちらでもいいです。
ただ後者だと、https://ドメイン名/wp-sitemap.xmlにアクセスしたとき404を返します。

なんとなくスマートじゃない…

というわけで、私は前者を採っています。

Nginxの設定ファイルにリダイレクトを記述する方法

プラグインが出力するXMLのURLを「~/sitemap.xml」とします。
etc/nginx/conf.d/(プロファイル名)_ssl.confに次の記述をします。

rewrite ^/wp-sitemap.xml(.*)$ https://【ドメイン名】/sitemap.xml$1 redirect;

終わったら再起動します。

#kusanagi restart

https://【ドメイン名】/wp-sitemap.xmlにアクセスしてリダイレクトされているか確かめてみてください。

正規表現の参考にした記事はこちらです。

nginxのrewriteを使ったリダイレクト | Skyarch Broadcasting

functions.phpに生成機能を無効化するコードを記述する方法

子テーマのfunctions.phpに次のコードを書き込みます。

add_filter( 'wp_sitemaps_enabled', '__return_false' );

https://【ドメイン名】/wp-sitemap.xmlにアクセスして404が返ってくるか確かめてください。

スポンサーリンク

まとめ

WordPressがまともに対応してくれたら、プラグイン1つ減らせるんですけどね
それまではリダイレクトして気長に待ちましょう

タイトルとURLをコピーしました