Как настроить вложенные ЧПУ Битрикс. Битрикс чпу


Настройка ЧПУ в 1С-Битрикс | Для разработчиков

Самый главный файл в 1С-Битрикс для настройки ЧПУ это urlrewrite.php, который находиться в корневой папке вашего сайта. В нем прописаны правила обработки адресов. Эти правила также создаются в админке сайта на странице "Настройка правил обработки адресов" по следующему пути Настройки ->Настройки продукта -> Обработка адресов -> Правила обработки ваш сайт/bitrix/admin/urlrewrite_list.php?lang=ru  Но как правила вручную эти адреса не прописывают их указывают в настройках компонента или инфоблока При сохранение компонента создаются правила в urlrewrite.php, для этого вы должны корректно настроить ЧПУ в настройках компонента в режиме правки

Для не комплексного компонента создать правила сложнее, их скорее всего придется править вручную в файле. Ниже код правила, позволяющий открывать страницы в которых могут быть любые буквы и цифры. Также обратите внимание на .* в конце, эта точка и звездочка нужна для того, что бы корректно открывать адреса с GET переменными, например когда после сохранения страницы у вас появляется параметр /?clear_cache=Y  Если не указать эти символы в конце, то отобразится 404 ошибка, т.е. страница или раздел не будут найдены. 
  1. <?

  2. $arUrlRewrite = array(

  3. array(

  4. "CONDITION" => "#^/catalog/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/.*#",

  5. "RULE" => "SECTION_CODE=\$1&ELEMENT_CODE=\$2",

  6. "ID" => "",

  7. "PATH" => "/catalog/detail.php",

  8. ),

  9. array(

  10. "CONDITION" => "#^/catalog/([a-zA-Z0-9-]+)/.*#",

  11. "RULE" => "SECTION_CODE=\$1",

  12. "ID" => "",

  13. "PATH" => "/catalog/list.php",

  14. ),

  15. );

  16.  

  17. ?>

Правило для комплексного компонента создается автоматически, после сохранения компонента, править вручную его не нужно:
  1. <?

  2. $arUrlRewrite = array(

  3. array(

  4. "CONDITION" => "#^/news/#",

  5. "RULE" => "",

  6. "ID" => "bitrix:news",

  7. "PATH" => "/news/index.php",

  8. ),

  9. );

  10. ?>

Загрузка

site05.ru

Как я делал ЧПУ в Битриксе

Нет, не работало по другой причине, в компоненте в поле:

ID элемента: усиленно пытался ввести:

={$_REQUEST["code"]}

Хотя ниже есть специальное прекрасное поле: Код элемента:

Перенес значение туда и все стало ок (вот что значит заниматься ЧПУ несколько часов, в первые, поле не видел и не осознавал).

В процессе настроек я пошел дальше, кроме подключения ЧПУ к детальному описанию, например тут уже работает:

http://www.vremyaigr.ru/catalog/buy/pc_game/Darkness_2_PC/

Я решил настроит ЧПУ и в компоненте:

bitrix:catalog.section

Вот временная страничка для экспериментов:

http://www.vremyaigr.ru/catalog/buy/pc_game/

Как бы все сработало и отображается и вроде и переходы работают с нее и на нее, но возникают казусы которые все портят.

Например вы перешли на эту страничку как залогиненый пользователь сайта, а потом решили разлогинится, в УРЛЕ после этого появляется следующий текст:

http://www.vremyaigr.ru/catalog/buy/pc_game/index.php?SECTION_CODE=pc_game&x=3&y=6&code=index

Который выводит ошибку: Элемент не найден.

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

Вы заходите на страничку без авторизации (по рекламе, по ссылке друга и т.д., то есть вероятность велика), а потом находясь на ней, пожелали залогинится, и получили похожую проблему, правда несколько с другим видом УРЛА:

http://www.vremyaigr.ru/bitrix/urlrewrite.php?SEF_APPLICATION_CUR_PAGE_URL=%2Fcatalog%2Fbuy%2Fpc_game%2Findex.php

