attachment・メディアページを無効・削除 リンクも削除する方法 【WordPress】

PR

WordPressは画像等のメディアをアップロードすると自動的にそれようのページが生成されます
これってかなり不要だったりします

うまく使いこなすことも可能なんですが
多くの人にとっては不要の代物でしょう

そこで、そのattachmentのページが無かったことにする方法です

 

下準備

メディアページへのリンクつかないようにWordPressをカスタマイズしておきます
そうすることでメディアページの存在は気づかれなくなります

 

こちらの記事が参考になります

WordPress 3.5 でメディアのリンク先から添付ファイルのページの選択肢を消去する | Simple Colors
http://www.warna.info/archives/2536/

 

 

方法その1

attachment.phpの中身を空にして404表示にしてしまう

テーマにあるattachment.php、なければ作成して404にしてしまえば無いのと当然
しかしメディアのページへのリンクがある場合はリンクエラーになっちゃいますが、SEO的には問題ありません

ウェブマスターツールに404が大量に出ちゃうかもしれませんが
最後に紹介する方法で対応できます

 

 

こちらの記事で紹介されている 404と返す方法が使えます

WordPressのメディアアップローダーの”添付ファイル投稿URL”ってボタンを消してハッピーになる方法。 | firegoby
http://firegoby.jp/archives/3588

コードはテーマのfuction.phpに追記します

 

 

 

方法その2

プラグインを使って処理する
このプラグインを使うと、記事と関連しているときはその記事へ転送、それ以外はホームへと転送されるようです

 

複数の記事で使った場合はどうなるのか?

投稿画面の時にアップロードした記事へリダイレクトされます

 

Attachment Pages Redirect

http://wordpress.org/plugins/attachment-pages-redirect/

WordPressの管理画面からプラグイン新規追加でインストールするだけでOKです

WS002113

WS002114

あとはちゃんと動作するか試してみてください

 

 

残る問題点

方法を2つ紹介したのですが、やっぱり画像についているattachmentへのリンクをすべて削除しないと、不要なリダイレクト、ウェブマスターツールでの404発生等になってしまうので

正規表現でimgタグにattachmentが入る場合は削除するというやり方で出来るはずなので
正規表現を使ったものを探したら有りました

【WordPress】記事内の画像に勝手にリンクが入らないように設定する方法と今までの記事から画像のリンクを外す方法
http://note100yen.com/en-131112.html

ただ少しコードの変更が必要なのでカスタマイズ

 

文字がエスケープされててコピペで使えなかったのと画像への直リンクも削除されてしまうので
attachmentのページへのリンクだけ削除するようにすこしコードをいじりました

 

//画像からリンクを削除
add_filter( 'the_content', 'attachment_image_link_remove_filter' );
function attachment_image_link_remove_filter( $content ) {
  $content =
    preg_replace(
    array('{<a(.*?)(wp-att)[^>]*><img}',
    '{ wp-image-[0-9]*" /></a>}'),
    array('<img','" />'),
    $content
  );
  return $content;
}

これをWordPressのfuction.phpに追記します

 

下準備+方法1か2+正規表現でのリンクの修正

これらを組み合わせれば万全かと思います
正規表現で消すのなら、下準備も飛ばしてしまってもいいかと思いますが、選択肢に出てくるだけで邪魔だったりもするので消しておいたほうが無難でしょうか

方法1と方法2は好きな方の動作の方を選べば良いかと思います
個人的には方法1で404化してしまって、正規表現でのリンクの修正することで attachmentのページがこの世からなかったコトにするほうがいいかなと思います、それにプラグインを使わずにテーマのfunctions.phpに追加するだけでいいですし

PR

COMMENT

コメントを残す

PR

9ineBBの管理人が運営するサイト

WDG WEB DESIGN GALLERY ウェブデザインギャラリー