WordPress | 画像ファイルをインデックスさせない

WordPress でメディアに画像を登録すると、画像ファイルの URL のほかに添付ファイルの URL も発行される。

添付ファイルはGoogle Search Console で低品質評価されることが多いので index させないようにしたい。

添付ファイルに noindex を設定する

1
2
3
4
5
6
function my_add_noindex_attachment(){
if (is_attachment()) {
echo '<meta name="robots" content="noindex,follow" />';
}
}
add_action('wp_head', 'my_add_noindex_attachment');

添付ファイルへのアクセスをリダイレクトする

添付ファイルへのアクセスを 404 ページにリダイレクトする

添付ファイルにアクセスされ内容を表示されることを避けるために、404 ページにリダイレクトしたい。

設定

functions.php に下記を追記する。

1
2
3
4
5
6
7
8
function attachment404() {
if ( is_attachment() ) {
global $wp_query;
$wp_query->set_404();
status_header(404);
}
}
add_action( 'template_redirect', 'attachment404' );

添付ファイルへのアクセスを添付元にリダイレクトする

404 ページではなく添付ファイルが紐づいている記事にリダイレクトしたい。

設定

attachment.php に下記を追記する。

1
2
3
4
5
6
if ( $post->post_parent ) {
wp_redirect( get_permalink( $post->post_parent ), 301 );
}
else {
wp_redirect( home_url(), 302 );
}
  • 添付元(投稿、ページなど)のある添付ファイルページの場合、添付元にリダイレクト
  • 添付元のない添付ファイルページの場合、トップページにリダイレクト