В современных проектах на WordPress грамотное использование атрибутов alt и title для изображений является неотъемлемой частью SEO и доступности сайта. Однако часто бывает ситуация, когда нужно массово изменить или полностью удалить эти атрибуты для большого количества медиафайлов. В этой статье разберёмся, как это сделать быстро и эффективно, используя код и плагины.
Почему важно управлять атрибутами alt и title для изображений
Атрибут alt помогает поисковым системам и вспомогательным технологиям (например, экранным читалкам) понять содержимое изображения. Атрибут title часто используется для всплывающих подсказок, но его влияние на SEO менее значимо.
Неправильное или отсутствующее описание alt снижает доступность сайта и ухудшает позиции в выдаче. Иногда приходится массово чистить эти атрибуты, если они заполнены автоматически и некорректно, или наоборот, добавлять их.
Способы массового изменения или удаления alt и title в WordPress
Рассмотрим основные подходы:
- Использование SQL-запросов для прямой правки базы данных.
- Создание пользовательского PHP-скрипта с использованием WP-функций.
- Применение плагинов для массового редактирования метаданных медиафайлов.
1. Массовое удаление alt и title через SQL-запрос
Все данные о медиафайлах хранятся в таблице wp_posts и связанных с ней мета-данных в wp_postmeta. Атрибут alt хранится в _wp_attachment_image_alt. Атрибут title обычно совпадает с заголовком вложения (post_title).
Чтобы массово удалить alt:
DELETE FROM wp_postmeta WHERE meta_key = '_wp_attachment_image_alt';Чтобы очистить title у вложений (будьте осторожны, это удалит заголовки у всех медиафайлов):
UPDATE wp_posts SET post_title = '' WHERE post_type = 'attachment';Важно: перед выполнением запросов сделайте резервную копию базы данных.
2. Использование PHP-кода для массовой очистки alt и title
Рассмотрим пример функции, которая проходит по всем вложениям и удаляет атрибут alt и очищает title:
function wppremium_clear_alt_title() {
$args = [
'post_type' => 'attachment',
'post_status' => 'inherit',
'posts_per_page' => -1,
];
$attachments = get_posts($args);
foreach($attachments as $attachment) {
// Удаляем alt
delete_post_meta($attachment->ID, '_wp_attachment_image_alt');
// Очищаем title
wp_update_post([
'ID' => $attachment->ID,
'post_title' => '',
]);
}
}
// Запустите функцию один раз, например, через admin_init
add_action('admin_init', 'wppremium_clear_alt_title');После выполнения этой функции лучше удалить или закомментировать вызов, чтобы она не запускалась постоянно.
3. Плагины для массового редактирования alt и title
Если вы не хотите работать с кодом, рекомендуем обратить внимание на плагины:
- Clearfy Pro — содержит инструменты для массовой оптимизации и очистки медиа-данных.
- Media Library Assistant — расширяет медиа-библиотеку, позволяет фильтровать и массово редактировать метаданные.
- Bulk Image Alt Text — плагин для массового добавления и изменения alt-текста.
Эти инструменты позволяют работать с атрибутами без прямого вмешательства в базу данных.
Автоматическое добавление alt и title с помощью кода
Если у вас много изображений без alt, можно автоматически генерировать их из названия файла или другого свойства.
function wppremium_auto_add_alt_title( $post_ID ) {
$post = get_post($post_ID);
if ( $post->post_type == 'attachment' ) {
$alt = get_post_meta($post_ID, '_wp_attachment_image_alt', true);
if (empty($alt)) {
$filename = pathinfo(get_attached_file($post_ID), PATHINFO_FILENAME);
update_post_meta($post_ID, '_wp_attachment_image_alt', $filename);
}
if (empty($post->post_title)) {
wp_update_post([
'ID' => $post_ID,
'post_title' => $filename,
]);
}
}
}
add_action('add_attachment', 'wppremium_auto_add_alt_title');Этот код при загрузке нового изображения автоматически проставит alt и title на основе имени файла.
Рекомендации и лучшие практики
При работе с массовым изменением alt и title придерживайтесь следующих правил:
- Обязательно делайте резервную копию базы данных перед изменениями.
- Проверяйте изменения на тестовом сайте.
- Не удаляйте alt без замены — это ухудшит SEO и доступность.
- Используйте короткие, но информативные описания.
- Для автоматизации подберите логику, соответствующую тематике сайта.
Если вы используете тему Root или другие продукты WPShop, они могут помочь с SEO и оптимизацией медиафайлов.