wordpressで作られたサイトの画像alt漏れについて


SEOの観点から、画像のaltタグは漏れなく設定すべきですね、ただ大規模のサイトになると、alt漏れも出てきそうですから、その際の対応方法をメモします。

wordpressで作られてサイト、画像は主に2種類があります。
1.本文画像(本文用の画像)
2.アイキャッチ画像(各テンプレート用の画像)

プラグインを探ってみましたが、要らないところまで変えてくれるので、あきらめます。ソースをさわることにしました。alt漏れの画像はひとまず、記事タイトルを代わりにに設定してあげます。

1.本文画像(本文用の画像)

本文用の画像ですと、altタグの中身が空の場合もありますが、altタグ自体が入っていない場合もあります。
functions.phpに下記コードを追加すると、対応できます。

//altタグがない画像にalt=””を追加する
function non_alt_fix($content){$content = preg_replace('/<img((?![^>]*alt=)[^>]*)>/i', '<img alt=""${1}>', $content);return $content;}add_filter('the_content', 'non_alt_fix');

//alt=””の画像に記事タイトルを設定する
function change_any_texts($text){$replace = array('alt=""' => 'alt="'.get_the_title().'"',);$text = str_replace(array_keys($replace), $replace, $text);return $text;}add_filter('the_content', 'change_any_texts');

2.アイキャッチ画像(各テンプレート用の画像)

アイキャッチ画像のaltは_wp_attachment_image_altをキーにして、get_post_meta() 関数で取得することができます。もしもaltが空の場合、それを変わりにthe_title( )を設定して終わりです。ただアイキャッチ画像やテンプレートの数が多くなると、それなりに時間が掛かります。

最後、html吐き出す際に、altを追加することがサーバーの負担になります。一つ一つを漏れなく設定することが望ましいです。

wpのalt漏れ対応