Как правильно указать пермалинк при включении ЧПУ в WordPress Ч.2

В предыдущей статье Как правильно указать пермалинк при включении ЧПУ в WordPress, я рассказал о том, как правильно указать пермалинк в WordPress. Недавно, покопавшись в инете, почитав статьи западных SEO экспертов, и проведя исследование на эту тему, пришел к выводу, как действительно правильно формировать ссылки с помощью ЧПУ. Продолжаю тему первой  статьи.

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

Структура — логика блога:

Уровень ссылок 1:
www.blog.com
www.blog.com/stranica.html
www.blog.com/about.html
www.blog.com/rubrika/
www.blog.com/metki/
www.blog.com/avtor/

Уровень ссылок 2:
www.blog.com/rubrika/statiya.html
www.blog.com/metki/statiya.html
www.blog.com/avtor/statiya.html
www.blog.com/rubrika/podrubrika/

Уровень ссылок 3:
www.blog.com/rubrika/podrubrika/statiya.html
www.blog.com/arhiv/2009/02/

Уровень ссылок 4:
www.blog.com/arhiv/2009/02/01/
www.blog.com/arhiv/2009/02/statiya.html

Уровень ссылок 5:
www.blog.com/arhiv/2009/02/01/statiya.html

В WordPress, по умолчанию, ссылки формируясь динамически, имеют вид, например:
www.blog.com/index.php?param1=1&param2=2.

Данный вид ссылок, как для пользователей, так и для поисковых серверов не информативен и не эффективен.
Лучше, если ссылка выглядит к примеру так: www.blog.com/rubrika/statiya.html
Таким формированием ссылок в WordPress занимается модуль ЧПУ

Есть 3 основных направления для формирования ссылок:

  • Для рекламного бизнеса по рекомендациям серверов
  • Для удобства пользования читателями блога
  • Для новостных серверов

Разберем каждое направление, в соответствии с рекомендуемыми правилами.

1. Формирование ссылок для рекламного бизнеса по рекомендациям серверов.

Если вы собираетесь зарабатывать по большей части на рекламе в своем блоге, размещая ссылки и рекламу других ресурсов, то вам нужны как можно больше ссылок 1 уровня.

Пример ссылки 1 уровня: www.blog.com/stranica.html

По статистике, чем ближе ссылка находится к домену и менее вложена, реклама на таких страницах стоит дороже.

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

Настраивается этот способ так: Админ-панель/Настройки/Постоянные ссылки ЧПУ/ В опции Произвольная структура вписать: /%postname%.html.

Минус такого подхода — непонятность вложенности статей для пользователя. Нарушается логика.

2. Формирование ссылок для пользователей вашего блога.

При таком подходе необходимо соблюдать логику уровней и внешний вид ссылок вашего блога.

Статические страницы блога (О блоге, О авторе, Карта блога и т.д.) — страницы первого уровня и должны иметь расширение .html.
К примеру:
www.blog.com/stranica.html — любая страница первого уровня
www.blog.com/about.html — страница о блоге
www.blog.com/metki/ — ссылка метки
www.blog.com/rubrika/ — верхняя рубрика блога
Ссылки на рубрики верхнего уровня имеют тоже 1 уровень

Статьи, по умолчанию, всегда располагаются в рубриках и должны иметь расширение .html. Все что находится в верхних рубриках, имеет уровень 2. Это означает, статьи всегда должны быть не выше уровня 2.
К примеру:
www.blog.com/rubrika/statya.html — статьи 2 уровня вложенные в рубрики
www.blog.com/rubrika/podrubrika/ — подрубрики 2 уровня вложенные в рубрики
www.blog.com/arhiv/2009/ — архив статей 2009г.

Здесь понятно: домен/рубрика/статья.html
Если пользователь удалит в ссылке статья.html, то он попадет в рубрику, содержащую эту статью.
Удобно? Думаю да.

К сожалению, средствами самого WordPress, реализовать данную схему без хаков, нереально.
Как это сделать, я расскажу ниже.

3. Формирование ссылок для новостных серверов.

Если вы собираетесь размещать свои статьи параллельно на новостных серверах.
К примеру, на Google News. У  Google News существует требование, каждая из ваших ссылок на новость должна иметь в конце ссылки свой цифровой идентификатор, минимум из 3х цифр.

Реализовать это можно средствами WordPress:

Настраивается этот способ так: Админ-панель/Настройки/Постоянные ссылки ЧПУ/ В опции Произвольная структура вписать:
/%postname%00%id%.html.

Таким образом к концу ссылки мы добавляем цифровой идентификатор статьи.
Зачем подставлять 00? Если у вас статей меньше 100, то идентификатор будет менее 3х цифр. Если больше 100 то нули не помешают, главное чтобы цифр было не менее 3х.

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

Какое из направлений выбрать?

Конечно, каждый принимает решение сам. Я выбрал способ 2, т.к. мой блог предназначен, в первую очередь, для читателей.

Структура выглядит таким образом:

links

Структура ссылок блога

