Когда я провел SEO-аудит на одном из проектов на этом сайте, я был удивлён тем фактом, что на изображениях не хватает альтернативных текстов . Учитывая, что я тщательно добавляю такой текст к каждому изображению, которое добавляю в статьи, это было интригующе.
Когда вы загружаете новое изображение в медиатеку WordPress, оно автоматически генерирует заголовок для вашего нового изображения на основе имени соответствующего файла.
К сожалению, WordPress не слишком сложен, когда генерирует изображение Title: он удаляет лишние пробелы в имени файла, и это все. Он не удалит тире или подчеркивание и не обеспечит правильное использование заглавных букв в словах. Таким образом, по умолчанию ваше изображение заканчивается заголовком, который буквально соответствует тому, что вы использовали для имени файла, за исключением лишних пробелов. Который может быть довольно дрянным, в зависимости от того, как вы называете ваши файлы.
Но большая проблема заключается в следующем: WordPress не будет автоматически устанавливать изображение Alt-Text. Если вы серьезно относитесь к SEO, вы поймете, что это проблема. В целях SEO ваши изображения должны иметь правильно заданный Alt-Text, он ничего не стоит и определенно имеет значение. Я скажу еще раз: всегда убедитесь, что вы указали Alt-Text для своих изображений.
Поэтому я предлагаю автоматически добавить заголовок сообщения в качестве альтернативного текста избранного изображения , если оно уже не существует.
Фрагмент действительно прост. Во-первых, я подключаюсь для получения метаданных, который действительно полезен различными способами. Например, мета-ключ даже не должен существовать, и это дает такие возможности, как создание программных метаданных. Я ограничиваю функцию показанным изображением и предотвращаю бесконечный цикл в условии. Прежде чем получить заголовок, я проверяю существующий альтернативный текст, если таковой имеется.get_{$meta_type}_metadata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<span class="token keyword">function</span> <span class="token function">lwp_37481_featured_alt_text</span><span class="token punctuation">(</span><span class="token variable">$metadata</span><span class="token punctuation">,</span> <span class="token variable">$object_id</span><span class="token punctuation">,</span> <span class="token variable">$meta_key</span><span class="token punctuation">,</span> <span class="token variable">$single</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token function">isset</span><span class="token punctuation">(</span><span class="token variable">$meta_key</span><span class="token punctuation">)</span> <span class="token operator">&&</span> <span class="token variable">$meta_key</span> <span class="token operator">==</span> <span class="token single-quoted-string string">'_wp_attachment_image_alt'</span> <span class="token operator">&&</span> <span class="token function">get_post_thumbnail_id</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token variable">$object_id</span> <span class="token operator">&&</span> <span class="token variable">$single</span> <span class="token operator">===</span> <span class="token boolean">true</span> <span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token variable">$original_value</span> <span class="token operator">=</span> <span class="token function">get_post_meta</span><span class="token punctuation">(</span> <span class="token variable">$object_id</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'_wp_attachment_image_alt'</span><span class="token punctuation">,</span> <span class="token boolean">false</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">if</span><span class="token punctuation">(</span><span class="token function">empty</span><span class="token punctuation">(</span><span class="token variable">$original_value</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">{</span> <span class="token keyword">return</span> <span class="token function">get_the_title</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token keyword">return</span> <span class="token variable">$metadata</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token function">add_filter</span><span class="token punctuation">(</span><span class="token single-quoted-string string">'get_post_metadata'</span><span class="token punctuation">,</span> <span class="token single-quoted-string string">'lwp_37481_featured_alt_text'</span><span class="token punctuation">,</span> <span class="token number">10</span><span class="token punctuation">,</span> <span class="token number">4</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
Добавьте этот фрагмент кода в ваш WordPress и вуаля. Теперь вы (и Google) увидите заголовок поста в качестве альтернативного текста на избранных вами изображениях. Больше нет необходимости вручную устанавливать альтернативный текст. Ура!
Сначала я думал, что это будет фрагмент Elementor, но он должен хорошо работать за пределами этой экосистемы. Он будет действовать везде, где ваша тема показывает сообщение с его изображением (включая почтовые ящики на главной странице блога, архивы, отдельные сообщения и т. Д.). В конце дня он имитирует заполнение вами этого альтернативного текста . Любая система, которая соблюдает это (будет считаться лучшей практикой), будет обманута моим подходом. ?
Почему заголовок сообщения в качестве Альт?
Выгода SEO может быть незначительной, но все мелочи имеют значение. Особенно, если единственное изображение в вашей статье — это рекомендуемое изображение, почему бы не сделать все возможное для лучшего SEO на странице ? Если вы проигнорируете это, они просто будут существовать без альтернативного текста, и, возможно, вы упускаете небольшую возможность.
Когда вы загружаете новый медиафайл в WordPress, он создает новое вложение. Вложение, по сути, является типом поста, и, как таковое, вложение имеет заголовок, выдержку и контент, как и обычные посты. В случае Вложения отрывок используется для хранения подписи к изображению, а Контент — для описания изображения.
Кроме того, как и все обычные сообщения, вложение может иметь метаданные, связанные с ним. На самом деле Alt-Text — это именно то, что: метаданные, хранящиеся рядом с вложением (публикацией).
Таким образом, наш подход будет следующим:
- Сначала загрузите новое изображение, которое создает вложение.
- Во-вторых, обновите приложение, чтобы задать заголовок, выдержку (подпись) и содержание (описание) изображения.
- Наконец, обновите метаданные вложения, чтобы установить изображение Alt-Text.
Мы будем полагаться на один хук действия WordPress и две функции WordPress:
- Хук: мы прикрепим наш код к хуку WordPress
add_attachment
, который срабатывает сразу после создания вложения. - Функция 1: в WordPress сообщения хранятся в таблице wp_posts. Таким образом, мы можем использовать
wp_update_post()
функцию для обновления таблицы wp_posts новыми заголовками, заголовками и описаниями изображений. - Функция 2: также, в WordPress мета поста хранится в таблице wp_post_meta. Таким образом, мы можем использовать
update_post_meta()
функцию для установки Alt-Text.
Единственный вопрос сейчас: что мы должны установить все это? Ну, ко всему, что нам нравится, но проще всего установить для них чистое, очищенное имя файла.
Таким образом, наш подход гарантирует, что каждый файл изображения, загруженный в библиотеку мультимедиа, будет тщательно обработан и промыт по имени файла: он автоматически избавится от черточек, подчеркиваний, лишних пробелов и правильно использует заглавные буквы для каждого слова.
Мы будем использовать это очищенное имя для заголовка и альтернативного текста, и даже (необязательно) для заголовка и описания, если это необходимо.
Есть только одна вещь, которую вы должны сделать: дать каждому файлу изображения осмысленное имя файла перед его загрузкой. Не используйте имя файла по умолчанию вне камеры, такое как IMG_0001.jpg или DSC99876.jpg. Просто переименуйте его в приличную короткую фразу, и все готово.
Отсутствие альтернативного текста на изображениях может негативно сказаться на SEO оптимизации сайта. Альтернативный текст, или alt-текст, помогает поисковым роботам понять содержание изображения, они не могут «увидеть» само изображение. Это значит, что добавление альтернативного текста позволяет оптимизировать изображения для ранжирования в поисковой выдаче по соответствующим ключевым словам.
Для установки alt-текста для изображений в WordPress, следует редактировать его описание «Alt Text» в медиатеке или при самой загрузке изображения. Рекомендуется использовать описательные и ключевые слова, отражающие суть изображения. Внедрение альтернативного текста во все изображения на сайте может значительно улучшить его SEO оптимизацию и позволит привлекать больше трафика с поисковых систем.
Отсутствие альтернативного текста на изображениях может негативно сказываться на SEO-оптимизации сайта. Альтернативный текст (alt-text) является важным атрибутом, который помогает поисковым системам понять содержание изображения. Кроме того, альтернативный текст также является информативным для пользователей, читающих страницы с помощью скринридеров или в случае, если изображение не загружается. Для улучшения SEO-оптимизации и удовлетворения пользователей рекомендуется вручную добавлять альтернативный текст к каждому изображению на сайте. Это можно сделать через панель управления WordPress в разделе медиатеки, где можно редактировать свойства каждого изображения и указать альтернативный текст. Хорошо оптимизированный альтернативный текст должен точно описывать содержание изображения, использовать ключевые слова и быть релевантным контексту страницы.
Каким образом можно установить альтернативный текст для изображений при загрузке в медиатеку WordPress?