Убираем дубли детальных страниц товаров

Автор: Дмитрий Акифьев. Размещено в: 1С-Битрикс

Убираем дубли страниц

Приветствую, Друзья!

В этом видеоуроке вы узнаете о том, как настроить ЧПУ интернет-магазина на 1С-Битрикс таким образом, чтобы не было дублей детальных страниц товаров.

После летнего перерыва мы продолжаем разбираться в тонкостях создания интернет-магазинов на Битриксе. И за время перерыва мне пришло несколько одинаковых вопросов – некоторые мои подписчики привлекали сторонних специалистов для продвижения своего магазина на Битриксе, некоторые сами делали магазины «под заказ», и наткнулись на проблему дублей детальных страниц. И вопрос один – как избавиться от этих дублей.

Дело в том, что дубли могут появиться из-за особенностей обработки ЧПУ Битрикса. Движок позволяет нам положить один и тот же товар в разные категории. Например, зарядка для телефона бренда Sony может лежать в категории Sony и в категории Аксессуары одновременно. И в адресной строке мы в итоге получим два разных адреса для отображения одной и той же страницы товара.

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

Только, если магазин у Вас работает уже давно и он проиндексирован поисковиками, то делая рассмотренную в видеоуроке операцию Вы полностью переделываете адресную структуру каталога и вам придется отдельно заниматься переиндексацией своего сайта на страницах для веб-мастеров в каждой поисковой системе отдельно. Или, как вариант, надо будет сделать постоянные (301) редиректы со старых адресов на новые для всех товаров каталога в файле .htaccess и поисковики сами постепенно заменят старые адреса на новые. Эти нюансы я в видеоуроке НЕ рассматриваю, пусть этим занимаются спецы по SEO.

Итак, всем, кто живо интересуется SEO оптимизацией своего интернет-магазина на Битриксе, рекомендую посмотреть новое видео:

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

 
Стрела влево

Если вам понравилась статья, то нажмите на одну из кнопок социальных сетей для размещения ссылки на страницу в своей ленте в этой соцсети.

 

Метки:, , , ,

 