Для того чтобы реализовать структуру ссылок в WordPress по схеме 2, необходимо:

  1. Загрузить и установить плагин Page_Htm — добавляет к ссылкам статичных страниц .html
  2. Загрузить и установить плагин Seo-Without-Category — удаляет из ссылок рубрик /category
  3. Загрузить и установить плагин Permalink Redirect — необходим для того чтобы сделать редирект вашим ссылкам уже опубликованных статей на новые ссылки.

Установите и активируйте все 3 плагина.

Плагины Page_Htm и Seo-Without-Category в настройках не нуждаются.

Далее, точно по шагам:

1. Заходим в Админ-панель/Настройки/Постоянные ссылки ЧПУ/ В опции Произвольная структура вписать:
/%category%/%postname%.html.

2. Для тех у кого уже есть опубликованные статьи, страницы, рубрики:

Запускаем редирект ссылок статей с помощью  Permalink Redirect:

  1. Зайдите в Админ-панель/Настройки/Permalink Redirect
  2. В окне Old Permalink Structures введите свой старый шаблон ссылок ЧПУ
  3. Нажимаем Update options

Далее, открываем ваш .htaccess в текстовом редакторе и прописываем редиректы для уже имеющихся страниц и рубрик:

Для каждой страницы:

Redirect 301 /вашастраница http://www.вашдомен.com/вашастраница.html

Для каждой рубрики:

Redirect 301 /category/вашарубрика http://www.вашдомен.com/вашарубрика

К сожалению, мне так и не удалось заставить с помощью плагинов добавлять слеш в конце ссылки рубрики.

Все теперь структура №2 сформирована и ссылки работают.


Нашел ошибку в тексте? Выдели ее мышкой и нажми Система Orphus
Теги статьи: пермалинк, ссылка, ЧПУ
СЛЕДИТЕ ЗА НОВОСТЯМИ Подписаться на мой Twitter
Автор:Олег МедынскийРубрика: Настройка блога
Разрешается перепечатка статьи с обязательным указанием открытой ссылки на источник.

