多くの人がウェブサイトを高速化するために、何らかのキャッシュを利用しています。 キャッシュは、ホスティングプロバイダーによるサーバーレベルで行うことも、キャッシュまたはパフォーマンスプラグインを使用してWordPressレベルで行うこともできます。
しかし、XMLサイトマップのように、決してキャッシュされるべきではないファイルもあります。 これは、検索エンジンに古いキャッシュ情報を取得してほしくないからです。検索エンジンには、常にサイトの現在のサイトマップを取得してほしいのです。
ここでは、最も一般的なキャッシュプラグインでXMLサイトマップをキャッシュから除外する方法を説明します。
LiteSpeed Cache
LiteSpeed CacheでXMLサイトマップをキャッシュから除外するには、LiteSpeed Cache > Cache > Excludes に移動し、Do Not Cache URIs フィールドに以下を入力します。
/(.*)sitemap(.*).xml /(.*)sitemap.xsl
WP Fastest Cache
WP Fastest CacheでXMLサイトマップをキャッシュから除外するには、WP Fastest Cache > Exclude に移動し、Exclude Pages の横にある Add New Rule ボタンをクリックします。ドロップダウンで Contains を選択し、フィールドに sitemap と入力して Save をクリックします。
WP Rocket
WP RocketでXMLサイトマップをキャッシュから除外するには、Settings > WP Rocket > Advanced Rules > Never Cache URL(s) に移動し、以下を入力します。
/(.*)sitemap(.*).xml /(.*)sitemap.xsl
WP Super Cache
WP Super CacheでXMLサイトマップをキャッシュから除外するには、Settings > WP Super Cache に移動し、Advanced タブをクリックします。ページをキャッシュしないように強制する文字列(ファイル名ではない)をここに追加します。というセクションまでスクロールダウンし、以下を入力します。
sitemap(_index)?\.xml(\.gz)? [a-z0-9_\-]*sitemap[a-z0-9_\-]*\.(xml|xsl|html)(\.gz)? ([a-z0-9_\-]*?)sitemap([a-z0-9_\-]*)?\.xml
W3 Total Cache
W3 Total CacheでXMLサイトマップをキャッシュから除外するには、Performance > Page Cache に移動し、次のページをキャッシュしない というセクションまでスクロールダウンし、以下を入力します。
sitemap(_index)?\.xml(\.gz)? [a-z0-9_\-]*sitemap[a-z0-9_\-]*\.(xml|xsl|html)(\.gz)? ([a-z0-9_\-]*?)sitemap([a-z0-9_\-]*)?\.xml
データベースキャッシュを使用している場合は、Performance > Database Cache の「次のページをキャッシュしない」に同じ文字列を追加します。
ミニファイを使用している場合は、Performance > Minify に移動し、「次のページをミニファイしない」の下のフィールドに同じ文字列を入力します。
最後に、Performance > Browser Cache に移動し、「404エラー例外リスト」フィールドに同じ文字列があることを確認します。
これらのいずれかのプラグインでこれらの変更を行った後は、必ずすべてのキャッシュをクリアしてください。
別のプラグインを使用している場合や、サーバーレベルでキャッシュが行われている場合は、プラグイン開発者またはホスティング会社にサポートを依頼してください。