Комментарии (26):

  • Антон

    |

    А видео то пропало

    Ответить

    • Дмитрий Акифьев

      |

      Все на месте. Вот когда дойдут руки все снести, вместе с сайтом, тогда и пропадет. А пока работает этот сайт все видео будут доступны как тут, так и в открытом доступе на моем канале на Youtube

      Ответить

  • Сергей

    |

    Удачно я к Вам попал!

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

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

    Спасибо!

    Ответить

  • Александр

    |

    Дмитрий, добрый день!

    Сделал все как у вас в видео, все отлично получилось.

    Вот только древообразное меню перестало быть открытым на разделе товара, так как этот товар вроде как уже не принадлежит этому разделу.

    Это можно как то исправить?

    Ответить

    • Дмитрий Акифьев

      |

      Исправить можно только доработкой компонента меню через внедрение каких-то меток принадлежности к категории. Типовыми способами (стандартными) этот вопрос не решить. Всегда есть выбор — или SEO, или юзабилити. Если надо и то и другое, то чаще всего это доработка кода под конкретный проект.

      Ответить

  • Бобков Сергей Аркадьевич

    |

    Дмитрий, добрый день! Вы не подскажите как убрать дубли в sitemap.xml?

    На сайте 1 товар привязан к нескольким категориям соответсвенно в sitemap находится столько же url сколько и привязок

    Ответить

    • Дмитрий Акифьев

      |

      Типовыми средствами такую проблему не решить. Я могу посоветовать 2 варианта, сложный и простой.

      Сложный — привести в порядок архитектуру каталогов. Сделать альтернативные рубрикаторы на основе отдельных инфоблоков со своей структурой разделов и выключить их индексацию. Если архитектура получится сложная, то может понадобится доработка компонентов для вывода альтернативных рубрикаторов с привязкой к какому-то свойству товара.

      Простой — найти в Маркетплейсе Битрикса платное решение, которое устранит проблему. Такие там есть.

      Ответить

  • Денис

    |

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

    Ответить

    • Дмитрий Акифьев

      |

      Можно, но для этого надо дорабатывать компонент хлебных крошек под логику Вашего проекта. С какой страницы перешел покупатель есть информация в $_SERVER['HTTP_REFERER']. Хотя информация там есть не всегда и зависит от настроек браузера посетителя. Поэтому нужна четкая логика что показывать, когда неизвестно откуда пришел покупатель, или пришел с главной или вообще по ссылке с другого сайта, а также уметь разбирать адресную строку в соответствии с настроенным в проекте ЧПУ и вынимать данные о том из какого именно пришел раздела покупатель. Потом зная раздел и товар вынуть из БД всю цепочку навигации и подменить ею текущую.

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

      Ответить

  • Станислав

    |

    Дмитрий, спасибо за ценный материал.

    Подскажите, а как удалось оставить цепочку breadcrumbs?

    Меняю настройки генерации ЧПУ в комплексном каталоге, в инфоблоке. Всё по ссылкам работает, УРЛы вида catalog/elements/element_id прописываются.

    Но: теряется вся цепочка крошек: любой товар любой секции в крошках виден как: Главная→Каталог→.

    Не подскажите, в какую сторону смотреть?

    Ответить

    • Станислав

      |

      Да, забыл добавить: в категориях с крошками все ОК, они пропадают только на самих карточках товара (catalog.element)

      Ответить

      • Дмитрий Акифьев

        |

        Я цепочку даже не трогал, у нее типовая настройка. Проверяйте все настройки путей, которые показаны в уроке, а главное — смотрите настройки путей в самом инфоблоке, где хранятся товары. Дело в том, что хлебные крошки запрашивают путь до товара из БД, и Ваша ситуация может быть, если товары лежат в нескольких категориях, причем первой категорией выдается вариант без привязки к категории. То есть, проверьте еще и привязку товаров к разделам, там не должно быть выделен наряду с реальным разделом еще и корневой раздел каталога.

        Ответить

        • Станислав

          |

          Благодарю за ответ! Дело было в кастомных крошках (достались от прошлых разработчиков), которые в результате пытались обратиться к пустым переменным. Небольшие правки в шаблон исправили ситуацию. Еще раз спасибо за представленный метод!

          Ответить

  • Сергей

    |

    Дмитрий, спасибо за видео. Подскажите мне можно ли сделать вместо element, выводился бы основной пункт меню в вашем случае это было бы так, если товар лежит в разделе смартфоны то вместо element выводилось бы smartphone/ , если товар лежит в аксессуарах то выводилось бы accessories/ для ЧПУ так на много было бы логичнее и не было бы дублей

    Ответить

    • Дмитрий Акифьев

      |

      Все можно сделать, Битрикс — это гибкий фреймворк.

      Но, для решения Вашей задачи придется писать свой механизм ЧПУ в комплексном компоненте, чтобы учитывались не все категории, а только первая из них. Либо разносить разные категории по разным инфоблокам и делать вручную разные страницы для отображения этих инфоблоков. Можно еще накидать вариантов, но оставлю это упражнение для Вас :)

      Ответить

  • Сергей

    |

    Дмитрий благодарю за очередной lesson. Возник вопрос, а как можно сделать похожее ЧПУ но только с полными путями до товара.

    К примеру если поставить в раздел — #SECTION_CODE_PATH#/ а в Детальная страница #SECTION_CODE_PATH#/#ELEMENT_CODE#/

    то путь, и ссылка детальной будет строится исходя из раздела откуда мы на неё заходим, что делает дубли. Есть ли какая нибудь возможность сделать полный путь до товара в независимости откуда ты на него заходишь? Есть пример сайта [censored]. Возможно это можно сделать через обработчик или есть какая нибудь документация на сей счёт за любую помощь буду при много благодарен.

    Ответить

    • Дмитрий Акифьев

      |

      Вообще не понял вопрос. Что значит полный путь? Если с категориями, то именно от этого мы и избавлялись в уроке. Если надо оставить только одну категорию, базовую, то ищите расширения в Маркетплейс, их там несколько, которые дают такую возможность. Ну и 301 редирект Вам в помощь в связке с robots.txt, как и писалось чуть ниже.

      Ответить

      • Сергей

        |

        Полный путь — это от site dir до .php все разделы и подразделы. А разве мы избавлялись не от дублей? Пример приведу чтобы было понятнее. Есть каталог -> раздел 1 -> подраздел -> подподраздел -> товар

        Если я зайду в товар с подраздела то ссылка будет выглядеть так каталог -> раздел 1 -> подраздел -> товар,

        а хотелось бы —

        каталог -> раздел 1 -> подраздел -> подподраздел -> товар

        с любого места ссылка имела бы такую структуру.

        Благодарю за ответ!

        Ответить

        • Дмитрий Акифьев

          |

          Такое поведение можно сделать либо сторонними приложениями для SEO, либо настроить вручную редиректы в .htaccess. Штатными способами такое поведение не настроить из-за логики работы ЧПУ.

          Ответить

          • Сергей

            |

            Благодарю!

            Ответить

  • КОнстантин

    |

    Добрый день Дмитрий ! у меня один вопрос с конкретным примером.

    Товар так же как у вас в примере доступен по 2 ссылкам

    kroy-master.ru/katalog/vykroyki-spetsodezhdy/kostyum-povara-muzh/

    kroy-master.ru/katalog/vykroyki-muzhskikh-kostyumov/

    от дублей спасаюсь закрывая 1 из разделов: robots.txt Disallow: /katalog/vykroyki-spetsodezhdy/*

    По вашему примеру хочу сделать вот такой урл для всех товаров

    вместо element — gotovye-vykrojka-lekala

    kroy-master.ru/katalog/gotovye-vykrojka-lekala/vykroyki-muzhskikh-kostyumov/

    Стоит ли применять то что вы описали в данной статье с точки зрения Seo? Если учесть что редирект сделать не проблема.

    Ответить

    • Дмитрий Акифьев

      |

      Если редирект 301 не проблема, то делайте его, чтобы не менять всю ссылочную базу сайта. Я показал вариант, который больше подходит для новых магазинов. А редиректы в связке с robots.txt всегда решают любые проблемы SEO без изменений логики сайта, что наиболее предпочтительно.

      Ответить

    • Андрей

      |

      Могу прокомментировать с позиции владельца сайта, пережившего смену адресов. Применять 301 редирект НУЖНО ОБЯЗАТЕЛЬНО, иначе — страницы потеряют имеющиеся позиции. Фактически страницы набирают вес с нуля.

      А robots.txt поисковики довольно часто игнорируют, чего, собственно и не скрывают сами. Особенно если находят ссылки на запрещенные страницы.

      Ответить

  • Антон

    |

    Дмитрий, вы молодец!!!

    Отличная идея избавиться от дублей, я чет даже не задумывался об этом, спасибо большое, буду знать!!)

    Дмитрий, скажите пожалуйста, сайт на вашем видео — это какой-то локальный сервер или web-сервер?

    Очень шустро работает у Вас сайт, у меня локальный сервер Open-Server, но на нем у меня все так тормозит, никакие их патчи не помогают...

    Ответить

    • Дмитрий Акифьев

      |

      Все видео я делаю на реальном VPS. Работать с Битриксом локально сложно, так как очень много файлов и дисковая подсистема вешается. Если мне надо разрабатывать сайт локально, то я всегда использую виртуальную машину Битрикса (на блоге есть подробный урок как запустить). В крайнем случае пользуюсь OpenServer, но он у меня работает на разделе, который полностью вынесен в оперативную память, поэтому работает шустро.

      Ответить

      • Антон

        |

        Все понял, благодарю Дмитрий!

        Ответить

Написать комментарий