Неграмотная доработка и некорректная настройка часто приводят к ошибкам, которые обходятся владельцам сайтов в сотни тысяч рублей. Примечателен случай, когда владелец цветочного магазина потерял за сутки миллион рублей. На День святого Валентина сайт на Битриксе упал. Оказалось, что доступ к администрированию получил сторонний разработчик и внес некорректные изменения в исходный код. Ниже собраны 14 интересных багов, которые привели к потере денег, имиджа или другим неприятностям.
Как Лебедев чуть не нарвался на «леща»
Историю про баг аватарок рассказал дизайнер Артемий Лебедев. Пользователи ЖЖ загружали на сайт большие картинки, а потом обрезали их в настройках журнала. Фотографию человек мог сделать в ванной, в полуобнаженном виде. Тёма использовал баг журнала, позволявший показывать в посте юзерпики читателя. В результате эксплоита показывалась исходная фотография, сопровождаемая нецензурной аннотацией Тёмы и активными оскорбительными обсуждениями сотен пользователей. Человек не понимал, чем он заслужил такое внимание незнакомых людей. Последствия — Артемий чуть не получил по лицу на улице.
Что такое 1С-Битрикс
1С-Битрикс — «коробочная» система управления сайтом. CMS предлагает пакетные решения для электронной коммерции. Говоря проще, на этой CMS можно быстро запустить интернет-магазин, промо- или корпоративный сайт, сервисы и порталы. В Битрикс сразу встроены все востребованные функции. Рейтинг популярности 1С-Битрикс: третье место в Рунете и первое — среди платных CMS. Согласно статистике, на 2017 год на Битриксе работали 28,7% интернет-магазинов.
Программные пакеты 1С-Битрикс
Компания предлагает готовые модульные решения для различных типов сайтов.
- «1C-Битрикс: Управление сайтом» — CMS для интернет-коммерции.
- «1С-Битрикс: Корпоративный портал» — продукт, предназначенный для бизнес-администрирования крупных компаний.
- Отраслевые продукты. Типовые конфигурации, созданные на основе Bitrix Framework: здравоохранение, портал государственной организации, сайт учебного заведения и так далее.
- 1С-Битрикс: Enterprise — самый дорогой продукт, предназначенный для создания и управления очень крупными проектами.
Что такое Bitrix Framework
Bitrix Framework — ядро, в которое заложены различные решения и их настройки. Веб-мастер или администратор может отключать функцию в модуле, а также настраивать модуль под нужды компании. Кроме того, после покупки лицензии Битрикс отдает исходный код, что позволяет сторонним разработчикам совершенствовать продукт. Поэтому два сайта на Битриксе могут разительно отличаться друг от друга. Качество и работоспособность сайтов на движке напрямую зависят от опыта программистов и веб-мастеров.
Junior на боевом сервере
В первый рабочий день Junior настраивал локальное окружение по инструкции, в которой в качестве примеров были доступы от боевого сервера. После запуска команд по заполнению базы тестовыми данными все данные с production-базы были удалены, потому что сотрудник использовал доступы из инструкции, а не локальные. Потом оказалось, что базу данных невозможно восстановить из бэкапов. Сотрудника уволили в тот же день.
Базовые функции и «фишки» 1С-Битрикс
В зависимости от стоимости базового продукта функционал 1С-Битрикс различается. Рассмотрим коробку «1С-Битрикс Бизнес».
01 | Яндекс.Маркет | Выгрузка товаров в Яндекс.Маркет. | |||
02 | CRM | Управление отношениями с клиентами. | |||
03 | 1C | Обмен магазина с 1С в режиме реального времени. | |||
04 | Многоскладовость | Управление остатками на различных складах. | |||
05 | Бизнес-процессы | Управление задачами и автоматизация бизнес-процессов. | |||
06 | A/B-тестирование | Проверка новых шаблонов и их влияния на конверсию. | |||
07 | Полнотекстовый поиск | Поиск страницы по содержимому с учетом морфологии русского языка. | |||
08 | Скидки и товарный маркетинг | Настройка акций и скидок по времени, по категориям товаров. | |||
09 | Конструктор отчетов | Владелец получает отчет по продажам, товарам, клиентам, остаткам. | |||
10 | Отслеживание конверсии | Показывает откуда пришел клиент: SEO, социальные сети, еmail-рассылка. | |||
11 | Мобильное приложение | Адаптация сайта под мобильные устройства. | |||
12 | Email-маркетинг | Сбор подписчиков и проведение рассылок. | |||
13 | Блог | Ведение блога с расширенными возможностями: выгрузка изображений, «лайки» и прочее. | |||
14 | Веб-формы | Формы обратной связи. | |||
15 | Мультивалютность | Обновление курса валют из официальных источников. | |||
16 | Группы клиентов | Создание групп клиентов, которым предлагаются оптовые цены или скидки. | |||
17 | Отзывы клиентов | Комментарии о товаре или услуге. | |||
18 | Настройка страницы оформления заказа | Настройка платежных систем, пунктов получения заказов, оформления заказа без авторизации. | |||
19 | Интеграция с популярными службами доставки | Почта России, СДЭК, Деловые линии. | |||
20 | Программа лояльности | Начисление премиальных баллов. | |||
21 | Методы оплаты | Интегрированы все популярные способы онлайн-оплаты. | |||
22 | SEO | Модуль позволяет заполнять мета-теги, прописывать читабельные URL. |
Доработка и сопровождение веб-сайта на 1С-Битрикс
Помимо коробочных решений, докупаются дополнительные компоненты и сторонние решения.
- Готовые виджеты оформления списка товаров для штучных бриллиантов и каталогов в десятки тысяч видов рыболовных снастей.
- Купить в один клик — обратный звонок от менеджера после нажатия кнопки.
- Дополнительный фильтр — хиты продаж.
- Фильтр товаров со скидкой.
- Предзаказ — покупатель резервирует отсутствующий товар.
- Список пожеланий — после просмотра товаровед сможет сделать клиенту индивидуальные предложения.
Но не только покупка, но и доводка компонентов позволяет улучшить работу сайта.
1. Исправление ошибок
Исправление ошибок — самый частый запрос на доработку сайта. Исправляем ошибки, допущенные предыдущим исполнителем или совершенные при самостоятельной настройке сайта.
Бесконечный кэшбэк
При разработке партнерской программы сервиса торговли на Alpari была допущена ошибка. В качестве партнера можно было указать самого себя, оставив свой номер телефона. Что и сделал один ушлый пользователь. Отчисления производились всем партнерам по цепочке вверх — в итоге «партнер» рекурсивно получил дополнительный кэшбэк, который успешно вывел.
2. Доработка функциональности
Битрикс предлагает десятки настроек и еще больше сторонних решений, позволяя конструировать сайт без навыков программирования. Частенько возникает ситуация, когда коробочной функциональности сайту недостаточно и нужно что-то кодировать с нуля.
Фичи важнее качества
Поступил заказ на доработку известного сервиса по обмену электронных денег — нужно было реализовать обмен Bitcoin на другие валюты. Мы предупредили владельца о плохом исходном коде и возможных уязвимостях. Настойчиво убеждали срочно исправлять. Но он решил не тратить время и подключать новые валюты. Примерно через месяц со всех кошельков сервиса украли деньги.
3. Разработка модуля для Битрикса
К нам часто обращаются за услугой разработки модуля. Например, мы разработали онлайн-примерочную для сайта на Битриксе.
4. Редизайн сайта
Мир web-технологий меняется с невероятной скоростью. Смотреть на сайт 10-летней давности с некогда трендовым дизайном пользователю будет некомфортно. Появляются новые мобильные устройства, новые разрешения экрана, поэтому лучше обновлять дизайн каждые 3–4 года. Сверстаем шаблон дизайна, протестируем и обновим дизайн за один день.
5. Наполнение контентом
Часто у людей нет времени на удобные средства администрирования, поэтому они обращаются за услугой сопровождения сайта: добавления новостей, размещения новых фотографий.
Попрошу босса сварить борща на ужин
Пару лет назад в Android OS зафиксировали ошибку. Вместо того, чтобы послать текстовое сообщение другу или партнеру, приложение отправляло его, например, начальнику. В результате разработчики получили множество забавных жалоб.
- Люди переписывались с начальниками вместо жен.
- Менялись статусы соцсети из-за неправильно посланных сообщений.
- Люди, получая сообщения от неизвестных людей, отвечали им как друзьям.
6. Адаптация под мобильные устройства
Количество мобильных устройств в интернете достигает 55–65%. Несмотря на это, еще есть сайты, не имеющие мобильной версии. С 1 июля 2019 Google ввел алгоритм индексации Mobile-first. В поисковом индексе хранится мобильная версия сайта, а релевантность контента в выдаче определяется по ее качеству.
7. Перенос сайта на 1С-Битрикс
До 30% компаний продолжают пользоваться самописными сайтами. Это дорого и не всегда оправданно. Сайты, начинавшие с самописных или простых движков, хотят иметь интерфейс управления контентом:
- добавлять и удалять товары;
- организовывать акции;
- публиковать новости.
Битрикс занимает первое место среди платных CMS в Рунете и предлагает широкий функционал по управлению контентом, поэтому перенос сайта на 1С-Битрикс — частый запрос.
Скупой платит дважды
Владелец магазина автозапчастей заказал разработку интернет-магазина на бирже фриланса, чтобы не переплачивать софтверной компании. Однако через год все-таки обратился к нам за доработкой сайта. Изменение чужого кода стоит примерно столько же, сколько и разработка с нуля. Заказчик хотел сэкономить, а в итоге переплатил.
8. Перенос сайта с 1С-Битрикс
1С-Битрикс имеет все базовые возможности по управлению, но все же коробочная версия имеет ограниченный набор функциональности. Компании, начинавшие с небольшого интернет-магазина, вырастают в крупные корпорации и задумываются о собственном решении для бизнеса.
9. Интеграция с «1С:Предприятие»
В 1С-Битрикс предусмотрено решение для интеграции с «1С: Предприятие», которая настраивается в пару кликов. К сожалению, настройка работает только для типовых конфигураций 1С. Часть конфигураций 1С нетиповые, данные могут не выгружаться совсем или выгружаться частично. В этом случае будут необходимы доработки модификации 1С.
10. Медленно работает сайт
Магазины, начинающие с десятка или сотни товаров, почти никогда не испытывают проблем с производительностью. При росте каталога до сотен тысяч товаров сайт начинает тормозить, страницы загружаются медленно, а временами вовсе не открываются. После подключения поискового движка Sphinx, который Битрикс поддерживает из коробки, сайт работает быстрее и стабильнее.
Работает — не трогай
Владелец торгового советника на Metatrader 4 обратился с проблемой периодической утечки памяти на сервере торговли. После исправления очевидных ошибок робот, который раньше торговал успешно, стал торговать в минус. Сами алгоритмы были неверными, но чудесным образом приносили прибыль благодаря ошибкам.
11. Композитный сайт
Композитный сайт ускоряет загрузку страниц в 2–3 раза. Контент страницы разделяется на статическую и динамическую часть. Статическая часть хранится в кэше, и контент передается браузеру почти мгновенно. Динамическая часть, например, корзина товаров, уникальна для каждого пользователя и загружается отдельным AJAX-запросом уже после того, как основная часть страницы показана браузером.
12. Перенос на новый хостинг
Поводом для переноса может стать низкое качество текущего хостинга, рост нагрузки, SEO-оптимизация или требование законодательства.
Мало кого обрадуют частые перебои в работе сайта, связанные с оборудованием хостинг-провайдера. Поэтому к нам обращаются с просьбой не только по самому переносу, но и по подбору подходящего хостинга. Лучшие хостинг-компании предлагают тарифы специально под Битрикс.
При росте числа посетителей возрастает и нагрузка на железо, поэтому недостаточно увеличить текущий тарифный план — необходим полноценный перенос на выделенный сервер. Для крупных проектов на лицензии «Энтерпрайз» предусмотрен модуль «Веб-кластер», который позволяет разместить сайт на нескольких серверах.
Если у интернет-магазина или сайта региональная принадлежность, например, продает товары только по Санкт-Петербургу, то сайт лучше разместить в дата-центре в том же городе. Страницы сайта у целевой аудитории будут загружаться быстрее, и поисковые системы повысят релевантность в выдаче по региональным запросам. Поэтому, когда компания начинает работы по SEO-оптимизации, предлагаем переезд на лучший хостинг.
С 1 сентября 2015 года персональные данные должны храниться на серверах, расположенных на территории России.
До сих пор часть интернет-магазинов игнорирует это требование и продолжает пользоваться услугами зарубежных хостинг-провайдеров. Но со временем переезд будет неизбежен.
С помощью бэкапов можно легко перенести сайт на новый хостинг, а виртуальная машина автоматически настроит окружение.
Бэкап Шредингера: состояние бэкапа остается неизвестным, пока не попробуешь восстановить его
Возникли проблемы с репликой базы. После неудачных попыток исправить ситуацию изменением настроек сотрудник GitLab решил удалить базу и залить заново. При удалении ошибся и удалил мастер-базу: выполнил
rm -rfна db1.cluster.gitlab.com вместо db2.cluster.gitlab.com. При этом ни один из пяти видов бэкапов в системе не сработал, спас только LVM-snapshot, который случайно сделали за шесть часов до инцидента.
13. SEO-оптимизация
Для увеличения числа посетителей используется оптимизация сайта под поисковики. Начинаем с SEO-аудита и составления семантического ядра сайта. У Битрикса есть настройки «Поисковая оптимизация». Их часто не хватает — требуются доработки сайта.
Не рассчитали бюджет
Владелец магазина мебели обратился за SEO-продвижением. Сайт самописный, без админки. Решил сначала перенести сайт на 1С-Битрикс. После переноса сделали упор на функциональность. Тут у заказчика внезапно закончились деньги, а к SEO-работам так и не приступали. В результате сайт потерял позиции.
14. SEO-аудит
Перед оптимизацией заказчики просят провести аудит сайта, чтобы выяснить текущую привлекательность для поисковиков и примерно оценить объем предстоящих работ в деньгах. Для проведения аудита сайта используются «SEO-модуль» и «Веб-аналитика».
15. Технический аудит
Технический аудит сайта нужно проводить после переезда на новый хостинг, после редизайна или изменений структуры сайта. Цель — выявление ошибок, таких как битые ссылки, дублирование страниц, отсутствие мета-информации на странице и т. д. Яндекс.Вебмастер и Google Search Console показывают проблемные страницы.
16. Аудит юзабилити
Usability в переводе с английского — «удобство использования». Юзабилити напрямую влияет на конкурентоспособность сайта. Посетитель хочет быстро разобраться в структуре сайта, найти товар или услугу, мгновенно оформить заказ. Если сайтом неудобно пользоваться, потенциальный клиент уйдет к конкуренту.
17. Маркетинговый аудит
Если после проведения SEO-оптимизации и получения желаемого количества посетителей количество заказов остается прежним, нужен маркетинговый аудит. С его помощью можно установить соответствие посетителей целевой аудитории сайта, адекватность ценовой политики компании. По результатам анализа пишем стратегии для дальнейшей работы.
18. A/B-тестирование
При изменении дизайна страницы или добавлении новых функций проводится A/B-тестирование для определения отношения пользователей к нововведению. Пользователи разделяются на A и B: одни видят старую версию страницы, другие — новую. Таким образом оценивается влияние изменений на конверсию и поведенческие факторы. При улучшении новая версия внедряется для всех. Начиная с редакции «Малый Бизнес», модуль «A/B-тестирование» входит в коробку.
19. Настройка целей
Настройка целей в Яндекс.Метрике и Google Analytics помогает проследить цепочку действий пользователей от захода на сайт до оформления заказа. Это позволяет понять, где у юзеров возникают проблемы.
Нейросети неазартны
Когда нейросеть училась играть в безлимитный техасский холдем, на определенном этапе она отказалась делать ставки — пасовала на префлопе, игнорируя даже чек-колл. Видимо, поняла, что лучше вообще не играть — останется больше денег. Позже все-таки доучилась и начала выигрывать.
20. Прохождение теста Google PageSpeed Insights
С июля 2018 Google стал использовать скорость загрузки сайта в качестве фактора ранжирования для мобильного поиска. Для высокой оценки повышаем скорость загрузки каждой страницы сайта: оптимизируем картинки, HTML-код сайта, стили, JavaScript.
21. Отображение сайта в браузерах
Пользуясь одним браузером, заказчик не видит проблем сайта до получения жалоб от посетителей. Сайт может по-разному отображаться в браузерах из-за невалидной верстки или особенностей самих браузеров. Сегодня существует более 50 браузеров. Популярностью пользуются Google Chrome, Safari, Opera, Firefox. Отображаем сайт не только без ошибок, но и одинаково во всех браузерах, т. е. кроссбраузерно.
Вечер пятницы — время деплоя
Диалог разработчика и заказчика.
— Практически все сделал, только обновить тестовый сайт пока не получилось. Сбились настройки. В понедельник с утра буду разбираться.
— OK.
(через несколько часов)
— Уже можно посмотреть на тестовом сайте, только нужно выйти из аккаунта, иначе будет ошибка. С этой проблемой буду разбираться в понедельник.
— Может, обновить сразу боевой сайт и посмотреть, будет ли там проблема? Если нет, может, и не надо тогда с тестовым возиться?
22. Калькулятор
Для повышения конверсии, улучшения поведенческих факторов и удобства пользователей заказчики часто обращаются за созданием онлайн-калькулятора услуг. Расчет стоимости пиццы, доставки, ипотечный калькулятор, подсчет количества ламината для укладки — примеры проектов.
23. Размещение карты, схемы проезда
Настроить карты Яндекс и Google можно из админки. Не стоит размещать картинку-скриншот с карт. Карты — объект авторских прав, их нельзя демонстрировать полностью или частично, за это предусмотрен штраф до 5 млн рублей.
До Уолл-стрит 3 километра вплавь
В 2012 году в Apple Maps появились забавные ошибки. Некоторые объекты — памятник Вашингтону, больницы и супермаркеты — то появлялись и исчезали, то меняли положение на улицах. Чтобы сесть на поезд в Новой Зеландии, на железнодорожный вокзал пришлось бы добираться на корабле, поскольку вокзал находился посреди океана.
24. Изменение структуры сайта
На первый взгляд, безобидная операция приводит к трагедии. Неграмотное изменение структуры сайта чревато потерей позиций в поисковой выдаче. Перед внесением изменений анализируются текущие позиции страниц, наличие внешних ссылок, настройка редиректов со старых страниц.
25. Интеграция онлайн-оплаты
Каталог решений Битрикса включает десятки готовых платежных систем. Если же нужного решения не оказалось в списке, то пишем новый модуль интернет-эквайринга.
26. Интеграция SMS-оповещений
Большинство SMS-агрегаторов предлагают собственные модули, устанавливаемые без программирования. Отправка SMS напрямую через шлюз оператора сотовой связи потребует доработку.
Ошибся вкладкой
HeidiSQL — менеджер для работы с базой данных, который позволяет вести работу в разных вкладках. По ошибке запрос к тестовой базе сайта инвестиционного фонда на удаление всех данных таблицы был применен к боевой. Пришлось восстанавливать данные из бинарных логов с помощью mysqlbinlog. С тех пор вкладки помечаются разными цветами.
27. Подключение онлайн-кассы
С июля 2017 года интернет-магазины, согласно 54-ФЗ, используют онлайн-кассы. Битрикс предлагает бесплатное приложение «1С-Битрикс.Кассы».
28. Решения для слабовидящих
С 1 января 2016 года отсутствие версии сайта для слабовидящих считается административным правонарушением. Это касается медицинских организаций, образовательных учреждений и органов местного самоуправления.
29. Удаление вирусов
Из-за несвоевременного обновления сайт подвергается заражению вирусами. Скрытая реклама, спам-рассылки с почтового ящика компании, воровство персональных данных пользователей — далеко не самые опасные последствия.
Электрошок
Из-за ошибки в программе после смены поставщика электроэнергии семья из Англии получила счет в 500 млн фунтов.
30. Почта попадает в спам
Отправка писем работает из коробки без дополнительных настроек. Чтобы быть уверенным, что письма будут доставлены клиентам, необходим ряд настроек: SPF, DKIM, DMARC. К тому же, следует тщательно оформлять тексты писем.