О постоянных ссылках в WordPress

По умолчанию в WordPress используется не очень красивая структура ссылок типа http://site.ru/?p=N, где N – id вашей записи. Сердце кровью обливается, когда видишь, что на новом сайте такая структура, но Google уже начал индексацию, и теперь придется либо делать редиректы, либо ждать полной переиндексации сайта, и рисковать появлением дублированного контента.

Так что лучше делать правильные пермалинки сразу. Об этом не раз писалось, но почему-то вновь и вновь встречаются сайты, которые этому правилу не следуют.

Для справки
Пермалинк – в переводе с английского это permanent link, т.е. постоянная ссылка. Ваши ссылки всегда должны быть постоянными, чтобы посетители могли находить их через поисковые системы и свои закладки.

В WordPress есть еще два варианта «красивых» ссылок, но для этого на сервере должен быть модуль Apache mod_rewrite:

http://site.ru/category/post-name/

или http://site.ru/2008/09/04/post-name

Чтобы ссылка была короче, можно убрать, например, часть /month/ или /day/, я так же добавляю окончание .html, как на картинке, может это и пережиток, но мне такие ссылки нравятся больше.

Добавить окончание .html к статическим страницам можно с помощью плагина Page_Htm.

Рассмотрим подробнее параметры, которые вы можете использовать, но помните, что в конце всегда нужно ставить %post_id% или %postname%, чтобы ссылка вела на конкретный материал.

%year%
Год записи, четыре цифры, например 2008

%monthnum%
Месяц года, например 09

%day%
День месяца, например 04

%hour%
Час дня, например 13

%minute%
Минута публикации, например 23

%second%
Сенкудна публикации, например 44

%postname%
Заголовок записи латиницей (можно использовать поле «Короткая ссылка» при редактировании записи, чтобы задать свое название ссылки, когда заголовок слишком длинный). Так запись «Индексация в Google» будет иметь ссылку indeksaciya- v-google.

%post_id%
Уникальный ID записи, например 423

%category%
Название категории латиницей (короткую ссылку рубрики можно изменить в Админке – Управление — Рубрики).

%author%
Имя автора латиницей.

Использование %postname% в связке с параметрами даты является спорным. В кодексе WordPress рекомендуется добавлять числовые данные, поскольку якобы есть риск потерять доступ к некоторым страницам, но такая информация касается очень старых версий WordPress, и как обстоит дело сейчас не проверено. С другой стороны, если вы используете %postname% вместе с датой или параметром %category%, и решите поменять дату публикации, или переместить статью в другую рубрику, то, естественно, вы получите другой URL записи, а значит кто-то из посетителей получит ошибку 404.

Использование %category%, когда у вас есть подрубрики, также имеет еще один недостаток. Как сообщает Дмитрий Штефлюк, для построения постоянных ссылок Wordpress использует рубрику с наименьшим ID. То есть, если у Вас есть рубрика «WordPress», и несколько подрубрик, например, «Плагины», «Темы», «Настройка», и у рубрики «WordPress» наибольший ID, для построения ссылок будут использованы подрубрики. Для решения этой проблемы Дмитрием был разработан плагин sCategory Permalink.

На мой взгляд, %postname% использовать лучше, чем %post_id%, поскольку Google учитывает ключевые слова в ссылках при ранжировании, хотя для меня не совсем ясен момент с русским языком.

Но на одном из проектов я использую ссылки вида %category%/%post_id%.html, причиной тому большое количество статей и нежелание задавать для каждой короткую ссылку вручную. Благодаря ключевым словам в ссылке рубрики, человек может понять, на какой тип материала такая ссылка ведет.

Несмотря на рассмотренные нюансы, для меня пока что такие варианты ссылок, как %postname%.html или %category%/%post_id%.html кажутся оптимальным.

