WordPress адрес страницы со слешем или без

14.01.2024

ЧПУ

В сети существует большое количество веб-сайтов, которые успешно функционируют, даже не используя человеко-понятные URL (ЧПУ). В контексте WordPress, ссылка может выглядеть так: https://test.ru/?p1700. Такую короткую ссылку можно получить, нажав на кнопку “Получить короткую ссылку” в редакторе. Очевидным преимуществом такой ссылки является ее краткость, что позволяет легко публиковать ее на различных платформах. Однако, минусом является то, что текст ссылки не дает понимания о содержании страницы, на которую она ведет.

При использовании ЧПУ, ссылка выглядит более информативно, например, https://test/ru/skolko-vesit-gram.html. Из такой ссылки ясно на какую статью она ведет.

Если у веб-мастера возникают сомнения, всегда стоит обратиться к справочной системе Яндекса для веб-мастеров. Здесь можно найти множество полезной информации и ответов на многие вопросы.

Кириллица в URL

Любители сайта WikiPedia, вероятно, заметили, что в URL используется кириллица. В этом нет ничего незаконного, однако использование кириллицы в URL чаще приносит недостатки, чем преимущества. Я уже обсуждал нюансы использования кириллицы в статье “Плюсы и минусы доменов РФ. Регистрация доменов РФ”, поэтому не буду повторяться.

На текущий момент, я не вижу необходимости в использовании кириллицы в URL, даже если домен зарегистрирован в зоне .рф. 

Нужно ли прописывать категорию?

Первоначально, разберем плюсы и минусы страниц в том случае, если названия категорий (рубрик) исключены.

Плюсы

  • Без названия категории URL становится короче;
  • Нет необходимости заранее заботиться о структуре веб-проекта, так как без проблем можно переносить посты из одной рубрики в другую, полностью удалять категории или переименовывать их.

Минусы

  • По урлу не понятно, к какой категории относится документ. С одной стороны, подавляющему числу рядовых интернет-обывателей абсолютно безразлично, как выглядит и из чего состоит URL конкретно взятого документа. Более того, пользователи браузера Яндекс.Браузер, по умолчанию, в адресной строке видят не URL, а TITLE документа. С другой стороны, существуют правила хорошего стиля, которые подразумевают наличие названий категорий (подкатегорий, под подкатегорий и т.д.). Также нельзя забывать о продвинутых пользователях, которые, при поиске информации на сайте, иногда обрезают часть URL до слешей, таким образом перемещаясь вверх по структуре.
  • Согласно данным Яндекс.Вебмастер, при отсутствии в урле названий категорий, робот Яндекса не в состоянии правильно определить структуру веб-проекта. В качестве примера, давайте посмотрим, как видит структуру моего блога (в урлах нет категорий) робот Яндекса.
Наличие .html в окончании адреса

Я не могу точно указать, кто и когда придумал использовать .html в конце страниц  динамической страницы, но эта идея получила широкое распространение. Для многих веб-мастеров,  использовать его в окончании служит индикатором того, что это пост, а не, например, категория или страница WordPress.

На их взгляд, такая практика окончания URL постов WordPress устраняет необходимость задумываться о том, должен ли быть слеш или нет. Следовательно, нет необходимости беспокоиться о 301-редиректе с URL без слеша на со слешем и наоборот.

Однако, с другой стороны, я был бы очень удивлен, если бы увидел подобный подход на таких крупных платформах, как Яндекс или Google. 

Что делать с удалением слеша в окончании адреса?

Специалисты по SEO рекомендуют выбрать единый стиль адресов – с окончательным слешем или без него. По умолчанию, адреса форматируются с использованием слеша на окончании. Однако, иногда применяются и без слеша. При этом, использование такого формата может столкнуться с некоторыми особенностями настроек WordPress.

Например, в процессе пагинации, если вы используете функцию get_next_posts_link(), включающую в себя функции next_posts_link() и previous_posts_link(), вы заметите, что ссылка на первую страницу содержит слеш в конце. В то же время, ссылки на вторую и последующие страницы будут отображаться в формате /page/2, /page/3 и так далее.

Более того, находясь на второй или любой другой странице, ссылка на первую страницу (например, в категориях или на странице новостей) будет представлена в формате test.ru/category/news/, что включает в себя слеш.

При поиске ответа на вопрос о форматировании адресов, мы столкнулись с различными мнениями. Некоторые предлагали установить специализированный плагин с необходимыми функциями. Другие не придают этому вопросу большого значения, так как они настроили редирект со страниц со слешем в конце на страницы без слеша.

Однако, этот подход ведет к появлению лишнего редиректа с test.ru/category/news/ на адрес test.ru/category/news. Хоть это и не является критической проблемой, но любители привести все к идеалу (как мы) предпочитают минимизировать количество редиректов на сайте.

Также мы столкнулись с решениями, которые требуют внесения десятков строк кода. Этот подход может быть трудоемким, но он также может быть рассмотрен в случае, если другие варианты не подходят. t

В файл functions.php добавляем строку:
  
add_filter('get_pagenum_link','untrailingslashit');
  
Так же можно добавить:
  
add_filter('paginate_links','untrailingslashit');