loading
 読み込み中...
ウェブの触手-日々の生活に新たなスパイスを-

【Wordpress】特定のページだけnoindexタグを出力させる方法

投稿日:2018.1.24
アイキャッチ画像
この記事は約5分で読めます。

ブログを書く上で通常なら全く気にすることのないnoindex

でもでも場合によっては、
検索エンジンに拾ってほしくないページを作らざるをえないことだってあります。

そんなときには敢えて”noindex”をつけてやりましょか。

でもそれをいちいち手作業で設定するのは効率悪いってもの。

それを自動化するやり方です。

noindex自動化

”noindex”というのは検索エンジン側に

「このページはインデックスしなくて結構です」

と知らせるmetaタグのことです。

これが設定してあるページは、基本的にはどんなキーワードで検索しようと
検索エンジンの検索結果にそのページは表示されなくなります。

内容があまりないページやまとめページなどを敢えて検索エンジンに無視させることで、
サイト全体の評価を下げるのを防ぐ効果があると昔から言われてます。

これはAll in One SEO Packなどのプラグインを使えばその設定は簡単にできます。

しかし私のようにできるだけプラグインを少なくしたいという方は
functions.phpへ加筆することでも同様の設定を付加することができますよ。

スポンサーリンク

functions.phpへ書くやり方

まずはfunctions.phpに書き込むやり方です。

検証は行ってますがカスタマイズ・実装に関しては”サイトが表示されない”などのトラブルが発生する可能性もありますゆえ自己責任にてお願いします。

また失敗した時に元に戻せるようオリジナルファイルのコピーは必ず作っておきましょう。

上記コードは通常のページやカテゴリーページはnoindexにせず
日付アーカイブページとタグアーカイブページとページャーの2ページ目以降と検索ページnoindexにするという設定です。

(カテゴリーページも含めたい方は「is_tag() ||」のところを「is_tag() || is_category() || 」とします。

この結果、該当するページが開かれた時のみ、自動的に

<meta name="robots" content="noindex" />

がソースに書き加えられるようになります。

なお今回はnoindexと並んで付けられることの多いnofollow属性はつけてません。

もしもページ内のリンクもたどってほしくなければnofollowも入れてください。

その場合、4行目は
echo '<meta name="robots" content="noindex,nofollow" />';
とします。

テーマによってはカテゴリーページ・タグページ・月間アーカイブページなどを
archive.phpとして一つにまとめているモノもあったりします。

そんな時は3行目を

if ((is_archive() && !is_category()) || is_paged() || is_search()){

とするといいでしょう。

(is_archive() && !is_category())カテゴリーページを除くアーカイブページという意味です。

何回か出てくる” || ”は”OR”という意味で、いわゆる「~または~」のことです。

なお<meta name="robots" content="noindex" />に関しては、
できるだけHTMLの上部に書いた方がいいとされてます。

ところがfunctions.phpに書くやり方は、
テーマによってはかなり下の方に表記されることもあるので、
当サイトとしてはこれからご紹介するheader.phpに書く方をおススメします。

header.phpなら、
例えば<title>(サイトタイトル)</title>すぐ後とかに直接書けますからね。

 

header.phpへ書くやり方

これからご紹介するコードはheade.phpの上の方、
具体的には「<meta name=…」という行の近くに加筆しておきます。

※なお管理人の好みで「カテゴリーページだけはnoindexにしない」というのがあります。

そのため基本的にはカテゴリーページは除外した書き方になってます。

タグページ・日付アーカイブページ・ページャーの2ページ目以降・検索結果ページはnoindex

カテゴリー以外のアーカイブページ・ページャーの2ページ目以降・検索結果ページはnoindex

タグページ・日付アーカイブページ・ページャーの2ページ目以降・検索結果ページ・特定の投稿ページはnoindex

何らかの理由があって特定の投稿ページにもnoindexをつけたい場合に有効なコードです。

やり方は投稿ページ下部のカスタムフィールド蘭の名前に「noindex」、に「1」と入力し、
”カスタムフィールドを追加ボタン”をクリックすればOKです。

キャプチャ画像

特定のページ・投稿でnoindexに加えてnofollowもつけたい時は下記のようにするといいでしょう。

やり方はカスタムフィールド名前に「noindex」、に「1」と入力すればnoindexのみの出力。

に「2」と入力すればnoindexとnofollowの両方が出力されます。

タグページ・日付アーカイブページ・ページャーの2ページ目以降・検索結果ページ・特定の投稿ページ・特定のカテゴリーに属する投稿ページはnoindex

特定の投稿ページでいちいちカスタムフィールドを有効化するのではなく、
特定のカテゴリーに属する投稿記事には自動でnoindexをつけたい時に使えるコードです。

※下記の例はカテゴリー名”wordpress”に属する投稿記事にnoindexを付けたい場合。

&& is_single()をつけるとカテゴリーページにはnoindexがつかなくなります。

※カテゴリー名”wordpress”もしくは”webdesign”と複数のカテゴリーに属する投稿記事の場合。

タグページ・日付アーカイブページ・ページャーの2ページ目以降・検索結果ページ・特定のカスタム投稿ページはnoindex

※カスタム投稿タイプが”book”だった場合。

※カスタム投稿タイプが”book”と”movie”と複数だった場合。

以上です。

記事はお役にたてましたか?

記事にご興味をもっていただけましたら
下のソーシャルボタンで共有していただけると嬉しいです^^

 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

アイキャッチ画像

スポンサーリンク

 

コメント(0件)

コメントをどうぞ

入力いただいたメールアドレスは公開されません。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

先頭へ