みなさん、WordPressでサイトを運営していると「このページは検索結果に表示させたくないな…」と思うことありませんか?
例えば会員限定のコンテンツやテスト中のページなど、Google検索に出てほしくないページってありますよね。
そんなとき役立つのがnoindex(ノーインデックス)という仕組みです。
これは簡単に言うと「このページは検索エンジンにインデックスしないでね」という指示を出す方法です。
この記事では、WordPressでnoindexを設定する方法を初心者の方にもわかりやすく解説していきます。

- 現役のフルスタックエンジニアとして活躍中
- 開発チームリーダーとして複数プロジェクトをリード
- 副業プログラミングスクール講師として数百名以上を指導してきた教育のプロ
- プログラミングスクールのカリキュラム執筆経験あり
この記事を読むとわかること
- noindexとは何か、基本的な仕組み
- WordPressでnoindexを設定する具体的な方法
- メタタグやrobots.txtを使った実践的な設定手順
- noindexを使う際の注意点とトラブル対処法
noindexが必要になるケース
まず、どんなときにnoindexを使うのか具体例を見てみましょう。
WordPressでブログやWebサイトを運営していると、以下のようなページを検索結果から除外したいケースがあります。
- 会員限定の投稿(ログインページなど)
- 開発中やテスト中のページ
- 重複コンテンツになりそうなページ
- お問い合わせの完了ページ
- プライベートで管理しているテスト用サイト全体
こういったページが検索結果に表示されてしまうと、ユーザーが混乱したり、サイトの評価が下がったりする可能性があります。
noindexを使えば、こうしたページだけを検索結果から除外することができるんです。
noindexの基本的な仕組み
noindexとは、検索エンジンに「このページはインデックスしないでください」と伝えるための指示です。
検索エンジンのクローラー(Googleボットなど)がサイトを巡回するとき、このnoindexの指示を見つけると「このページは検索結果に表示しなくていいんだな」と判断します。
ただ、重要なポイントとして、noindexはページの閲覧自体を制限するものではありません。
URLを直接入力したり、サイト内の他のページからリンクをたどったりすれば、ユーザーはそのページを見ることができます。
あくまで「検索結果に表示しない」という指示だけなんですね。
WordPressでnoindexを設定する方法
WordPressでnoindexを設定する方法はいくつかあります。
ここでは主に以下の4つの方法を紹介します。
- WordPressの設定画面から設定する方法
- HTMLメタタグを使う方法
- functions.phpで動的に設定する方法
- robots.txtで制御する方法
それぞれの方法を見ていきましょう。
WordPressの設定画面からnoindexを設定する
まず最も簡単な方法として、WordPressの管理画面から設定する方法があります。
これはサイト全体にnoindexを適用する方法で、開発中のサイトや非公開にしておきたいサイトに便利です。
設定手順は以下の通りです。
1. WordPressの管理画面にログインします
2. 左側のメニューから「設定」→「表示設定」を選択します
3. 「検索エンジンでの表示」セクションにある「検索エンジンによるサイトへのインデックスを禁止する」にチェックを入れます
4. 「変更を保存」をクリックします
この設定をすると、サイト全体に対して以下のようなメタタグが自動的に追加されます。
<meta name='robots' content='noindex,nofollow' />
これで検索エンジンはサイト全体をインデックスしなくなります。
この設定はサイト全体に影響するので、テスト環境でのみ使用するようにしましょう。本番サイトではページごとに設定する方法をおすすめします。
HTMLメタタグを使ったnoindex設定
次に、HTMLのメタタグを使ってページ単位でnoindexを設定する方法を見ていきましょう。
これはページごとに個別にnoindexを適用したい場合に便利です。
テーマのheader.phpを編集する方法
WordPressテーマのheader.phpファイルを編集して、特定の条件でnoindexメタタグを表示させる方法です。
1. WordPressの管理画面で「外観」→「テーマエディター」を選択します
2. 右側のファイル一覧から「header.php」を選択します
3. <head>
タグ内(</head>
の前)に以下のようなコードを追加します
<?php
// 特定のページやカテゴリにnoindexを適用する条件分岐
if ( is_category('テストカテゴリ') || is_page('お問い合わせ完了') ) {
echo '<meta name="robots" content="noindex, nofollow">';
}
?>
この例では、「テストカテゴリ」に属する記事と「お問い合わせ完了」というタイトルのページにnoindexを設定しています。
条件は自分のサイトに合わせて変更してください。
WordPressでは、以下のような条件分岐関数を使うことができます。
is_page('page-name')
:特定のページかどうかis_single('post-name')
:特定の投稿かどうかis_category('category-name')
:特定のカテゴリかどうかis_tag('tag-name')
:特定のタグかどうかis_archive()
:アーカイブページかどうか
functions.phpで動的に設定する方法
テーマのheader.phpを直接編集するのが不安な方や、子テーマを使っている方は、functions.phpを使って設定する方法も便利です。
この方法では、WordPressのアクションフックを使ってヘッダーにnoindexメタタグを追加します。
手順は以下の通りです。
1. WordPressの管理画面で「外観」→「テーマエディター」を選択します
2. 右側のファイル一覧から「functions.php」を選択します(子テーマを使っている場合は子テーマのfunctions.php)
3. ファイルの末尾に以下のようなコードを追加します
// 特定のページやカテゴリにnoindexを設定する関数
function add_noindex_tag() {
// カテゴリが「テストカテゴリ」の場合
if ( is_category('テストカテゴリ') ) {
echo '<meta name="robots" content="noindex, nofollow">';
}
// 特定のページの場合
if ( is_page('お問い合わせ完了') ) {
echo '<meta name="robots" content="noindex, nofollow">';
}
// 検索結果ページの場合
if ( is_search() ) {
echo '<meta name="robots" content="noindex, nofollow">';
}
}
// wp_headアクションにフック
add_action('wp_head', 'add_noindex_tag');
この例では、特定のカテゴリ、特定のページ、そして検索結果ページにnoindexを設定しています。
自分のサイトの要件に合わせて条件を変更してみてください。
robots.txtでの制御方法
robots.txtはサイトのルートディレクトリに置かれるテキストファイルで、検索エンジンにクロールしてほしくないディレクトリやファイルを指定できます。
ただし、robots.txtはnoindexとは少し違う役割を持っています。
robots.txtは「クロールしないでください」という指示であり、「インデックスしないでください」というnoindexとは異なります。
以下が典型的なrobots.txtの例です。
User-agent: *
Disallow: /wp-admin/
Disallow: /test/
Allow: /wp-admin/admin-ajax.php
この例では、すべての検索エンジン(User-agent: *)に対して、/wp-admin/ディレクトリと/test/ディレクトリをクロールしないよう指示しています。
robots.txtは公開ファイルなので、誰でも見ることができます。セキュリティ上重要な情報や、隠したいディレクトリを書くと、逆にそれらの存在を知らせることになるので注意しましょう。
WordPressでrobots.txtを設定するには、いくつかの方法があります。
それぞれ詳しく見ていきましょう!
FTPで直接robots.txtをアップロードする
ローカルでrobots.txtファイルを作成し、FTPクライアントを使ってWordPressのルートディレクトリ(index.phpと同じ階層)にアップロードする方法です。
SEO系プラグインを使う
Yoast SEOやAll in One SEOなどのSEOプラグインを使うと、管理画面からrobots.txtを編集できます。
例えば、Yoast SEOの場合は以下の手順で設定できます。
1. 「SEO」→「ツール」→「ファイルエディタ」を選択
2. robots.txtタブを選択して編集
プラグインを使ったnoindex設定
コードを編集するのが不安な方は、プラグインを使うとより簡単にnoindexを設定できます。
代表的なSEOプラグインでnoindexを設定する方法を紹介します。
Yoast SEOでnoindexを設定する方法
Yoast SEOは最も人気のあるSEOプラグインの一つです。
このプラグインを使うと、個別の投稿やページ、カテゴリ、タグなどに簡単にnoindexを設定できます。
個別の投稿やページにnoindexを設定する方法:
1. 投稿や固定ページの編集画面を開きます
2. 画面下部にある「Yoast SEO」セクションを展開します
3. 「詳細設定」タブをクリックします
4. 「検索エンジンでの表示」で「インデックスしない」を選択します
5. 更新または公開ボタンをクリックします
カテゴリやタグにnoindexを設定する方法:
1. 「投稿」→「カテゴリー」または「タグ」を選択します
2. noindexにしたいカテゴリーまたはタグをクリックします
3. 下部の「Yoast SEO」セクションで「検索エンジンでの表示」を「インデックスしない」に設定します
4. 「更新」ボタンをクリックします
All in One SEOでnoindexを設定する方法
All in One SEO(AIOSEO)もYoast SEOと同様に、簡単にnoindexを設定できます。
個別の投稿やページにnoindexを設定する方法:
1. 投稿や固定ページの編集画面を開きます
2. 下部の「AIOSEO設定」を展開します
3. 「詳細」タブをクリックします
4. 「Robots設定」で「noindex」にチェックを入れます
5. 更新または公開ボタンをクリックします