Умный фильтр с ЧПУ для SEO — Делаем как надо
Есть проекты — интернет-магазины. Это сложные проекты и для продвижения, и для веб-разработки.
В них сотни и тысячи товаров. Десятки и сотни категорий.
Есть особый тип страниц — страницы фильтра. Их на порядок больше. Они собирают трафик по огромному количеству запросов и важны для SEO.
Пример: на сайте, где продаются стройматериалы, в категории «облицовочный кирпич» ставим флажок «желтый». Видим новую страницу, идеально отвечающую на запрос «желтый облицовочный кирпич». Таким образом можно обеспечить посадочными страницами семантическое ядро любого размера.
Много посадочных также хорошо и для контекстной рекламы — любой запрос найдет свою страницу.
Вывод: страницы выдачи фильтров интернет-магазина исключительно важны для SEO.
Статья о том, как их делать, оформлять, встраивать в навигацию и продвигать.
Что такое умный фильтр
Фильтр — инструмент выбора товаров в интернет-магазине. Например, в строительном интернет-магазине, чтобы из множества однотипных кирпичей выбрать желаемый цвет, пользователь ставит галочку, страница обновляется, появляются «Абрикосовые кирпичи». Также выбирают Производителя, Размер, и прочие характеристики. Чем больше параметров выберет пользователь, тем уже будет выборка, тем точнее результат.
Фильтры можно любить или нет, но не обращать на них внимание нельзя. Для магазина с 1000 товаров и 30 категориями страниц-фильтров будут десятки тысяч. Про них знают поисковики, они занимают большой процент всех проиндексированных страниц. Это ваш актив, работайте с ним.
Фильтр — это ваш актив. Работайте с ним!
Умный фильтр не только показывает товары, но обладает дополнительными удобствами:
В статье описан наш опыт разработки и seo продвижения магазинов с использованием умного фильтра.
Знакомьтесь, Умный Фильтр.
Знакомьтесь, господин Уэф. Никакого отношения к статье не имеет, но созвучно 😉
В чем сложность и вопрос?
Фильтр — штука «чисто программерская». Ставишь галочки, сайт «вжух-вжух» и показывает результат.
Никакой ручной настройки не подразумевает — SELECT-запросы к базе данных в чистом виде.
Однако, есть 2 отрасли, о которых нужно подумать — поисковое продвижение и юзабилити. Первое важно для сеошника, второе — для пользователя. Ведь он покупает ваши товары! Пусть ему будет удобно!
Задача веб-интегратора — заботиться о личном счастье каждого участника веб-системы. Мы провели анализ и придумали компромиссную реализацию умного фильтра, удовлетворяющего всех. В том числе директора магазина.
Мы проработали варианты использования умного фильтра, придумали правильное решение и рекомендуем внедрять на каждом проекте, с которым работаем.
Список требований к умному фильтру участников проекта оформили в виде mindmap (увеличивается при нажатии).
История исследования и разработки умного фильтра
Ранее мы касались темы в статьях:
Почему нельзя использовать умный фильтр Битрикса «из коробки»?
Битрикс сделал хороший фильтр, но традиционно не подумал о SEO. У коробочного фильтра 1С-Битрикс (версия 16.5.4) несколько серьезных недостатков:
Ожидания покупателя от работы фильтра
Пример страдания: Угадайте, за что отвечает флажок «Тип: Отвертка аккумуляторная» в категории «Отвертки аккумуляторные»? Правильно, ни за что;)
Для удовлетворения ожиданий покупатели (и увеличения конверсии в итоге) разработчик должен подумать и выполнить задачи:
Какие флажки помещать в умный фильтр?
Как мы решали проблему сортировки характеристик / свойств фильтра в категориях.
Есть категории — Диваны и Люстры. У диванов есть свойства: двухместный, трехместный. У люстр — материал (сталь, стекло) и стиль (прованс, лофт). Какие флажки должны остаться в фильтре, в каком порядке? На основании чего принимать решение?
Для электроники, бытовой техники, инструментов, компьютеров можно подсмотреть флажки-свойства в Яндекс.Маркете. Как быть для других тематик?
Мы придумали следующий алгоритм:
Требования SEO-специалистов к умному фильтру
Для внедрения SEO-требований подойдет «коробочный» фильтр Битрикса. Приблизительная оценка внедрения:
100 человеко-часов. Перечисляем в порядке важности приоритета. Если бюджета не хватает, отказывайтесь от нижних.
Пояснения некоторых требований.
Уникальные title, keywords, description, h1.
Обратим особое внимание на важность уникальных заголовков и прочих мета-тегов. Если не предусмотреть автоматическую расстановку уникальных мета-тегов, в индекс попадет множество дублей. Поисковик посчитает страницы нерелевантными, поискового трафика не будет.
«Быстрые ссылки» — готовые результаты фильтра
Мы неоднократно писали про удобство «Быстрых фильтров» для пользователя:
Быстрая ссылка (быстрый фильтр) — это страница с подборкой товаров под конкретный запрос. Например, «фрезеры бош». Быстрая ссылка имеет ЧПУ и находится в зоне видимости пользователя (заодно, и поисковика).
Как программировать быстрые фильтры:
Бонус для пользователя — воспользоваться готовой ссылкой быстрее и удобнее, чем ковыряться в фильтре.
Некоторые SEO-специалисты считают, что в интернет-магазине вообще надо закрыть от индексации все страницы с результатами фильтра
Наша позиция — если вы настроите «Быстрые ссылки» и заведете необходимое количество по всему семантическому ядру, остальные страницы можно «спрятать». На продвигаемые запросы будут страницы (что хорошо). Не используемые — закрыты от поискового робота.
Размещение текста на странице с фильтром
В конкурентных тематиках на войне за поисковый трафик мы используем возможности сайта по-максимуму.
Размещение текстов на страницах категорий каталога помогает получить коммерческий трафик на сайт.
Чаще всего эту задачу делают вместе с предыдущей. Если есть категория — быстрая ссылка, значит можно разместить и опубликовать ее описание.
Правильные canonical и отсутствие дублей
Инструментов для настройки канонических тегов категорий в битриксе нет. Наш подход к настройке канонических страниц фильтра:
Будьте аккуратнее — если среди запросов пользователей попадаются запросы «дорогие диваны», можно специально для них сделать релевантной страницу с сортировкой по цене от большей к меньшей.
Обратите внимание, Google рекомендует сделать для категории каталога канонической страницу «Показать все товары». Если на сайте товаров так мало, что их можно вывести на одной странице без ущерба производительности, можно назначить ее канонической «по-умолчанию».
Шаблон правил для robots.txt
К сожалению, шаблона для настройки robots.txt в части фильтра нет. Каждый проект индивидуален, и задача по настройке файла лежит на плечах SEO-специалиста. Некоторые типовые инструкции:
Закрываем все страницы пагинации.
Работает для всех битриксов.
Закрываем все страницы сортировки.
Может отличаться в зависимости от проекта.
Запрещают индексацию страниц фильтра.
Внимание, применяйте указанные инструкции только с одобрения специалистов по поисковому продвижению.
Для облегчения первичной настройки воспользуйтесь «Стартовым набором robots.txt» от битрикс.
Автоматическое добавление в sitemap.xml
В зависимости от того, закрываете вы страницы фильтра от индексации, или нет — подход к решению задачи может быть различным.
Сейчас мы делаем карту сайта «по старинке» — автоматически генерируем средствами битрикса и полуавтоматически добавляем адреса страниц фильтра.
Умный фильтр и коды ответа
Мы рекомендуем дорабатывать механизм фильтра так, чтобы он умел отдавать следующие коды состояния.
Страница с результатами фильтра существует и содержит хотя бы 1 товар.
Для случая, когда вы настраиваете «быструю ссылку». Страница с оригинальным адресом должна отдавать 301 редирект на нее.
Если поисковик обращается к странице с заголовком If-Modified-Since и страница не изменилась, сервер должен вернуть 304 Not Modified. Ниже цитата из документации Google.
Убедитесь, что ваш веб-сервер поддерживает HTTP-заголовок If-Modified-Since. С его помощью Google может узнать, изменился ли контент сайта с момента последнего сканирования. Эта функция помогает сократить лишнюю нагрузку на сервер — https://support.google.com/webmasters/answer/35769
Для случая, когда адрес страницы неверный.
Если сайт знает, что раньше по этому адресу были товары, и больше не будут. — Мы не используем, слишком накладно отслеживать подобные страницы.
Фильтр не требует квалификации программиста для настройки
Каждый раз приходится искать компромисс между удобством использования настроек для не-программистов и временем разработки.
Пока, лучшее решение — все настройки выносить в отдельные инфоблоки (highload-блоки), которые можно редактировать в интерфейсе админки.
Альтернативная попытка — сделать настройку через CSV или другой табличный формат — привела к провалу. Разобраться в хитросплетениях шаблонов названий элементов смог только его автор:
Пример файла настроек
Пример реализации механизма расстановки уникальных заголовков на страницах фильтра (сайт dg-home.ru).
Ожидания директора магазина
Скажем честно — комплексные веб-интеграционные проекты — это ни разу не весело. Мы справляемся, но тяжко всем. Заказчикам в том числе.
Если вы решили поручить работу с умным фильтром своему разработчику — пусть сначала читает нашу статью.
Внедрение умного и готового к seo фильтра на ваш проект
Для больших (50 тысяч товаров и больше) появятся проблемы с производительностью, время увеличится на 30-50%.
Мы рассмотрели решение задач, которые возникают перед веб-разработчиками и SEO-специалистами при настройке умного фильтра на проектах с 1С-Битрикс. Будем рады, если вы поделитесь статьей в социальных сетях и напишете в комментариях, если мы что-то забыли.
Статья появилась благодаря работе с нашими заказчиками и их проектами:
Источник
Тонкая настройка SEO для результатов фильтрации каталога битрикс
Одним из преимуществ интернет-магазинов на 1С Битрикс на мой взгляд является наличие не так давно доведённого до ума «умного фильтра». Дело в том что теперь фильтр получил возможность выдавать результаты по вполне симпатичным ЧПУ адресам. А это в свою очередь даёт большие возможности по улучшению SEO магазина, большому охвату НЧ запросов, созданию «посадочных страниц» прямо в структуре каталога и многое другое. Давайте по подробнее рассмотрим все эти плюшки.
ЧПУ в умном фильтре 1С Битрикс
Кто не знает что такое ЧПУ — это «человеко понятные url» т.е когда вы заходите на сайт в раздел Каталог / Телевизоры и видите в в адресной строке не /?s=1&ss=15 а читаемый латиницей адрес /katalog/televizori/ это удобно, и поисковые системы относятся лучше к таким адресам.
Настройка инфоблока
И так как же настраивается ЧПУ режим умного фильтра. В первую очередь настраиваем URL страниц в параметрах информационного блока, в админке вкладка Контент / Типы инфоблоков / Каталог / Одежда (в вашем случае название типа и инфоблока могут отличаться). На первой вкладке «Инфоблок» настраиваем слудющие поля:
Чтобы #SECTION_CODE# и #ELEMENT_CODE# формировались автоматически при создании разделов и элементов не забудьте на вкладках «Поля» и «Поля разделов» установить для поля «Символьный код» такие параметры:
Настройка свойств инфоблока
Теперь нужно подготовить свойства инфоблока по которым мы будем фильтровать каталог, в качестве демки я взял демо-магазин одежды 1С битрикс, который устанавливается из коробки, а потому предлагаю использовать свойства одежды, например цвет и фасон. Не смотря на то что свойство цвет есть в демо-каталоге, я предлагаю его немного перенастроить. Дело в том что при составлении ЧПУ адреса страницы с результатом фильтрации по определённому свойству, компонент собирает этот URL из кода свойства и внешнего кода выбранного значения свойства.
Для того чтобы нам было легче читать URL предлагаю коды свойств и их значений задавать в формате транслита, например свойство «цвет», имеет код «cvet», значение свойства цвет «красный» имеет код «krasniy» и т.д. В начале прописываем код свойства
А затем коды значений свойства цвет, колонка «Внешний код» в диалоге редактирования свойства инфоблока.
После смены внешнего кода значений свойств необходимо переопределять их у торговых предложений, т.к. в БД в параметрах торговых предложений сохранено старое значение внешнего кода и новые они (торговые предложения) автоматически не увидят. Поэтому если затеялись творить такое на большом каталоге, обязательно создавайте резервные копии и скриптом переопределяйте значений свойств занося текущие значения в промежуточные таблицы БД.
Не забудьте задать нескольким торговым предложениям каталога свойство «Фасон», чтобы оно отобразилось в умном фильтре. Свойства инфоблока настроили, переходим к настройкам компонента bitrix:catalog.
Настройка компонента
Переходим в каталог товаров, включаем режим правки и заходим в параметры компонента. В параметрах компонента bitrix:catalog на вкладке «Управление адресами страниц» ищем поле «Url раздела для умного фильтра» — это и есть шаблон ЧПУ адресов с результатами фильтрации. Для сокращения я обычно убираю последнюю часть /apply/ оставляя такую строку #SECTION_CODE#/filter/#SMART_FILTER_PATH#/ где
Сохраняем настройки компонента. Теперь при фильтрации например по свойству «Цвет» = «Красный» — получаем такой URL /catalog/dresses/filter/cvet-is-krasniy/ а если дополнительно отфильтровать каталог по фасону получим URL /catalog/dresses/filter/cvet-is-krasniy/fason-is-futlar/. Если вы всё сделали правильно у вас должны получаться такие ЧПУ URL фильтра. Переходим к самому интересному, настраиваем seo для полученных страниц.
SEO для страниц результатов фильтра битрикс
В первую очередь давайте определимся, что мы будем менять для таких вот страниц как /catalog/dresses/filter/cvet-is-krasniy/ (т.е. каталог / платься/ цвет — красный). На мой взгляд минимальный набор для корректировки это title — страницы, meta-keywords, meta-description, заголовок h1 и дополнительный текст (назовём его SEO-текст) на странице видимый пользователю, описывающий данный раздел в трёх — четырёх предложениях.
Где все эти данные хранить? Есть два варианта, в инфоблоке и в HL-инфоблоке, т.к. мне привычнее первый, реализуем именно его. И так ещё раз что нам нужно хранить в элементах инфоблока:
Создадим инфоблок с соответствующими полями.
Для удобства дальнейшей работы с инфоблоком сохраните его идентификатор в константу IBLOCK_SEO в файл /bitrix/php_interface/init.php это позволит подставлять в код функции осмысленное значение IBLOCK_SEO а не просто число, что в последствии повысит качество и восприятие кода.
Поле URL страницы делаем обязательным т.к. по нему будет определяться к какой странице применить заданные свойства. В результате получаются вот такие элементы:
Теперь необходимо в файле шаблона section.php комплексного компонента каталога после вызова компонента catalog.section разместить следующий код:
Блок с SEO-текстом можно красиво оформить и вывести под списком товаров попавших в выборку. Что же нам дал такой механизм? Теперь мы можем «выжать» семантическое ядро сайта по максимуму и фактически для каждой страницы задать уникальный title, keywords, description и т.д. Создава для каждого низкочастотного запроса например «Красное шёлкове платье, фасон сарафан, размера L» — отдельную страницу с уникальным URL и заголовками (страницу результатов фильтра) на которй представить пользователю ассортимент моделей товаров удовлетворяющих его запросу. А это в свою очередь улучшение поведенческих факторов и повышение конверсии, т.к. посетитель сайта сразу получает страницу именно с тем товаром что он искал.
Давайте создадим несколько элементов для примера. Через SEO инфоблок я создал описание для страницы с фильтром по синему цвету и по цвету + фасону. Получилось следующее:
теперь отфильтровав раздел платья по свойству цвет (цвет = синий) я получаю такой результат:
Отлично! Теперь можно гибко настроить каталог товаров по большому списку низкочастотных конверсионных запросов. Осталось сделать пару настроек чтобы эти страницы лучше проиндексировались.
Скармливаем ссылки поисковому роботу
Во всей этой истории есть один нюанс, поисковый робот сам никак не увидит ссылки на страницы фильтра для которых мы настроили SEO. Как же нам их вывести? Для удобства управления и красоты предлагаю следующее решение. Для разделов каталога добавляем множественное свойство типа «Привязка к элементам инфоблока» и указываем наш SEO-инфоблок. С помощью этой привязки мы сможем выводить в нужных нам разделах блок ссылок-фильтров.
Для создания такой связи, перейдите к редактирванию любого раздела каталога в админке, на вкладке «Доп. поля» есть ссылка «Добавить пользовательское свойство» и настройте привязку к SEO-инфоблоку:
Не забываем отметить галочку «Множественное», т.к. потом сделать созданное пользовательское поле множественным не получится, придётся пересоздавать. А нам нужно именно множественное свойство.
Своё свойство я назвал «Быстрые ссылки», а код поля задал как UF_SEO_ITEMS. Теперь давайте установим несколько связей для теста. В своём SEO-инфоблоке я создал несколько элементов описывающих различные страницы фильтра, они все относятся к разделу «Платья». Переходим редактированию раздела платья, вкладка «Доп. поля» и в свойстве «Быстрые ссылки» выбираем те элементы SEO-инфоблока которые относятся к этому разделу, у меня таких два «Платья синего цвета» и «Синие платья футляр».
Теперь нужно вывести их посетителю сайта. Идём в компонент каталога, ищем там компонент catalog.section, у меня это папка /bitrix/templates/шаблон_сайта/components/bitrix/catalog/имя_шаблона_компонента/bitrix/catalog.section/.default/ нас интересует файл result_modifier.php и вставляем следующий код:
В результате получаем вот такой блок с ссылками на страницы фильтра, но что же они нам дают?
Во-первых их будет видеть робот проходя по странице раздела, во-вторых это улучшение юзабилити. Теперь клиент переходя в раздел платья будет видеть блок быстрых ссылок-фильтров (напр. Вечерние платья, Платья больших размеров, Платья для выпускного и т.д.) перейдя по которым он попадёт на страницу с товарами категории отфильтрованную по определённому набору параметров (размер, цвет, фасон, тип, назначение и т.д.) что избавит его от необходимости самому использовать фильтр. В третьих мы разбавляем анкор-лист документа низкочастотниками, что позволяет более широко охватить тематику раздела (в данном случае раздела платья).
Комментарий от SEO специалиста Вадима Кабаева
Знаю что программисты обычно не очень жалуют сеошников, но так как именно сеошникам в дальнейшем пользоваться данным модулем вставлю свои 3 копейки.
Сразу для понимания
В гугле закрывать от индексации нужно через meta тег robots со значением noindex. Либо noindex добавлять в HTTP-заголовок X-Robots-Tag. Работает для Яндекса и Гугла. Robots.txt не решает вопрос закрытия от индексации для Гугла. Сканирование и индексация это два разных процесса.
Теперь по работе фильтра
Возможно данная реализация часть из ниже написанного решает, но всё равно напишу.
Подведём итоги
В результате проделанной работы мы получили инструмент позволяющий нам расширить семантику сайта до необъятных размеров, при этом всё аккуратно впишется в функционал сайта, страницы результатов фильтра будут более информативны. Что в конечном счёте приведёт к увеличению поискового трафика и конверсии (что собственно и нужно любому интернет-магазину).
59 комментариев
Ну смотрите,
1) «is» к сожалению безболезненно убрать нельзя. Уже стучался в тех.поддержку по этому поводу, там нужно залезать в ядро и что-то там перепиливать, а делать это не очень хочется. Собственно для SEO «is» не помеха.
2) По поводу 404-й там всё ок, просто включите в настройках комплексного компонента опцию 404-й ошибки. Всё подряд в url пихать не получиться.
3) Хлебные крошки добавить можно в том же catalog.section создать файл component_еpilog.php и через CMain::AddChainItem() добавить всё что угодно.
1 и 3-й пункты это скорее для эстетики. Вся суть плюшки описанной в статье создать по средствам умного фильтра большое количество страниц (результатов фильтра) на которые будт приходить пользователи по низкочастотным конверсионным запросам (аля «купить телевизор определённой модели, диагонали и серого цвета»).
Я сейчас просто пилю портал, так сказать для себя)) хочу чтобы все чинно благородно было) И меня как сеошника раздражает очень is, меня всегда удивляли такие закидоны, вот нафига там от баллды вставлятьэтот предлог, проще и эстетичней былобы «-«
Я думаю что «is» служит для разбора URL по какой-то регулярке, чтобы компонент каталога понял что от него хотят, а вот простое тире может встретится в мнемоническом коде мвойства и ввести компонент в заблуждение ))
Просто Битрикс заявлен как конструктор на котором можно собрать все что угодно., и вот я проектирую сайт у которого все УРЛы транслитом и тут опа появляется is, не к селу ни к городу. Меня и так раздражает что нужно указывать в УРЛ filterпо которому ничего не откроется. Короче нужно завязывать с перфекционизмом))
Подскажите пожалуйста:
1. При создании инфо блока что указывать в:
А) URL страницы информационного блока:
Б) URL страницы раздела:
В) URL страницы детального просмотра:
2. Какой код указывать каждому свойству, подскажите пожалуйста.
3. Теперь необходимо в файле шаблона section.php комплексного компонента каталога после вызова компонента catalog.section разместить следующий код — тут не понял, можно по подробнее куда его.
4. /bitrix/php_interface/init.php — у меня нет такого файла
Буду благодарен за ответ!
1) При создании инфоблока А,Б и В указывать не надо, вы ведь не собираетесь выводить его содержимое в публичную часить.
2) Смотрите по программному коду в статье, если в GetList() написано PROPERTY_TITLE (PROPERTY_TITLE_VALUE) значит код самого свойства будет TITLE, т.к. PROPERTY_ и _VALUE — это служебные конструкции (см. документацию https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php)
3) попробую написать дополнение к статье, более подробно раскрывающее этот момент
4) /bitrix/php_interface/init.php — создаёте сами если нет (доки: http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2916)
Добрый день. Подскажите, пожалуйста, как найти аналог файла section.php, где вызывается catalog.section?
Файла именно с таким названиям как ни ищу, не могу найти.
Заранее спасибо за ответ.
В некоторых решениях есть файлы section_horizontal.php или section_vertica.php которые подключаются в зависимости от визуальных настроек каталога. Так же некоторые программисты меняют поведение комплексного компонента, добавляя туда свои файлы и правила их вызова. Но стандартно в комплексном компоненте каталога, в файле sections.php — список разделов, section.php — список товаров и element.php — товар. Я бы посоветовал вот что:
1. убедитесь что шаблон вашего каталога (комплексного компонента каталога) скопирован в текущий шаблон сайта, т.е. лежит в папке /bitrix/templates/имя_шаблона_сайта/components/bitrix/catalog/
2. запустите поиск по файлам кода вызова компонента catalog.section, ограничив область поиска папкой /bitrix/templates/. Если у вас сайт на основе готового решения с marketplace то catalog.section может вызываться где угодно, уже попадались такие сайты.
Подскажите, какой Тип данных указывать при добавлении пользовательского свойства?
Не совсем понятно, если вы про пользовательское свойство для быстрых ссылок раздела то «Привязка элементов к инф.блокам» (на скриншоте это кстати есть =) )
разобрался с полями. Все настроил и заработало. Только одна проблема, почему то decription рубит до первой буквы:
все остальные поля выводит нормально.
Должно быть
хотя print_r($currentPageSeo);
description выводит правильно
заменил на
$APPLICATION->SetPageProperty(«description», strip_tags($currentPageSeo[«DESCRIPTION»]));
И кстати, забыл, автору большое спасибо. На маркет плейсе подобный модуль стоит 15 тысяч рублей )) А тут все бесплатно и работает ни чуть не хуже. И самое главное можно все допилить под себя ))
вот код который для умного фильтра, он подставляет кирилицу. правда это костыль, который будет слетать при обновлении фильтра.
$url_id = CUtil::translit(toLower($enum[«VALUE»]), «ru»);
Не совсем понял, как «сохраните его идентификатор в константу IBLOCK_SEO в файл /bitrix/php_interface/init.php » — подскажите, пожалуйста код, сейчас подставил просто id инфоблока. Работает все, кроме вывода на страницу сео текста и быстрых ссылок.
Сергей используйте функцию php define() ля сохранения константы.
Никак не пойму как вывести на страницу категории seo-текст. Не подскажите как это сделать — в каком файле, какой код вставить?
15 номер инфоблока, коды в ИБ вроде верно задал (скрин их тоже было бы круто в статье привести)
В статье приведены адреса файлов в которые нужно вставить тот или иной код. Если вы говорите про подмену заголовков и описания, то код вставляется после вызова компонента catalog.section в файле section.php. Если речь идёт о быстрых ссылка, то до вызова компонента, в том же файле. Если не разберётесь, напишите на почту с примером кода.
Подскажите, при создании инфоблока, где вы взяли поле: URL страницы, ведь вместо него «символьный код» участвует в генерации урла, если делать свойство элемента, то каким образом обозначить, что бы участвовал в построении урла.
Александр поле «URL страницы» создаётся в свойствах инфоблока, символьный код в этом инфоблоке ( это SEO инфоблок ) не играет никакой роли.
Благодарю за информацию. Подскажите, а если не заполнять все данные SEO инфоблока ( где мы указали URL с данными фильтра) — мы сможем вытащить URL с фильтрами другим способом? Мне надо просто собрать все URL с фильтрами.
Ну конечно. Вы их для sitemap.xml наверняка хотите собрать? Обычным CIBlockElement::GetList();
Я может туплю по страшному, но вот уже пару дней не могу сделать так, чтобы содержимое фильтров не индексировалось в поисковиках. Подскажите плиз.
А зачем вам закрывать их? Вся суть как раз в том, чтобы привести пользователя по узкому НЧ запросу на страницу сайта где он увидит не всё подряд из каталога а только те товары которые ищет. Можете в htaccess добавить правило и закрыть страницы с фильтром одним разом.
Я признаюсь, мало, что понимаю в этом, мне вроде как закрывать то ничего не нужно, хотел только вписать noindex в начале блока фильтра, да вот найти его даже не могу…
Огрооооменое спасибо за статью. Думал сейчас пол дня убью на это, а потратил всего 30 мин! Спасибо, спасибо!
Спасибо за описание реплизации. Никак не могу вывести сео-текст и фастлинки, все уже перепроверил по 100 раз, в чем могут быть загвоздки?
Проверьте переменные, часто в шаблонах они называются одинаково, вашу переменную фильтра что-то могло переопределить, попробуйте создать отдельную страницу и GetList-ом получить список фастлинков, часто случается досадная опечатка и потом возишься с этим по несколько часов.
Добрый день!
Спасибо за отличную статью!
Подскажите, пожалуйста, можно ли как то вывести под своим URL (например /catalog/lustry-50-cm/) страницу с результатом фильтра (например /catalog/lyustry/filter/vysota-from-50-to-50/apply/)?
Сделать, так сказать, «ЧПУ над ЧПУ».
Подробнее:
Нужный URL псевдо-категории: /catalog/lustry-50-cm/
URL умного фильтра: /catalog/lyustry/filter/vysota-from-50-to-50/apply/
Как можно вывести по нужному URL (/catalog/lustry-50-cm/) страницу с результатом фильтра (/catalog/lyustry/filter/vysota-from-50-to-50/apply/)?
Можно, на маркетплейс есть готовое решение с демкой, я его ещё не ковырял, поэтому по коду точно сказать не могу как это делается. Там на событиях пролога как-то это делается. Как разберусь, напишу статью ))
Спасибо за решение!
Подскажите, каким образом можно добавить урлы из инфоблока с СЕО данными в sitemap.xml.
Пробовал урлы для прописывать не в свойство а в поле «символьный код». Но тогда после генерации файла sitemap.xml слеши в символьном коде заменяются на html сущности и получается урл вида https://site.ru/%2Fcatalog%2Fsection%2Ffilter%2Fcolor-is-red%2F/
Код отличный и заработал с пол оборота. Но вопрос — можно ли сделать так, что бы он требовал не полного совпадения PAGE_URL и адреса страницы а частичного. Например если PAGE_URL будет «tovar», то title, description и прочее применятся к адресам вроде /catalog/tovar/ или /catalog/tovar/model/?
Или это будет уже совсем другая история?
Думаю так можно будет легко словить баг при котором одним страницам будут проставлены несоответствующие мета-данные. Да, это другая история )
Этим кодом у меня не отображаётся h1 вообще.
А как вы h1 выводите в шаблоне?
Здравствуйте! Мучаюсь уже несколько дней. Поставщик предоставил сайт со своими доработками. Не могу найти правильный section.php… добавил код по адресу: /bitrix/components/forest/section.php
Инфоблок имеет идентификатор 15 — прямо в коде указал этот идентификатор. Код срабатывает на всех страницах, а не только на нужной.
Вы можете найти нужный файл шаблона через интерфейс эрмитаж, нужно выбрать пункт «Редактировать шаблон компонента» в режиме правки
Но ничего не отображает…
Напишите на почту, если вопрос актуальны ещё
Добрый день.
как правильно выводить Header?
у меня он на любой странице один и тот же выводится.
пробую вот так:
ShowTitle($currentPageSeo[«HEADER»]);?>
Спасибо за подробный разбор! Сохранил. Попозже попробую воспроизвести на нужном сайте.
Добрый день. Вроде все сделал по инструкции, но почему то заголовок H1 выводится на всех страницах каталога.
Добрый день. А как сделать, что бы и страницы пагинации для фильтра оставались с тем же тайтлом +page2, и так же с заголовком и тп
Или я что то неправильно делаю;
Или на сегодняшний день несколько раз ядро менялось, другой алгоритм;
Или что то упустил…
Но не работает.
Заголовок меняется у всех категорий, даже без фильтра
description и keywords не меняется.
MESS_RELATIVE_QUANTITY_MANY’] : »),
‘MESS_RELATIVE_QUANTITY_FEW’ => (isset($arParams[‘
MESS_RELATIVE_QUANTITY_FEW’] : »),
‘MESS_BTN_BUY’ => (isset($arParams[‘
MESS_BTN_BUY’] : »),
‘MESS_BTN_ADD_TO_BASKET’ => (isset($arParams[‘
MESS_BTN_ADD_TO_BASKET’] : »),
‘MESS_BTN_SUBSCRIBE’ => (isset($arParams[‘
MESS_BTN_SUBSCRIBE’] : »),
‘MESS_BTN_DETAIL’ => (isset($arParams[‘
MESS_BTN_DETAIL’] : »),
‘MESS_NOT_AVAILABLE’ => (isset($arParams[‘
MESS_NOT_AVAILABLE’] : »),
‘MESS_BTN_COMPARE’ => (isset($arParams[‘
Но непонятно ничего…
Разобрался, у меня Символьный код был у URL страницы «PROPERTY_PAGE_URL» а нужно было «PAGE_URL»
Сейчас буду копать почему description и keywords не прописываются
Если есть какие то намеки, намектните)
Источник
➤ Adblockdetector