Home » Движки сайтов и блогов » Настройка вида URL постов в WordPress

Настройка вида URL постов в WordPress

Более года назад я уже писал про оптимизацию URL. За это время мое понимание этого вопроса улучшилось и я хочу снова коснуться этой темы, на этот раз только в контексте Вордпресса. К тому же, я еще расскажу про полезные плагины, улучшающие возможности Вордпресса в этом вопросе.

По умолчанию, сразу после установки WordPress, создаваемые посты имеют URL вида:
http://myblog.ru/?p=post_id
где post_id — это уникальный идентификатор поста в базе данных.

Естественно, что ссылки такого вида ничего не говорят о содержимом страницы ни пользователям, ни для поисковым системам. Сравните, например, такие урлы:

mygames.ru/?p=182

mygames.ru/igra-super-korowa

Очевидно, что второй URL более информативен. Учитывая, что ПС научились в выдаче подсвечивать слова из запроса, присутствующие в URL, то это еще более увеличивает его CTR. Кроме того, сами ПС учитывают ключевые слова в URL при ранжировании.

Вот один из результатов поиска в Гугле по запросу [супер корова], часть урла выделена жирным (помечено желтым фоном мной):

ЧПУ выделен в СЕРПе

Итак, надеюсь, я вас убедил в том, что лучше использовать на своем блоге или сайте “красивые” ссылки, называемые, также, ЧПУ — Человеко Понятные Урлы или пермалинки (от английского permalinks — permanent links — постоянные ссылки). Давайте теперь посмотрим, как это сделать.

Настройка ЧПУ в Вордпрессе

Когда я впервые осваивал Вордпресс, то после установки сразу пошел искать плагин для ЧПУ. Но все оказалось гораздо проще — эта возможность есть в самом Вордпрессе. Выбираем в админке Settings –> Permalinks и переходим на страницу настройки ЧПУ:

permalinks

Кроме варианта по умолчанию предлагается еще три предопределенных вида ссылок:

  • день и название — URL состоит из года, месяца, дня и названия поста
  • месяц и название — аналогично предыдущему, но не используется число месяца
  • числовой — id поста передается не параметром, а содержится в ссылке, этот вариант принципиально не отличается от варианта по умолчанию

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

В качестве названия поста (%postname%) используется не заголовок (title), который может содержать недопустимые в URL символы, а параметр, называемый permalink (называемый иногда slug), который создается автоматически из заголовка, но может и редактироваться вручную.

permalink

На картинке вы видите русский permalink, при этом русские буквы заменены на их коды (про особенности работы с русскими буквами далее).

С точки зрения оптимизации и логичности структуры ссылок вариант “название_категории/название_поста” мне нравится больше всего. Во-первых, сразу понятно, к чему относится данная страница. Например:

  • games.ru/arkadnye-igry/super-korova/
  • games.ru/logicheskie-igry/10-talismanov/
  • games.ru/flash-igry/10-talismanov/

Во-вторых, убрав правую часть урла (название поста) можно сразу попасть на соответствующую категорию.

Если пост принадлежит нескольким категориям, то для формирования URL будет использована категория с наименьшим id (но это можно изменить с помощью плагина, о котором я расскажу дальше). Кроме того, пост будет доступен по любому URL вида site.ru/что_угодно/название_поста (но с точки зрения SEO и дублированного контента следует всегда использовать один и тот же URL для ссылки на пост).

Одним из недостатков такой структуры URL является то, что при переносе поста из одной категории в другую (или при добавлении в категорию с меньшим id) изменится URL, формируемый Вордпрессом (но, как я уже писал выше, пост останется доступен и по старому URL), что приведет к дублированию контента и может понизить ранжирование страницы в ПС.

Другим недостатком является предупреждение в документации Вордпресс по пермалинкам о том, что “starting Permalinks with %category% is strongly not recommended for performance reasons” (использовать постоянные ссылки, начинающиеся с %category% не рекомендуется из-за проблем с быстродействием). Впрочем, я поэкспериментировал с различными видами пермалинков и существенных отличий в производительности не заметил.

URL вида “год/месяц/название_поста” является, также, неплохим вариантом. Мне, как пользователю, очень удобно, когда сразу в результатах поиска видно, когда пост был написан, т.к. если я ищу свежую информацию, то мне не интересны старые статьи. Именно по этой причине мне, как блоггеру, этот вариант сейчас не нравится. Ведь пользователь может все равно найти нужную информацию на моем сайте, подписаться на RSS или заинтересоваться рекламой :-).

Кроме того, такой вид URL нежелателен, если вы любите “поднять” старый пост, изменив дату его создания на текущую. Такой подход удобно использовать, например, в игровых партнерках — когда долго нет новых игр, можно “достать” прошлогодний хит.

Для обычного блога я рекомендую использовать один из этих вариантов. Но для других применений (партнерские сайты и т.п.) другой вид ЧПУ может оказаться удобнее. Подробнее о пермалинках в Вордпрессе читайте документацию (на английском).

Русский язык и ЧПУ

Вордпресс без проблем работает с русским языком. Это касается и пермалинков — вы можете использовать русский язык почти так же, как и английский. Единственная проблема заключается в следующем. Длина поля базы данных для хранения permalink составляет 200 однобайтовых (латинских) символов. В случае с английскими символами длина permalink ограничивается именно этими 200 символами. Но в случае других языков (не латиницы) происходит преобразование в кодовую последовательность, в которой каждой русской букве соответствует 6 символов (например, русская буква “а” будет заменена на “%D0%B0”), т.е. вместо 200 символов длина русского permalink составляет всего около 33, остальные символы будут обрезаны.

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

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

ПС понимают транслитерацию и улучшают ранжирование страницы, URL которой содержит ключевые слова.

Плагины, упрощающие работу с ЧПУ

Плагин sCategory Permalink позволяет при создании/редактировании поста выбрать категорию, которая будет использоваться для формирования ЧПУ.

Плагин sCategory Permalink

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

Второй плагин, Advanced Permalinks, имеет более широкие возможности. В частности, он позволяет:

  • Безболезненно перейти от одного вида ЧПУ к другому. При этом старые постоянные ссылки для старых постов будут формироваться как и раньше, а для новых уже по новым правилам. Впрочем, с помощью этого плагина можно изменить структуру и для всех постов, включив 301-й редирект для старых ЧПУ.
  • Создавать разные виды ЧПУ в зависимости от категории.
  • Использовать ЧПУ категорий без базовой части (между именем домена и названием категории).