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

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

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

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

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

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

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

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

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

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

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

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

    Вариант 1

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

    ## Прячем страницу страницу архива автора?
    if( ! is_admin() ){
    	add_action( '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 1.1 года назад

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

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

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

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

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

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

    Kama 1.1 года назад

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

    вадик 1.1 года назад

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

    Kama 1.1 года назад

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

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

    вадик 1.1 года назад

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

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

    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 год назад

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

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

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

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

    Комментировать
  • 0
    campusboy1894 cайт: www.youtube.com/c/wpplus

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

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

    Комментировать
  • 0

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

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

    Комментировать
  • 0
    Otshelnik-Fm181 cайт: across-ocean.otshelnik-fm.ru

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

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