インデックスされた画像だけのページの確認とインデックスから削除する方法
WordPressでサイトを構築しているサイトでは、Google XML SitemapsやAll in One SEOなどのプラグインを使って、サイトマップを作成していくでしょう。
Webサイト(ホームページ)やブログのサイトマップの作成や設定をしていく中で、画像だけのページをサイトマップに登録されるように設定してしまい、必要のないページまでインデックスされるといったことがあるかと思います。
まずは設定を確認しましょう。
最近制作したサイトはいいですが、古いサイトになりますと投稿等で画像をアップロードして利用していくと、「添付ファイルの表示設定」の項目があり、添付ファイルのページに設定されていると、画像だけのページが作成されます。
もしこちらの項目があれば、「なし」とする必要があります。
最近制作されたWordPressサイトでは、デフォルトで作成されないようになっているようです。
他には、サイトマップを作成することができるプラグインの設定によっても、添付ファイルページがインデックスされるようになってしまいます。
例えば、All in One SEOのサイトマップ設定に「投稿タイプ」の項目があり、最初に導入するとデフォルトで「全投稿タイプを含める」にチェックが入っており、添付ファイルもすべて含まれてしまいます。
「全投稿タイプを含める」のチェックを外して、添付ファイルのチェックを外しておきましょう。
ここまでは、サイトマップを作成していく中で最低限確認しておきたい項目です。
ここからは、インデックスされてしまった時の対応についてお話します。
画像だけのページがインデックスされたままですとSEOに影響を受けてしまいますので、インデックスから削除していきます。
まずは、インデックスされた画像だけのページの確認しましょう。
インデックスされているURLの確認
Googleでインデックスされている状況を確認できれば、どのページがインデックスされているかが把握することができます。
Googleの検索窓で「site:」コマンドを使い、画像だけのページを検索します。
各記事内で生成される画像ページのURLは以下のようになります(サンプル)
https://〇〇〇〇.com/カテゴリ/記事リンク/attachment/記事内の画像ファイル名
各記事のURLの下層で、「attachment」の後ろに記事内の画像ファイル名が入り、URLが生成されます。
ということで、siteコマンドを利用してサイトURLを検索、また一緒にinurlコマンドを組み合わせて、URL内の特定のテキスト「attachment」が含まれているURLを検索します。
以下、siteコマンドとinurlコマンドを使ったサンプルです。
例)
site:https://〇〇〇〇.com/ inurl:attachment
これで、「attachment」のテキストを含んだサイトのURLを検索でき、どの記事の画像ページがインデックスされているのかを確認できます。
検索コマンドについては、以下の記事でご紹介しています。
↓ ↓ ↓
Web担当者が知っておきたいGoogleのSEO対策でも使える検索オプション
確認できたところで、インデックスからページを削除していきましょう。
インデックスからページを削除
主に削除する検索エンジンは、GoogleとBingあたりでしょうか。
検索エンジンの利用はGoogleが圧倒的ですが、Bingについてもご紹介します。
Googleの検索エンジンから素早くインデックスを削除する場合は、Google Search Consoleを使います。
Google Search Consoleのにログインしまして、画面左メニューの「削除」から、「新しいリクエスト」を選択します。
先ほど確認しました、インデックスされている画像だけのページのURLの「attachment」のディレクトリまでを入力して、「このプレフィックスで始まるURLをすべて削除」を選択します。
プレフィックスとは、頭についている文字列のことで、このURLから始まるものとなります。
設定できましたら「次へ」のボタンをクリックします。
リクエストの確認画面で内容を確認してただき、よろしければ「リクエストを送信」をクリックします。
リクエストの送信が完了しましたら、私が確認したところ半日ほどでインデックスから削除されました。
かなり早いですね。
Bing
Microsoftが提供する検索エンジンのBingでは、Microsoft BingWebmasterで設定していきます。
画面左メニューの「URLのブロック」から、「ブロックするURLを追加」のボタンをクリックします。
ブロックするURLを追加していきます。
「attachment」のディレクトリまでのURLを入力して、URLタイプを「ディレクトリ」、ブロックの種類を「URLおよびキャッシュ」を選択します。キャッシュのみというのは、ページを更新してキャッシュをクリアしたい時に選択します。
設定できましたら、「送信」ボタンをクリックします。
ブロックするURLのリクエストが送信でしたら完了です。
一覧で詳細が確認できます。
GoogleもBingも、Search ConsoleやBingWebmasterを利用すると、とても早くインデックスから削除されます。
ここまでインデックスの削除方法をご紹介してきましたが、完璧とは言えません。
画像だけのページではあまりないかと思いますが、タイミング悪くすでに検索にかかり、どこかにリンクが貼られていたりすると、再びインデックスされることもあります。
そこで、ソースコード上でインデックスさせない設定もご紹介します。
インデックスさせない設定
すでにインデックスされたページを削除した後の一番重要な対応は、ソースコード上でインデックスされないように制御することです。
いくつか方法はありますが、なるべく簡単なやり方をご紹介します。
WordPressに慣れている方
functions.phpにて、アクションフックでヘッダーに、添付ファイルのページに「noindex」でページをインデックスさせないよう、meta要素を追加するというプログラムを記述します。
関数名はわかりやすい名前にしてもらえば。ここでは「add_noindex_attachment」としておきました。
作業前は必ずファイルのバックアップを取っておきましょう。
functions.php
function add_noindex_attachment(){
if (is_attachment()) {
echo '<meta name="robots" content="noindex,nofollow">';
}
}
add_action('wp_head', 'add_noindex_attachment');
一緒に「nofollow」も設定して、リンク(PageRank)評価を受け渡すことも拒否しておきます。
WordPressに慣れていない方
先に説明したfunctions.phpで記述する方法は、慣れていな方にはリスクが高いです。
WordPressのコアファイルは、少し記述ミスをすると画面が真っ白になり、ファイルマネージャーやFTP等で元のファイルをアップロードし直さないと元に戻すことはできません。永遠に壊れたままになります。ファイルのバックアップをしっかり取ってあればいいですが。。。
一番手軽なのは、header.phpにプログラムを記述する方法です。
しかもたったの3行です。
functions.phpも一応、ファイルのバックアップを取っておくようにしましょう。
HTML構造のhead要素内に、以下のプログラムを記述します。
header.php
<?php if ( is_attachment() ): ?>
<meta name="robots" content="noindex,nofollow">
<?php endif; ?>
こちらも、添付ファイルのページでは「noindex」や「nofollow」を設定したmeta要素を追加するようにします。
上記のどちらかの方法で、
画像のみのページがもし生成されてもインデックスされませんので、評価の低いページの情報が検索エンジンに伝わらず、SEOとして影響を受けることはありません。
まとめ
Webサイト(ホームページ)やブログのサイトマップは、サイト構成図を検索エンジンに伝える役割がありますので、WordPressのプラグインでも、どのページが含まれているのかしっかりと設定していく必要があります。
特に初めのサイトマップを作成する時は、デフォルトの設定がどうなっているのか設定を確認しておきましょう。
さらに一緒にやっておきたいのが、ソースコード上での該当するページに対する設定です。
削除後も確実にインデックスされないよう、徹底した対策をしておきましょう。