Правильное использование атрибутов alt и title у изображений в WordPress играет ключевую роль для SEO и доступности сайта. Однако стандартный редактор WordPress не всегда позволяет гибко управлять этими атрибутами, особенно если нужно массово или динамически их менять. В этой статье мы подробно разберем, как изменить атрибуты alt и title у изображений в WordPress с помощью кода и популярных плагинов.
Почему важно правильно задавать атрибуты alt и title для изображений
Атрибут alt — это альтернативный текст, который показывается, если изображение не загрузилось, а также он используется поисковыми системами для понимания содержания изображения. Атрибут title отображается как всплывающая подсказка при наведении курсора и может улучшить пользовательский опыт.
Часто при загрузке изображений администраторы забывают заполнять эти поля или ставят шаблонные значения, что снижает SEO-эффективность и ухудшает доступность сайта. Особенно это критично при большом количестве изображений.
Давайте рассмотрим, как можно эффективно управлять этими атрибутами.
Как изменить атрибуты alt и title вручную через медиафайл WordPress
Самый простой способ — редактировать изображения через библиотеку медиафайлов:
1. Перейдите в «Медиафайлы» в админке.
2. Выберите нужное изображение.
3. В полях «Альтернативный текст» и «Заголовок» введите нужные значения.
4. Сохраните изменения.
Но если изображений много, этот метод неудобен и долгий.
Автоматическое добавление или изменение alt и title через фильтры WordPress
Для массового изменения атрибутов можно использовать хуки WordPress, которые позволяют динамически менять атрибуты при выводе изображения.
Например, можно написать функцию, которая будет автоматически добавлять alt и title на основе названия файла изображения:
function wpmart_set_image_attributes( $attr, $attachment, $size ) {
if ( empty( $attr['alt'] ) ) {
$alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true );
if ( ! $alt ) {
$alt = pathinfo( get_attached_file( $attachment->ID ), PATHINFO_FILENAME );
}
$attr['alt'] = $alt;
}
if ( empty( $attr['title'] ) ) {
$attr['title'] = get_the_title( $attachment->ID );
}
return $attr;
}
add_filter( 'wp_get_attachment_image_attributes', 'wpmart_set_image_attributes', 10, 3 );Эта функция проверяет, если атрибут alt пуст, то подставляет либо альтернативный текст из метаполя, либо имя файла без расширения. Атрибут title берется из заголовка вложения.
Массовое обновление alt и title в базе данных с помощью WP-CLI и SQL-запросов
Если требуется обновить атрибуты для уже загруженных изображений массово, можно использовать WP-CLI или SQL-запросы.
Пример WP-CLI команды для установки alt из названий файлов:
wp media list --field=ID | xargs -I % wp media meta update % _wp_attachment_image_alt "$(wp media get % --field=title)"Эта команда перебирает все медиафайлы и устанавливает alt равным заголовку изображения.
Пример SQL-запроса для установки alt там, где он пустой:
UPDATE wp_postmeta pm
JOIN wp_posts p ON pm.post_id = p.ID
SET pm.meta_value = p.post_title
WHERE pm.meta_key = '_wp_attachment_image_alt' AND (pm.meta_value = '' OR pm.meta_value IS NULL);
Обязательно сделайте резервную копию базы перед выполнением любых SQL запросов.
Использование плагинов для управления атрибутами alt и title изображений
Если вы не хотите вникать в код, можно использовать плагины:
- Auto Image Attributes From Filename With Bulk Updater — автоматически подставляет alt, title и description из имени файла и позволяет массово обновлять уже загруженные изображения.
- SEO Friendly Images — автоматически добавляет атрибуты alt и title для всех изображений на сайте, повышая SEO.
- Clearfy Pro — содержит модуль для SEO-оптимизации изображений, включая управление alt и title, а также другие полезные настройки для WordPress.
Все эти плагины доступны для установки из репозитория WordPress или на https://wpshop.ru/.
Добавление alt и title в изображения Gutenberg блоков с помощью фильтров
В редакторе Gutenberg атрибуты alt и title задаются в блоке «Изображение». Для динамического контроля можно использовать JavaScript фильтры или PHP хуки.
Например, чтобы программно добавить атрибут title в блок изображения, можно использовать следующий PHP код:
function wpmart_gutenberg_image_block_attributes( $block_content, $block ) {
if ( 'core/image' === $block['blockName'] ) {
if ( preg_match( '/<img[^>]+alt="([^"]*)"[^>]*>/', $block_content, $matches ) ) {
$alt = $matches[1];
if ( strpos( $block_content, 'title="' ) === false ) {
$block_content = str_replace( '<img', '<img title="' . esc_attr( $alt ) . '"', $block_content );
}
}
}
return $block_content;
}
add_filter( 'render_block', 'wpmart_gutenberg_image_block_attributes', 10, 2 );Этот фильтр подставляет значение атрибута alt в title для изображений в блоках, если title отсутствует.
Как проверить и отладить атрибуты alt и title на сайте
После внесения изменений важно проверить, что все работает корректно:
- Просмотрите исходный код страницы через браузер (ПКМ -> Просмотреть код) и убедитесь, что у всех
<img>есть атрибутыaltиtitle. - Используйте инструменты SEO-аудита, например, Screaming Frog SEO Spider или онлайн-сервисы, чтобы найти изображения без alt.
- Проверьте доступность сайта с помощью валидаторов (например, WAVE), которые укажут на отсутствие альтернативного текста.
Если атрибуты не отображаются, проверьте, не переопределяются ли они другими плагинами или темами.
Резюме: эффективное управление атрибутами alt и title в WordPress
Для качественного SEO и доступности сайта необходимо контролировать атрибуты alt и title у изображений. В зависимости от задачи можно:
- Редактировать вручную в медиатеке для отдельных файлов.
- Использовать фильтры WordPress для динамического добавления атрибутов.
- Массово обновлять базу данных через WP-CLI или SQL.
- Применять плагины, автоматизирующие этот процесс.
Если вы используете плагин Clearfy Pro, то в нем уже есть расширенные инструменты для оптимизации изображений и атрибутов, что упрощает задачу без необходимости писать код.
Применяя описанные методы, вы сможете значительно улучшить SEO вашего сайта на WordPress и сделать его более удобным для пользователей с ограниченными возможностями.