alt属性にファイル名を自動設定する方法
CMS「WordPress」でアップロードした画像ファイルの alt属性 にファイル名を自動設定する方法に関する内容
alt属性って何?
画像が表示できない場合に備えた画像の中身を表す説明文です。
<img src="slime.jpg" alt="なかまに なりたそうに こちらをみている!">
文字だけを表示するテキストブラウザや音声読み上げソフト(スクリーンリーダー)を利用している方は画像を表示することができないため、そのような方々のために alt属性 を通じて画像の中身を説明しています。
WordPressでは自動設定されない
WordPress では画像ファイルに alt属性 を設定することができますが、アップロードした画像をそのまま記事に挿入した場合は alt属性 は空(alt=””)となります。
バージョン4.6までは alt属性 にファイル名が自動設定されていましたが、バージョン4.7からは「アクセシビリティ向上」を理由に自動設定機能は廃止となりました。 alt属性 は画像の中身を表す説明文であり、ファイル名は適切ではないためです。
SEOの観点ではどうなの?
Googleのコンテンツに関するガイドラインによると
- alt属性は重要であり、有用な情報である。
- Google はこの情報を使用して、ユーザーに最適な画像を判断している。
と alt属性 を評価しています。しかし、同時に
- キーワードは文脈に合わせて適切に使用してください。
- 乱用するとサイトがスパムとみなされる可能性があります。
と警告しています。
つまり、中身を表す適切な alt属性 は有用であり評価の対象となるが、同時に乱用はペナルティの対象である。ということになります。
では、alt属性 が空(alt=””)はどのような扱いになるかというと「 alt属性 が空の画像は無視して差し支えないこと示す適切な使い方」となります。装飾を目的とした画像や本文に関係ない画像の場合は alt属性 を空とすることが正式に認められています。
しかし、alt属性 を空にするのと、alt属性 が指定されていないことは同義ではなく、必ず指定する必要があります。HTML5からは必須属性ではなくなりましたが、検索エンジンではいまだ活用しているため「事実上の必須属性」という見方が主流です。
結局どうしたら良いの?
原則としてそのままで問題ありませんが、ファイル名を一つひとつ丁寧に設定できるのであれば自動設定を使用した方が良いでしょう。
自動設定機能が廃止となったのは、連番や関係のないファイル名を使用していること原因であり、ファイル名が画像の中身を表しているのであれば適切な使い方となるためです。
ただ、ファイル名に日本語を使用することはNGです。文字化けなど別の問題が発生します。
自動設定する方法
alt属性 にファイル名を自動設定するには「functions.php」にコードを挿入する必要があります。失敗するとサイトが表示できなくなる危険性があるので、心配な方はプラグインの使用をおすすめします。
管理画面 → 外観 → テーマ編集 → functions.php に移動し、次のコードを一番下の「?>」の上に記入する。
function auto_set_alt($response, $attachment, $meta) {
if (empty($response['alt']))
$response['alt'] = $response['title'];
return $response;
}
add_filter('wp_prepare_attachment_for_js', 'auto_set_alt', 10, 3);
プラグイン版
functions.phpの内容をプラグイン化したものです。次のリンクからプラグインをダウンロードして、あなたのWordpressに追加してください。