В современном веб-разработке добавление корректных alt-тегов к изображениям — важный аспект SEO и доступности сайта. Однако вручную прописывать alt-теги ко всем изображениям часто неудобно и занимает много времени, особенно если контента много. В этой статье мы подробно разберём, как автоматизировать процесс генерации alt-тегов в WordPress, используя как популярные плагины, так и собственные кодовые решения.
Почему важно использовать alt-теги для изображений в WordPress
Атрибут alt (альтернативный текст) служит для описания содержания изображения. Это помогает поисковым системам лучше индексировать страницы, а также обеспечивает доступность контента для пользователей с ограниченными возможностями, которые используют экранные читалки.
Отсутствие alt-тегов или их неправильное заполнение снижает качество SEO и может негативно сказаться на ранжировании сайта. К тому же, в случае если изображение не загрузится, текст из alt-атрибута будет отображён вместо него.
Поэтому автоматизация этого процесса — важная задача для поддержания качества сайта при больших объёмах медиа-контента.
Использование плагинов для автоматической генерации alt-тегов
1. SEO Friendly Images
Плагин SEO Friendly Images автоматически добавляет alt и title атрибуты к изображениям, если они отсутствуют. Он использует шаблоны, которые можно настроить в настройках плагина.
Преимущества:
- Простота использования;
- Возможность массового обновления;
- Поддержка шаблонов с использованием названия поста, категории и других данных.
Недостатки — ограниченные возможности кастомизации для сложных случаев.
2. Auto Image Attributes From Filename With Bulk Updater
Этот плагин получает alt и title из имени файла изображения, что удобно если у вас правильно структурированные названия файлов. Он позволяет массово обновлять атрибуты для уже загруженных изображений.
Плюсы:
- Автоматизация на основе имени файла;
- Быстрое массовое обновление;
- Подходит для сайтов с чёткой системой именования.
Минусы — не всегда корректно работает если имена файлов неинформативны.
Создание собственного решения для автоматической генерации alt-тегов
Если вы хотите более гибкий и точный контроль, можно реализовать функцию автогенерации alt-тегов на PHP, используя возможности WordPress.
Основная идея: при загрузке изображения или при сохранении поста проверять, есть ли alt-тег, и если нет — создавать его автоматически, например, на основе названия поста, таксономий, или имени файла.
Пример функции для автоматической генерации alt-тега по имени файла
function wpeditor_auto_alt_tag($metadata, $attachment_id) {
$alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true);
if(empty($alt)) {
$attachment = get_post($attachment_id);
$filename = pathinfo($attachment->guid, PATHINFO_FILENAME);
$alt_text = str_replace(array('-', '_'), ' ', $filename);
update_post_meta($attachment_id, '_wp_attachment_image_alt', $alt_text);
}
return $metadata;
}
add_filter('wp_generate_attachment_metadata', 'wpeditor_auto_alt_tag', 10, 2);В этом примере функция срабатывает при генерации метаданных вложения, проверяет наличие alt-тега и, если он отсутствует, устанавливает его на основе имени файла, заменяя дефисы и подчёркивания пробелами.
Автоматическое добавление alt-тега при выводе изображения в контенте
Иногда изображения вставляются без alt, несмотря на метаданные. Можно дополнительно фильтровать вывод изображения в контенте и добавлять alt, если его нет:
function wpeditor_add_missing_alt($html, $id, $caption, $title, $align, $url, $size, $alt) {
if(empty($alt)) {
$alt_meta = get_post_meta($id, '_wp_attachment_image_alt', true);
if(!empty($alt_meta)) {
$html = str_replace('<img', '<img alt="'.esc_attr($alt_meta).'"', $html);
}
}
return $html;
}
add_filter('image_send_to_editor', 'wpeditor_add_missing_alt', 10, 8);Этот фильтр проверяет, есть ли alt у изображения при вставке в редактор и добавляет его из метаданных, если отсутствует.
Расширение функционала: использование данных из поста и таксономий
Для более релевантных alt-тегов можно использовать название поста, категории, теги и другие данные. Например, создадим функцию, которая при сохранении поста обновляет alt всех связанных с ним изображений:
function wpeditor_generate_alt_from_post($post_id) {
if(get_post_type($post_id) != 'post') return;
$post_title = get_the_title($post_id);
$attachments = get_attached_media('image', $post_id);
foreach($attachments as $attachment) {
$alt = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true);
if(empty($alt)) {
update_post_meta($attachment->ID, '_wp_attachment_image_alt', $post_title);
}
}
}
add_action('save_post', 'wpeditor_generate_alt_from_post');Такой подход удобен, если изображения строго связаны с контентом и alt-тег должен отражать его тему.
Советы по использованию и тестированию
При внедрении автоматической генерации alt-тегов важно:
- Проверять корректность生成alt-тегов вручную, чтобы избежать шаблонных и бесполезных описаний;
- Использовать плагины и код совместно, если нужно покрыть разные сценарии;
- Тестировать работу на тестовом сайте, чтобы избежать конфликтов с другими плагинами;
- Регулярно обновлять alt-теги для новых изображений и старого контента.
Если вы используете темы от WPSHOP, многие из них уже оптимизированы под SEO, но дополнительная генерация alt-тегов поможет улучшить результаты.
Заключение
Автоматическая генерация alt-тегов — эффективный способ улучшить SEO и доступность вашего сайта на WordPress. Используйте готовые плагины для простых случаев и дополняйте их пользовательским кодом для тонкой настройки. Правильно организованный процесс позволит сэкономить время и повысить качество контента.