Но с тем же результатом: Элемент не найден.

Что самое интересное, таких проблем не возникает на странице с детальным описанием товара, то есть можно разлогиневаться, логинется, обновляться и т.д. все ок, появляются всякие дополнения в виде значений в конце, например ?clear_cache=Y и тому подобное, но все работает.

А вот на странице списка каталогов не в какую, поэтому пока не вывожу в работу данную часть.

В настройках обработки адресов стоят следующие значения для проблемного места, может в нем что не так:

Условие: #^/catalog/buy/([\w\d]+)(\\?(.*))?#Файл: /mgn/list_.phpПравило: SECTION_CODE=$1

Что вы думаете по поводу этой проблемы, в чем может она быть.

По поводу опасения человека с вложенностями в каталоге, то же нет не каких проблем пока, у нас каталог сделан условно:

Товар с цифровой доставкой- игры- программы- антивирусы- операционные системы- Карты оплаты- ПСН- Лайв

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

ОтветитьУдалить

matraska23.blogspot.com

Как настроить вложенные ЧПУ Битрикс

Начиная с версии 12.5 в продукте добавлена поддержка вложенных ЧПУ, т.е. при просмотре элемента каталога формируется абсолютный путь к нему вида:

mysite.ru/catalog/subsectionA/subsectionB/subsectionC/element.php, а не mysite.ru/catalog/subsectionC/element.php.

Внимание! На данный момент поддержка вложенных ЧПУ в модуле Информационные блоки реализована только для комплексных компонентов catalog, news и photo.

Реализация вложенных ЧПУ осуществялется с помощью переменной SECTION_CODE_PATH (путь из символьных кодов раздела), которая хранит в себе иерархическую информацию от корня сайта до текущей категории: site.ru/catalog/subsectionA/subsectionB/subsectionC/.

Чтобы при просмотре выводимой информации из инфоблока использовался механизм вложенных ЧПУ, необходимо выполнить следующие действия:

Источник: Bitrix

abraxabra.ru

