Так ли плох "Битрикс" на самом деле? Разбираем возможные причины технических проблем и низкой скорости интернет-магазина
14Партнерский материал
Интернет-магазины и площадки электронной коммерции — это сложные системы, в работе которых могут случаться сбои и ошибки. Но в коммерческой среде простои в работе — это всегда убытки.
О том, как системно решать эту задачу, рассказывают эксперты ecommerce-агентства KISLOROD.
Если сайт работает с ошибками и сбоями, то встает вопрос "Кто виноват?"
Нередко исполнители грешат на "Битрикс". Типичные аргументы о недостатках платформы:
- Проблемы при интеграции с "1С".
- Недостаточная гибкость архитектуры.
- Проблемы при обработке данных из нескольких источников.
- Разрастание объема хранимых данных.
- Проблемы масштабирования.
- Сложная интеграция с современными средствами разработки верстки.
Но так ли плох "Битрикс" на самом деле? Кейс из практики
Клиент готовился к запуску нового сайта на готовом решении Aspro для "Битрикс" вместо старого — на Python. Но при перенаправлении на новый ресурс всего лишь 30% трафика (20 тысяч пользователей в сутки) он переставал выдерживать нагрузки и падал.
Клиент начал сомневаться, что новый сайт на "Битрикс" вообще выдержит их нагрузку. Встал вопрос: дорабатывать текущий сайт или создавать еще один, но на фреймворке.
Мы провели углубленный технический аудит сайта и нагрузочное тестирование, чтобы выявить слабые места. Проверили производительность текущего клиентского сайта, чистый шаблон Aspro.Next и "Битрикс" с настройками по умолчанию без изменений в коде.
Выяснили, что сайт на "чистом" Aspro.Next выдерживает нагрузку в разы большую той, чем нужно клиенту. Обнаружили, что проблемы на клиентском сайте связаны с некачественной кастомизацией компонентов Aspro и большим количеством некэшируемых запросов. После исправления ошибок сайт работает гораздо быстрее и с легкостью выдерживает даже большие нагрузки, чем на старой версии.
Почему экономить на разработке невыгодно. Некачественный сайт = низкая конверсия = убытки
Мнимая экономия на старте нередко приводит к тому, что в бэкенде накапливается большое количество проблем. В итоге через какое-то время подрядчик предложит либо произвести рефакторинг кода, либо полностью создать сайт с нуля.
К примеру, в рамках аудита интернет-магазина производственной компании мы нашли такое большое количество проблем и барьеров в UX, что клиент принял решение отказаться от старого сайта, так как бюджет по устранению ошибок был соразмерным. И несмотря на то, что мы всегда выступаем за постепенный редизайн, в данном случае выгоднее было разработать новый сайт.
Сбои в работе интернет-магазина — это прямое влияние на бизнес. Чем больше проблем, тем больше барьеров на пути пользователя, ниже конверсия и больше потерь.
Резкое падение конверсии после функционального сбоя на сайте
Кейс из практики
Ecom-директор в нашем проекте жаловался, что в периоды маркетинговой активности сайт зависал: административная панель работала крайне медленно, операторы не успевали обрабатывать заказы, а компания несла убытки.
Провели технический аудит и выяснили:
- Структура кода требовала оптимизации.
- Имелись функциональные проблемы и ошибки в верстке.
- Некоторые модули "1С-Битрикс" были настроены и использовались некорректно.
Основную нагрузку на сайт создавал обмен заказами с фулфилментом и неоптимальные настройки сервера по распределению задач. После доработки интеграции с фулфилментом и оптимизации серверных настроек, сайт и админпанель начали работать быстро и без сбоев.
Типичные ошибки при техническом сопровождении сайта
Экономия в процессе технического сопровождения сайта может приводить последующим сбоям. Перечислим типичные ошибки, которые мы встречали при проведении аудитов:
1. Ошибки при работе непосредственно с платформой "Битрикс". Самая распространенная проблема — ошибки в работе типового функционала из-за модификаций в ядре "1С-Битрикс".
Есть еще одна серьезная проблема — создание самописных компонентов без особой необходимости вместо использования сложных комплексных и стандартных от "Битрикс". Это вызывает проблемы при попытках расширения функционала, обновлении CMS и при развитии проекта.
2. Ошибки backend-разработки на PHP и Bitrix API. Запросы к БД в цикле, лишние файлы, служебные скрипты в открытом доступе, отсутствие защиты при обращении к GET- и POST-параметрам.
3. SQL-запросы в файлах страниц, шаблонах, запросы в циклах. Ошибки логики, постоянные повторы ошибок и, как следствие, высокая нагрузка на сайт и замедление его работы.
4. Кеширование компонентов отсутствует или отключено. В режиме отладки выводится сообщение о нулевом размере кэша, в результате — высокие нагрузки и замедление работы.
5. Ошибки верстки. Сайт загружается, но интерфейс не работает несколько секунд. В итоге пользователь видит сайт искаженным, а поисковые системы понижают сайт в ранжировании.
6. Проблемы с изображениями. Тяжелые и неоптимизированные картинки, которые могут быть низкого качества, устаревшего формата и в неэффективной кодировке.
7. Некорректная работа скриптов. Например, сами скрипты подключаются с внешних серверов, которые географически удалены от сервера сайта.
8. Низкий уровень безопасности сайта. Уязвимости к SQL-injection и Cross-Site Scripting. Файлы сессий, которые позволяют мошенникам получать доступ ко всем проектам на хостинге. Отладочная информация выводится на страницах публичной части, служебные файлы доступны по URL.
9. Не настроен сервер и его окружение. При повышении посещаемости сайт замедляется или вовсе отказывается работать. В итоге ресурс теряет позиции в поисковых системах и возможных клиентов.
10. Не настроено автоматическое резервное копирование. Последняя резервная копия сайта создана более недели назад, что может привести к потере важных данных и затратам на восстановление. Бэкап хранится на том же диске, на котором лежат файлы сайта. В случае взлома, удаления сайта или фатального выхода из строя серверного оборудования бэкап также пропадает.
11. Выполнение агентов на хитах. В больших интернет-магазинах есть служебные процедуры, которые запускаются редко, но занимают много времени, например, регулярная выгрузка номенклатуры на торговые площадки. Это приводит к замедлению работы сайта по причине непостоянного времени генерации страниц.
12. Не удалены неиспользуемые модули. Чем больше в системе модулей, тем дольше загружается любая страница и дольше запускается инициализация ядра платформы. Это приводит к медленной работе сайта.
Кейс из практики
К нам пришел крупный клиент из ювелирной тематики, у которого очень медленно работал сайт.
Провели технический аудит и обнаружили:
- Низкое качество программной реализации.
- Несоблюдение стандартов разработки на "1С-Битрикс" и отсутствие документации.
- Множество источников скрытых ошибок.
- Уязвимости для безопасности сайта.
- Места с повышенной нагрузкой.
- Легаси от нескольких подрядчиков с различными стилями написания кода и отсутствием единой концепции.
Устранив большинство проблем и проведя рефакторинг, мы полностью решили вопросы со скоростью работы сайта.
Как искать точки роста для интернет-магазина: внешний и внутренний анализ (c примерами из практики)
Как проходит аудит и что получает заказчик
Что входит в техаудит:
- Анализ работы сервера, кода и программной архитектуры.
- Стандартные тесты "1С-Битрикс": качества, производительности, безопасности, работы модулей и компонентов.
- Frontend-тестирование: кроссбраузерное и кроссплатформенное тестирование верстки на реальных устройствах, а также с использованием сервисов.
- Нагрузочное тестирование: выявление предельных нагрузок, анализ достаточности настроек ПО сервера, анализ результатов и рекомендации.
- Функциональное тестирование: корзины, оформления заказа, личного кабинета, регистрации и других элементов функционала.
Что в результате
По итогам анализа вы:
- Получите подробный отчет, который содержит качественные и количественные данные, сводные таблицы и инфографику, выводы и рекомендации.
- Сформируете целостную картину проблем, которые наблюдаются в серверной архитектуре и коде: backend и frontend.
- Поймете, что нужно предпринять, чтобы увеличить скорость работы сайта.
- Получите конкретные рекомендации, как исправить выявленные проблемы.
- Сможете подготовить список важных задач для развития проекта и определите их приоритет.
Если вам нужен беспристрастный и профессиональный взгляд для поиска точек роста сайта, — обращайтесь в KISLOROD.
Реклама: ООО "КИСЛОРОД ДИДЖИТАЛ", ИНН: 7300000950
Просто:
1) Дорогой. Программисты на битриксе в 3-4 раза дороже других движков.
2) на 90% врет во всей рекламе. То что написано работает - не работает. Что "в разработке" - может быть в разработке 10-12 лет.
Банальный пример - интеграция с 1с. Она тупо не работает из коробки со штатным функционалом битрикса. Вообще. Совсем.
Пилим, покупаем версию ПРОФ, при обновлении 1с все ломается. 200к за интеграцию + за "поддержку". В итоге любой проект на битриксе с 1с - от полумиллиона.
3) Конские системные требования при в общем-то довольно банальном функционале.
4) Впихивание нафиг не нужной CRM в интернет-магазин и забивание на собственно интернет-магазин ради CRM, которая нужна дай бог 5% интернет-магазинов.
5) Производительность.. Почему нет миллиона статей "как ускорить сайт на ShopScript / CS Cart / Opencart? А если и есть - то они в стиле найдите кривой плагин и уберите, а на Битриксе..
Ну грустно все на Битриксе.
Шаблоны с маркета перестают работать через обновление и требуют платной поддержки. Ты типа купил шаблон, а дальше раз в год половину цены платишь что бы он тупо работал.
Отделение логики от шаблона? Ну Битрикс пошел своим путем. Потому, если у вас шаблон от Васи, вы не сможете просто подключить шаблон от Пети - отвалится примерно все. По сути шаблон = сайт. На любом движке в целом можно взять условный каталог и подключить к шаблону и все заработает. На Битриксе - нет. И так на любой чих.
Платить надо за все. За битрикс и за упаковку (у нас Аспро) надо платить каждый год, причем если одно просрочено другое не работает, не обновляет. Поддержка стремится к нулю. а в упаковке Аспро так вообще платная)) свинское отношение к клиентам.
Я честно, пожалел что связался. Но запускать новый проект гораздо дороже выйдет.
1 - Канонические ссылки у каталога отсутствуют. Такого бреда я не видел. Причем на товаре они есть. Но понимая важность порядка продвижения первичной категория, товар вторичен.
2 - Я решил настроить ручное SEO для категорий и опаньки, изменив настройки корневой категории все разделы под категорий стали иметь параметры SEO родителя. Такого бреда я еще не видел.
Я в целом столкнулся с такой кучей косяков, что прихожу к выводу, что Битрикс это самый сырой продукт на рынке движков ИМ
Про логики администрирования я промолчу.
Михаил Я. НО, Торговля (Книги, музыка, видео, среднего размера компания) |
У меня магазин на битриксе.
У конкурентов на ShopScript, CS Cart. За их стоимость создания, интеграции с 1с и обслуживания в год на битриксе можно разве что готовый шаблон натянуть силами самих разрабов шаблона, которые будут делать это тот же год. И это реальность.
Свой дизайн на битриксе стоит от полумиллиона и в небо с шансами что получится доделать 50 на 50.
Верстальщики не хотят за это браться, потому что верстка вмазана в шаблон и что бы сверстать страницу надо разобраться как 50 компонентов на ней взаимодействуют.
Дизайнеры не любят битрикс, потому что дизайн размазан по миллиону компонентов.
Такие же шансы 50 на 50, что следующий программист тупо не возьмется за поддержку вашего самописа, потому что не сможет разобраться..
И на все космические сроки. Натянуть шаблон? Пару месяцев это начало разговора. Из топ-3 шаблонов на момент покупки (Битроник, DW Deluxe) оба не получилось натянуть до конца с выполнением всей бизнес логики силами РАЗРАБОТЧИКОВ этих самых шаблонов. У обоих шаблонов истекла тех поддержка за время установки. То есть установка шла больше года.
За пол миллиона на шоп скрипте можно навернуть все что угодно, хоть черта лысого.
Я просто вижу как конкурент клепает магазины на SS под разные задачи за 10-40 тысяч с готовым шаблоном. За 10-40 тысяч на битриксе на тебя просто посмотрят как на говно, ведь многосайтовость не работает, а лицензия бизнес стоит 80 тысяч.
Крупные проекты я вообще не понимаю как поддерживать на битриксе.
Если работать в парадигме связки 1с рулит сайтом - там вообще глубоко положить какой там движок на выходе, но любой другой движок не будет тормозить как битрикс. Так что что на шоп скрипте, что на битриксе, что на cs cart результат будет одинаковый. Вот только тройной фильтр в разделе на 10000 товаров не будет укладывать сайт.
Если работать в парадигме 1с/учетная система рулит только остатками и ценами, а контент он на сайте живет сам по себе - там у битрикса свои приколы. Деактивация товаров, например. Абсолютно конченная штука.
Отсутствие управления показом товаров на сайте.
Тебе нужен технический товар, скажем для комплекта? Ну типа набор фурнитуры для стола. Ты продаешь столешницы, ноги, а когда покупают стол - надо положить комплект фурнитуры. Но вот продавать его отдельно - не нужно. Как это сделать штатными средствами? Никак. Потому что если ты его деактивируешь - комплекты сломаются.
Или, например, надо продать только комплект, а комплектующие по отдельности - нет. Как это сделать? Никак.
То что есть в любом движке (отключить показ товара в магазине) - в битриксе по сути кривая доработка, которая увеличивает время ответа на 0,3 секунды. Каждый клик +0,3 секунды ради того что бы не показывать технические товары в техническом разделе. Ах да. Можно же деактивировать раздел? Ну товары все равно будут в поиске. Л - логика.
По SEO - я вообще молчу. Куча SEO модулей, которые не совместимы с шаблонами, а SEO в шаблонах не совместимы с другими шаблонами. Хочешь 2 разных шаблона для 2 сайтов в многосайтовости? Полностью разное SEO на разных принципах. Зашибись.
Многосайтовость - отдельная песня.
Ты можешь сделать 2 магазина на разных доменах. Отличная идея! Вот только база пользователей у них общая и пришел у тебя клиент во второй магазин а у него там аккаунт.. В котором заказы... Дела...
И так по сути ВСЕ в битриксе. Мы сделали интеграцию с 1С, но она не работает.
Не работает передача скидок.
Не работает передача комплектов.
Когда заработает? Официальный ответ от 2018 года - в другом типе обмена, который разрабатывается. Разработали? Нет.
И все это поднимает цену дальнейшего содержания.
Кривая интеграция с 1С? Пилим 1С. Вместо УНФ базовой за 3000р с вечной поддержкой и обновлениями покупаем ПРОФ за 20 тысяч.
Покупаем обновления на ПРОФ каждый год за 20.
Ну и программисту за каждое обновление тысяч 5. Просто потому что модуль ломается и его надо подправлять. Его могло бы и не быть, но 1С Битрикс не может сделать интеграцию с 1С. Поэтому с вас лишний полтос в год.
Итого - сам магазин на битриксе стоит под сотку в год чисто на обновление битрикса, обновления шаблона, обновление 1с. Только лицензии.
Просто:
1) Дорогой. Программисты на битриксе в 3-4 раза дороже других движков.
2) на 90% врет во всей рекламе. То что написано работает - не работает. Что "в разработке" - может быть в разработке 10-12 лет.
Банальный пример - интеграция с 1с. Она тупо не работает из коробки со штатным функционалом битрикса. Вообще. Совсем.
Пилим, покупаем версию ПРОФ, при обновлении 1с все ломается. 200к за интеграцию + за "поддержку". В итоге любой проект на битриксе с 1с - от полумиллиона.
3) Конские системные требования при в общем-то довольно банальном функционале.
4) Впихивание нафиг не нужной CRM в интернет-магазин и забивание на собственно интернет-магазин ради CRM, которая нужна дай бог 5% интернет-магазинов.
5) Производительность.. Почему нет миллиона статей "как ускорить сайт на ShopScript / CS Cart / Opencart? А если и есть - то они в стиле найдите кривой плагин и уберите, а на Битриксе..
Ну грустно все на Битриксе.
Шаблоны с маркета перестают работать через обновление и требуют платной поддержки. Ты типа купил шаблон, а дальше раз в год половину цены платишь что бы он тупо работал.
Отделение логики от шаблона? Ну Битрикс пошел своим путем. Потому, если у вас шаблон от Васи, вы не сможете просто подключить шаблон от Пети - отвалится примерно все. По сути шаблон = сайт. На любом движке в целом можно взять условный каталог и подключить к шаблону и все заработает. На Битриксе - нет. И так на любой чих. Свернуть
Алексей А. Владелец, Торговля (Детские товары, небольшая компания) |
На практике у нас был клиент с этим шаблоном, у которого вот тоже как не бились - 1С не подключился. Без шаблона этого подключается без проблем, только программер нужен.
Мойсклад тогда еще только зарождался и был сырой, поэтому нам сказали что лучше использовать 1с УТ и битрикс. Запустить нормально это дело не получилось и оно нормально так кушало денег. (начальная адаптация этого дела встала нам порядка 300 тысяч и мы решили на этом закончить)
В итоге пошли другим путем и написали свой велосипед для всего. От интернет-магазина до склада и кассового оборудования. Это тоже встало нам в копеечку, но со временем мне кажется окупается.
Хайлоад обычно уникальная история в каждом случае и в наше время решается разными способами. Битрикс тут вряд-ли чем-то поможет, он так же работает на nginx и mysql как и большинство движков ИМ. В конечно счете все встанет только в опыт разработчиков, которые будут вам внедрять что-то, если у вас реально большие нагрузки.
Штатный Битрикс.
Штатные модули интеграции от Битрикс.
Не работают - комплекты и наборы.
Причем ладно бы просто криво работало. Заказ падает с сайта в 1с с нулевыми ценами, следующим циклом нулевые цены улетают на сайт и пользователь получает заказ с товаром за 0 рублей. Огонь.\
Баг с 2019 года.
Все верно, к сожалению, обмен комплектами в стандартном модуле обмена не предусмотрен на данный момент.
В отделе разработок есть заявки по такой ситуации.
Добавил ваше обращение для повышения приоритета заявки у разработчиков. Вы получите уведомление о результатах рассмотрения и реализации, даже если это обращение уже закроется.
Функционал из 2013 года..
https://dev.1c-bitrix.ru/community/blogs/product_features/types-of-goods-create-sets-and-kits-1cbitrix-site-management.php
Не работают - скидки.
аналогично - цена падает кривая в 1С и все разваливается.
С интеграциями вообще грустно.
Штатный модуль ВК - не работает.
Штатный модуль Ebay который был - не работал ни дня.
Так что не работает оно.
Оно работает только если у вас простые товары и надо отдавать только цену и остаток. Даже тупо размер поля название товара в 1с и битриксе разные и надо править их что бы не было дублей в 1С...
Алексий Ць гд, Websample.ru |
Единственное что есть у битрикса, чего нет в других магазинах - работа с онлайн кассой из коробки.
И та - как всегда, через задницу. Не. В этот раз она даже работает. Но работает исключительно примитивно. Как и интеграция с 1С, которая работает только с обычными товарами, если вы не используете скидки, наценки, комплекты и прочий функционал.
Банально - нельзя разбить заказ на 2 чека. Только целиком наличка или карта. А вот пол заказа картой и наличкой - это "не предусмотрели, в будущем доработаем". С 2020 года дорабатывают. Две оплаты картой? Аналогично.
Там зачастую отваливается все подряд.
Вот банально - к черной пятнице отвалился email маркетинг. Рассылка уходила еле еле. Так и на 30% зависла.
Логов нет, php.mail отправляет хоть 100 писем в секунду. Но у Битрикса настройки почты в 3 разных местах и они друг другу противоречат. Какие из них использует модуль рассылки - знает только он сам.
Пишем в тех под. Вы 450 в очереди.
Платить надо за все. За битрикс и за упаковку (у нас Аспро) надо платить каждый год, причем если одно просрочено другое не работает, не обновляет. Поддержка стремится к нулю. а в упаковке Аспро так вообще платная)) свинское отношение к клиентам.
Я честно, пожалел что связался. Но запускать новый проект гораздо дороже выйдет. Свернуть
Станислав Ф. ком.директор, Торговля (Детские товары, небольшая компания) |
А вот Аспро у меня вызвало просто бурю эмоций. Давно я так не матерился. Насколько он сделан не "ремонтнопригодным" как будто специально.
Аспро сделан не по "заветам" Битрикс. Поэтому в нём что-то доработать и исправить ОЧЕНЬ тяжело.
У меня был проект с более чем 60 тыс. активных SKU. При этом мы проходили "Черную пятницу" с показателями более 5 тыс заказов в день и скоростью загрузки страницы в районе 1.5 секунды.
Но честно скажу проект был сильно кастомизированный. Все компоненты были свои. Но на нем же работали все операторы, диспетчеры, логистика и т.д. То есть помимо самого интернет магазина на нем было еще много сервисов.
В прошлую среду ночью (считай четверг) написал в ТП, что рассылка по Черной пятнице сначала отправлялась по 3 письма в минуту (при настройке 100 за запуск агента, а агент раз в минуту), а потом совсем встала на 31% и стоит.
Битрикс - изобретатели велосипедов, потому у них внутри своя функция php.mail.
Из админки прямым запуском php.mail улетает куда хочешь. Даже из самой рассылки тестовые письма летают по 20 штук за раз.
Прошло 3 рабочих дня.
Я получил 3 ответа, в которых НИЧЕГО не сделано по сути.
В первом "надо позвать нормального программиста", а дальше нормальный программист тупо отвечает невпопад.
А может у вас проблема в агентах? А я знаю? Ты техподдержка или я?) Спойлер - нет там проблемы.
А можно я перезапущу рассылку? Ну 1 сообщение назад написано, что перезапускали 100 раз, ну перезапусти.. Только ответ на это сообщение через сутки.. Перезапустил - не помогло..