※当サイトにはプロモーションが含まれています。
問い合わせページが、Googleにインデックスされているから、インデックスされないようにして欲しいんだけど・・・
noindexを追加すればいいにゃ。
あれ、headerを外部ファイルから読み込んでいるから、header情報を追加できないにゃ
お問い合わせページや、プライバシーポリシーなどのページは、Googleにインデックスさせないようにするには、<head>タグ内に、
<meta name="robots" content="noindex">
を記載する方法が一般的だと思います。
しかし、機密保持などの関係で、HTMLやPHPファイルを一切触ることができなかった為、.htaccessファイルでヘッダ情報を追加することにしました。
その備忘録です。
Apacheでmod_headersモジュールを読み込んでいるかを確認
前提として、WebサーバーはApacheです。
また、mod_headersモジュールが無効になっている場合、ヘッダを設定する事ができません。
その為、mod_headersモジュールが有効になっているかを確認する際には、次のコマンドを使用します。
apachectl -M
または、
httpd -M
このコマンドは、ロードされているすべてのApacheモジュールの一覧を表示してくれます。
その為、出力結果の中から、headers_module (または mod_headers.c) を探して、これがリストに存在すれば、mod_headersモジュールが有効になっています。
なお、上記のコマンドは、管理者権限があるサーバーでないと実行できないと思いますので、確認できないようであれば、レンタルしているサーバー会社に問い合わせてみましょう。
2024年4月現在、さくらインターネットのスタンダードプランは、mod_headersモジュールが有効になっていました。
noindexのヘッダ情報を追加する.htaccess
URLが、/contact に完全一致する場合に X-Robots-Tagヘッダを追加して、そのページをインデックスから除外する.htaccessです。
<If "%{REQUEST_URI} =~ m#^/contact$#">
Header set X-Robots-Tag "noindex"
</If>
リンクを辿ることも防ぎたい場合は、followを追加します。
<If "%{REQUEST_URI} =~ m#^/contact$#">
Header set X-Robots-Tag "noindex, nofollow"
</If>
なお、ヘッダ情報に、canonicalリンクを追加したい場合は、
<If "%{REQUEST_URI} =~ m#^/contact$#">
Header set Link '<https://www.example.com/contact>; rel="canonical"'
</If>
と記載することで、ヘッダ情報にcanonicalリンクを追加できます。
※上記3つの例は、お問い合わせページ(contact)だと仮定しています。
補足:X-Robots-Tagとは?
HTTPヘッダーで使用されるタグで、検索エンジンにページやファイルのインデックス登録の可否やクローリングの指示を伝えるために使われます。
HTML内の<meta name=”robots”>タグと同様の役割を持ちますが、HTMLにアクセスしなくてもヘッダーで設定できる点が特徴です。
特に、PDFや画像などHTML以外のリソースの制御に便利で、SEO管理やセキュリティのために活用されます。
以上、noindexのヘッダ情報を.htaccessで追加する方法でした。