Почему важно использовать ALT и TITLE для изображений в WordPress
Атрибуты ALT и TITLE играют важную роль в SEO и доступности сайта. ALT описывает изображение, что помогает поисковикам и людям с ограничениями зрения понять, что изображено. TITLE отображается при наведении курсора и улучшает пользовательский опыт. Однако вручную прописывать эти атрибуты для каждой картинки неудобно, особенно если сайт большой и содержит много медиафайлов.
Автоматизация процесса добавления ALT и TITLE поможет повысить SEO-показатели сайта и улучшить доступность, сэкономив время на рутинных задачах.
Основные подходы к автоматическому присвоению ALT и TITLE
Использование данных из медиафайлов и постов
В WordPress у каждого загруженного изображения есть заголовок (title), подпись (caption), описание (description) и альтернативный текст (alt). Логично использовать эти данные для автоматического заполнения атрибутов, если они пусты.
Например, если у картинки нет ALT, можно установить его равным заголовку или имени файла. Это простой и эффективный метод.
Генерация ALT и TITLE из названия поста или таксономий
Если изображение связано с определённым постом, можно использовать название поста, категории или теги для формирования ALT и TITLE. Это создаст релевантные описания для картинок.
Использование плагинов для автоматизации
Существуют плагины, которые помогают автоматически заполнять ALT и TITLE. Например, Clearfy Pro из WPSHOP имеет инструменты для SEO-оптимизации, включая работу с атрибутами изображений.
Другие популярные плагины: Auto Image Attributes From Filename With Bulk Updater, SEO Friendly Images.
Практическое решение: как автоматически добавлять ALT и TITLE через код в functions.php
Рассмотрим пример функции, которая автоматически добавляет ALT и TITLE при загрузке изображения, используя заголовок медиафайла или имя файла, если заголовок отсутствует.
function wpabout_auto_set_image_attributes( $metadata, $attachment_id ) {
$attachment = get_post( $attachment_id );
$alt = get_post_meta( $attachment_id, '_wp_attachment_image_alt', true );
if ( empty( $alt ) ) {
$alt_text = $attachment->post_title ? $attachment->post_title : pathinfo( $attachment->guid, PATHINFO_FILENAME );
update_post_meta( $attachment_id, '_wp_attachment_image_alt', $alt_text );
}
if ( empty( $attachment->post_title ) ) {
// Обновляем заголовок изображения
wp_update_post( array(
'ID' => $attachment_id,
'post_title' => $alt_text
) );
}
return $metadata;
}
add_filter( 'wp_generate_attachment_metadata', 'wpabout_auto_set_image_attributes', 10, 2 );Эта функция срабатывает после загрузки изображения и проверяет, есть ли у него ALT. Если нет — устанавливает ALT и заголовок, используя название файла или заголовок вложения.
Расширение: добавление TITLE при выводе изображения
По умолчанию WordPress не добавляет атрибут TITLE при вставке изображения. Чтобы автоматически добавить TITLE, равный ALT, можно использовать фильтр wp_get_attachment_image_attributes:
function wpabout_add_title_attr_to_image( $attr, $attachment ) {
if ( empty( $attr['title'] ) ) {
$alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true );
if ( $alt ) {
$attr['title'] = $alt;
}
}
return $attr;
}
add_filter( 'wp_get_attachment_image_attributes', 'wpabout_add_title_attr_to_image', 10, 2 );Теперь при выводе изображения через wp_get_attachment_image() будет автоматически добавлен TITLE, совпадающий с ALT, если он не указан.
Как массово обновить ALT и TITLE для уже загруженных изображений
Для старых изображений нужно выполнить массовое обновление. Это можно сделать с помощью SQL-запросов, WP-CLI или специальных плагинов.
Пример WP-CLI команды для установки ALT равного названию файла для всех изображений без ALT:
wp media list --field=ID --format=ids | xargs -d ' ' -I % wp post meta get % _wp_attachment_image_alt --quiet || wp post meta update % _wp_attachment_image_alt "$(wp post get % --field=post_title)"Если WP-CLI недоступен, можно использовать плагин Auto Image Attributes From Filename With Bulk Updater, который позволяет массово проставлять ALT и TITLE по имени файла.
Рекомендации по SEO и доступности при работе с ALT и TITLE
Важно, чтобы ALT был описательным и релевантным содержимому изображения, а не просто копировал название файла. Автоматизация помогает ускорить процесс, но всегда стоит проверить, что описания адекватны.
Для декоративных изображений ALT можно оставлять пустым (alt=""), чтобы скринридеры их пропускали.
TITLE не влияет напрямую на SEO, но улучшает UX. Не стоит дублировать ALT в TITLE механически для всех изображений, если это неуместно.
Заключение
Автоматизация ALT и TITLE для изображений в WordPress помогает улучшить SEO и доступность сайта, сэкономив время. С помощью приведённых кодовых решений и плагинов вы сможете поставить грамотные атрибуты как для новых, так и для уже загруженных изображений.
Для расширения функционала и комплексной SEO-оптимизации рекомендуется обратить внимание на Clearfy Pro от WPSHOP, который предлагает удобные инструменты для работы с изображениями и не только.