Как удалить страницы автора?
Я отправил свой сайт в Google, и теперь страница автора отображается в результатах поиска.
http://www.domain.com/author/myusername
Как мне предотвратить отображение моего и других имен авторов в результатах поиска?
Было бы лучше полностью отключить путь "/author/", так как это не блог, а сайт с продуктами (на нем только страницы).
Я искал ранее и увидел, что есть плагины для этого, но я бы предпочел не устанавливать плагин (иногда они не обновляются), если есть другой способ, хотя установлю, если придется.
Я также просмотрел исходный код страниц и не нашел никаких ссылок на страницу автора.

Приведенный выше ответ хорош, но если выполняется перенаправление на главную страницу, следует указать статус 301 и завершить выполнение после этого.
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
// Перенаправление на главную страницу с установкой статуса 301 (постоянное перенаправление).
// По умолчанию функция использует временное перенаправление 302.
wp_redirect(get_option('home'), 301);
exit;
}
}
Документация функции wp_redirect() https://developer.wordpress.org/reference/functions/wp_redirect/

В настоящее время я использую плагин Yoast SEO для удаления страниц авторов. Просто измените настройку, чтобы не сканировать/индексировать эту таксономию, и всё будет в порядке. Код не требуется.

Это не лучшее решение для скрытия страниц авторов. Если угадать логин автора, вас перенаправит, но если ввести несуществующий slug автора, вы получите ошибку 404. Правильный подход должен перенаправлять или выдавать 404 во всех случаях.

Чтобы запрос короткой ссылки /?author=1
обрабатывался таким же образом, приоритет add_action
должен быть установлен ниже стандартного значения 10. Таким образом, он будет выполняться до стандартного хука redirect_canonical
и не будет пропущен им. Без этого такая короткая ссылка раскроет имя автора через перенаправление на /author/authorname
(которое затем будет перенаправлено на главную страницу для кода, который я комментирую).

Вы также можете добавить редирект на шаблон автора напрямую. В вашей теме WordPress отредактируйте файл author.php, чтобы перенаправлять пользователей на главную страницу. Если в вашей теме нет шаблона для страниц автора, создайте файл с именем author.php.
author.php: (Использование функции header в PHP)
<?php
//Перенаправление страниц автора на главную страницу
header("HTTP/1.1 301 Moved Permanently");
header("Location: /");
die(); // предотвращает дальнейшую обработку PHP
//Вот и всё
Часть с die()
нужна для того, чтобы избежать отображения содержимого страницы для клиентов, которые НЕ следуют заголовку редиректа, так как WordPress продолжит формировать оригинальную страницу автора и отправит её ответ клиенту, который её запросил.
ОБНОВЛЕНИЕ: WordPress имеет несколько встроенных функций для обработки редиректов: wp_redirect() и wp_safe_redirect(). wp_redirect() принимает строку в качестве адреса редиректа и целое число в качестве типа редиректа (по умолчанию 302). wp_safe_redirect() аналогична wp_redirect(), но дополнительно проверяет, что адрес редиректа находится в списке разрешённых хостов.
author.php: (Использование функции WordPress wp_safe_redirect)
<?php
//Перенаправление страниц автора на главную страницу с помощью функции WordPress
wp_safe_redirect( get_home_url(), 301 );
exit;
//Вот и всё
Дополнительная информация
- Иерархия шаблонов WordPress: https://developer.wordpress.org/themes/basics/template-hierarchy/
- Функция header в PHP: https://www.php.net/manual/en/function.header.php
- Функция wp_safe_redirect в WordPress: https://codex.wordpress.org/Function_Reference/wp_safe_redirect

Вы можете отключить доступ к страницам авторов, добавив этот код в functions.php:
// Отключаем доступ к странице автора
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
$wp_query->set_404();
status_header(404);
// Перенаправление на главную страницу
// wp_redirect(get_option('home'));
}
}

Вы можете отключить доступ к страницам авторов, добавив следующий код в файл functions.php:
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
$wp_query->set_404();
status_header(404);
}
}
