WordPress

【wordpress】画像ページを自動生成させないようにする

wordpressのメディアで画像をアップロードすると、自動でその画像だけのページ( ドメイン名/attachment/画像名 )が生成されます。
放っておくと検索結果にも出てきてしまいますので、以下の対応をしておきます。

■「image_default_link_type」を「none」に設定

① ドメイン名/wp-admin/options.php でwordpressの設定画面を開く。
②「image_default_link_type」を「none」に設定。※「変更を保存」を忘れずに!

img_02.png

これで画像ページへのリンクの設定がデフォルトで「なし」になります。

img01.png

なしにすることで、画像ページへのリンク(Googleが辿るルート)を作ってしまうリスクを減らすことができるらしいです。
…ですが、筆者が関わったサイトはgoogleの検索結果に出てしまっていました;
また、最近(?)はデフォルトで設定が「none」になっているみたいです。

■ 画像ページにアクセスがあった場合、添付元のページか、トップページにリダイレクトさせる

① attachment.phpを作成。
② ファイルに以下記入。

attachment.php
<?php
// 添付元(投稿、ページなど)のある添付ファイルページの場合、添付元にリダイレクト
if ( $post->post_parent ) {
    wp_redirect( get_permalink( $post->post_parent ), 301 );
}
// 添付元のない添付ファイルページの場合、トップページにリダイレクト
else {
    wp_redirect( home_url(), 302 );
}
?>

■ noindex

検索エンジンにインデックスされないよう、<head></head>内に以下記入。

header.php
<?php if ( is_attachment() ): ?>
<meta name="robots" content="noindex">
<?php endif; ?>

■ All in One SEO

プラグイン「All in One SEO」を使用している場合は「XMLサイトマップ」の設定を以下に設定。

①「投稿タイプ」の「メディア・添付ファイル」のチェックを外す。
img03.png

②「Exclude images」にチェックを入れる。
img04.png

参考

(WP)attachmentってなんだ!!このページはできれば削除したい。 - なるほどねっ!MEMO BLOG
添付ファイルページを無効にする(添付元にリダイレクト)
WordPress で画像ページを検索結果に表示させない