WordPress как на ладони

Как закрыть (отключить, спрятать) страницу архива автора?

Решил обезопасить сайт от подборов логинов с паролями, да и вообще скрыть логин, (на всякий случай). По удалял что смог, проверил коды страниц все впорядке, но недавно наткнулся на жесткое ПАЛЕВО.

В вордпресе есть страничка, на которой можно посмотреть статьи конкретных авторов, а так как я один владелец сайта, то и логинов у меня не много, страничка формируется таким образом http://example.com/author/логинвладельцасайта/ через гугл введя адрес сайта и слово author - легко находится логин владельца

Подскажите как можно удалить эту страницу и из вордпресса и из sitemap (генерируется плагином и сразу желательно как проверить отсутствие таковой).

Не подходит для лечения:

  1. В файл robots.txt вписывать это не вариант, поисковые пауки не всегда обращают внимание на запреты robots.

  2. в админке не вариант менять никнейм он всеравно палит slug.

  3. пермалинки менять тоже не желательно, все странички уже в индексе.

  4. плагин "simple exlude" (не использовать - опасно!) - скрывает как и страницу автора из архивов, так и общих архивов: категорий , тегов и таксономий. Что приводит к потере индексации.

Небольшие продвижения:

  1. в настройках плагина от гугл - sitemap - снял галочку "Sitemap Content"-> "Include author pages" - проверил из сайтмап URL ушел
1
Гость
7.5 лет назад
  • 0
    Kama9619

    Вариант 1

    На странице архива автора ставит статус 404

    # Прячем страницу архива автора
    if( ! is_admin() ){
    	add_filter( 'pre_handle_404', 'remove_author_pages_page' );
    	add_filter( 'author_link', 'remove_author_pages_link' );
    
    	// Ставим 404 статус
    	function remove_author_pages_page( $false ) {
    		if ( is_author() ) {
    			global $wp_query;
    			$wp_query->set_404();
    			status_header( 404 );
    			nocache_headers();
    
    			return true; // для обрыва хука
    		}
    
    		return $false;
    	}
    
    	// изменяем ссылку архива автора
    	function remove_author_pages_link( $content ) {
    		return home_url();
    	}
    }

    Код для файла темы functions.php или где-угодно еще...

    Вариант 2

    Перенаправляет на главную со страницы архива автора

    add_action( 'template_redirect', 'author_archive_redirect' );
    add_filter( 'author_link', 'remove_author_pages_link' );
    
    // редиректим на главную со страниц авторов
    function author_archive_redirect() {
       if( is_author() ) {
    	   wp_redirect( home_url(), 301 );
    	   exit;
       }
    }
    
    // удаляем ссылку
    function remove_author_pages_link( $content ) {
    	return home_url();
    }
    
    kolshix 7.5 лет назад

    Думаю это то что нужно! ))

    Параллельно снял отправку ссылок на индексацию, которые связаны с AUTHOR в XML-Sitemap (от гугл) и убрал частоту и приоритет (все на 0).

    До этого момента пришлось использовать плагин "simple exlude" - после установки в админке профиля пользователя сайта , появляются чекбоксы, и тогда при входе на страницу с автором выскакивает 404 ошибка, (главное чтоб в sitemap не ушли страницы с адресом автора)

    На некоторых сайтах советуют использовать чистый редирект (я бы не советовал) - огромный недостаток, что можно перебрать ссылки и редирект в таком случае сработает при угадывании логина автора, тем самым вы раскроите свой логин (с кодом выше "вариант 1" такой фокус не срабатывает).

    что касается "Вариант 2" - лучше его пометить как отрицательный, только что проверил, что при подборе логина автора, срабатывает 404 ошибка , а при угадывании срабатывает редирект, чем и палится Логин владельца
    по поводу перебора - то у меня месяц назад кто-то подбирал пароли и логины - за 1 минуту успели около 200 попыток выполнить, причем менялись ip - спасло что стоял простой плагин оповещения неудачного входа.

    Автору, ещё раз Большое спасибо!

    Kama 7.5 лет назад

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

    вадик 7.5 лет назад

    похоже первый вариант выдает другой ответ сервера при посещении страницы /author/admin (существующий пользователь - фейковый 404 от скрипта) и страницы /author/admid1 (несуществующий пользователь и настоящий 404 от вордпресса)

    Kama 7.5 лет назад

    фейковый 404 от скрипта

    Это что значит? Там нет фейковой страницы, там 404 страница WP...

    вадик 7.5 лет назад

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

    настоящий вордпрессовский редирект отдает в последних строках:

    Expires: Wed, 11 Jan 1984 05:00:00 GMT
    Cache-Control: no-cache, must-revalidate, max-age=0

    а на 404 странице от скрипта этих строчек почему-то нет

    извиняюсь, не "вордпрессовский редирект" а "вордпрессовский ответ сервера на любую 404 ошибку" выдает 2 строчки:
    Expires: Wed, 11 Jan 1984 05:00:00 GMT
    Cache-Control: no-cache, must-revalidate, max-age=0

    а ответ сервера со страницы /author/admid1 (несуществующий пользователь) также выдает 404 ошибку, но этих строк нет. ну либо проще можно сказать - ответы сервера отличаются от реальной 404 страницы и от "искусственной"

    Kama 7.4 года назад

    настоящий вордпрессовский редирект отдает в последних строках:

    Expires: Wed, 11 Jan 1984 05:00:00 GMT
    Cache-Control: no-cache, must-revalidate, max-age=0

    а на 404 странице от скрипта этих строчек почему-то нет

    Поправил этот баг. Теперь 404 страница - настоящая 404 страница!

    Vivanov 6.2 года назад

    Развели толоку, самое верное решение закрыть в noindex - это 100% вариант. В All in One Seo галку ставишь и страницы авторов закрыты. В выдаче нет дублей, а такие страницы на сайте есть. Noindex это лучший вариант во многих ситуациях, главное уметь правильно его использовать.

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

    Что касается подбора паролей, то надо просто ставить сложные пароли, хотя бы 15 символов, тогда запарятся подбирать!

    Комментировать
  • 1
    campusboy4753 www.youtube.com/c/wpplus

    Тем, кто использует Yoast SEO, в принципе, может отключить архивы автором в настройках:

    А в его sitemap.xml вывод авторов по умолчанию отключён:

    Комментировать
  • 0
    kolshix779 paxtoy.com

    Нашел материал который поможет бороться с подборщиками админок http://dim.st/php:htaccess-ban

    Выше писал про этот материал

    Комментировать
  • 0
    Otshelnik-Fm265 otshelnik-fm.ru

    Я для плагина WP-Recall (экосистема вокруг профилей пользователей) писал дополнение Pretty URL Author https://codeseller.ru/products/pretty-url-author/ - которое позволяет сменить nicename - именно оно и ведет к этому УРЛ. Т.е. я сменил себе урл (по типу как в ВК) и урл не является логином. А логин у меня прежний.

    похожее решение можете сделать и для себя

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация