URL структура сайта
Сначала немного истории и определения понятий. Uniform Resource Locator (URL) — это единый указатель ресурсов. Впервые был введен Тимом Бернерсом-Ли в 1990 году. Изначально URL обозначал место расположения ресурса в интернете, в настоящее время он используется для записи адреса ресурса в сети.
Стандартный способ отображения URL страницы в большинстве случаев имеет такой вид — после адреса сайта отображается адрес исполняемого файла, после .php ставится знак вопроса и потом уже указывается URL, в котором отображаются параметры выводимой страницы, например: /catalog.php?tag=dance&action=list — просмотр списка статей с меткой dance (танец). Но естественно такие URL неудобны для посетителей сайтов, цифры обозначающие параметры еще будут понятны, но такие URL могут получаться очень длинными в случаях больших запросов для вывода, и не будут помещаться в видимую часть адресной строки браузера.
Отсюда следует, что URL структура адресов сайта должна быть максимально упрощенной, что делает её удобной для глаз посетителей. Перечислим основные моменты:
- Нужно организовывать содержание сайта таким образом, чтобы URL имели логическую структуру и были более понятны для человека. Рекомендуется использовать не идентификаторы, состоящие из множества цифр, а обычные слова. Например, если пользователь будет искать информацию о танцах то, URL-адрес типа поможет определить информационную значимость ссылки. А если URL сайта имеет вид типа то, такой ссылкой будет сложно привлечь внимание пользователей.
- Также рекомендуется использовать знаки пунктуации в URL-адресах. Например, адрес более удобен для чтения, чем . Лучше использовать в URL-адресах дефисы, а не символы подчеркивания. Каждая страница сайта должна быть с уникальным URL, чтобы глядя на неё, можно было иметь представление о том, что содержится на странице.
- Немного слов о регистре URL. Пользователи сайтов, как правило, вводят URL в нижнем регистре (маленькими буквами). Но для поисковой системы stranica.html и Stranica.html — две разные страницы, но с одинаковым содержанием. Таким образом получается дублированный контент и потеря веса страницы с основным URL в нестандартном регистре.
- Еще один момент оптимизации URL — использование «.html» или «/» (слеш) в конце адреса. Заметно, что некоторые URL-адреса имеют вид http://domain.ru/page.html вместо http://domain.ru/page/. Принципиальной разницы нет, но если в первом варианте можно точно сказать о том, что это именно страница, то второй вариант может оказаться и директорией. Что и в какой ситуации использовать, каждый выбирает сам.
Длина URL-адресов
Существует мнение, что URL сайта должны быть короткими, но в рекомендациях поисковых систем не оговаривается длина URL-адреса. Считается, что если длина URL превышает 5-ть слов, то ранжирование таких адресов может быть занижено. Также, проводимые в этой области маркетинговые исследования показывают, что, в результатах выдачи поисковых систем кликабельность коротких URL выше длинных в ~2 раза. Еще одним плюсом является то, что короткий URL-адрес легче запоминается и удобен при прямом наборе с клавиатуры.
ЧПУ
Человекоподобные URL или как их принято называть ЧПУ это адреса удобные для их восприятия человеком. Определенный транслитированный адрес веб-страницы, содержащий в большинстве случаев продвигаемые запросы или их часть для данной страницы. ЧПУ концепция подхода к построению URL используется для удобства пользователей. Создание ЧПУ предполагает вместо непонятных и длинных URL, использовать лаконичные и понятные адреса. Выглядит это примерно так: /dance/modern/go-go/ — общая категория танцы, подкатегория современные танцы, и разновидность танца гоу-гоу.
Такие URL страницы сайта становятся более понятными, а так же посетитель получает ряд преимуществ пользования данной структурой ЧПУ, перед стандартными URL, организованными без ЧПУ. Кроме этого, значимые преимущества пользователя при работе с такими ЧПУ это возможность перехода на сайте уровнем выше, за счет обычного стирания части пути в адресной строке, а также появляется возможность пользователю самому вводить в строке адреса нужные слова и переходить на соответствующие страницы.
Если пользователь смотрит определенную страницу на сайте, то в URL он должны видеть сокращенное название этой страницы на транслите, либо полное название страницы если оно вмещается в строку браузера. Например: Взглянув на такой адрес в строке браузера становиться примерно понятным содержание страницы.
При поиске информации пользователи зачастую обращают внимание на URL, а не только на описания и названия страницы. И делают выбор в пользу адресов, прочитав которые можно иметь представление о содержимом страницы.
Существует один небольшой минус организации такой структуры — увеличение затрат ресурсов сервера на обработку таких ЧПУ. Но положительные моменты с лихвой его перекрывают.
Влияние ЧПУ на продвижение по высокочастотным и низкочастотным запросам
Стоит отметить, что, степень значимости структуры ЧПУ для запросов более конкурентной и менее конкурентной тематики будет разным. Так для высокочастотных запросов ЧПУ будет придавать меньшее значение, потому что, как правило, все конкурентные запросы продвигаются на главных страницах, и тут уже больше имеет значение название домена сайта. В то время как для низкочастотных запросов ЧПУ имеет большее значение и в некоторых случаях существенно повышает позиции сайта в поисковых системах по запросу. Но в любом случае, правильно настроенные ЧПУ вносят определенный положительный вклад в продвижение сайта в поисковых системах и хорошие позиции.
← Назад в раздел
pixelplus.ru
Что такое ЧПУ?
ЧПУ (расш. Человеко-понятный урл) – красивые и дружелюбные URL адреса (Friendly SEO URL с англ.). Как бы не называлась эта аббревиатура, У ЧПУ адресов много преимуществ по сравнению с другими URL, поэтому их важно использовать на своих сайтах.
Зачем нужен ЧПУ?
По умолчанию на многих CMS в адрес страницы, то есть URL указывается непонятные/нечитаемые буквенные и числовые сочетания.
Заходя в выдачу или переходя на сайт пользователь обращает внимание на URL страницы, ведь сайт может показаться сомнительным, и пользователь откажется от перехода на данную страницу.
Плюсы использования ЧПУ ссылок
- Поисковыми системами хорошо воспринимается ЧПУ адрес страницы, и даже ключевые слова подсвечиваются в самой ссылке;
- Пользователи легко воспринимают URL сайт, благодаря чему могут копировать ссылку и делится ею в социальных сетях;
- Улучшение навигации на сайте, благодаря понятному ЧПУ и уровню вложенности.
Минусы использования
- Если у вас сайт не сделан на платформе CMS (например: WordPress, Joomla) указывать ЧПУ придется вручную для каждой страницы. Это занимает очень много времени, особенно если у вас страниц более 100. По умолчанию в CMS WordPress ЧПУ можно настроить самому, как угодно. Чуть ниже я расписал подробнее.
- Ручное выполнение транслитерации (Но в WordPress решается с помощью плагина CyrToLat).
Читайте в нашем блоге: Как удалить дубли на сайте
Пример правильного написания ЧПУ ссылок
Как выглядит ссылка без ЧПУ:
http://site.ru/?p=1234
http://site.ru/?p=999
Примеры ЧПУ:
http://site.ru/blog/statya-pro-chpu/
http://site.ru/kak-propisat-title/
Принципы написания ЧПУ адреса:
Вхождение ключевого слова. При вводе определенного запроса в поисковую систему в выдаче некоторые сайты появляются с подсвечиваемыми ключевыми словами в URL адресе страницы. Поэтому этот момент стоить учитывать.
ЧПУ должен быть краток и понятен. Глядя на ЧПУ мы должны понимать, о чем данная страница, чтобы не возникало путаниц.
Структура ЧПУ взаимосвязана с хлебными крошками (breadcrumbs). Особенно это касается интернет-магазинов, где страницы такого вида:
Страницы товара
https://site.com/collections/dolls/products/paw-patrol-on-a-roll-chase-figure-and-vehicle-with-sounds
Страница категории:
https://site.com/collections/dolls/
Что касается корпоративных сайтов, то ЧПУ для страниц услуг выглядит так, иногда он вообще не содержит УВ меньше 1.
http://site.ru/uslugi/pokupka-nedvizhimosti/
Про уровень вложенности я расписал в данной статье.
Кириллические ЧПУ
Удобны, если сам домен кириллический или какая-то его часть. В таком случае поисковая система подсвечивает ключевое слово.
Недостаток – закодированных значения URL-адреса при копировании его из любого браузера.
Латинские ЧПУ
Перевод на латиницу. Как правило используются в рубриках и категориях.
Плюс и недостаток в тоже время, что часть людей набирают определенный запрос по-английски, соответственно, если вы используете латиницу ключевые слова подсвечиваются, но минус в том, что такой процент людей очень мал. (Конечно в зависимости от тематики)
Примеры:
http://site.ru/blog/seo-optimization/
http://site.ru/copywriting/original-content/
Транслитерация ЧПУ
Это необходимо для того, чтобы переводить кириллические ЧПУ в латиницу. Транслируемые адреса так же читаются поисковыми системами и подсвечиваются в выдаче.
Подчеркивания, дефисы и пробелы в ЧПУ
В принципе особой разницы нет использовать подчеркивание или дефис, но я рекомендую использовать все же дефис.
По поводу пробелов: не стоит их употреблять вообще, так как в дальнейшем могут возникнуть проблемы с индексацией таких URL-адресов.
Читайте в нашем блоге: Поисковые системы — список популярных систем в России
Настройка ЧПУ в WordPress
Итак, давайте разберем как настроить ЧПУ в CMS WordPress. По умолчанию он входит в сборку, поэтому ничего устанавливать дополнительно не нужно. Единственно что нам понадобится это плагин CyrToLat.
Заходим в Настройки и в выпадающим меню выбираем постоянные ссылки.
Далее указываем вид нашей ссылки. Разберем каждый из них:
По умолчанию – этот вид чаще всего встречается на сайтах WordPress и имеет вид site.ru/?p=123;
День и название – вывод даты и затем уже выводится ЧПУ. Если у вас СМИ или тематика сайта связана с постоянными ежедневными событиями, то лучше использовать данный вариант;
Месяц и год + название – вывод месяца и даты, а затем уже идет ЧПУ. Очень часто встречающийся вариант на многих сайтах WordPress;
Цифры – выводится цифры, и статья попадает в категорию архива. Не рекомендую использовать этот вариант UR;
Название страницы – выводится только ЧПУ. По сути самый правильный вариант вывода ссылки. Вид: site.ru/sample-post/;
Произвольно – формирование ссылки происходит, как угодно. Например, вы хотите, чтобы на конце выводилось расширение .html. С точки зрения продвижения особой разницы нет.
Ну и соответственно жмем сохранить. Теперь при создании новой записи у нас автоматически формироваться определенный ЧПУ. Но он будет кириллический, чтобы перевести его в латиницу нам поможет плагин CyrToLat.
Настройка плагина CyrToLat
Итак, как же настроить все это дело? Для этого заходим в Плагины. Далее нажимаем добавить новый и выбираем там CyrToLat. После находим этот плагин, выбираем “Установить” и позже нажимаем “Активировать”.
Больше ничего настраивать не нужно, все сформированные страницы и записи автоматически поменяют URL, а также при создании новых будут подставляться латинские буквы.
Частые ошибки в ЧПУ
Длина URL. Средняя длина в поисковой системе Google – 76-90 символов. Соответственно пишите ЧПУ не более 60 символов, чтобы поисковики могли воспринимать полностью ваш URL. Если слишком длинный URL он обрезается и выводится неполностью.
Пример длинного ЧПУ:
http://site.ru/sport/echampionship/1365520-fotogalereya-ahtung-podruga-igroka-sbornoj-germanii-ispug….
- Использование пробелов и символов не несущих пользу
Применение слов, которые не несут смыслового значения для посетителя, например /category/, /page/ и так далее.
Какие работы можно еще выполнить по внутренней оптимизации сайта:
Как правильно прописать Title страницы
Rel Canonical – как правильно использовать
ALT картинки — как правильно прописать
Мета-тег Description — разбор с примерами
LSI и SEO тексты – 5 основных отличий
Заключение
Проблемы с ЧПУ в основном встречаются на старых не обновляемых CMS. В новых платформах всё продумано (особенно в WordPress) и даже моем нелюбимом Opencart есть дополнительные модули, которые позволяют сделать нормальный ЧПУ. Поэтому использовать ЧПУ обязательно рекомендую вам.
Если статья была для вас полезна, то поделитесь с друзьями. В комментариях оставляйте ответы на вопрос: “А как вы настраиваете ЧПУ?”
edison.bz
Доброго всем времени суток! Дополнительно к таким аббревиатурам как CTR, eCPM, ТИЦ, PageRank, RSS добавляется новая – ЧПУ (человекопонятные урлы). В посте я постараюсь объяснить, что это такое, а также попробую дать оценку эффективности их применения в оптимизации сайта.
Что же такое ЧПУ?
ЧПУ — это, грубо говоря, красивые имена урлов страниц, которые понятны пользователям.
Сразу приведу пример на базе системы wordpress. По умолчанию блоги на этом движке имеют вот такие url.
Конечному пользователю не будет понятно по ссылке страницы о чем будет идти на ней речь. А вот уже другой пример.
А здесь по окончанию сразу видно, что в статье речь пойдет о советах по увеличению доверия у читателей. Такие постоянные ссылки использовать лучше, чем те, которые стоят по умолчанию.
Как же настроить URL, понятные человеку?
Разберу на примере WordPress. Это достаточно легкая процедура, которая займет не больше 5 минут вашего времени.
- Вам необходимо зайти в настройки wordpress в категорию «постоянные ссылки (ЧПУ)». Если вы ничего ранее не предпринимали в этом разделе, то галочка будет стоять на строчке «по умолчанию».
- Далее вам необходимо выбрать понравившуюся структуру или задать свою «произвольная структура». Если вы хотите использовать произвольную как на моем блоге, то в это окошко необходимо вписать: /%postname%/. В таком случае сразу после имени вашего домена будет располагаться имя записи, поста или статьи. Далее нажать «Сохранить изменения».
- Теперь в вашем файле .htaccess необходимо добавить следующие строчки.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Теперь ЧПУ должны работать.
ЧПУ и поисковые системы
На самом деле, структура ссылок на блоге очень важна. Ее нужно задавать в самом начале работы сайта и желательно никогда не менять. В противном случае, все внешние и внутренние ссылки, ведущие на страницы, потеряют вес, потому что этих документов уже больше не будет. Поисковые системы тоже могут некорректно проиндексировать ресурс с новыми линками, посчитав их за дублирующий контент. Поэтому я советую не менять ЧПУ если сайт уже функционирует, а не находится на стадии разработки.
Сейчас человекопонятные URL даже в русскоязычном сегменте интернета — это один из факторов ранжирования в. Все дело в том, что поисковики выделяют урлы, в которых находятся ключевые слова запроса. Вот яркий пример (запрос «логотип для сайта»).
Видите, выделился транслит урла? Это во многом говорит об эффективности применения именно такой конструкции.
Какой я вывод сделал для себя? Я использую на каждом из своих сайтов ЧПУ, потому что это удобней как для меня, так и для пользователей, и они влияют на продвижение веб-ресурсов.
sosnovskij.ru
Что такое ЧПУ? Зачем настраивать постоянные ссылки (ЧПУ)?
ЧПУ – это человеко-понятные урлы. Очень многие новички не настраивают внешний вид ссылок, и долгое время болтаются на задних позициях в поисковых системах.
Чтобы Вам было понятней, давайте я приведу примеры:
1) Урлы – которые выводятся по умолчанию, без настройки имеют такой вид: life-crazy.ru/?p=233.
Такие ссылки поисковые системы недолюбливают, поэтому блог в таком случае сложнее продвигать.
2) Теперь обратите внимание на правильную настройку чпу: life-crazy.ru/chto-takoe-chpu.html.
Такой вид URL содержит ключевое слово — chto-takoe-chpu, что в свою очередь увеличивает релевантность документа по данному запросу, и еще на шаг приближает к ТОПу поисковой выдачи. ТОП – первая десятка в выдачи.
Настройка постоянных ссылок (ЧПУ) для WordPress
Давайте приступим непосредственно к самой настройке ЧПУ. В админ-панели переходим в раздел «Настройки» — «Постоянные ссылки ЧПУ».
Нас перебрасывается на страницу настройки, здесь необходимо настроить вид ссылки для WordPress по произвольной структуре, указать свой вид URL страницы, смотрите скриншот.
Ставим кружечек напротив «Произвольно» и указываем любой понравившийся вариант.
/%category%/%postname%/
Используя данную конструкцию, Ваши ссылки будут иметь такой вид: ваш_сайт/название_категории/название_поста/.
/%postname%/
Такой вид ссылки позволяет выводить название сайта и сразу название поста, то есть записи будут иметь следующий вид: ваш_сайт/название_поста/.
/%postname%.html
А данная конструкция является самой популярной и используется на большинство блогах, которые сделанные на CMS WordPress. Используя данную конструкцию, Ваша ссылка будет иметь такой вид: ваш_сайт/название_поста.html
Как видите, URL не сильно отличается от второго варианта, различия составляет только окончание, в последнем добавлено .html. Вот именно такой вид одобряют поисковые системы, и именно данную конструкцию я рекомендую использовать при настройке постоянных ЧПУ ссылок. Ну на этом еще не все.
Теперь нам нужно установить плагин, который будет переводить русские символы в латиницу.
life-crazy.ru
Что такое ЧПУ?
ЧПУ – это исковерканная англоязычная аббревиатура SEF URL (search engines friendly url). Она обозначает адреса ссылок, которые дружелюбны для поисковых систем. О ЧПУ я также писал в статье про внутреннюю оптимизацию сайта. В русскоязычном варианте SEF URL пишется как ЧПУ – человеко-понятные url. Что всё это значит? Это значит, что адреса ваших ссылок будут иметь осознанный текст, а не технический мусор, за примером можете сходить по ссылке выше.
Какие преимущества дают SEF URL?
Во-первых, очевидно, что ЧПУ ссылки уже в самом своём адресе могут содержать полезную для пользователя информацию. Из такого адреса сразу понятно, о чём будет статья или страница в целом.
Во-вторых, SEO. Такие ссылки приветствуются поисковыми системам, пару лет назад они могли бы дать вам значительный перевес над конкурентами. Сегодня подобные ссылки являются само собой разумеющимися, сейчас редко встретишь сайты с не ЧПУ ссылками, однако они до сих пор есть.
В-третьих, это престиж. Когда я захожу на сайты, где вместо понятного и красивого адреса в ссылках содержится разного рода мусор, а то и засекреченная информация – я задаюсь вопросом: «Вроде бы приличный сайт, но почему разработчики не сделали ЧПУ? Неужели это было так сложно? Может им настолько нет дела до подобных вещей или просто не хватает знаний и навыков?». В общем, для меня такие сайты большая загадка.
В-четвёртых, безопасность. Сайты с ЧПУ ссылками не содержат в своём адресе техническую информацию переданную методом GET (уроки PHP), которую можно запросто использовать для взлома сайта.
И последнее: ЧПУ – как средство навигации. Если ссылка понятна пользователю, то он сам может переходить по разделам сайта, просто редактируя ваш URL. Например:
http://site-on.net/useful/2-sublime-text-2
Если удалить из данной ссылки её последнюю часть (2-sublime-text-2), то мы попадём в раздел, к которому относится данная статья:
http://site-on.net/useful/
В данном случае это раздел «Инструменты». То есть благодаря SEF ссылкам мы можем построить понятную людям и роботам иерархию нашего сайта, что опять-таки будет полезно и для посетителей и для продвижения в поисковых системах.
Недостатки ЧПУ ссылок
Первое: возможно, вам придётся повозиться и даже помучаться, чтобы их настроить или вовсе сделать с нуля.
Второе: ваш сайт станет дольше грузится, а именно, на пару десятитысячных секунды 🙂 Это связано с тем, что для работы ЧПУ подключается специальный модуль веб-сервера Apache – mod_rewrite, которому понадобится это «огромное» количество времени на обработку ссылок.
Когда ЧПУ не нужны?
ЧПУ ссылки могут быть и лишними, например, если у вас закрытый корпоративный портал, где вся работа осуществляется только авторизованными пользователями, а для всех остальных, в том числе и для поисковых роботов доступ закрыт.
Также ЧПУ будет излишеством в back-end вашего сайта, то есть в панели администратора.
Что ещё нужно знать о ЧПУ?
Во всех актуальных версиях CMS данная проблема уже решена. Всё что вам нужно, чтобы сделать ЧПУ ссылки, это лишь включить соответствующие настройки в движке вашего сайта.
Но что если мы имеем дело с сайтом на чистом PHP, без CMS, или же хотим разработать свою собственную CMS в которой хотим сделать SEF URL? Для подобных случаев, а также для людей, которые хотят углубиться и понять всю суть преобразований обычной ссылки в ЧПУ, я и написал остальную часть статьи. Если вы читали мои предыдущие статьи, то знаете, что мой блог как раз относится к этой категории, то есть сайтам, написанным с нуля на PHP, без использования готовых CMS.
Ах да, ещё один момент: из личного опыта не советую делать кириллических URL.
Коротко: в чём вся суть?
Пишу для тех, кто совсем не в курсе дел. Везде в наших тегах гиперссылки мы будем указывать ЧПУ адреса:
<a href="http://site-on.net/useful/2-sublime-text-2">Sublime Text 2</a>
Суть в том, чтобы из красивого и понятного человеку URL (ЧПУ) сделать на лету URL, который будет полезен разработчику PHP (не ЧПУ):
<a href="http://site-on.net/index.php?category=useful&article=2-sublime-text-2">Sublime Text 2</a>
При этом всем на свете (посетителям, поисковым системам, всем) будет видна именно ЧПУ ссылка, но мы как разработчики PHP будем знать, что таит в себе URL на самом деле. В конце статьи, для полного понимания, я покажу все этапы, как ЧПУ работают у меня на блоге.
Создание SEF ссылок с помощью mod_rewrite
mod_rewrite – это модуль веб-сервера Apache, предназначенный для перезаписи URL. Естественно, для начала работы вы должны включить этот модуль в настройках Apache, эти настройки находятся в файле httpd.conf, вам нужно будет раскомментировать строку с именем данного модуля. У 99% хостинг-провайдеров он включён, за исключением совсем ужасных хостингов. Кстати говоря, используя Denwer, у меня не получилось нормально настроить собственные ЧПУ, мне не захотелось долго искать в чём именно проблема (мешают собственные редиректы Денвера) и я установил Апач отдельно. Для тех, кто не знает, как установить сервер Апач не используя Денвер, я напишу инструкцию в одной из будущих статей. А здесь мы продолжаем разбирать наши ЧПУ.
Все наши правила преобразований URL записываются в небезызвестный файл .htaccess, который должен лежать в корне нашего сайта.
Для корректной работы mod_rewrite в нём обязательно должна быть написана следующая строка:
Options +FollowSymLinks
Или, в частности, для моего хостинга:
Options +SymLinksIfOwnerMatch
Далее подключаем наш модуль rewrite к конкретной папке, то есть к папке, в которой лежит наш .htaccess:
RewriteEngine On
Имеем следующий файл .htaccess:
Options +SymLinksIfOwnerMatch RewriteEngine On
Правила и условия mod_rewrite
Все правила записываются с помощью команды RewriteRule, после которой ставится пробел и записывается шаблон ваших ЧПУ с помощью регулярных выражений, далее ставится ещё один пробел и указывается строка, в которую мы хотим преобразовать данный шаблон, где $1,$2,…$n – наши переменные. Более подробно о регулярных выражениях вы можете узнать по приведённой выше ссылке, а также далее в данной статье. Давайте рассмотрим пример:
RewriteRule ^useful/([a-z]*) /index.php?category=useful&article=$1
Где ^useful/([a-z]*) – это шаблон ожидаемого url,
а /index.php?category=useful&article=$1 – это то, во что мы его конвертируем, если пришедший URL подошёл под шаблон.
При этом $1 равен тому, что написано в круглых скобках, то есть $1 = [a-z]* Если бы круглые скобки встречались 2 раза, то у нас были бы переменная $1 и $2, если круглые скобки встречаются 3 раза, то переменные $1, $2, $3 и так далее. При этом переменные создаются в том же порядке, как идут круглые скобочки.
Понятно? – молодцы. Непонятно? — идёмте дальше, мы ещё к этому вернёмся. Также хочу обратить ваше внимание на то, что для лучшего понимания статьи, вы уже должны обладать начальными знаниями о PHP, а также о работе с методами GET и POST. Продолжаем.
Для того чтобы наш обработчик, то есть mod_rewrite не срабатывал каждый раз без надобности, мы в RewriteRule указываем шаблон, которому должны соответствовать приходящие URL. Если URL не соответствует шаблону, то mod_rewrite просто не сработает и не преобразует пришедший SEF URL в URL, с которым мы можем работать.
То есть на данном этапе вам важно понять саму суть: в ЧПУ ссылках не передаются параметры, а без параметров мы не можем ничего сделать в PHP с этой ссылкой, поэтому с помощью mod_rewrite мы преобразуем ЧПУ ссылку без параметров в не ЧПУ ссылку с параметрами. Что такое параметры? В примере выше имеем 2 параметра:
/index.php?category=useful&article=$1
Параметр category и параметр article.
Опять-таки обращаю ваше внимание, что про параметры вы уже должны были знать, я лишь вкратце вам напомнил.
В шаблонах мы можем использовать символы и символьные классы. Символ точки обозначает абсолютно любой символ.
- . – любой одиночный символ
- [redf] – это класс символов. Обозначает наличие одного из перечисленных символов с учётом регистра.
- [a-z] – класс символов. Обозначает наличие одного из символов в промежутки от a до z, то есть весь английский алфавит.
- [a-zA-Z] – то же самое, только без учёта регистра, то есть весь алфавит, включая и большие и маленькие буквы.
- Можно и с цифрами: [0-9]
- Естественно, всё можно комбинировать: [a-zA-Z0-9]
- [^rewfad] – класс символов, но со знаком ^ внутри квадратных скобочек обозначает, что шаблон НЕ должен содержать данных символов.
- site|cite – обозначает альтернативу: подходит site или cite.
Квантификаторы или кванторы
Все предыдущие примеры обозначали один символ (одну единицу), а что если мы хотим показать, что символов из этого промежутка [a-zA-Z] может быть не один, а сколько угодно. Для этого мы должны использовать квантификаторы:
- ? — 0 или 1 символ из предшествующего текста (класса символов, символа и тд.)
- * — 0 или любое количество символов из предшествующего текста (n>0)
- + — 1 или любое количество символов из предшествующего текста (n>1)
- {n} — ровно n символов, где n – конкретное число.
Например:
- {4} — должно быть ровно 4 символа из предшествующего текста.
- {4,5} — 4 или 5 символов
- {,6} — от нуля до 6 символов
- {4,} — от 4 до бесконечности символов
Примером может послужить наша уже известная строчка:
RewriteRule ^useful/([a-z]*)
В которой мы применили квантификатор (квантор) звёздочку (*) после класса символов [a-z]. Это значит, что в нашем URL после useful/ могут находиться символы от a до z в любом количестве и, естественно, в любой последовательности, а могут и не быть вовсе. Домен в счёт не берём, он подразумевается сам по себе.
Экранирование
Также при составлении шаблона не стоит забывать и про экранирование. Если вы хотите заключить в класс символов, например, символ точки, то вам нужно её заэкранировать, так как без экранирования точка (служебный символ) обозначает абсолютно любой символ:
[a-zA-Z0-9.]
Тоже самое касается и квадратных скобочек, они у нас обозначают класс символов, поэтому если в вашем url могут быть квадратные скобочки их нужно заэкранировать:
[a-zA-Z0-9.[]]
Ограничение начала и конца строки (маркеры)
Для того чтобы указать начало или конец строки, без учёта домена, используются символы:
- ^ — начало URL
- $ — конец URL
То есть в нашем первом примере мы указали, что наш шаблон начинается именно с начала URL, а не откуда угодно (с середины, с конца):
RewriteRule ^useful/([a-z])
Обращаю ваше внимание на то, что знак ^ внутри квадратных скобок обозначает отрицание, не путайте!
Обратные связи в mod_rewrite
$n – это наша «переменная» в круглых скобках, о них мы уже говорили. Работает для RewriteRule.
%n – то же самое, только в RewriteCond. RewriteCond мы ещё не рассматривали, он у нас впереди.
Итак, если RewriteRule – это наши правила преобразования URL, то RewriteCond – это условие, аналог if в PHP. RewriteCond нужно в ситуациях, когда вам необходимо выполнить URL преобразование (RewriteRule) только при выполнении какого-то условия.
У сервера есть свои собственные переменные, которые мы можем использовать в наших условиях RewriteCond:
HTTP заголовки:
HTTP_USER_AGENT
HTTP_REFERER
HTTP_COOKIE
HTTP_FORWARDED
HTTP_HOST
HTTP_PROXY_CONNECTION
HTTP_ACCEPT REMOTE_ADDR
Соединение и запрос:
REMOTE_HOST
REMOTE_USER
REMOTE_IDENT
REQUEST_METHOD
SCRIPT_FILENAME
PATH_INFO
QUERY_STRING
AUTH_TYPE
Внутри серверные:
DOCUMENT_ROOT
SERVER_ADMIN
SERVER_NAME
SERVER_ADDR
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
Системные:
TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME
Специальные:
API_VERSION
THE_REQUEST
REQUEST_URI
REQUEST_FILENAME
IS_SUBREQ
Синтаксис применения серверных переменных таков:
%{переменная}
Давайте составим наше первое условие:
RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* RewriteRule …
Если посетитель зашёл с браузера Mozilla Firefox, то выполняем следующее правило. Как видите, в отличие от PHP мы не используем фигурные скобки для обрамления нашего правила, которое выполнится, если условие TRUE.
RewriteCond позволяет использовать операторы сравнения: < (меньше), > (больше), = (равно). Также есть специальные значения, например:
- -d (является ли каталогом)
- -f (является ли файлом)
- -s (является ли файлом с ненулевым размером)
- ! – отрицание.
Флаги
- nocase|NC – можно писать либо nocase, либо NC, это одно и то же, обозначает регистро-независмость. То есть мы можем больше не писать:
RewriteRule ^useful/[a-zA-Z]
Вместо этого написать так:
RewriteRule ^useful/[a-z] [NC]
RewriteCond %{REMOTE_HOST} ^host1.* [OR] RewriteCond %{REMOTE_HOST} ^host2.* [OR] RewriteCond %{REMOTE_HOST} ^host3.* RewriteRule …
[R=301]
[S=2]
Если нужно поставить одновременно несколько флагов, ставим их через запятую, например:
[NC,L]
Как вы уже могли догадаться, mod_rewrite можно использовать не только для ЧПУ, но и для многих других интересный целей, например, клоакинга – это метод чёрного SEO, когда по одному и тому же адресу посетителям отдаётся одна страница, а поисковым роботам совершенно другая. Ну и под конец статьи, я покажу вам живой пример использования всего написанного выше и как же это всё работает взаимодействуя с нашим PHP.
site-on.net
Что такое ЧПУ и причем тут SEO
ЧПУ адрес или ЧеловекоПонятный УРЛ — это адрес страницы, который прост и понятен для посетителя сайта и поисковых систем (Search Engine Friendly URL). Давайте разберемся во всех преимуществах ЧПУ адресов, рассмотрим примеры ЧПУ для всевозможных обстоятельств и научимся правильно использовать ЧеловекоПонятные УРЛы в любых ситуациях. Я часто пишу о том, что SEO — это комплекс множества факторов, и одним из таких факторов является URL-адрес страницы.
Не буду тратить время и перейду сразу к примерам.
Пример не ЧПУ адреса страницы:
mysite.ru/index.php?category=21&page=713
Пример ЧПУ:
yautka.ru/blog/okazalos-svistok
Еще пример плохого ЧПУ:
mysite.ru/category-436/24867341.html
Еще пример ЧПУ:
estpozvonit.ru/mobila/iphone-6-s-plus-pochti-novij.html
Последний URL страницы выглядит и читается проще прочих.
Как использовать ЧеловекоПонятные УРЛы
Первое, что приходит в голову — ключевые слова! Если человек ищет резиновую утку, дайте ему простой адрес:
rezinaoptom.ru/igrushki/utka-rezinovaja
Теперь, когда кто-то поставит на вас адресную ссылку, она будет нести в себе ключевые слова, а не номер id страницы, который ничего не означает.
Еще ЧПУ ссылки легко запоминаются:
seoimba.ru/blog/seo
Такой URL легко ввести вручную и сразу понятно, что нас там ждет SEO блог. То есть, посредством ЧПУ адреса, мы предоставляем посетителям больше информации о странице, на которую ведет ссылка. А ссылка несущая в себе больше информации — полезнее и ценнее.
Если ЧПУ ссылка содержит ключевые слова, то вся ссылка в сниппете либо же ее часть выделяется жирным. Это делает ссылку на сайт более заметной и увеличивает CTR сниппета страницы в поиске (кликать будут чаще, чем на конкурентов).
Структура и шаблоны ЧПУ
Структуру ЧеловекоПонятных УРЛов можно оформить по-разному. Какой будет структура ЧПУ может зависеть от особенностей работы движка сайта, тематики или общей структуры сайта. Вот несколько примеров самых распространенных ЧПУ шаблонов.
Пример прямого ЧПУ адреса:
doktorzlo.ru/kontakty/
Пример прямого ЧПУ адреса с расширением:
doktorzlo.narod.ru/kontakty.html
Такой адрес обычно имеют статические страницы вроде страницы «Контакты».
Пример ЧПУ категорий интернет-магазина:
crazyshop.ru/devochki/sumochki/acho-tak-dorogo.html
Пример ЧПУ структуры блога:
myblog.ru/2015/02/29/kto-zdes/
Заметьте, как удобно извлекать из такого адреса данные для запроса и как сложно потом перемещать страницы из одной категории в другую.
Чтобы корректно переместить страницы придется использовать 301 редирект, иначе исходная страница станет недоступной, а страница по новому адресу окажется дубликатом исходной, которая теперь недоступна.
Поисковики не оценят такие маневры и страница «вылетит» из поиска со всем вытекающими.
Постарайтесь не углублять структуру адресов, чаще всего достаточно глубины одной категории и множества категорий:
vypechka.ru/hlebushek/ vypechka.ru/bulochki/ vypechka.ru/tortiki/
Ведь чем дальше от названия домена сайта категория, тем ниже ее значимость для поисковых систем.
ЧПУ транслитом
Поисковые системы понимают любую транслитезацию по ГОСТу. Транслитезация оптимальна для создания ЧПУ, так как символы латиницы универсальны и не создают проблем при обработке. Кириллица, переведенная в транслит, достаточно легко читается и способна быстро предоставлять информацию о названии документа как людям, так и поисковым системам. Плюс транслита может быть в том, что сайт, использующий транслит в ЧПУ, в том же языковом регионе может иметь больший приоритет, чем сайт использующий латиницу.
Ну, а если вашей творческой частичке не нравится, как выглядят названия страниц транслитом — пишите ЧПУ латиницей.
ЧПУ латиницей
Латиница универсальна, ее легко обрабатывают поисковые системы, понимает половина мира и большая часть Россиян. А такие слова как shop, contacts или delivery уже давно близки и знакомы всем. Так что не бойтесь использовать английские слова в названии страниц и других документов, если такой вид ЧПУ кажется вам более подходящим.
ЧПУ кириллицей
Многие сайты используют кириллические ЧПУ, например, Википедия. Только есть одна проблема — кодирование кириллических символов в URL при копировании ссылки.
Фактически, кириллический ЧПУ:
ru.wikipedia.org/wiki/Сингулярность
Выглядит совсем не ЧПУ:
ru.wikipedia.org/wiki/%D1%E8%ED%E3%F3%EB%FF%F0%ED%EE%F1%F2%FC
Пробелы, нижнее подчеркивание или дефис (тире) в ЧПУ
Не используйте в ЧПУ адресах пробелы! Пробелы лучше заменять на «-» или «_». А что лучше использовать в названии ЧПУ вместо пробела: тире (дефис) или нижнее подчеркивание? Давайте сравним.
Тире (дефис) в ЧПУ устанавливается нажатием одной клавиши минус и служит разделителем. Кликните два раза подряд на слово, и оно выделится ровно до появления тире.
mysite.ru/mama-papa-ya
Функционально дефис выполняет ту же роль, что и пробел, однако, он может иметь собственное смысловое значение к конструкции ЧПУ.
Нижнее подчеркивание в ЧПУ требует нажатия комбинации двух клавиш Shift и минус (+1 лишнее действие). Кликните два раза подряд на любую часть строки и выделится вся строка как будто это одно слово.
mysite.ru/mama_papa_ya
Нижнее подчеркивание не имеет собственного смыслового значения в конструкции ЧПУ и может использоваться как замена пробела.
Поисковые системы понимают и тире «-», и нижнее подчеркивание «_». Используйте то, что ближе вам.
ЧПУ картинок, видео, документов
Когда поисковая система находит изображение или любой другой документ, она скачивает файл и анализирует всю информацию о нем. Название файла имеет большое значение, так как сообщает о его содержимом, что в случае с изображениями может быть единственным источником информации о нем. Аналогично ЧПУ адресов страниц, если изображение имеет название:
7982403.jpg
то оно передает меньше информации о своем содержимом, нежели изображение с ЧПУ названием:
ptichka-na-provode.jpg
Поисковые системы могут различить содержимое изображения по тематике страницы, по тексту, который окружает картинку, по атрибуту alt-картинки, по названию картинки, метаданным изображения, по сравнению изображения с другими похожими изображениями и т.д. Наша задача — придать как можно больше информации о изображении поисковой системе, чтобы она лучше индексировалась и передавала больше ценности контенту и странице. По сути, изображение на сайте тоже имеет свой уникальный адрес, является документом, как и страница сайта, и к нему применяются те же требования по ЧПУ. Так что ЧПУ картинок — мастхев.
Обязательно читайте подробную статью про SEO оптимизацию картинок.
Подведем итог
- Мы можем использовать ключевые слова в названии страниц, чтобы упростить навигацию на сайте и понимание содержимого ссылки на сайт.
- Поисковые системы понимают ключевые слова в ЧПУ, выделяют ЧПУ адреса в поиске, что в целом повышает релевантность страницы.
- Посетители проще запоминают названия страниц, чаще заходят напрямую и делятся страницами с ЧПУ адресами.
- ЧПУ повышает CTR сниппета страницы в поиске, что улучшает поведенческие факторы.
- ЧПУ улучшает SEO страниц, изображений и других документов, так как является значительным фактором поисковой оптимизации.
Еще нужны причины, чтобы использовать ЧПУ?
Вот вроде бы и все, если что забыл — пишите в комментах.
Ставьте лайк, сохраняйте себе на стену.
convertmonster.ru
Какими достоинствами обладают ЧПУ
Давайте перечислим преимущества использования ЧПУ:
- Такие адреса просто запоминаются;
- Подобные адреса можно продиктовать по телефону;
- В случае если пользователь уже был у вас на ресурсе и вручную набирает в адресной строке адрес вашего сайта, то он может сразу обратиться к интересующей его странице, глядя на адреса предыдущих запросов.
Чем полезны ЧПУ для ранжирования и оптимизации
Оптимизаторы давно заметили, что определенное влияние на позицию сайта в выдаче поисковых машин играет наличие ключевых слов в адресе страницы. Если в ссылке содержатся ключевые слова, то либо она вся, либо ее часть, в которой есть ключевое слово, выделяется жирным шрифтом. За счет этого ссылка становится более заметной, соответственно, и переходов по ней может быть больше, чем на конкурирующие сайты.
Настраивать человеку понятные урлы лучше сразу же после создания страницы, потому что если вы решите сделать это спустя какое-то время, то страницы на вашем сайте, которые проиндексируются поисковыми системами до оптимизации URL, будут при переходе по ним из поисковика выдавать ошибку 404 до следующей индексации. Можно, конечно, настроить редирект, но это будут дополнительные трудозатраты, которых можно изначально избежать.
Как настраивать ЧПУ
А теперь давайте рассмотрим, как настроить ЧПУ в одной из наиболее распространенных систем управления — WordPress. В этой системе можно настроить шаблон, по которому будут формироваться ЧПУ. Для этого нужно перейти на вкладку «Параметры» и выбрать уже там вкладку «Постоянные ссылки».
В этой вкладке изначально предложены шаблоны, по которым составляются адреса сайтов. Зачастую представленных вариантов недостаточно, и в таком случае следует выбирать пункт «Произвольно» и прописать в нем следующую строку — /%category%/%postname%.html. После этого адреса вашего сайта будут строиться по следующей схеме —
http://имя_сайта/название_категории/название_статьи.html.
Здесь есть очень важный момент — если у вас названия статей созданы на русском языке, что встречается наиболее часто, то и в адресах страниц будут содержаться русскоязычные слова. Поисковики не смогут нормально расшифровать названия ссылок на русском языке и преобразуют их в набор ничего не значащих для пользователя нечитаемых символов. Для того чтобы избежать этого, нужно воспользоваться плагином RusToLat, который сможет преобразовать русскоязычные символы в латинские, которые хорошо воспринимают поисковые машины.
www.seonews.ru
Что такое ЧПУ-ссылки
Вообще, ЧПУ — слово жаргонное, означающее человекопонятный урл. УРЛ — заимствование от английского URL, единообразного локатора ресурса. Человекопонятный, в свою очередь, означает набор символов в адресной строке, который удобно и легко воспринимается. Например, генерируемый адрес страницы может выглядеть так: http://example.com/index.php?page=name. Не очень понятно смотрится и не показывает структуру сайта. Присутствуют знаки, не несущие смысловой нагрузки и неясно, что значит страница и имя.
Следующий адрес может выглядеть так: http://example.com/products/new/boat. Здесь понятно, что речь о продукции, причём новой, а конкретно — о лодке. Это и есть человекопонятный урл. Он гораздо лучше индексируется поисковыми системами и показывается в выдаче выше остальных. А человек, посетивший сайт, сможет понять, что зашёл именно в нужный раздел.
Однако у ЧПУ-ссылок есть некоторые ограничения. Например, в адресе нельзя использовать русские символы. Они при этом заменяются на числовое значение и знак процента. Поэтому отечественные разработчики используют транслитерацию русских слов в латиницу. Например, так — oborudovanie или produkcia. Также автоматически сформированная ЧПУ-ссылка может увеличить общую длину строки.
Для реализации транслитерации и преобразования к человекопонятным урлам используются специальные средства. Доступны они, как правило, в системах управления контента — CMS. Создание ЧПУ-ссылок происходит в них автоматически, на основе названия товара, статьи или блога, а также раздела, в котором он размещён. В итоге, при создании новой записи, добавления товара формируется человекопонятный урл, который хорошо воспринимается и людьми, и машинами.
Как сделать ссылки ЧПУ в популярных CMS
CMS — система управления, контентом, которая в удобном и простом интерфейсе позволяет в короткие сроки создать полноценный сайт. Функционал расширяется за счёт наличия большого количества готовых шаблонов, модулей и плагинов. Это позволяет человеку далёкому от языков программирования PHP, JavaScript, HTML и смежных им, быстро создать свой собственный сайт или блог.
Практически все системы управления контентом обладают отличным набором инструментов в виде плагинов для создания ЧПУ. Стоит подробнее рассмотреть наиболее распространённые из них.
- WordPress — самая популярная, по статистике, система управления контентом. Она установлена на большинстве известных блогов и сайтов. Славится простотой освоения и установки.
- Joomla — популярна меньше, но все же активно используется среди разработчиков. Обладает хорошим функционалом, выбором компонентов, плагинов и модулей.
- OpenCart — отдельный проект для создания интернет-магазинов. Внутренне напоминает любую CMS, но «заточен» под решение узкого круга задач.
ЧПУ-ссылки в WordPress — простота реализации
WordPress является, наверное, самой простой системой управления контентом. Она способна значительно упростить создание сайта или блога с нуля за короткое время.
Настройка ЧПУ в WordPress проста и сводится в основном к скачиванию и установке плагина Cyr-To-Lat. Он служит для преобразования кириллических строк в латиницу.
Для начала стоит его найти и скачать. Делать это лучше с официального сайта WordPress. Так можно избежать вероятности попадания в плагин вредоносного или рекламного кода.
- После скачивания архива его нужно распаковать.
- Затем надо переместить эту папку в раздел wp-content ->plugins. Делается это, как правило, с помощью любого доступного FTP менеджера.
- Теперь нужно зайти в административную панель WordPress, введя логин и пароль.
- В разделе «Плагины» надо найти Cyr-To-Lat и активировать его. Плагин теперь установлен в системе и включен.
Далее, нужно выполнить настройку структуры ссылок.
- Для этого надо перейти в «Параметры», и там зайти в «Постоянные ссылки».
- В общих настройках есть несколько шаблонов, по которым можно построить внешний вид ссылки. Рекомендуется использовать тип «Произвольно», позволяющий настроить все, как необходимо. Самая простая конструкция для такого шаблона — /%category%/%postname%/. Она означает, что в адресной строке будет выводиться категория, а затем название поста.
- А потом уже Cyr-To-Lat преобразует все это в латиницу. В результате, получится красивая и понятная ЧПУ-ссылка в WordPress.
Помимо Cyr-To-Lat, можно использовать и аналоги, которые присутствуют на официальном сайте. Например, такие — WP Translitera, ACF: Rus-To-Lat, Rus-To-Lat Advanced. Установка данных плагинах похожа, поэтому останавливаться на них отдельно не имеет смысла.
ЧПУ в Joomla, несколько вариантов создания
Joomla немного более сложная система управления контентом. Так же, как и WordPress обладает свойством создавать сайты и блоги в короткие сроки. Она имеет обширный функционал и гибкость. Далее, нужно описать как сделать ссылки ЧПУ в данной CMS.
Joomla изначально обладает встроенным функционалом для создания человекопонятных урлов. ЧПУ-ссылки в Joomla 3 можно включить на странице общих настроек в разделе «Настройки SEO». Пункт «Включить SEF (ЧПУ)» должен быть установлен в положение «Да». Таким образом ссылки будут преобразованы в более понятный вид.
Здесь же можно дополнительно установить перенаправление урлов, путем создания ЧПУ-ссылки в htaccess. Этот файл выполняет роль конфигурационного хранилища веб-сервера Apache. В нем можно с помощью регулярных выражений и директивы RewriteRule изменить преобразование ссылки в нужный урл. Главное отличие такого подхода — гибкость. Можно привести ссылки практически к любому виду.
Пункт «Добавлять суффикс к URL» приставляет в конце строки расширение документа. Например, html. Данное расширение мало интересует рядового посетителя сайта, поэтому опцию можно оставить в положении «Нет».
Алиасы в Unicode — данный пункт проводит транслитерацию названия материала в латиницу. Это нужно для того, чтобы вместо русских букв или других символов не отображалось нечто несуразное и нечитаемое.
Альтернативные компоненты для Joomla
Реализовать генератор ЧПУ-ссылок в Joomla также можно с помощью различных компонентов. Например, один из популярных — JoomSEF. Он распространяется бесплатно и лучше скачивать его с официального сайта Joomla.
В её функционал, помимо преобразования урлов в ЧПУ, имеется набор для генерирования метаданных, поисковых машин, ключевых слов, а также управления дублирующимися страницами. Стоит отметить имеющуюся поддержку кодировки UTF-8 и настройку страницы 404 по своему усмотрению.
В Joomla 3 возможны три способа установки: загрузкой напрямую с компьютера, из каталога сайта и посредством передачи ссылки на него.
Для первого варианта файл придётся скачать. Затем выбрать в меню административной панели CMS в «Расширения» и перейти в «Менеджер расширений». С помощью кнопки «Выберите файл» надо показать системе подготовленный архив и установить его.
Второй вариант используется редко. А вот третий является самым удобным из них, так как не требует скачивания. Достаточно всего лишь скопировать ссылку на JoomSEF и указать его в поле «Установить из URL» на одноимённой вкладке. Система сама проверит его наличие и при соответствии всех параметров установит.
Стоит отметить, что для полноценной работы дополнения, нужно чтобы пункты «Включить SEF», «Перенаправление URL» и «Добавлять суффикс к URL» в настройках SEO были переведены в положение «Да».
Установленный компонент сразу же внедрится в систему в активном режиме и начнёт свою работу. А именно, преобразует все имеющиеся ссылки в более эстетичный вид.
JoomSEF обладает большим количеством настроек и опций. С их помощью можно очень тонко привести все ссылки сайта практически к любому необходимому виду.
JBZoo и человекопонятный урл
Компонент JBZoo представляет собой универсальный и мощный инструмент для создания интернет-магазинов, каталогов, блогов и просто сайтов-визиток на базе системы управления контентом Joomla.
Для установки JBZoo в Joomla в ней уже должно присутствовать дополнение Zoo.
Иногда стандартные настройки SEF не дотягиваются до своих компонентов, чтобы выполнить преобразование. Поэтому для создания ЧПУ-ссылок в JBZoo рекомендуется применять компонент sh404SEF. Данный продукт бесплатен и является хорошим инструментом для формирования ссылок в JBZoo. Большое количество настроек, функций, поддержки различных соцсетей и сервисов.
Установка производится путем копирования ссылки на архив, либо с помощью прямой загрузки файла на сервер, скачанного предварительно.
OpenCart и настройка ЧПУ
OpenCart — это платформа без привязки к какой-либо системе управления контентом. То есть функционирует отдельно. Ее главная направленность — удобное создание интернет-магазинов различной степени сложности. Несмотря на то что сам продукт бесплатен, многие дополнения к нему распространяются на коммерческой основе. Последняя стабильная версия — 2.0.
ЧПУ-ссылки в OpenCart 2 можно сформировать посредством ручной настройки или же с помощью отдельных модулей.
Начать настройку ЧПУ первым способом можно с редактирования конфигурационного файла htaccess веб-сервера Apache.
- Для этого нужно перейти в папку сайта через FTP или имеющийся в административной памяти файловый менеджер.
- В корневом каталоге должен лежать файл .htaccess.txt. Так как он не оказывает никакого действия на систему с расширением txt, то первое, что надо сделать — переименовать его в .htaccess. Теперь веб-сервер будет читать его директивы и исполнять их.
- Теперь нужно перейти в настройки сайта и на вкладке «Сервер» включить использование ЧПУ.
- Все изменения нужно сохранить.
- Теперь все ссылки должны преобразится.
Иногда, ввиду некоторых причин, многие адреса все же не изменяются и остаются непонятными. Для реализации этой задачи можно использовать компонент SeoPro. Правда, перед его установкой придётся сначала реализовать OCMOD Multiline Fix. Для этого нужно вручную изменить код одного файла. Находится он по адресу admin/controller/extension/modification.php. Для его редактирования рекомендуется использовать утилиту Notepad++, чтобы избежать проблем с кодировками.
Добавить нужно всего одну строку кода в блок после переменной $limit. Выглядит она так:
- $quote = $operation->getElementsByTagName(‘search’)->item(0)->getAttribute(‘quote’);
Далее, нужно найти условие:
- if (!$limit) {
- $limit = -1;
- }
и после него добавить:
- if ($quote == ‘true’) {
- $search = preg_quote($search);
- }
Данные файлы после изменения нужно сохранить.
Затем надо собственно установить и сам модуль SeoPro. Скачанный архив нужно распаковать на сервере. Затем выполнить пару запросов в базу данных посредством phpmyadmin:
- ALTER TABLE `oc_product_to_category` ADD `main_category` tinyint(1) NOT NULL DEFAULT ‘0’; ALTER TABLE `oc_product_to_category` ADD INDEX `main_category` (`main_category`);
Теперь нужно поправить главный файл index.php. В нем интересует строка:
- $controller->addPreAction(new Action(‘common/seo_url’));
которая заменяется на:
- if (!$seo_type = $config->get(‘config_seo_url_type’)) {
- $seo_type = ‘seo_url’;
- }
- $controller->addPreAction(new Action(‘common/’ . $seo_type));
Далее, идёт набор процедур, связанных с настройками внутри админки. В меню надо найти «Модули», перейти в «Модификаторы» и нажать на обновления. Находясь здесь же, нужно перейти к списку «Модули» и в нем установить SeoPro. Затем, по нажатию кнопки «Редактировать» зайти в него и сохранить. После всех манипуляций все должно заработать, если нет, то надо попробовать снова переустановить модуль. Или обратиться за помощью к специализированным форумам.
Реализация функционала ЧПУ на языке PHP
Большинство сайтов в Сети написаны на PHP. Он достаточно мощен, удобен и прост в изучении. Его работа незаметна для пользователя, так как обработка PHP-кода происходит на стороне сервера и браузеру отправляется уже готовая HTML-страница, понятная ему.
Показать реализацию ЧПУ-ссылок на PHP можно на небольшом примере кода. Однако для приведения строк адреса в реальных многостраничных проектах к человекопонятному виду, придётся повозиться.
Любой сайт начинает свою работу с файла index.php. В том числе и генерирует обращение к другим страницам сайта. Но сначала нужно немного изменить конфигурационный файл htaccess. В нем надо указать или расскомментировать несколько директив, как показано на фото.
Первая строка разрешает преобразовать URL с помощью сервера. Вторая — устанавливает базовый адрес. Следующие две строки выполняют проверки на присутствие файла и папки. Последняя передаёт управление в index.php, если 3 и 4 строка реализуются без ошибок.
Для хранения соответствия id страницы и её преобразованного значения нужна таблица. Поэтому её надо создать. В частности, можно создать простенькую, для понимания процесса. Она будет содержать два поля: SEF и page_id. SEF хранит название и имеет тип varchar. А page_id — номера страниц типа int.
Теперь осталось поправить и сам файл index.php. Это всего лишь пример и на практике конкретного проекта все может быть несколько иначе: $result = $_SERVER[‘REQUEST_URI’]. В данной строке в переменную $result передаётся запрошенный урл.
- if (preg_match (‘/([^a-zA-Z0-9./-_#])/’, $result)) { header(‘HTTP/1.0 404 Not Found’); echo ‘Недопустимые символы в URL’; exit; }
В этом блоке проверяется наличие символов, цифр и некоторых знаков. Если присутствует что-то другое кроме перечисленных, то выдаётся страница 404.
- $array_url = preg_split (‘/(/|..*$)/’, $result,-1, PREG_SPLIT_NO_EMPTY);
Здесь объявлен массив $array_url, в который с помощью функции preg_split помещаются элементы, не имеющие ничего лишнего в ЧПУ.
- if (!$array_url) { $ID_page = 1; }else{ $sef_value = $array_url[0];
Здесь происходит обработка запроса в случае, когда обращение было произведено не к конкретной странице, а к домену. Поэтому нужно в ответ отправить id = 1. Также на этом месте подразумевается запрос к базе данных проекта, который узнает, имеется ли в ней значение из переменной $sef_value в поле SEF. Если ничего не найдено, отправить пользователю страницу 404. В конце идёт обработка полученного в результате кода адреса и выдача соответствующих материалов или элементов.
Плюсы и минусы использования ЧПУ
Преимущества использования человекопонятных урлов можно перечислить таким образом:
- ссылка визуально выглядит эстетичнее, нежели набор непонятных символов, особенно на незнакомых сайтах;
- запоминание адреса происходит гораздо легче;
- весь путь и структура сайта становится понятной;
- GET параметры, передающиеся обычным путем, используют переменные в адресной строке, чего нет в ЧПУ, а значит, не нарушается безопасность;
- улучшение навигации по сайту;
- СЕО-оптимизация значительно улучшается и поисковые роботы лучше индексируют такой сайт.
Недостатков гораздо меньше. И самый существенный из них — это настройка. Не всегда удаётся привести адреса страниц к человекопонятному виду путем штатных или сторонних решений. Иногда приходится вникать в код и править его самостоятельно, что требует знаний и времени. Второй недостаток не так существенен и касается сайтов с большой посещаемостью. Из-за формирования ссылок на «лету» повышается нагрузка на сайт. Но так как стоимость сетевого оборудования неуклонно снижается, то такие затраты на ресурсы сервера мало кто считает. В общем, преимущества значительно перевешивают недостатки, поэтому несмотря на сложную реализацию человекопонятных урлов, использовать их стоит.
Заключение
В статье рассмотрено, какие ссылки являются ЧПУ, а какие нет. Были подробно расписаны наиболее простые и быстрые решения проблемы. А также несколько самых доступных вариантов сложных подходов. В любом случае использование CMS при разработке сайта значительно снижает трудо- и временные затраты при оптимизации адресов страниц. Поэтому связка CMS и ЧПУ должна быть использована как наиболее эффективная альтернатива ручной разработке.
fb.ru