Как добавить (включить) разметку Open Graph в плагине для WordPress Yoast SEO?

Стандарт Open Graph разработан социальной сетью Facebook. Он позволяет контролировать превью, которое формируется при публикации ссылки на сайт в социальных сетях, и передавать информацию другим интернет-сервисам.

https://yandex.ru/support/webmaster/open-graph/intro-open-graph.html

Например, если страница отображает статью, Open Graph может определить название статьи, автора, изображение и другую важную информацию.

Ниже пример того, как социальная сеть ВК при «шеринге» ссылкой автоматически подтягивает заголовок, картинку и краткое описание при публикации.

Open Graph

Чтобы иметь возможность передавать эти данные нужно включить функцию Данные Open Graph. Переходим в Настройки плагина, раздел Обмен информацией в социальных сетях и включаем:

  • Данные Open Graph
  • Данные карты Twitter

Теперь после включения функций в исходном коде странице будет специальный блог с тегами этих микроразметок:

Аналогично работает и другая разметка Twitter , которая позволяет отображать предпросмотр с изображениями и текстовым отрывком, когда делятся ссылкой на ваш сайт, но только уже в социальной сети Twitter.

Разметки можно комбинировать. Поэтому, вполне нормально включение обоих стандартов на ваш сайт.

Как пользоваться Open Graph?

Для каждой странице вашего сайта вы можете создавать уникальные превью. Для этого в режиме редактирования страницы найдите раздел плагина Yoast SEO и перейдите во вкладку Социальные сети

Задаём настройки разметки

Именно здесь вы можете определите, как ваша публикация будет выглядеть в социальных сетях, таких как Facebook, Twitter, Instagram, WhatsApp, Одноклассники, LinkedIn, ВК и других.

Определите, как ваша публикация должна выглядеть в социальных сетях.

Стоит всего лишь заполнить три основных настройки: изображение, заголовок и краткое описание.

Обратите внимание, что для разметки Twitter существует подобный раздел и если стоит задача оформить под социальную сеть Twitter, как то иначе ваше превью ссылки на страницу, то в этом разделе нужно указать отличительные характеристики страницы.

Рассмотрим простой пример. Предположим, мы разрабатываем коммерческий сайт и у нас есть страница Контактов, которую менеджеры в основном отправляют в качестве ссылки партнёрам и клиентам. Вот так по умолчанию выглядит ссылка когда её делятся, например, в WhatsApp

Теперь дополним её осмысленной информацией, например, это может быть брендированная картинка или схема проезда, вместо заголовка Контакты, что то позначимей, а кратком описании, для удобства можно передать номера телефонов.

Заполняем данные…

Заполняем данные

Теперь если мы поделимся ссылкой на нашу страницу Контактов, то можем увидеть насколько привлекательнее стало её превью:

Согласитесь, больше полезной информации в сравнении с первым случаем — по умолчанию.

Протестировать настройки вашей разметки и посмотреть как это будет выглядеть можно вот тут.

Плагин для улучшений SEO вашего сайта на WordPress

Yoast SEO – это плагин для WordPress, предназначенный для оптимизации контента сайта под требования поисковых систем. Плагин имеет, как платную, так и бесплатную версии.

Бесплатной версии вполне достаточно, чтобы начать улучшать SEO своего сайта и повышать своё место в результатах поиска Google, Яндекс и Bing.

Официальный сайт плагина

Страница плагина на WordPress

Основные возможности плагина

  • Управление мета тегами: title и description для возможности предоставить поисковому роботу подробное описание содержимого страницы
  • Анализ SEO предлагает предложения по улучшению возможности поиска вашего текста и гарантирует, что ваш контент соответствует лучшим практикам.
  • Анализ читабельности подскажет, как улучшить структуру и стиль вашего текста.
  • Инклюзивный языковой анализ (доступно только для англоязычных сайтов) — предлагает предложения по написанию более инклюзивного текста, чтобы больше людей могли относиться к вашему контенту.
  • Данные Open Graph. Позволяет Facebook и другим социальным сетям отображать предварительный просмотр с изображениями и текстовой выдержкой при публикации ссылки на ваш сайт. 
  • Данные карты Twitter. Позволяет Twitter отображать предпросмотр с изображениями и текстовым отрывком, когда делятся ссылкой на ваш сайт.
  • XML-карта сайта. Карта сайта — это файл, в котором перечислены основные страницы веб-сайта, чтобы поисковые системы могли их найти и просканировать.
  • Шаблоны заголовков и описаний почти для всех типов страниц, чтобы устанавливать единые сниппеты (короткие описания) для поисковой выдачи этих страниц.
  • Хлебные крошки, иначе — Навигационная цепочка (Breadcrumb navigation)
  • Канонические URL-адреса, чтобы не допустить дублирования контента

