Как настроить вложенные ЧПУ Битрикс. Битрикс чпу
Настройка ЧПУ в 1С-Битрикс | Для разработчиков
Для не комплексного компонента создать правила сложнее, их скорее всего придется править вручную в файле. Ниже код правила, позволяющий открывать страницы в которых могут быть любые буквы и цифры. Также обратите внимание на .* в конце, эта точка и звездочка нужна для того, что бы корректно открывать адреса с GET переменными, например когда после сохранения страницы у вас появляется параметр /?clear_cache=Y Если не указать эти символы в конце, то отобразится 404 ошибка, т.е. страница или раздел не будут найдены.
<?
$arUrlRewrite = array(
array(
"CONDITION" => "#^/catalog/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/.*#",
"RULE" => "SECTION_CODE=\$1&ELEMENT_CODE=\$2",
"ID" => "",
"PATH" => "/catalog/detail.php",
),
array(
"CONDITION" => "#^/catalog/([a-zA-Z0-9-]+)/.*#",
"RULE" => "SECTION_CODE=\$1",
"ID" => "",
"PATH" => "/catalog/list.php",
),
);
?>
<?
$arUrlRewrite = array(
array(
"CONDITION" => "#^/news/#",
"RULE" => "",
"ID" => "bitrix:news",
"PATH" => "/news/index.php",
),
);
?>
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/.
Чтобы при просмотре выводимой информации из инфоблока использовался механизм вложенных ЧПУ, необходимо выполнить следующие действия:
- В форме редактирования инфоблока в полях настройки шаблонов ссылок к страницам разделов и элементов добавить переменную SECTION_CODE_PATH:
- Для всех имеющихся в инфоблоке разделов задать символьные идентификаторы.
Чтобы не забывать задавать символьные идентификаторы при создании новых разделов, вы можете в настройках полей разделов инфоблока указать, что символьный идентификатор является обязательным полем для заполнения. Кроме того, можно включить генерацию кода из названия раздела путем транслитерации:
- В настройках компонента, с помощью которого выводится информация из инфоблока, задать шаблоны ссылок, используя переменную символьных кодов раздела:
abraxabra.ru
Настройка ЧПУ в Битрикс | Правила обработки адресов в Битрикс
Это завершающая статья из серии о решении сложных задач поисковой оптимизации на Битрикс.
Настраиваем ЧПУ фильтров для интернет-магазинов на БитриксХороший хирург поможет плохому танцору.
Зачем нужна настойка ЧПУ в Битрикс? Для чего знать о правилах обработки адресов в Bitrix? Допустим, мы продвигаем большой каталог недвижимости (или мебели, или электроники). Конкуренция серьезная. Запросов много. На сайте 20 тысяч объектов. В нашем случае — квартир, домов и участков под застройку.Что говорит оптимизатор? Семантическое ядро будет состоять из:
-
нескольких десятков высокочастотных запросов вроде купить квартиру аренда склада москва
-
сотен запросов средней частоты вроде участки под строительство дома новая москва продажа земли промышленного назначения в калужской области
-
В каталогах электроники, мебели или любого другого штучного товара будут еще и десятки тысяч низкочастотников вроде: Кухня 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.
-
Выделить те параметры поиска, которые должны преобразовываться в слова на русском языке (транслитом). Остальные допустимо оставить get-параметрами. Оптимизатору желательно хорошо подумать и не быть максималистом. “Сделать все” — плохая идея. Пример хорошего решения. Три параметра формируют предложение на русском языке.
-
Утвердить шаблоны ЧПУ (может быть, еще заголовков и сео-текстов), которые будут формироваться. Желательно проговорить порядок слов в тексте и даже правила транслитерации. Например, в примере выше слово “купить” в адресе фигурирует как “prodaja”.
Результатом этого этапа должно стать ТЗ на ЧПУ-адреса фильтров. Работа непростая, и подумать лучше несколько раз. Сложность реализации ТЗ очень зависит от числа параметров, связей между ними и сложности шаблона ЧПУ-адреса.
Технический этап. Программирование ЧПУ фильтров на Битриксе.
Рассмотрим решение задачи с точки зрения программиста. Для того, чтобы формировать и обрабатывать человеко-понятные адреса вроде
/prodaja/promyshlennye_zemli-rostovskaya_oblast/ (ЧПУ-стиль)
нужно уметь сопоставлять их с исходными, например такими
?arrFilter_P1=3&arrFilter_P2=1120&arrFilter_4_2348707219=Y (олдскул-стиль)
Можно полностью переписать компонент фильтрации, “научив” его работать с такими адресами.
Мы рекомендуем стандартные компоненты по возможности не трогать. Вместо этого нужно лишь слегка изменить обработку адресов на входе:
-
Компонент фильтрации остается без изменений и посылает пользователя на страницу с обычным “олдскул”-адресом.
-
На целевой странице написан специальный программный фрагмент, который понимает, что открыт адрес, который нужно преобразовать к ЧПУ-виду. Он делает такое преобразование и делает переадресацию на ЧПУ-страницу.
-
При открытии ЧПУ-страницы тот же программный элемент, понимая, какие значения закодированы в ЧПУ-адресе, заполняет массив REQUEST теми значениями, которые нужны для работы стандартных компонент.
Технически поведение ЧПУ-фильтра реализуется классом, который в проекте среднего уровня содержит 400 строк php-кода. Больше нюансов — сложнее реализация. Грубая оценка добавления ЧПУ к уже работающему фильтру — от 20 до 70 часов работы.
Выводы
Скажите честно, доктор, эти ваши лечебные травы приносят хоть какую-нибудь пользу? -А как же! Недавно я купил сыну квартиру в Москве, а дочке достраиваю дом…
Программист и оптимизатор не враги. Хороший разработчик обязан уметь слушать разумные доводы SEO-специалиста. Помните — миром правит маркетинг, а технологии ему служат. А оптимизаторам нужно уметь применять в убеждении не астрологию, а аналитику. Что же касается Битрикса — в умелых руках он может все, что нужно оптимизатору.
Мы разбираемся в интернет-маркетинге и при работе над сайтами готовим их к будущему продвижению. Обращайтесь за решением ваших задач по оптимизации сайтов , с удовольствием поможем.Это завершающая статья из серии о решении сложных задач поисковой оптимизации на Битрикс. Обратите внимание на другие статьи серии:
Оцените статью:
Спасибо, ваш голос успешно добавлен!
www.intervolga.ru