Ping送信・RSSから「noindex」投稿を除外する方法【WordPress:AIOSEOあり/なし】

WordPress(ワードプレス)で作っているサイトには、いつも『最新:PING送信先リスト』の記事にあるping送信の設定をしてるのですが、先日「noindex」にしてるはずの投稿からのアクセスがあり、『noindexの投稿でも ping送信され、RSSに含まれてしまっていた』ということが判明しました。これはよろくないですよね。。

Ping 送信先リストから「noindex」を除外する

というわけで、今回はそれを防ぐための『Ping送信・RSSから「noindex」投稿を除外する方法』です。

Ping送信・RSSから「noindex」投稿を除外する設定

設定方法は、以下の関数(記述)を、functions.phpに追加します。

noindexかどうかの判断は、『AIOSEO』の情報を利用するかしないかで変わりますので、2通り書いておきます。

1.『AIOSEO』の情報を利用する場合

『AIOSEO』の情報を利用して、noindex投稿をRSSから除外します。
コメントアウト部分は適宜変更してくださいね。

// https://blog.with2.net/ から、インデックスしてないはずの投稿からのアクセスがあったので、noindexの投稿はping送信しないように設定
// ① RSSから除外
function exclude_aioseo_noindex_from_feed($query) {
  if ($query->is_feed() && $query->is_main_query()) {
    $meta_query = array(
      array(
        'key'     => '_aioseo_robots_meta',
        'value'   => 'noindex',
        'compare' => 'LIKE',
      ),
    );
    $query->set('meta_query', $meta_query);
  }
}
add_action('pre_get_posts', 'exclude_aioseo_noindex_from_feed');

// ② ping送信の抑制
function disable_ping_for_aioseo_noindex($post_id) {
  if (get_post_status($post_id) !== 'publish') return;

  $robots = get_post_meta($post_id, '_aioseo_robots_meta', true);

  if (strpos($robots, 'noindex') !== false) {
    remove_action('do_pings', 'do_all_pings');
  }
}
add_action('publish_post', 'disable_ping_for_aioseo_noindex', 1);

2.『AIOSEO』の情報を利用しない場合

『AIOSEO』などのSEOプラグインを使っていない場合でも、投稿に独自の「noindexフラグ」を設定して除外することができるので、『AIOSEO』を使わない場合はこの方法で『noindex投稿をRSSから除外』します。

以下のコードでは、カスタムフィールド『custom_noindex』に「1」が設定されている投稿を対象外にしています。
キー名や値、コメントアウト部分は、適宜変更してくださいね。

// https://blog.with2.net/ から、インデックスしてないはずの投稿からのアクセスがあったので、noindexの投稿はping送信しないように設定
// ① RSSから除外(独自カスタムフィールド 'custom_noindex' が '1' の投稿を除外)
function exclude_custom_noindex_from_feed($query) {
  if ($query->is_feed() && $query->is_main_query()) {
    $meta_query = array(
      array(
        'key'     => 'custom_noindex',
        'value'   => '1',
        'compare' => '=',
      ),
    );
    $query->set('meta_query', $meta_query);
  }
}
add_action('pre_get_posts', 'exclude_custom_noindex_from_feed');

// ② ping送信の抑制
function disable_ping_for_custom_noindex($post_id) {
  if (get_post_status($post_id) !== 'publish') return;

  $flag = get_post_meta($post_id, 'custom_noindex', true);

  if ($flag === '1') {
    remove_action('do_pings', 'do_all_pings');
  }
}
add_action('publish_post', 'disable_ping_for_custom_noindex', 1);

このどちらかの記述をfunctions.phpに追加すれば『あれ?noindexの投稿やのにPing送られてる?』なんてことにはならないので、PINGの送信設定をするときは、こちらの記述も忘れないように設定してくださいね!

Google AdS



関連記事

Ping送信先2020

2020年版:PING送信先リスト10+2(WordPress Ping Optimizerへ登録するPingのURL)


管理しているサイトのPVがこの半年で1/3ほどに下がってしまい、色々試しているのですが全然回復せず、今年に入ってからさら…

記事を読む▷


2021:PING送信先リスト8+2(WordPress Ping Optimizerへ登録するPingのURL)


最新版の『PING送信先リスト』です!(2021年7月現在) 早速ですが、2021年の最新Ping送信先リストです…

記事を読む▷


2025最新:PING送信先リスト6+2(WordPress Ping Optimizerへ登録するPingのURL)


最新版の『PING送信先リスト』です!(2025年1月現在) 早速ですが、2025年の最新Ping送信先リ…

記事を読む▷


ping_2017

2017年版:PING送信先リスト18(WordPress Ping Optimizerへ登録するPingのURL)


久しぶりに新たなサイトのためにPingの送信先リストをチェックしてみたら、、、このようなよろしくない状態でした。。 …

記事を読む▷


2015年版:PING送信先リスト20(WordPress Ping Optimizerへ登録するPingのURL)


色々と設定の見直し中なのですが、PingはSEO対策では大切なんですよね?正直まだイマイチPingは把握しきれていません…

記事を読む▷


Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Google AdS

  • 人気の記事

    デザイン・撮影サービス

    3STARS DESIGN(スリースターズ デザイン) |デザインサービス 3STARS(スリースターズ)|スタジオサービス

新着記事

  • デザインサービス

    3STARS DESIGN(スリースターズ デザイン) |デザインサービス