Заманчивые функции платной (Premium) версии плагина:

  • IndexNow. Автоматическое оповещение поисковых систем, таких как Bing и Yandex, при публикации, обновлении или удалении записи.
  • ИИ генератор заголовков и описаний
  • Автоматические перенаправления во избежание битых ссылок (ошибки 404)
  • Предложения по внутренней перелинковке чтобы упростить навигацию по вашему сайту.
  • Без рекламы 🙂

Отмечу что для плагина существуют ещё и ряд аддонов (дополнений) в виде решений ориентированных на:

Пошаговые инструкции для начинающих:

Как создать карту сайта?

Как добавить разметку Open Graph?

Как создать XML-карту сайта в WordPress?

XML-карта сайта — это файл, в котором перечислены основные страницы вашего веб-сайта, благодаря чему поисковые роботы (Google, Яндекс, Bing и др.) найти и просканировать их все. Это также помогает поисковым системам понять структуру вашего сайта. Вы хотите, чтобы Google просканировал каждую важную страницу вашего сайта. Но иногда страницы оказываются без внутренних ссылок, что затрудняет их поиск. Карта сайта может помочь ускорить обнаружение контента.

XML-карта сайта (Sitemap) — это файл, который содержит информацию в виде ссылок о всех страницах сайта и их структуре.

Sitemap упрощает процесс индексации сайта для поисковых систем (Google, Яндекс, Bing и др.) и помогает им быстро и эффективно находить все страницы вашего сайта. Это особенно полезно для больших сайтов с множеством страниц и сложной структурой.

XML-карта сайта обычно имеет расширение .xml и содержит следующие данные:

  1. URL-адреса страниц сайта.
  2. Дату последнего обновления страницы.
  3. Информация о категориях и тегах, если используется на сайте.

После активации плагина для поисковой оптимизации сайта на WordPress — Yoast SEO, карта сайта должна быть включена и автоматически сгенерирует специальный файл, который будет будет доступен по адресу: ВАШ ДОМЕН/sitemap_index.xml

Пройдите в раздел Настройки плагина, где вы можете проверить текущее состояние функции генерации XML Sitemap, а так же по необходимости включить/отключить её.

Включение XML Sitemap

После включения вам будет доступен файл, так называемой карты сайта:

Как видно из примера, контент сайта сгруппирован по типу, а в соседней колонке мы видим дату последних изменений, что несомненно будет полезным сигналом для поискового робота обновить информацию, если с последнего индексирования она изменялась.

А ниже вы можете наблюдать содержимое файла карты сайта. Как видите — ничего хитрого, просто ссылки на контент вашего сайта, которые обёрнуты в специальные, так сказать теги.

файл карты сайта

Как сделать 301-ый редирект в WordPress при помощи функции?

Redirect 301 (Moved Permanently) — это код состояния HTTP, который означает, что страница или запрошенный ресурс был окончательно перемещён на новый адрес (URL). В основном Redirect 301 используется для перенаправления пользователей с одной страницы на другую.

Браузер в случае такого ответа перенаправляется на эту страницу, а поисковые системы обновляют свои ссылки на ресурс (говоря языком SEO, вес страницы переносится на новый URL-адрес).

Ранее я рассматривал простые примеры постоянного (окончательного) перенаправления на уровне Apache и Nginx, а в этой публикации рассмотрим пример, как это можно осуществить при помощи родных функций из ядра WordPress.

Для начинающих пользователей рекомендуется к прочтению заметка о том, как добавлять произвольный PHP-код в WordPress.

Не будем ходить вокруг да около, а сразу рассмотрим реальный пример перенаправления со старой страницы с адресом /old-page/ на новую, на адрес /new-page/ :

add_action( 'template_redirect', function() {
	if( is_page( "old-page" ) ){
		wp_redirect( "http://example.ru/new-page/", 301 );
		exit;
	}
} );

Для удобства можно назвать сниппет «Перенаправления 301» и при необходимости добавлять сюда новые.

snippet php

После активации сниппета WordPress будет перенаправлять нас на новый адрес. В этом можно убедиться при просмотре заголовков из ответа сервера:

браузер DevTools

Комментарий к коду

Нашу безымянную функцию требуется вызывать до отправки, так сказать, в браузер HTML. Для этого вполне подходит хук ‘template_redirect’

Событие удобно использовать для перенаправления, когда WordPress обработал основной запрос и установил все объекты ($wp_query, $post, условные теги), но вывод контента на экран еще не произошёл.

https://wp-kama.ru/hook/template_redirect

Функция is_page() помогает проверить текущую страницу согласно условию и выполнить код только исключительно на ней. В примере я использую проверку по слагу (slug) — эта та часть URL, которая идентифицирует данную страницу.

Но так же в функцию is_page() можно передавать и «айдишник». Возможно вам будет полезно прочесть: Как узнать ID страницы?

