【WordPress】meta robotsをプラグイン無しで実装する方法
2018年9月21日WordPressmeta robots,WordPress,プラグイン無し,実装,方法
レビューログのWordPress自作テーマを一から制作しているので、備忘録記事になります。(Facebook ogp、Twitter Cardをプラグイン無しで実装する方法はこちら)
出来るだけプラグインを入れないで自力で実装を行っているのですが、今回はmeta robotsの制御を実装したので纏めます。
実装内容は超簡単なので、「WordPress Meta Robots」プラグインを使っている人は外してしまって良いと思っています。
参考:【WordPress】プラグイン無しでカスタムフィールドを利用してmeta keywordsとmeta descriptionを実装する
目次
WordPressでmeta robotsをプラグイン無しで実装する
前提のお話が抜けましたが、ページネーションの実装はGoogle推奨のもので行います。
ページ送りに対するSEO施工方法にも記載がありますが、ページネーションはnext/prevとcanonicalで対応する策がGoogle推奨の方法なため、こちらでいきます。
通常のブログでは、ページ送りの2ページ目以降はnoindexにしてしまうケースが多いようですが、サイトが大きくなった時のSEO効果減を鑑みて僕はその実装にしません。(2ページ目以降をnoindexにする実装も、後述します。)
ページネーションをnext/prevとcanonicalで対応するバージョンでmeta robotsを実装する
header.phpに、metaタグを記述してcontent部分をfunctions.phpで出し分けます。
<meta name="robots" content="<?php robots(); ?>">
<?php // meta robotsの制御 function robots() { // 検索結果、404、カテゴリー以外のアーカイブ(タグ・投稿者・日時)はnoindex,followに if (is_search() || is_404() || (is_archive() && !is_category())) { $content = 'noindex,follow'; // トップページ or 投稿・固定ページはindex,followに } elseif (is_home() || is_singular()) { $content = 'index,follow'; } echo $content; } ?>
コードに記載していますが、noindexにしたいページ郡(検索結果、404ページ、タグや投稿者・日時といったアーカイブ(カテゴリーページは除く))をnoindexにし、トップページや投稿・固定ページはindexにすればOKです。
後は、home.php(トップページ)の実装時に「link next/prev」と「canonical」を埋め込んでおけばOKです。
ページネーションは2ページ目以降をnoindex,followで対応するパターンでmeta robotsを実装する
これもそんなに難しくはありません。(header.phpの実装は変わらないので省略。)
<?php // meta robotsの制御 function robots() { // 検索結果、404、カテゴリー以外のアーカイブ(タグ・投稿者・日時)、トップページ2ページ目以降はnoindex,followに if (is_search() || is_404() || (is_archive() && !is_category()) || (is_home() && is_paged())) { $content = 'noindex,follow'; // トップページの1ページ目 or 投稿・固定ページはindex,followに } elseif ((is_home() && !is_paged()) || is_singular()) { $content = 'index,follow'; } echo $content; } ?>
出し分け時に、is_paged()という現在のページ番号が1より大きければTRUEを返してくれる便利な関数を利用して、条件分岐しています。
投稿毎にindexとnoindexを出し分けたい!とかある場合は、別途カスタムフィールドを利用した実装が必要になりますが、今のところ特にやることは無さそうなので上記で実装しています。
関連記事

【WordPress】Facebook ogpとTwitter Cardをプラグイン無しで実装する
レビューログはWordPressで構築されており、PHPとWordPressの知 ...

【Mac/iPhone】AirDropで知らない人に自分の名前を表示させない方法
最近Twitterで、AirDropを利用して知らない人のiPhoneに登録して ...

PHP,Laravelを挫折せずに独学で勉強する方法とは?やってよかった書籍・プログラミングスクールまとめ
僕は現在、PHPとそのフレームワークのLaravelを勉強しています。 独学でプ ...

【iPhone】iOS10でSafariの開いているタブを一発で全て閉じる方法
iPhoneを使っていると、動作が重くなってくるときがあると思います。 特に、ブ ...

同じ広告が何度も出てしつこい!Google Chrome(クローム)で追跡型広告を消す方法
最近、ウェブサイトを見ていると何度も同じ広告に当たっていると感じることはありませ ...