КОММЕНТАРИИ К СТАТЬЕ

  1. 2.1

    А если поменять с вида /%category%/%postname%.html на такой /%postname%.html то как настроить плагин и какие действия произвести с настроек ссылок ЧПУ?

    • 2.2

      В настройках ЧПУ укажите /%postname%.html
      А по поводу плагина, какой плагин вы собираетесь настраивать под данную схему?
      Если для рубрик, то он тут не нужен.

      • 2.3

        Я попробовал изменить в ЧПУ на /%postname%.html , ссылки на посты поменялись, а при нажатии на рубрики выходит ошибка 404

        • 2.4

          Может и сам ЧПУ глючить.
          Я делаю еще так:
          1. Отключаю все плагины
          2. Возвращаю дефолтную тему
          3. Обновляю ЧПУ
          4. Смотрю, все ли работает.
          5. Подключаю тему и возвращаю плагины.
          Если был глюк с ЧПУ, то после таких манипуляций все должно работать.
          Если нет, смотрите плагины или то что у вас прописано в .htaccess

          • 2.5

            Пересохранить запись и все..

  2. 2.6

    причина скорее всего в каком нибудь плагине. Поскольку сам много раз с этим сталкивался, и проблем с рубриками не возникало

  3. 2.7

    Спасибо большое! :)

  4. 2.8

    Кстати, Олег, вспомнил по случаю нашу старую беседу по поводу ЧПУ и решил помочь, подсказав ответ на животрепещущий вопрос: КАК ДОБАВИТЬ СЛЕШ В КОНЦЕ ССЫЛОК РУБРИК. Я недавно случайно наткнулся на блог на ВордПресс, где слеш был, а посты при этом имели окончание .html. И не стало с того момента мне покоя ни днем ни ночью :( , пока не нашел ответ! 😀
    Слеш в конце рубрик, подрубрик и тегов можно добавить 3 способами (да, да, целых 3!):
    1) Плагином Permalink-trailing-slash-fixer (его я опробовал, все работает);
    2) Плагином Smart-trailing-slash;
    И внимание, гвоздь программы, плагин, про который Вы не раз слышали, а может даже и он у Вас и стоит —
    3) Плагин Robots Meta! :)

    • 2.9

      Спасибо за подсказку. Да, это старая статья. Тогда не хватало знаний для доводки плагина. Сейчас знания есть, нет времени.

  5. 2.10

    Да уж: время есть — денег нет, деньги есть — времени нет… И так всегда! :)))

  6. 2.11

    А как боретесь с постраничной навигацией, после удаления «category» например pagenavi не способен переходить по страницам в рубриках. У вас же все работает.

    • 2.12

      С постраничкой не борюсь. Если правильно удалять «category» то проблем с постраничкой и pagenavi нет

  7. 2.13

    Приветствую!
    Можете ли подсказать, как решить проблему с customs permalink для статей на русском языке. Я хочу, чтобы названия статей или тэги были использованы в permalink. Например, статья или тэг — «архив» автоматически получала ссылку «arhiv»? Существует ли для этого плагин или нужно что-то переписывать в стилях или где-то еще? Уже долго ищу в интернете, ничего пока не могу найти.

  8. 2.15

    Все сделал как написано до того момента, где нужно править .htaccess — его в моем wordpress нет.

    • 2.16

      Создайте .htaccess в любом текстовом редакторе и залейте в корень сайта. Установите права на файл с помощью FTP клиента в 666. Измените ЧПУ а потом измените права файла на 644.

  9. 2.17

    Непонятно зачем вообще лишнее .html ?
    Это же как и www. теперь совершенно не имеет смысла.
    Браузер так и так обработает, поисковик тоже (или вы думаете обмануть Гошу с Яшей, зашифровав наличием на конец .html движок wp?)

    Имхо. .html безполезен, только больше мусора в папке с плагинами.
    А вот удобночитаемые ссылки конечно же рулят. Даже в выдаче будет плюс.

    • 2.18

      Причем тут поисковики, движек и браузер?
      Скажите мне, как вы поймете по этой ссылке http://www.site.ru/otherpage/ это страница или рубрика?
      Должна быть логика в URL структуре.
      Если ссылка выглядит http://www.site.ru/otherpage/page.html то тут ясно что это конечная страница ветки структуры. И если посетитель отстрелит page.html он попадет в рубрику содержащую анонсы статей.
      Это как минимум удобно, и понятно. А если это удобно посетителям то повышается ПФ. А если повышается ПФ сайт ранжируется лучше.

  10. 2.19

    Это снова я! Олег, попробуйте поставить плагин, как Вам посоветовал Валерий от 03.02.2011. Дело в том, что тогда появится слеш в конце всех Ваших страниц, т.е. тех, которые под шапкой: «Блог подключ», «Услуги», «информация». т.е. после html будет слеш, что тоже не по правилам!

    Я оставляла комментарий со своим вопросом по странице «О сайте». Вот с плагином от Валерия при навелении на страницу внизу браузера, где ссылку видим, читаю — http://dela-v-dome.ru/o-saite.html/

    НЕ МОГУ ВОЙТИ НА ЭТУ СТРАНИЦУ!!!!
    Пишу так в htaccess: redirect 301 /o-saite/ http://dela-v-dome.ru/o-saite.html
    Пишу так в htaccess: redirect 301 /o-saite/ http://dela-v-dome.ru/o-saite.html/
    И вообще ничего не пишу,
    Все равно перебрасывается на главную. Почему?
    Когда я тестирую сайт программой Screaming Frog Seo Spider, то эта страница вообще не определяется как текстовая. Content — пусто, Status: 301 Moved Permalink. В той же программе эта страница со старым урлом нигде не появляется. хотя другие под редиректом дважды в выдаче. Со старым урлом и новым.

  11. 2.20

    Простите, оказывается, мой предыдущий комментарий, что я отправляла сегодня, не пробился к Вам. А писала я вот что:
    Олег, почему у меня страница «О сайте», которой я дала адрес http://dela-v-dome.ru/o-saite.html ( раньше была по адресу http://dela-v-dome.ru/o-saite/) с помощью Ваших инструкций, перебрасывается на сам сайт, т.е. на адрес: http://dela-v-dome.ru?

    В .htaccess прописала так: redirect 301 /o-saite/ http://dela-v-dome.ru/o-saite.html
    Все записи нормально перередектились, все как у Вас, только эта страница не появляется. Что может быть?
    Так что Вы поменяйте комментарии от меня местами. местами.

  12. 2.22

    Может у меня что-то с robots.txt?
    User-agent: Yandex
    Allow: /wp-content/uploads/
    Disallow: /cgi-bin
    Disallow: /wp-admin
    Disallow: /wp-includes
    Disallow: /author/admin/
    disallow: /2012/
    Disallow: /category/electrika/
    Disallow: /*xmlrpc.php
    Disallow: /wp-content/plugins
    Disallow: /wp-content/cache
    Disallow: /wp-content/themes
    Disallow: /trackback
    Disallow: */trackback
    Disallow: */*/trackback
    Disallow: */*/feed/*/
    Disallow: */feed
    Disallow: /*?*
    Host: dela-v-dome.ru

    Sitemap: http://dela-v-dome.ru/sitemap.xml.gz
    Sitemap: http://dela-v-dome.ru/sitemap.xml

    На Ваш опытный взгляд ничего подозрительного нет, чтобы так влияло? :(

    • 2.23

      Тут много каши, нужно оптимизировать и убрать лишнее. Но на вашу проблему robots.txt не влияет

  13. 2.24

    Зарегистрировал несколько новых типов записей (допустим book, eggs, pipi). Как сделать чтоб все таксономии определённые к одному из типов были такого вида:
    *название_сайта*/тип_записи*/*таксономия*.html

    А ссылка на пост была такого вида:
    *название_сайта*/*таксономия*/*название_поста*.html

    • 2.25

      В двух словах не объяснишь. Для этого нужно писать определенную функцию.

  14.  


Ваши вопросы, замечания, пожелания и предложения, по работе сайта, пишите на E-mail.