Как убрать автора с ссылки Discord, если сайт на wp?

Автор:
Руслан Шкарбан — автор статьи Руслан Шкарбан
#Советы

Вопрос

Делюсь ссылкой со своего сайта в дискорде, а он показывает автора, как отключить?

Для наглядности моделируем ситуацию читателя: поделимся в дискорде ссылкой с разработанного нами сайта-агрегатора perevod.spb.ru.

Автор на превью ссылки

В прогрузившейся ссылке получаем не только title и description, но и имя того, кто создал эту страницу на сайте.

Ответ

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

Для решения мы воспользуемся хуком WP oembed_response_data. Хук используется WordPress для обработки данных ответа oEmbed (формата, который создан для упрощения добавления контента с одной веб страницы в другую). О том, какие параметры принимает в себя хук, можете посмотреть в документации.

Для удаления данных напишем функцию, в которой удаляем информацию об авторе из передаваемых данных oEmbed:

function disable_embeds_filter_oembed_response_data_( $data ) {
	unset($data['author_url']);
	unset($data['author_name']);
	return $data;
} 
  	

Следующей функцией мы исключаем вложение из индексации в поисковых системах:

		function noindex_attachments() {
			if (is_attachment()) {
				echo '';
			}
		}
		add_action('wp_head', 'noindex_attachments');		
	

Собираем полный код:

		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;
		} 
		
		function noindex_attachments() {
			if (is_attachment()) {
				echo '';
			}
		}
		add_action('wp_head', 'noindex_attachments');
	

Добавляем его в наш файл functions.php, сохраняем и возвращаемся через несколько часов, изменения вступают не сразу, вероятно, из-за кеширования.

Без автора на превью>

Теперь, мы получаем превью ссылки без автора, как и хотели. С этим разобрались, а если у вас есть вопросы, то задавайте в комментариях, постараемся помочь.