【WordPress】attachment_idページができたときの対処法

こんにちわ。こんばんわ。まっすです。

 

このブログはWordPressで作成していますが、時折変なページが生成されてしまいます。

 

それが、attachment_idページです。

 

アクセスしてみると、僕のサイトの場合、タイトルとパンくずのみ表示されてました。

不必要なページはなるべく表示させない方が良いので、今回はこのページを表示させない方法を紹介します。

 

スポンサードサーチ

そもそもattachment_idページってなに?

記事に画像を載せる際、生成されるページのようです。

 

投稿画面から画像編集を開き、赤枠の部分が「添付ファイルのページ」という項目になっていると、生成されるので、ここを「なし」にしていれば生成されません。

 

 

しかし、気付かず「添付ファイルのページ」を選択していることがあり、いちいち変更するのは面倒なので、一斉に、かつ簡単に対応させました。

 

attachment_idページの対策は3つ

対策として大きく3つあります。

 

・表示させなくする方法

・404ページに飛ばす

・リンクを消してしまう方法

 

順番に方法を紹介していきます。

 

表示させなくする方法

これが一番簡単な方法です。

 

1、attachment.phpページを作成

2、attachment.phpに下記のコードを記入

 

<?php @header("HTTP/1.1 404 Not found", TRUE, 404); ?>

 

これで、何も表示されないですが、とりあえず404を返すことができます。

 

404ページに飛ばす

404を返すだけでも良いのですが、404ページを作成している方は、せっかくなので404ページに飛ばしてあげましょう。

 

1、attachment.phpを作成

2、attachment.phpに下記のコードを記入

 

<?php require('404.php'); ?>

 

これで、attachment_idページにアクセスがあった場合、404ページに飛ぶようになりました。

 

もし404ページがない場合、404ページを準備しておきましょう。

 

リンクを消してしまう方法

下記コードをfunctions.phpに追加すると、wp-content/uploadsの中にある画像のリンクが全て削除されます。

add_filter( ‘the_content’, ‘attachment_image_link_remove_filter’ );

function attachment_image_link_remove_filter( $content ) {
      $content = preg_replace( array(
             '{<a(.*?)(wp-att|wp-content\/uploads)[^>]*><img}',
             '{ wp-image-[0-9]*” /></a>}'),
              array('<img','” />'), 
              $content );
              return $content;
}

 

参考にさせていただきました。

 

WordPressで記事内画像のリンクをまるごと削除する方法|PULS1WORLD

https://plus1world.com/wordpress-image-link-delete

 

スポンサードサーチ

終わりに

内容の薄いページがGoogleに大量にインデックスされると質の悪いサイトだと思われる可能性があるそうです。

 

attachment_idページが作成された場合、管理画面から削除できないので、できる前に対処しておきましょう。

 

もしすでにできている場合についても、別ページに飛ばすなど、対策をしておくことが重要です。