Из чего складывается адрес страницы
URL — это адрес ресурса в интернете. В работе контент-менеджера важнее всего та часть, которую видно в браузере после домена сайта.
Например, в адресе https://mysite.ru/company/contacts.php домен — mysite.ru, а путь к странице — /company/contacts.php.
В Битрикс адрес зависит от того, с каким типом информации вы работаете: со статической страницей или динамическим материалом.
Статическая страница получает адрес из структуры
Статическая страница хранится как файл в структуре сайта. Поэтому ее адрес зависит от папки и имени файла.
Если в корне сайта создана страница newpage.php, она откроется по адресу:
mysite.ru/newpage.php
Если страница лежит внутри раздела, путь станет длиннее:
mysite.ru/razdel/newpage.php
У раздела есть особенность. Если внутри папки лежит файл index.php, при открытии раздела имя файла обычно не показывается в адресной строке:
mysite.ru/razdel/
Для контент-менеджера важно правило: когда вы создаете раздел или страницу, вы фактически влияете на будущий адрес. Понятное имя папки и файла помогает получить понятную ссылку.
Параметры передают странице дополнительные данные
После пути в адресе могут идти параметры. Они начинаются со знака ? и передают странице дополнительные данные. Несколько параметров разделяются знаком &.
Пример:
mysite.ru/catalog/?SECTION_ID=1&ELEMENT_ID=2
Такой адрес сообщает странице, какой именно элемент нужно показать. Для системы это рабочий вариант, но для посетителя ссылка выглядит технической: по ней трудно понять, что откроется.
Параметры встречаются не только в каталоге. Например, они могут появляться после применения фильтра, при очистке кеша или при включении режима правки.
| Адрес | Когда можно встретить |
|---|---|
| mysite.ru/personal/orders/?filter_history=Y | Когда включен фильтр в заказах. |
| mysite.ru/newpage.php?clear_cache=Y | После очистки кеша страницы. |
| mysite.ru/?bitrix_include_areas=Y | При включении режима правки сайта. |
Якорь ведет к месту внутри страницы
В конце адреса может быть якорь — часть после знака #.
mysite.ru/newpage.php#example
Якорь нужен, когда ссылка должна открыть не только страницу, но и конкретный фрагмент внутри нее. Например, большой документ можно открыть сразу на разделе с условиями доставки.
Установить якорь можно в визуальном редакторе по кнопке с иконкой якоря.
Как формируются адреса динамических материалов
Новости, товары, акции и другие динамические материалы из инфоблоков не являются отдельными файлами в структуре сайта — их выводит компонент. Веб-формы, курсы и другие модули тоже используют компоненты, но здесь мы разбираем общий принцип на инфоблоках.
Чтобы адрес работал правильно, настройки инфоблока и компонента должны совпадать. Если они различаются, ссылка может вести не туда или открываться с ошибкой.
Настройки инфоблока задают шаблоны адресов
В настройках инфоблока могут быть шаблоны адресов для списка, раздела и детальной страницы. В них используются макросы — специальные значения, которые Битрикс подставляет автоматически.
Форму настроек инфоблока можно открыть через административную часть: Контент > Инфоблоки > Типы инфоблоков > Нужный инфоблок.
Посмотрим, из каких частей состоят эти адреса.
| Часть адреса | Что означает |
|---|---|
| #SITE_DIR# | Корневая папка сайта. Такая запись видна в настройках, а в адресной строке браузера вместо нее будет адрес сайта, например mysite.ru. |
| catalog | Раздел, в котором находятся страницы для вывода материалов. |
| index.php, list.php, detail.php | Страницы, на которых компоненты выводят список, раздел или детальный материал. |
| ID, SECTION_ID, ELEMENT_ID, SECTION_CODE, ELEMENT_CODE | Параметры, которые принимают идентификаторы инфоблока, раздела или элемента. |
| #IBLOCK_ID#, #SECTION_ID#, #ELEMENT_ID#, #SECTION_CODE#, #ELEMENT_CODE# | Макросы. Вместо них Битрикс подставит числовой идентификатор нужного инфоблока, раздела или элемента. |
После подстановки значений посетитель увидит в адресной строке уже не макросы, а обычные адреса:
mysite.ru/catalog/index.php?ID=5
mysite.ru/catalog/list.php?SECTION_ID=3
mysite.ru/catalog/detail.php?ELEMENT_ID=248
Настройки компонента связывают адрес с данными
Компонент тоже должен понимать, какой параметр из адреса использовать. Если в адресе передается ELEMENT_ID, в настройках компонента должно быть указано, что именно этот параметр отвечает за элемент. Если в адресе передается SECTION_ID, компонент должен использовать его как параметр раздела.
Это особенно важно, если стандартные названия параметров меняют под проект. Например, вместо ELEMENT_ID можно настроить другое имя параметра, но тогда это же имя нужно указать в компоненте.
Чтобы открыть настройки компонента, включите Режим правки, наведите курсор на область компонента и нажмите на шестеренку.
Что такое ЧПУ
Адреса динамических страниц часто делают более понятными. Для этого включают поддержку ЧПУ.
ЧПУ — это человекопонятный URL. Так называют адрес, который читается как нормальный путь по сайту, а не как набор технических параметров.
Сравните два адреса:
mysite.ru/catalog/?SECTION_ID=8&ELEMENT_ID=4
mysite.ru/catalog/pants/pants-striped-flight/
Первый адрес понятен системе, но не объясняет посетителю, что откроется. Второй показывает, что ссылка ведет в каталог, в раздел с брюками и к конкретному товару.
В Битрикс поддержка ЧПУ включается в параметрах компонента.
- Включите Режим правки и откройте настройки компонента.
- В секции Управление адресами страниц отметьте опцию Включить поддержку ЧПУ.
- В поле Раздел замените #SECTION_ID#/ на #SECTION_CODE#/. Теперь ссылка будет строиться по символьному коду раздела, а не по его идентификатору. Если разделов нет, оставьте поле пустым.
- В поле Детальная информация измените #SECTION_ID#/#ELEMENT_ID#/ на #SECTION_CODE#/#ELEMENT_CODE#/. Если разделов нет, замените #ELEMENT_ID# на #ELEMENT_CODE#.
- Сохраните настройки компонента.
Если ссылки на разделы и элементы будут на одном уровне вложенности, компонент не сможет определить, что открывать по ссылке: раздел или элемент.
Если уровень вложенности нужен одинаковый, используйте префиксы. Например, в поле Раздел укажите section-#SECTION_CODE#/, а в поле Детальная информация — detail-#ELEMENT_CODE#/.
После настройки компонента перейдите в админку в раздел Контент > Инфоблоки > Типы инфоблоков > Нужный инфоблок. В форме инфоблока повторите те же шаблоны адресов.
Убедитесь, что в нужных разделах и элементах инфоблока заполнено поле Символьный код. Для этого в публичной части включите Режим правки, наведите курсор на нужную область и откройте редактирование раздела, товара или другого элемента.
Если символьные коды не заполнены, адреса могут остаться техническими. Поэтому лучше настроить обязательное заполнение символьного кода при создании разделов и элементов. Иначе уже добавленные разделы и элементы придется открывать по одному и вручную транслитерировать названия.
Форму редактирования можно настроить. Если каких-то полей не хватает или лишние поля мешают работе, измените состав формы в административной части сайта.
Подробнее о настройке — на странице Инфоблоки: настройка форм, полей и изображений.
Чем опасно менять ЧПУ на опубликованном сайте
Адрес — это не только строка в браузере. Он может быть в меню сайта, рекламных объявлениях, поисковой выдаче и ссылках с внешних сайтов.
Если изменить шаблон ЧПУ после публикации, старые ссылки могут перестать работать. Особенно рискованно менять адреса каталога, новостей или разделов, которые уже попали в поиск или рекламу.
Перед изменением ЧПУ нужно согласовать задачу с администратором или разработчиком и понять, что будет со старыми ссылками.
Вложенные ЧПУ показывают полный путь разделов
Обычные ЧПУ не всегда показывают всю вложенность каталога. Например, товар лежит в подразделе sectionC, который находится внутри sectionA и sectionB.
Адрес может получиться коротким:
mysite.ru/catalog/sectionC/element/
Но иногда нужен полный путь:
mysite.ru/catalog/sectionA/sectionB/sectionC/element/
Для этого используют вложенные ЧПУ. В шаблонах адресов применяется макрос #SECTION_CODE_PATH# — он подставляет полный путь по символьным кодам разделов.
- Перейдите в административный раздел и откройте форму редактирования инфоблока.
- В полях URL страницы раздела и URL страницы детального просмотра для настройки шаблонов путей используйте переменную #SECTION_CODE_PATH#.
Чтобы завершить настройку, перейдите в публичную часть сайта и откройте настройки компонента, который выводит информацию из измененного инфоблока. В настройках аналогично добавьте макрос #SECTION_CODE_PATH# в шаблоны адресов.
Вложенные ЧПУ полезны, когда структура каталога важна для посетителя и для логики сайта. Например, в большом каталоге одежды путь может показывать тип товара, коллекцию или другую вложенность.
Красивые адреса для фильтров товаров
В каталоге посетитель часто применяет фильтр: выбирает бренд, год, цвет, размер или цену. Без ЧПУ ссылка на результат фильтрации может выглядеть как длинная строка с параметрами:
mysite.ru/e-store/books/business/?FILTER_P1_MIN=&FILTER_P1_MAX=&FILTER_19_1218211285=Y&set_filter=Y
Такую ссылку трудно отправить покупателю или использовать в промо-материале. При поддержке ЧПУ адрес фильтра может выглядеть понятнее:
mysite.ru/e-store/books/business/filter/year-is-2002/publisher-is-exmo/apply/
Для умного фильтра в шаблоне адреса используется блок #SMART_FILTER_PATH#. Он должен быть ограничен специальными частями пути, например /filter/ и /apply/.
Если каталог выведен комплексным компонентом Каталог, отдельные настройки фильтра могут не понадобиться: ЧПУ включают и настраивают в самом компоненте каталога. Если каталог собран из простых компонентов, поддержку ЧПУ нужно настроить во всех связанных компонентах, особенно в компоненте Умный фильтр.
Короткие ссылки
Иногда реальный адрес страницы слишком длинный для письма, презентации, QR-кода или устной передачи. В таких случаях можно создать короткую ссылку: она будет выглядеть как короткий адрес внутри того же домена и перенаправлять посетителя на исходную страницу.
Например, вместо длинного адреса каталога можно использовать ссылку вида:
mysite.ru/~sale
Короткая ссылка не заменяет реальный адрес страницы и не меняет настройки ЧПУ. По сути это перенаправление: посетитель открывает короткий адрес, а система переводит его на нужную страницу. После перехода в адресной строке браузера может отображаться уже реальный адрес.
Создать короткую ссылку можно из публичной части сайта. Откройте нужную страницу и на панели управления нажмите Добавить короткую ссылку.
В форме проверьте поле Ссылка: в нем должен быть адрес страницы, на которую нужно вести посетителя. В поле Короткая ссылка укажите короткий вариант адреса. Система автоматически предложит ссылку из случайных символов со знаком ~ в начале. Этот знак использовать не обязательно, но он помогает отличать короткие ссылки от обычных разделов сайта.
Поле Код HTTP статуса определяет тип перенаправления. Если не уверены в выборе статуса, оставьте значение, которое предложила система, или согласуйте настройку с SEO-специалистом.
- 301 — постоянное перенаправление. Используйте его, когда старый адрес больше не нужен и посетителя нужно всегда вести на новый адрес. Например, товара больше не будет в продаже, поэтому короткая ссылка ведет на похожую модель.
- 302 — временное перенаправление. Используйте его, когда страница или товар должны вернуться по старому адресу. Например, товара временно нет в наличии, и короткая ссылка пока ведет на альтернативу.
Если нужно посмотреть или изменить уже созданные ссылки, откройте административный раздел: Настройки > Настройки продукта > Обработка адресов > Короткие ссылки. В списке можно увидеть короткие ссылки, их исходные адреса и статистику использования.
Если короткая ссылка не открывается, обратитесь к администратору: работа этого инструмента зависит от настройки обработки адресов на сайте.
Если на опубликованном сайте нужно изменить адрес страницы и сохранить переходы со старых ссылок, согласуйте задачу с администратором, разработчиком или SEO-специалистом. Для таких задач важен тип перенаправления и то, как поисковые системы обработают старый адрес.
Как URL связан с навигацией
Навигация — это все, что помогает посетителю перемещаться по сайту и понимать, где он находится. В Битрикс к таким средствам относятся меню, карта сайта и хлебные крошки.
- Меню ведет посетителя по важным разделам. Если адрес страницы изменился, пункт меню должен вести на новый адрес.
- Карта сайта показывает разделы и страницы в иерархии. Если структура сайта запутана, карта тоже будет выглядеть запутанной.
- Хлебные крошки помогают вернуться на уровень выше. Для вложенных разделов она особенно важна: посетитель видит, где находится, и может перейти к родительскому разделу.
Как проверить сайт после изменения адреса
После создания или изменения адреса проверьте страницу, навигацию и переходы со старых ссылок:
- Страница: новый адрес открывается в публичной части и показывает нужный материал.
- Навигация: пункт меню, карта сайта и хлебные крошки ведут на правильный адрес.
- Старые и внешние ссылки: переходы из других страниц, писем и рекламных материалов не ведут на ошибку.
- Перенаправление: если оно настроено, старый адрес переводит посетителя на нужную страницу, а код ответа соответствует согласованному варианту.
- Вид адреса: ссылка понятна и не содержит лишних технических параметров.