Если стоит задача осуществить перенаправление внутри сайта, то можно ради разнообразия, рассмотреть ещё и вот такой вариант:

add_action( 'template_redirect', function() {
	if( is_page( 2 ) ){
		wp_redirect( get_permalink( 14 ), 301 );
		exit; // или die();
	}
} );

Перед нами решение той же задачи, но немного другим путём. Мы указали ID-страниц для условия и получения постоянной ссылки с помощью функции get_permalink()

exit; или die(); необходимо указывать для того, чтобы после перенаправления ничего лишнего не выполнилось.

Как сделать постоянное перенаправление с кодом 301 на веб-сервере Nginx?

Задача: Изменился URL у страницы и требуется сделать постоянное перенаправление на новую страницу.

Чтобы не мудрить, предлагаю для этой цели использовать простую директиву return.

Обратимся к документации и взглянем на информацию об этой директиве, которую мы будем использовать для постоянного перенаправления.

Syntax: return code [text]; return code URL; return URL; Context: server, location, if

https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#return

Нам подойдёт для решения поставленной задачи контекст location и синтаксис return code URL;

Открываем конфигурационный файл HTTP-сервера Nginx и добавляем в него

#
# Redirect
#
location /old-page/ {
	return 301 /new-page/;
}

/old-page/ будет перенаправлять и без последнего слеша. Если требуется задать строгое сравнение, то с помощью модификатора “=” можно задать точное совпадение URI

#
# Redirect с точным соответствием символов в URI
#
location = /old-page {
	return 301 /new-page-2/;
}

Если требуется перенаправление на другой домен, то можно сделать перенаправление таким образом:

#
# Redirect
#
location /old-page/ {
	return 301 $scheme://new-site.ru/about;
}

А вот простой пример постоянного перенаправления (со статусом 301) всех посетителей на новое доменное имя, но только уже в контексте server

server {
    listen 80;
    listen 443 ssl;
    server_name old-site.ru;
    return 301 $scheme://new-site.ru$request_uri;
}

Важно понимать, что в указании $request_uri есть смысл только тогда, когда у вас на сайте в адресах после домена происходит полное соответствие, то есть old-site.ru/contact == new-site.ru/contact

Как сделать постоянное перенаправление с кодом 301 на веб-сервере Apache?

Если вы изменили адрес страницы на новый, то хорошей практикой является сделать на неё постоянное перенаправление, например, для того, чтобы не потерять переходы пользователей из поисковых систем.

Настройку мы будем делать через специальный файл .htaccess – файл дополнительной конфигурации HTTP-сервера Apache.

В качестве примера возьмём сайт на WordPress. Стоит задача сделать внутреннее перенаправление с адреса /old-page/ на /new-page/

  1. В корне сайта необходимо создать файл .htaccess
файл .htaccess
  1. Добавьте перенаправление используя Директиву Redirect
# Перенаправление на том же хосте
Redirect 301 "/old-page/" "/new-page/"

Если вы окрыли файл .htaccess и видите уже в неё какие-то записи, то рекомендуется вносить с комментарием и в самый конец файла. В нашем примере, при открытии файла, мы можем наблюдать правила URL для красивых ссылок (ЧПУ) которые прописал сам WordPress. Мы просто в конец файла, с комментарием, добавляем новое правило перенаправления.

добавляем новое правило

Что произойдёт? Теперь при посещении страницы с адресом codeispoetry.ru/old-page/ пользователь будет мгновенно перенаправлен на codeispoetry.ru/new-page/

Если требуется перенаправить на другой домен, хост:

# Перенаправление на другой хост
Redirect 301 "/about" "http://eng.example.com/about"

Официальная документация

Как запретить индексацию сайта на WordPress?

Задача: Запретить поисковым системам индексировать страницы нашего сайта.

Такая задача может быть актуальной, если вы разрабатываете сайт для служебных целей, например, как информационную систему внутри компании и совершенно не видите смысла делать доступной для поиска информацию на её страницах.

Так же включение данной функции полезно при разработке сайта. Если она происходит, как часто бывает, сразу онлайн — из интернета. В этом случае тоже полезно задействовать эту функцию «Попросить поисковые системы не индексировать сайт«, для того что бы случайно в поисковые базы не попали страницы с текстом-рыбой или прочим демонстративным контентом.

Как включить запрет на индексацию?

Переходим в раздел главного меню Настройки > Чтение и включаем вот эту функцию:

Попросить поисковые системы не индексировать сайт

Что произойдёт? На все страницы вашего сайта будет добавлен мета-тег с атрибутом content, со значениями: noindex, nofollow

Что это значит? Это предписание для поисковых роботов, сигнал о том, чтобы не индексировать информацию на этой странице и не следовать по ссылкам, указанных на ней.

