サイトマップはプラグインはやめて、WordPress5.5でリリースされた「wp_sitemap」を活用しているのですが、いくつか注意したい点があります。
https://ドメイン/wp-sitemap.xml
デフォルトだとユーザー名が表示される
「https://ドメイン/wp-sitemap-users-1.xml」を開くと…
「https://ドメイン/author/ユーザー名」と表示されてびっくり。
wp-sitemapのユーザー名を隠す
「functions.php」にコードを追記すると消えます(テーマをお使いの場合は子テーマのfunctions.php)
追記場所
ルクセリタスやCocoonの場合はここ。
コード
ユーザー名を隠したい場合。
//wp-sitemapユーザー名を隠す add_filter( 'wp_sitemaps_add_provider', function( $provider, $name ) { if ( 'users' === $name ) { return false; } return $provider; }, 10,2 );
特定のユーザー名を隠したい場合。
//wp-sitemap特定のユーザー名を隠す add_filter ( 'wp_sitemaps_users_entry', function ( $sitemap_entry, $user ) { if ( 'ユーザー名' === $user->data->user_login ) { return []; } return $sitemap_entry; }, 10,2 );
最終更新日を追加したい場合
このコードを追記します。
//wp-sitemap最終更新日を追加 add_filter( 'wp_sitemaps_posts_entry', function( $entry, $post ) { $entry['lastmod'] = $post->post_modified_gmt; return $entry; }, 10,2 );
更新日が表示されました。
wp_sitemapを無効にしたい場合
「functions.php」にwp_sitemapを無効にするコードを追記すると表示されなくなります。
尚、Google XML Sitemapsなどのプラグインを使っている場合は追記しなくてもOKです。
//wp_sitemap無効 add_filter( 'wp_sitemaps_enabled', '__return_false' );
ブラグインとwp_sitemapどちらが良いのか?
これは「人による」としか。「別サイトhttps://zbnrk.com/」は最初から「wp-sitemap.xml」でサイトマップを送信していましたが Google アドセンスの審査に合格しましたし、検索順位も特に変わりありませんでした。
また、プラグインを導入すると不具合が生じた時が辛いので「これで良いや」といった感じです。「上級者はwp_sitemapは使わない」という意見を多く見受けられますが私は上級ではないし。
後書き
更新頻度が低いサイトは、自分でサイトマップを作成-自動生成ツール「sitemap.xml Editor」などでサイトマップを生成し、sitemap.xmlファイルをルートディレクトリにアップロードして Google Search Console に登録しても良いと思います。
参照→New XML Sitemaps Functionality in WordPress 5.5 – Make WordPress Core