Настройка ЧПУ в Битрикс | Правила обработки адресов в Битрикс

  • Выводы
  • Это завершающая статья из серии о решении сложных задач поисковой оптимизации на Битрикс.

    Настраиваем ЧПУ фильтров для интернет-магазинов на Битрикс

    Хороший хирург поможет плохому танцору.

    Зачем нужна настойка ЧПУ в Битрикс? Для чего знать о правилах обработки адресов в Bitrix? Допустим, мы продвигаем большой каталог недвижимости (или мебели, или электроники). Конкуренция серьезная. Запросов много. На сайте 20 тысяч объектов. В нашем случае — квартир, домов и участков под застройку.

    Что говорит оптимизатор? Семантическое ядро будет состоять из:

    1. нескольких десятков высокочастотных запросов вроде купить квартиру  аренда склада москва

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

    3. В каталогах электроники, мебели или любого другого штучного товара будут еще и десятки тысяч низкочастотников вроде: Кухня Artika фабрики Pedini spa Компактный асинхронный двигатель Siemens 1PH8 для SINAMICS S120 В недвижимости так обычно не делают, так как у отдельных позиций (квартиры, например), нет собственных имен.

    Для каждого запроса нужна отдельная осмысленная страница.

    Причем для нее оптимизатор захочет задавать правильные title, keywords и seo-тексты. Для отдельных страниц вручную это легко делать с помощью модуля Инструменты SEO-специалиста , а если для всех сразу — придется прописать шаблоны автоматического формирования заголовков и сео-текстов.

    Для высокочастотных запросов подходят страницы разделов сайта из меню, для низкочастотных страниц — детальные страницы отдельных элементов. А вот со среднечастотными на первый взгляд есть проблема — не видно на сайте таких страниц. И тут оптимизатора осеняет: а давайте продвигать страницы поисковой выдачи, отфильтрованные списки элементов.

    Обычно такие страницы специально закрыты от индексации и SEO-шника не беспокоят заголовки, ключевые слова и адреса таких страниц. Неудивительно, что Битрикс, который умеет делать красивые ЧПУ-адреса, для страниц поиска генерирует такие ссылки:

    site.ru/base/?arrFilter_P1_MIN=3000&arrFilter_P1_MAX=3400&arrFilter_4_2348707219=Y&arrFilter_9_1776166634=Y&arrFilter_10_692893017=Y&arrFilter_10_3068644278=Y

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

    Механизм параметрического поиска — сложный. Особенно если применяется умный фильтр Битрикс , автоматически подстраивающий доступные параметры под то, что фактически есть в базе. Хитрых задач с таким поиском хватает и без ЧПУ. Задача создания ЧПУ-адреса для фильтров вполне решаемая. Общая схема действий программиста и оптимизатора такова:

    Организационный этап. Проектирование ЧПУ-адресов для Bitrix.

    1. Выделить те параметры поиска, которые должны преобразовываться в слова на русском языке (транслитом). Остальные допустимо оставить get-параметрами. Оптимизатору желательно хорошо подумать и не быть максималистом. “Сделать все” — плохая идея. Пример хорошего решения. Три параметра формируют предложение на русском языке.

    2. Утвердить шаблоны ЧПУ (может быть, еще заголовков и сео-текстов), которые будут формироваться. Желательно проговорить порядок слов в тексте и даже правила транслитерации. Например, в примере выше слово “купить” в адресе фигурирует как “prodaja”.

    Результатом этого этапа должно стать ТЗ на ЧПУ-адреса фильтров. Работа непростая, и подумать лучше несколько раз. Сложность реализации ТЗ очень зависит от числа параметров, связей между ними и сложности шаблона ЧПУ-адреса.

    Технический этап. Программирование ЧПУ фильтров на Битриксе.

    Рассмотрим решение задачи с точки зрения программиста. Для того, чтобы формировать и обрабатывать человеко-понятные адреса вроде

    /prodaja/promyshlennye_zemli-rostovskaya_oblast/ (ЧПУ-стиль)

    нужно уметь сопоставлять их с исходными, например такими

    ?arrFilter_P1=3&arrFilter_P2=1120&arrFilter_4_2348707219=Y (олдскул-стиль)

    Можно полностью переписать компонент фильтрации, “научив” его работать с такими адресами.

    Мы рекомендуем стандартные компоненты по возможности не трогать. Вместо этого нужно лишь слегка изменить обработку адресов на входе:

    1. Компонент фильтрации остается без изменений и посылает пользователя на страницу с обычным “олдскул”-адресом.

    2. На целевой странице написан специальный программный фрагмент, который понимает, что открыт адрес, который нужно преобразовать к ЧПУ-виду. Он делает такое преобразование и делает переадресацию на ЧПУ-страницу.

    3. При открытии ЧПУ-страницы тот же программный элемент, понимая, какие значения закодированы в ЧПУ-адресе, заполняет массив REQUEST теми значениями, которые нужны для работы стандартных компонент.

    Технически поведение ЧПУ-фильтра реализуется классом, который в проекте среднего уровня содержит 400 строк php-кода. Больше нюансов — сложнее реализация. Грубая оценка добавления ЧПУ к уже работающему фильтру — от 20 до 70 часов работы.

    Выводы

    Скажите честно, доктор, эти ваши лечебные травы приносят хоть какую-нибудь пользу?              -А как же! Недавно я купил сыну квартиру в Москве, а дочке достраиваю дом…

    Программист и оптимизатор не враги. Хороший разработчик обязан уметь слушать разумные доводы SEO-специалиста. Помните — миром правит маркетинг, а технологии ему служат. А оптимизаторам нужно уметь применять в убеждении не астрологию, а аналитику. Что же касается Битрикса — в умелых руках он может все, что нужно оптимизатору.

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

    Это завершающая статья из серии о решении сложных задач поисковой оптимизации на Битрикс. Обратите внимание на другие статьи серии:

    Оцените статью:

    Спасибо, ваш голос успешно добавлен!

    www.intervolga.ru


    Prostoy-Site | Все права защищены © 2018 | Карта сайта