Как отключить архивы по авторам?
В большинстве случаев никто не использует на сайте архивы по авторам. Это банально не имеет смысла, если автор на сайте один. И даже если он не один, то куча лишних страниц дублирующего контента вам вовсе не нужна (каноникал в движке прописывается только для записей). Факт того, что вы не используете архивы по авторам, вовсе не означает, что WordPress эти архивы не создаст при открытии ссылки вида "/author/nick" (как на скриншоте). Можно закрыть индексацию страниц архивов через robots.txt, но лучше будет вообще избавиться от этих архивов полностью, так как поисковики зачастую игнорируют директивы в robots.txt. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//отключение архивов по автору start function wph_disable_author_archive($false) { if (is_author()) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); return true; } return $false; } //удаление ссылки на архив автора function wph_remove_author_link($content) {return home_url();} add_action('pre_handle_404', 'wph_disable_author_archive'); add_filter('author_link', 'wph_remove_author_link'); //отключение архивов по автору end |
Этот код не только отключит генерацию архивов по авторам, но и удалит ссылку на страницу архива при выводе автора записи через функцию the_author_link().
Вероятно вам стоит также добавить такой код:
//запрет индексирования страниц с ошибкой 404 start function wph_noindex_for_404() { if( is_404() ) { echo '<meta name="robots" content="noindex, follow" />'.PHP_EOL; } } add_action('wp_head', 'wph_noindex_for_404'); //запрет индексирования страниц с ошибкой 404 end |
С помощью него в индекс поисковиков не попадут страницы с ошибкой 404.