【WordPress】画像だけのページが生成されるので削除する

WordPressで画像だけのページが作成されていたので削除するお話

WordPressはしっかり管理すれば便利なCMSですが、少しミスっただけで不要なページが作成されてしまいます。

なぜか画像のみのページが作成されていてindexされてる!というあるあるなやつ。

スポンサーリンク

添付ファイルページ

通常は画像をメディアから選択して挿入しますが、その時にリンク先を「添付ファイルページ」にすると画像ページが作成されてしまいます。

で、Googleさんにクロールされてindexされると検索結果にでてしまう。

作った覚えのないページなので改竄されたのか、と焦る方もいらっしゃる。

操作ミスだ!あわてるな!

しかし今回は特殊な例だと思うのですが、カスタマイズ絡みの問題でございました。

固定ページにグループ単位で画像を追加できるようにfunction.phpで独自の設定がありました。

ここが微妙な感じで画像をメディアから選択する際にリンク先の設定がない。

んで登録すると強制的に「添付ファイルページ」になっていて画像ページが作成されてしまう。

これを改修するのは超絶面倒な感じだったので画像ページを無効にする方向で対応しました。

is_attachment関数で添付ファイルページの処理をすればOK。

まずはクローラー用にnoindxの設定。

add_action('wp_head', 'is_attachment_noindex');
function is_attachment_noindex(){
  if(is_attachment()){
    echo '';
  }
}

あとはアクセスしてきたら404にリダイレクト。

add_action( 'template_redirect', 'is_attachment_404' );
function is_attachment_404(){
  if(is_attachment()){
    global $wp_query;
    $wp_query->set_404();
    status_header(404);
  }
}

これでひとまず大丈夫。

indexされたのはサーチコンソールから削除依頼しておけばいつか消えるでしょう。

あとwp_optionsテーブルにimage_default_link_typeというのがあってそこをnoneとかfileにすれば解決しそうな気がした。

時間がないので検証はまたいつか。

コメント

タイトルとURLをコピーしました