ページ全体にnoindexとnofollowを設定する方法

特定のページだけではなく、サイト全体を検索エンジンにインデックスさせたくない場合や、
リンクを辿らせたくない場合があります。
WordPress では functions.php にコードを追加するだけで、
簡単に「全ページに noindex / nofollow」を設定することが可能です。

1 実装のポイント

  • WordPress の wp_head フックを利用して <meta name="robots"> を出力
  • 全ページ共通で noindex,nofollow を設定
  • 一時的に検索結果から除外したいときに有効

2 functions.php にコードを追加


//-------------------------------------------
// 全ページを noindex, nofollow に設定
//-------------------------------------------
add_action('wp_head', function() {
    echo '<meta name="robots" content="noindex,nofollow">';
});
補足:
上記コードを追加すると、全ページに <meta name="robots" content="noindex,nofollow"> が出力されます。
検索エンジンにインデックスさせたい場合は、必ず削除してください。

3 javascript にコードを追加

通常は PHP で十分ですが、どうしても JavaScript で後から追加したい場合は以下のようにできます。


//-------------------------------------------
// head 内に noindex,nofollow を挿入
//-------------------------------------------
document.addEventListener('DOMContentLoaded', function() {
    var meta = document.createElement('meta');
    meta.name = "robots";
    meta.content = "noindex,nofollow";
    document.getElementsByTagName('head')[0].appendChild(meta);
});
  

4 代用プラグイン

コードを書くのが難しい場合は、以下のようなプラグインを利用しても同じ効果を得られます。

  • Yoast SEO
  • All in One SEO Pack
  • Rank Math

5 まとめ

サイト全体を noindex,nofollow にする方法をご紹介しました。
一時的に開発中のサイトを検索結果に出さないようにしたい場合などに便利です。
公開後にインデックスさせたい場合は、必ずこの設定を外してください。