Важно понимать, что блокировка индексирования при помощи правила noindex не является гарантированной и существует ряд нюансов, которые могут принести разный результат, порой даже неожиданный.

noindex — Не показывать страницу, медиаконтент или ресурс в результатах поиска. Если не добавить это правило, страница, медиаконтент или ресурс будет проиндексирован и сможет показываться в результатах поиска.

nofollow — Не выполнять переход по ссылкам на странице и не связывать отношения их (ссылок) с ней (с текущей страницей). 

https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag?hl=ru#noindex

Как узнать, присутствует ли сайт в Поиске Google и Яндекс?

Довольно интересный вопрос может возникнуть перед начинающим пользователем: а существует ли вообще страницы сайта в интернете и доступны ли они для поиска в Google или Яндекс?

Проверить это возможно при помощи специальных операторов.

Проверка в поисковой системе Google

Первым делом давайте проверим что знает о нашем сайте поисковая система Google. В этом нам поможет Оператор поиска site:

Оператор site: позволяет запрашивать результаты поиска для определенного домена, URL или префикса URL.

Примеры использования оператора site:

site:example.comВозвращает список URL, которые проиндексированы и показываются. В этом списке могут быть не все ваши URL. Особенно это касается крупных сайтов со множеством страниц. 
site:https://codeispoetry.ru/wp-mail-smtp/Позволяет узнать, проиндексирован ли определенный URL и может ли он показываться в результатах поиска.
site:https://codeispoetry.ru/ почтаПоказывает, какие URL на сайте могут показываться по запросу со словом «почта».
site:https://codeispoetry.ru/wp-mail-smtp/ почтаПоказывает, проиндексирован ли определенный URL для показа по запросам со словом «почта».
Источник: Главное о Google Поиске

И ниже визуальные примеры. Первый пример показывает, какие страницы могут показаться пользователю по запросу со словом «почта»

Показывает, какие URL на сайте могут показываться по запросу со словом "почта".

А этот вариант демонстрирует пример того, что указанный УРЛ никак не ассоциируется со словом «почта» и не будет показан пользователю

Показывает, проиндексирован ли определенный URL для показа по запросам со словом "почта".

Если вы увидите подобную картинку при проверки всего вашего сайта, указав просто домен, то дело плохо 🙁

Значит поисковая система ничего не знает о вашем сайте и вам необходимо его добавить в индекс поискового робота Google.

site:ВАШ_ДОМЕН

Как найти СПАМ или бессмысленные страницы вашего сайта?

Данный оператор может стать незаменимым помощников в поисках различного СПАМа на вашем сайте или же странных названий страниц, для их дальнейшего исправления.

Приведу пример в контексте WordPress. Много лет после установки и запуска сайта на CMS WordPress в заголовок страницы добавлялась надпись «Ещё один сайт на WordPress» и вы даже представить себе не можете, как много ещё присутствует страниц с этим заголовком.

"Ещё один сайт на WordPress"

Данный пример иллюстрирует эту маленькую проблему. Например, вместо первого заголовка при оптимизации сайта для поисковых роботов следовало бы указать «Правительство Республики Тыва» вместо того что на данный момент выводится.

Соответственно, вы может проверить свой сайт на наличие этого выражения и исправить заголовок страницы на что то пооригинальнее 🙂

Учтите, что Оператор site: без запроса (например, site:example.com), не поддерживает ранжирование результатов. Как правило, первым показывается самый короткий URL с учетом префикса. В остальном результаты выбираются относительно случайно.

https://developers.google.com/search/docs/essentials?hl=ru

Проверка в поисковой системе Яндекс

Приятная новость! Этот оператор прекрасно работает и в поисковой системе Яндекс. Тем же принципом вы можете проверить страницы вашего сайта в индексах поисковой машины Яндекс. В данном примере мы запрашиваем УРЛ от нашего основного домена, которые ассоциируются с запросом «mysql»

Проверка в поисковой системе Яндекс

Единственное, видимо Яндекс строже относится к операторам и разделяет в своих примерах их на:

  • Поиск по страницам, размещенным по определенному адресу (URL) — оператор url:
  • Поиск по всем поддоменам и страницам определенного сайта — оператор site:
  • Поиск по страницам на определенном хосте — оператор host:
  • Поиск по страницам на определенном домене — оператор domain:

Немного путанная история получается, но тем не менее, оператор site: с моей задачей вполне справился. Если есть желание поэкспериментировать, то ссылку на примере я указал.

Посмотреть недавно добавленные страницы в Яндекс можно при помощи фильтров. То есть, я указываю адрес своего сайта и ограничиваю выдачу текущими сутками:

Фильтры поисковой системы Яндекс

Ещё раз отмечу, если ваш сайт не отображается в поисковых системах, то вас естественно никто никогда не найдёт в интернете. Необходимо позаботиться о добавлении информации, о вашем сайте в поисковые системы.