Вопрос
У меня сайт на WordPress. Если я делюсь ссылкой с него ссылкой в дискорде, то он показывает автора страницы, не только для статей, но и для любых страниц сайта. Как отключить?
Ответ
Автор вопроса не прислал скриншот, поэтому, для наглядности смоделируем ситуацию: поделимся в дискорде ссылкой с разработанного нами сайта-агрегатора perevod.spb.ru.
В прогрузившейся ссылке получаем не только title и description, но и имя того, кто создал эту страницу на сайте.
Причина
Происходит это из-за того, что WP был движком, который изначально применялся для блога и в данном случае мы видим тянущееся за ним блоговое наследие. Если у вас не сайт на котором важно иметь упоминание авторов, то функционал является ненужным.
Рассмотрим второй пример такой же ситуации, но уже на другом сайте - интернет-магазине по продаже пиломатериалов: shop.szpk78.ru. Делимся ссылкой и в превью получаем имя автора страницы. В данном случае, такой функционал не нужен сайту абсолютно.
Решение
Обуздать такое поведение WP возможно двумя способами: использованием плагина для SEO или куском собственного кода. Рассмотрим оба варианта.
Начнем с решения для которого, нам понадобиться написать небольшой код, а именно воспользуемся хуком WP oembed_response_data. Хук используется WordPress для обработки данных ответа oEmbed (формата, который создан для упрощения добавления контента с одной веб страницы в другую). О том, какие параметры принимает в себя хук, можете посмотреть в документации.
Для удаления данных напишем функцию, в которой удаляем информацию об авторе из передаваемых данных oEmbed:
add_filter( 'oembed_response_data', 'disable_embeds_filter_oembed_response_data_' ); function disable_embeds_filter_oembed_response_data_( $data ) { unset($data['author_url']); unset($data['author_name']); return $data; }
Кусок кода добавляем в файл functions.php. Дискорд может не обновить данные сразу, поэтому для проверки можно воспользоваться сервисом Iframely. Данный подход имеет место, в случае, если вы не используете плагины и все SEO пишите самостоятельно.
Рассмотрим более простой вариант - использование SEO плагина.
Большинство SEO плагинов также "чистят" информацию от неподходящего контента. Для примера возьмем один из популярных The SEO Framework.
Находим плагин в магазине расширений WordPress, устанавливаем и активируем. Делимся ссылкой в дискорде. Как и в прошлом случае, изменения сразу не отобразятся, для проверки можно использовать тот же сервис, что и в первом варианте.
Воспользовавшись одним из вариантов, мы получаем превью ссылки без автора, как и требовалось. С этим разобрались, а если у вас есть вопросы, то задавайте в комментариях, постараемся помочь.