Как удалить страницы автора?

22 авг. 2017 г., 07:11:51
Просмотры: 48.1K
Голосов: 26

Я отправил свой сайт в Google, и теперь страница автора отображается в результатах поиска.

http://www.domain.com/author/myusername

Как мне предотвратить отображение моего и других имен авторов в результатах поиска?

Было бы лучше полностью отключить путь "/author/", так как это не блог, а сайт с продуктами (на нем только страницы).

Я искал ранее и увидел, что есть плагины для этого, но я бы предпочел не устанавливать плагин (иногда они не обновляются), если есть другой способ, хотя установлю, если придется.

Я также просмотрел исходный код страниц и не нашел никаких ссылок на страницу автора.

5
Комментарии

почему вы не удаляете ссылки с именем автора из записей?

inarilo inarilo
22 авг. 2017 г. 10:07:00

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

1.21 gigawatts 1.21 gigawatts
22 авг. 2017 г. 12:29:38

Я знаю, что вы не ищете плагин, но вот один для тех, кто ищет: https://wordpress.org/plugins/disable-author-archives/

Flimm Flimm
29 авг. 2019 г. 19:48:03

Вы также можете изменить /author/myusername на что-то другое с помощью этого плагина - https://wordpress.org/plugins/edit-author-slug/

Tiago Peres Tiago Peres
15 июл. 2022 г. 23:49:39
Все ответы на вопрос 4
4
24

Приведенный выше ответ хорош, но если выполняется перенаправление на главную страницу, следует указать статус 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/

19 мар. 2019 г. 06:05:35
Комментарии

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

David Hobs David Hobs
17 дек. 2019 г. 22:26:03

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

Qrzysio Qrzysio
18 сент. 2022 г. 23:35:20

Зачем global $wp_query; ?

Ronald Ronald
14 сент. 2023 г. 04:36:48

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

challet challet
21 апр. 2024 г. 17:22:53
0
12

Вы также можете добавить редирект на шаблон автора напрямую. В вашей теме 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;
//Вот и всё

Дополнительная информация

27 мар. 2019 г. 17:56:37
0

Вы можете отключить доступ к страницам авторов, добавив этот код в 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'));
    }
}
1 окт. 2018 г. 12:24:32
0

Вы можете отключить доступ к страницам авторов, добавив следующий код в файл 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);
        }
    }
27 мар. 2019 г. 18:04:41