Рубрика: SEO

Как задать структуру постоянных ссылок для страниц?

Установка ярлыка для страницы

WordPress по умолчанию не дает настроить структуру постоянных ссылок для страниц. При установке любой структуры постоянных ссылок (кроме "простой") страницы всегда будут иметь структуру /%pagename%/ и для ее изменения необходимо будет установить специальные плагины. Однако, использовать плагины вовсе необязательно, можно воспользоваться следующим небольшим кодом, который вам необходимо добавить в файл functions.php вашей темы:

Как запретить индексирование страниц вложений?

http://www.yoursite.ru/name-of-picture/
http://www.yoursite.ru/category/test.html/attachment/name-of-picture/

Для многих пользователей WordPress откровенным сюрпризом оказывается тот факт, что движок генерирует страницу вложения для каждого медиафайла, загруженного на сайт. Плохо это тем, что такие страницы вложений не закрыты от индексирования и поэтому в индексе поисковиков могут оказаться тысячи лишних страниц. Подобные страницы без контента и с одной лишь картинкой могут восприниматься поисковиками как дубли. А наличие кучи дублей может плохо повлиять на ранжирование сайта (Яндекс вообще может наложить АГС-фильтр за подобное). Поэтому лучше закрыть от индексирования страницы вложений, для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

Как отключить все архивы на сайте кроме «Рубрик» и «Меток»?

Пример архива за месяц

Я уже писал о том, как запретить движку генерировать архивы по авторам. Однако, проблема не только в них, так как WordPress по умолчанию генерирует и другие архивы, которые доступны при открытии прямой ссылки. И в отличие от архивов авторов запретить через robots.txt индексацию архивов по месяцам может быть затруднительно (так как люди часто используют в ярлыках записей указание года). Поэтому лучше всего сразу закрыть абсолютно все архивы кроме рубрик и меток. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

Как отключить архивы по авторам?

Ссылка на архив автора

В большинстве случаев никто не использует на сайте архивы по авторам. Это банально не имеет смысла, если автор на сайте один. И даже если он не один, то куча лишних страниц дублирующего контента вам вовсе не нужна (каноникал в движке прописывается только для записей). Факт того, что вы не используете архивы по авторам, вовсе не означает, что WordPress эти архивы не создаст при открытии ссылки вида "/author/nick" (как на скриншоте). Можно закрыть индексацию страниц архивов через robots.txt, но лучше будет вообще избавиться от этих архивов полностью, так как поисковики зачастую игнорируют директивы в robots.txt. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

Как запретить индексацию страниц с 404 ошибкой?

Метатег robots

Запретить индексацию страниц с 404 ошибкой (не найдено) можно либо с помощью SEO-плагинов, либо с помощью небольшого кода, который вам необходимо добавить в файл functions.php вашей темы:

//запрет индексирования страниц с ошибкой 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

Как отключить добавление hentry в функции post_class?

Ошибки разметки в Google Search Console

Многие темы для WordPress используют для оформления записей функцию post_class(), которая добавляет класс hentry при выводе записей. Данный класс указывает на использование микроразметки от microformats.org. Неприятность состоит в том, что эта разметка требует обязательных атрибутов в виде автора, заголовка и даты. Если заголовок выводится практически во всех темах, то вот с автором и датой дело обстоит совершенно иначе. В результате Google сообщает об ошибках в "структурированных данных" сайта. Самой простой способ избавиться от ошибок вида "Отсутствует: author" или "Отсутствует: updated" это отключить hentry-разметку вообще (практической пользы от нее для сайта все равно нет).