XMLサイトマップはwp_sitemapで十分だけどユーザー名を隠す必要がある

「wp-sitemap.xml」には最大50,000件のサイトマップと最大2,000件のURLを含むことができます。

サイトマップを使うと、ウェブマスターはサイト内のクロールされるページを検索エンジンに簡単に知らせることができます。 sitemaps.org – ホーム

サイトマップはプラグインはやめて、WordPress5.5でリリースされた「wp_sitemap」を活用していますが、いくつか注意したい点があります。

https://ドメイン/wp-sitemap.xml

設置されている場所

大概はここにあるかと。

/ドメイン/public_html/wp-includes

 

デフォルトだとユーザー名が表示される

この項目をクリックすると、

https://zbnrk.com/wp-sitemap-users-1.xml

と表示されてびっくり。

https://zbnrk.com/author/ユーザー名

 

wp-sitemapのユーザー名を隠す

「functions.php」にコードを追記します(テーマをお使いの場合は子テーマのfunctions.php)。

追記場所

ルクセリタスやCocoonの場合はここ。

LION BLOGの場合はここ。

コード

ユーザー名を隠したい場合。

//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どちらが良いのか?

これは「人による」としか。「別サイトhttps://zbnrk.com/」は最初から「wp-sitemap.xml」でサイトマップを送信していましたがGoogleアドセンスの審査に合格しましたし、検索順位も特に変わりありませんでした。

また、プラグインを導入するとサイトが重くなったり不具合が生じた時が辛いので「これで良いや」といった感じです。

kaoleft
「上級者はwp_sitemapは使わない」という意見を多く見受けられますが私は上級じゃないし

wp_sitemapを無効にしたい場合

「functions.php」にwp_sitemapを無効にするコードを追記すると表示されなくなります。

//wp_sitemap無効
add_filter( 'wp_sitemaps_enabled', '__return_false' );

 

自分でサイトマップを生成

また、サイトマップを作成-自動生成ツール「sitemap.xml Editor」などでサイトマップを生成し、sitemap.xmlファイルをルートディレクトリにアップロードしてGoogle Search Consoleに登録しても良いと思います。

 

後書き

最終更新日を追加したい場合はこのコードを追記します。

//wp-sitemap最終更新日を追加
add_filter(
    'wp_sitemaps_posts_entry',
    function( $entry, $post ) {
        $entry['lastmod'] = $post->post_modified_gmt;
        return $entry;
    },
    10,2
);

更新日が表示されました。

他にも色々カスタマイズが可能。「functions.php」にコードを追記するだけで自分好みのサイトマップを作製することができます。

参照→New XML Sitemaps Functionality in WordPress 5.5 – Make WordPress Core







サイト運営
わたしらしく