При проведении SEO-аудита многие вебмастера сталкиваются с проблемой, что у изображений на сайте отсутствуют альтернативный текст (атрибут alt
). Некоторые делают это неосознанно, но другие вполне сознательно игнорируют добавление этого атрибута к картинкам в постах, тем самым по сути стреляя себе в ногу, ведь изображения очень важны для SEO продвижения.
Конечно же любой владелец сайта (ну или контент-менеджер) хочет сэкономить немного времени, и не заниматься нудным копипастом, вставляя заголовки статьи в атрибут alt
, а автоматизировать этот процесс. К тому же это будет очень актуально в том случае, если заголовки будут изменяться в будущем. Поэтому я предлагаю автоматически добавлять заголовок статьи в качестве альтернативного текста изображения, если только он уже не существует.
Для этого воспользуемся «швейцарским ножом» для получения метаданных, get_{$meta_type}_metadata
, который предоставляем нам достаточно широкие возможности, как например создание программных метаданных. Перед тем как получить заголовок, проверяем на наличие существующий атрибут alt у изображений.
function lwp_37481_featured_alt_text($metadata, $object_id, $meta_key, $single) {
if(isset($meta_key) && $meta_key == '_wp_attachment_image_alt'
&& get_post_thumbnail_id() == $object_id
&& $single === true
){
$original_value = get_post_meta(
$object_id, '_wp_attachment_image_alt', false
);
if(empty($original_value)){
return get_the_title();
}
}
return $metadata;
}
add_filter('get_post_metadata', 'lwp_37481_featured_alt_text', 10, 4);
Добавляем этот сниппет в файл functions.php
, и вуаля. Теперь вы (и Google) увидите заголовок сообщения как альтернативный текст на ваших изображениях, и больше нет необходимости вручную устанавливать атрибут alt
. Ура!
Данный фрагмент кода будет работать везде, где есть посты с изображениями, включая превью постов на главной странице блога, архивных страницах, страницах пост и т.д. (также можно использовать с различными пейджбилдерами, в частонсти тестировался с Elementor).
Также можно ознакомиться со статьей Как улучшить атрибуты адаптивного изображения (sizes и srcset) в WordPress.
Источник: www.letswp.io