【Hexo】特定のページだけインデックス登録しないように設定する(テーマ:light)

概要

GoogleSearchConsoleにアーカイブやタグのページがインデックス登録されて、うまく登録されなかったりするので、noindexを設定してインデックス登録されないようする。

目次

手順

1.head.ejsを変更

ヘッダーを定義するファイルに「アーカイブ」と「タグ」ページの場合はnoindexを設定するように定義

site\themes\light\layout\_partial\head.ejs

1
2
3
<% if (is_archive() || is_tag()) { %>
<meta name="robots" content="noindex, follow">
<% } %>

head.ejs

確認

ビルドを行いpublic内に生成されたHTMLのヘッダーを確認する。
下記のように指定したページだけnoindexが記載されてればOKです。

追記:後から気づきましたが、vscodeの検索窓から「meta name="robots" 」などで検索すれば一括で簡単に見れますね。。。

<アーカイブ>
site\public\archives\index.html
アーカイブ

<タグのHTML>
site\public\tags\Hexo\index.html
タグ

<トップページのHTML>
site\public\index.html
トップページ

<カテゴリのHTML>
site\public\categories\エンジニアリング\index.html
カテゴリ

<記事のHTML>
site\public\travel\picatitibu\index.html
記事

問題なく設定できてますね!

ここで設定を失敗するとすべてのページがnoindexとなってしまい、全ページが検索エンジンから消えます。必ず確認するようにしましょう!

補足

特定のページのみをnoindexにする場合は「is_current(‘ページ名’)」のように記載すれば可能です。

site\themes\light\layout\_partial\head.ejs

1
2
3
<% if (is_current('/privacy-policy')) { %>
<meta name="robots" content="noindex, follow">
<% } %>

締め

こういった設定を忘れるとユーザライクでないページとして登録され、サイトの評価が下がるかもしれません。
私個人としてはやっておいたほうが良いかと思います。

ただ設定ミスをするとサイトの運営に致命的な影響を与えるのでかなり慎重にチェックしたほうが良いかもしれないですね!

以上お疲れさまでした。