Более года назад я уже писал про оптимизацию 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 и переходим на страницу настройки ЧПУ:
Кроме варианта по умолчанию предлагается еще три предопределенных вида ссылок:
- день и название — URL состоит из года, месяца, дня и названия поста
- месяц и название — аналогично предыдущему, но не используется число месяца
- числовой — id поста передается не параметром, а содержится в ссылке, этот вариант принципиально не отличается от варианта по умолчанию
Но есть еще последняя опция, Custom Structure, которая позволяет задать произвольный вид ссылок. Например, в представленном на картинке варианте URL будет состоять из названия категории и поста.
В качестве названия поста (%postname%) используется не заголовок (title), который может содержать недопустимые в URL символы, а параметр, называемый permalink (называемый иногда slug), который создается автоматически из заголовка, но может и редактироваться вручную.
На картинке вы видите русский 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 позволяет при создании/редактировании поста выбрать категорию, которая будет использоваться для формирования ЧПУ.
Это позволяет избежать проблем, связанных с переносом поста между категориями и выбрать главную категорию для отображения в URL поста.
Второй плагин, Advanced Permalinks, имеет более широкие возможности. В частности, он позволяет:
- Безболезненно перейти от одного вида ЧПУ к другому. При этом старые постоянные ссылки для старых постов будут формироваться как и раньше, а для новых уже по новым правилам. Впрочем, с помощью этого плагина можно изменить структуру и для всех постов, включив 301-й редирект для старых ЧПУ.
- Создавать разные виды ЧПУ в зависимости от категории.
- Использовать ЧПУ категорий без базовой части (между именем домена и названием категории).
По традиции, рекламные ссылки (кстати, первая ссылка для меня актуальна):
Задача каждого украинца — уменьшить потребление газа. Для этого можно сделать наружное утепление дома с помощью штукатурки “Тепловер”.
Жителям Беларуси будет полезна доска объявлений минска.
А если у вас шумные соседи, то пригодится звукоизоляция материалами, которые также обеспечат и утепление.
Похожие посты:

11 комментариев
июня 7, 2009
Наличие ЧПУ уже стало классикой во всех популярных CMS. Правда я не понял до сих пор зачем нужны русские буквы в url.
июня 7, 2009
На русском языке понятнее и пользователям и ПС.
июня 8, 2009
Даже вот не знаю, у меня есть несколько сайтов на вордпрессе, так по незнанию я там ссылки оставлял по умолчанию, теперь вот думаю если поставить один из плагинов описанных здесь страницы же могут пропасть из индекса?
июня 8, 2009
В вашем случае можно обойтись и без плагина - ссылки по умолчанию будут работать всегда, просто появится редирект на новые ссылки.
Пропадание из индекса маловероятно.
июня 12, 2009
нечего нового..
июля 18, 2009
Кому-то ""ничего нового"", а от меня -- СПАСИБОЧКИ. Наверняка в скором времени я бы до такой "темы добрался" и начал искать специальный плагин-ни за что не полез-бы в сам WP. Не по славянски это - инструкцию читать... Еще раз спасибо.
августа 11, 2009
Делаю свой блог на wordpress.com - скажите, можно ли сделать следующее:
1. убрать задержки перед отправлением нескольких мессаг, так как юзера выбрасывает на страницу "вы слишком быстро постите", либо же вообще мессага не проходит, а помечается как спам
2. убрать из поля ответа графы E-mail и Сайт
3. аналогично добавленным здесь кнопкам , (и так далее) добавить кнопки вставки смайликов (своя подборка), картинок, ссылок и так далее
4. юзер без регистрации мог изменять и удалять свои комментарии (например определяется по ip)
августа 11, 2009
5. юзер без регистрации мог выбирать аватару со своего компьютера либо url (подгоняется под размер автоматом если что)
То есть я хочу сделать максимально простой и понятный для юзеров блог, для чтения и удобного комментирования которого им не нужно будет регистрироваться, вникать во все тонкости и так далее.
августа 11, 2009
Если найти соответствующие плагины или написать их самому, то можно.
октября 25, 2009
Делаю эти пермалинки, поставила в ЧПУ /%postname%/
плагин рустотал деактивирован, но ссыки все равно входят на латинице, а клиент хочет на русском. Что делать? ручками что ли перебивать?
октября 25, 2009
Старые линки, сделанные с плагином RusToLat, будут в транслитерации. Менять придется либо руками, либо написав небольшой скрипт на PHP.