Чтобы WordPress изменил структуру ссылок автоматически, у вас должны быть установлены соответствующие права на .htaccess файл, и он должен присутствовать в корне сайта. Права на перезапись зависят он настроек вашего хостиинг-провайдера. Но после того как .htaccess перезаписан, не забудьте изменить права обратно, на что-то более безопасное, типа 644. Путь к настройкам ссылок Админка — Настройки — Постоянные ссылки (ЧПУ).


 
 
 

Отзывов (27) на «О постоянных ссылках в WordPress»

  1. Umclidet
    05 Сен 2008 в 14:23

    Весьма полезная статья. Внятно, коротко, доходчиво. Новичкам снимает целую кучу вопросов.

    К сожалению, ещё совсем недавно, доходил до всего этого сам...

  2. Радкевич С.
    05 Сен 2008 в 20:01

    Согласен статья дельная, важно сразу поставить то отображение которое больше по душе, я на всех блогах ставлю цифровой, как то покороче, хотя дело вкуса.

  3. LepRiKonS
    05 Сен 2008 в 21:11

    Спасибо за статью, уже несколько дней думаю переписать ЧПУ

  4. Ratm
    07 Сен 2008 в 19:27

    Думаю оптимальным вариантов является либо «/%post_id%.html» (в сочетании с %year%, %monthnum%, %day%) либо «%postname%» (хотя во втором варианте тоже свои нюансы), поэтому скорее «/%post_id%.html» (с комбинацией %year% и т.д. или без них)

  5. marfix - вечная ЛЮБОВЬ!
    08 Сен 2008 в 1:11

    Ёмко и кратко :hat: ! Классная статья, у себя подправлю, а то незнал как убрать месяц и дату.

    Я кстати первым делом после установки блога настроил ЧПУ, самому даже удобней да и ссылки проще давать людям. :wink:

    Можно вопрос не в тему, как называется плагин как у Вас для комментирования? Я тоже у себя бы хотел такое организовать. Спасибо заранее за ответ.

  6. Анастасия
    08 Сен 2008 в 11:47

    Ratm, спасибо за ваше мнение.

    Marfix, если имеется в виду тот, который позволяет редактировать комментарии после публикации, то это WP Ajax Edit Comments, а если цитирование, то это Quoter, этот плагин есть русифицированный на сайте lecactus.ru

  7. cross
    14 Сен 2008 в 19:14

    ЧПУ по любому сразу нужно уставнавливать на блоге...

  8. Александр
    18 Сен 2008 в 15:21

    Здравствуйте, Анастасия!

    С огромным интересом и читаю Ваш блог. Нахожу для себя много интересного.

    Я сам создал свой блог на движке wp. Ему уже год, однако я совсем не думал, и не знал, когда его создавал, о постоянных ссылках.

    Как по Вашему, если я сейчас все поменяю, чем мне это грозит?

    Спасибо.

  9. Анастасия
    18 Сен 2008 в 18:20

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

  10. Александр
    19 Сен 2008 в 7:27

    А стоит теперь переделывать, или уже лучше оставить как есть?

    Спасибо.

    P.S. Поставил несколько плагинов из описаных у Вас... сижу и радуюсь :grin:

  11. Анастасия
    19 Сен 2008 в 13:17

    Александр, решать вам!! Может и не стоит, год же он как-то существовал.

  12. the_hamster
    19 Окт 2008 в 16:38

    А это нормально, что при превью все также показывается не ЧПУ?

  13. Алексей aka Grabus
    19 Окт 2008 в 16:41

    the_hamster, нормально.

  14. kipper
    22 Окт 2008 в 0:46

    Который раз читаю про то, как сделать ЧПУ и который раз не могу понять, чем ужасна ссылка вида '?p=N' ? Почему «сердце кровью обливается»? Из-за некрасивости, из-за трудности запоминания или есть какой-то не эстетический смысл в избавлении от вопросика и равенства?

  15. Александр
    27 Окт 2008 в 22:19

    Доброго вечера!

    пробовал сто раз и так и этак — не работает :(

    в WP выставил «День и название», проверил .htaccess — все нормально...результат нулевой... нашел вариант .htaccess и он не прошел...

    wp 2.6.3

  16. Александр
    29 Окт 2008 в 23:01

    Все получилось после внесения изменений в .htaccess :hat:

  17. Александр
    26 Ноя 2008 в 10:48

    Поставил %postname%.html но выводится

    skorohod.biz/blog/%d0%bf%...d0%bd%d1%8f.html

    в чем может быть дело?

  18. Алексей aka Grabus
    27 Ноя 2008 в 19:49

    Александр, все правильно, просто адрес страницы пропишите на латинице, а не на кирилице.

  19. Кишиневский сео бомж
    28 Ноя 2008 в 22:58

    Блин,я меняю из админки хтаксс структуру, но она не меняетса в самом файле...хотя срабатывает...

    как мне приписать в файле хтссс структуру /index.php/%postname%-%year%/ типа

  20. Алексей aka Grabus
    28 Ноя 2008 в 23:56

    Кишиневский сео бомж, открой htaccess для записи. поставь ему права, например 777.

  21. Эго
    10 Дек 2008 в 20:11

    Совсем недавно сделал сайт на WP, и искал, для чего нужны эти статические адреса, и на что их устанавливать. Ни один SEOгуру не обмолвился, спасибо хоть здесь нашел ответы.

  22. Галина
    09 Янв 2009 в 13:37

    Анастасия, здравствуйте!Я тут в первый раз, давно ищу как поставить живые смайлики у себя на блоге и вот только у вас увидела.Вы можете подарить код для вставки? Спасибо.

  23. Студент
    14 Янв 2009 в 21:33

    Для меня это все сложно( Да и нравиться больше первый вариант url Но вот хотелось бы что бы эти числа были по порядку, то есть : /?p=51 /?p=56 /?p=60 (Как в моем блоге) Можно сделать их по порядку? 56, 57, 58 ...?

    Сорри за вопрос не в тему. :neutral:

  24. Игорь
    04 Фев 2009 в 15:04

    Cкажите, а если у меня получились ссылки вот такого вида?

    xxxxx.ru/как-утеплить-дом.htm

    в «Произвольная структура» прописал: /%postname%.htm

    Это вообще хорошо или нет, если ссылка идет на кириллице?

  25. Серега
    18 Фев 2009 в 17:08

    А сильно ли я могу повредить сайту , если поменяю структуру с site.ru/archives/запись на site.ru/запись ? И кстати насколько влияет на выдачу название статьи литинскими ? , ведь яша переводит же ссылки на русский

  26. Елена
    18 Окт 2009 в 12:17

    Спасибо за статью! Честно говоря, никогда не задумывалась о этом, да и просмотрев странички своего сайта, обнаружила, что у меня (за исключением даты) адреса категорий выглядят нормально, например, www.l-cocktail.ru/categor...i/tvoi-goroskopi а вот если брать просто пост, то он под номером, например, www.l-cocktail.ru/4645 Это плохо? И, если да, то чем чревато?

  27. Создание сайтов
    24 Ноя 2009 в 19:27

    А не могли бы Вы мне помочь. Вопрос насчет этих постоянных ссылок и индексации в яндексе.

    Почему-то у меня яндекс урл к страницам показывает в виде

    bibe.ru/?p=559

    когда есть рабочие ссылки на эти же страницы вида

    bibe.ru/kapitanskaya-dochka/

    (и именно они фигурируют на всем моем сайте)

    UPD. Походу проблема была в том что один из плагинов (MostVotedAllTime (); ) выводит список с не permant links'ами на всех страницах сайта. Буду думать как его вылечить. Если есть идеи — буду благодарен!

    Спасибо

Ваш отзыв


© 2007-2009 Уроки WordPress.
Дизайн WpHelp.ru.