Сочи · работаем по РФ и СНГ Пн–Пт 10–19 · Сб 11–16 (МСК)
Текст этой страницы без разметки — markdown-версия. Полный список страниц сайта — llms.txt, тексты всех страниц целиком — llms-full.txt.
Живой чужой код · ревизия до договора час 3 000 ₽ правим в вашем репозитории

Доработка Битрикса: правим в вашем коде, а не рядом

Разговор о чужом сайте почти всегда начинают с фразы «тут всё плохо, давайте соберём заново». Иногда это правда, но гораздо реже, чем звучит: собрать рядом новое проще подрядчику, а платит за это заказчик. Мы начинаем с ревизии — что читается, что чинится настройкой, что нужно вынести из ядра и что действительно честнее переписать. Ревизия делается до договора и имеет право закончиться выводом, что переписывать ничего не надо.

  • Ревизия до договора, с картой «оставить, починить, переписать»
  • Работаем в вашем репозитории, с историей изменений, а не в копии
  • Оценка задачами и часами, а не общей суммой «за проект»
Проверить свой сайт
в абонементе час 2 000 ₽ код остаётся вашим принимаем чужой код
Чаще всего задача решается этим
  • Когда подходит: код читается, ядро не тронуто, а проблема в настройке или в одном месте
  • Что делаем: чиним точечно в вашем репозитории, каждая правка отдельной записью в истории
  • Чем платите: часами по факту, и объём известен до начала
Когда обновления уже не накатываются
  • Когда подходит: правки внесены прямо в файлы платформы, и обновить её нельзя
  • Что делаем: переносим чужие правки в свой слой, возвращаем файлы платформы к эталону
  • Что получаете: сайт, который снова обновляется штатно, — это проверяется, а не обещается
Реже, чем предлагают, но иногда честнее
  • Когда подходит: код не читается, истории изменений нет, а нужного поведения без правок ядра не добиться
  • Что делаем: пересобираем конкретный узел, а не сайт целиком — данные и адреса остаются
  • Чем платите: это уже проект и сметы направления, и мы говорим об этом до договора
3 000 ₽час работы вне договора: объём считается задачами, а не проектом
2 000 ₽час в абонементе, если правок поток, а не разовая задача
до договораревизия чужого кода, и она имеет право закончиться отказом
7 проверок, которые ваш разработчик сделает сегодня без нас Перейти к проверкам

Почему «надо всё переписать» слышат почти все

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

  1. Разбираться в чужом коде дольше, чем писать свой

    И это правда — для подрядчика. Прочитать, понять замысел и не сломать соседнее стоит времени, которое никто не любит тратить. Написать с нуля приятнее и предсказуемее. Но платит за эту разницу заказчик, причём дважды: за новую разработку и за потерю всего, что в старом сайте уже работало. Поэтому ревизию мы делаем до договора: она показывает, читается код или нет, а не оставляет это на усмотрение того, кому выгоднее переписать.

  2. За чужие ошибки не хочется отвечать

    Понятное опасение: тронул одно — отвалилось другое, а виноват тот, кто трогал последним. Решается это не переписыванием, а историей изменений. Когда каждая правка — отдельная запись в репозитории, видно, что именно менялось, и любое изменение откатывается по одному. Если репозитория у сайта нет, первым делом мы заводим его, и только потом что-то трогаем.

  3. Новый проект продать проще, чем часы

    Сумма за проект — одна строка и одна подпись. Часы надо оценивать, объяснять и потом отчитываться по каждому. Это неудобно продавцу и удобно заказчику: в часах видно, за что заплачено, а в общей сумме — нет. Мы считаем доработку задачами и часами именно поэтому, а не из скромности.

  4. Не отличают правки ядра от нормального кастома

    Вот это уже про технику, и здесь вывод «переписать» иногда верен. Но проверяется он за час: файлы платформы в репозитории должны совпадать с тем, что отдаёт вендор. Если совпадают — сайт обновляемый, и переписывать его нет причин, какими бы странными ни казались отдельные решения. Если нет — есть третий путь между «терпеть» и «переписать»: вынести чужие правки в свой слой.

  5. Иногда переписать действительно честнее

    Бывает и так, и мы это говорим. Код без истории изменений, в котором логика размазана по шаблонам и правкам ядра, а нужного поведения без новых правок ядра не добиться, — случай, когда починка обойдётся дороже пересборки. Разница в том, что мы пересобираем конкретный узел, а не сайт целиком: данные, адреса и всё работающее остаются на месте.

Карта кода: оставить, починить, переписать

Главный документ ревизии и единственная причина заказывать её отдельно от работ. Каждый узел сайта попадает в одну из трёх колонок, и у каждой строки написано, почему он там оказался. Карта остаётся у вас: с ней можно пойти к любому подрядчику, включая того, кто писал этот код.

Колонку с этим названием показывают редко, а она и есть причина читать эту страницу. Чужая работа почти никогда не плоха целиком: в ней обычно есть вещи, которые заново собирать незачем, а иногда и нельзя.

  • Содержимое сайта и структура разделов — тексты, карточки, характеристики и адреса, за которыми стоит накопленный поиском вес
  • Настроенный обмен, если он работает и сделан штатным протоколом — самая трудоёмкая часть любого магазина
  • Права и группы пользователей, если они разведены по ролям и люди ими пользуются
  • Шаблоны, которые верстались под вас — даже неидеальная вёрстка дешевле новой, если она не мешает задаче
  • Интеграции, которые доставляют заявки — проверяем доставкой и не трогаем, пока работает

Самая населённая колонка почти на любом сайте. Сюда попадает то, что выглядит как «нужен новый сайт», а на деле решается часами.

  • Выключенное или настроенное наполовину кеширование — самая частая причина жалобы «сайт тормозит»
  • Картинки, отдаваемые в исходном размере — чинится один раз и на всём сайте сразу
  • Модули из маркетплейса, которые не используются — ревизия часто освобождает больше денег, чем стоит сама
  • Формы, которые пишут не туда или не пишут вовсе — проверяется пробной отправкой за пять минут
  • Отсутствие репозитория — заводится первым делом, до любых правок: без истории изменений работать в чужом коде нельзя

Колонка всегда самая короткая, и каждая строка в ней обязана объясняться. «Мне не нравится, как это написано» объяснением не считается.

  • Правки, внесённые прямо в файлы платформы — выносятся в свой слой, иначе обновления не накатятся никогда
  • Самописный обмен вместо штатного — он будет ломаться после каждого обновления с любой из двух сторон
  • Узлы, где логика размазана по шаблонам и одно и то же правило записано в трёх местах по-разному
  • Код, который перестал читаться — если разобраться в узле дольше, чем написать его заново, переписать честнее

Долю сохранённого кода мы заранее не называем: у студии нет раскрытых работ по этой услуге, а чужие проценты в вопросе, где всё зависит от конкретного сайта, не значат ничего. Что мы обещаем — это что каждая строка в третьей колонке будет объяснена, и объяснение можно будет проверить своим разработчиком.

Спросить про свой сайт

Вам уже сказали, что надо всё переписать?Пришлите адрес сайта и то, что вам предложили. Посмотрим и скажем, обоснованно это или удобно подрядчику. Если обоснованно — подтвердим прямо, даже если работа достанется не нам. Без счёта и без созвона.

Спросить в Telegram А если правок поток

Сначала разбираемся, за тем ли вы пришли

Ревизия отвечает не только на вопрос «что чинить», но и на более важный — «ту ли работу вы заказываете». Три развилки ниже встречаются чаще всего, и в каждой правильный ответ лежит не там, где его искали.

  1. Развилка 1

    Пришли за доработкой — оказалось, нужен абонемент

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

  2. Развилка 2

    Пришли за скоростью — оказалось, дело не в коде

    Жалоба «сайт медленный» примерно в половине случаев упирается не в код, а в выключенный кеш, картинки исходного размера и лишние модули. Это чинится за часы, и после этого разговор о переписывании закрывается сам. Проверить, что именно тормозит, можно до договора — это часть ревизии.

  3. Развилка 3

    Пришли за правками — оказалось, нужен другой сайт

    Бывает и обратное: список правок на три страницы, и каждая следующая упирается в то, что сайт устроен не под эту задачу. Тогда чинить по одной — это платить частями за то, что всё равно придётся переделать. Мы говорим об этом прямо и отправляем к замеру или к разбору платформы, а не набираем часы.

Если задача вообще не решается нашими руками — скажем и назовём, к кому идти. Это невыгодно и делается сознательно: разбор, закончившийся честным «не к нам», стоит дешевле, чем проект, закончившийся тем же самым на приёмке.

Семь признаков, что в ваш код уже лазили напильником

Эти проверки делает ваш разработчик или нынешний подрядчик — за полчаса и не спрашивая нас. Они не про качество вёрстки и не про поиск, а про одно: обновляется ваш сайт или уже нет. Вердикт считается от числа непройденных пунктов, отметки остаются в этом браузере.

Отметьте то, что сходится

Вердикт появится, как только отметите первый пункт. Ничего никуда не уходит: это проверка для вас, а не заявка.

Сходится 0 из 7

Первая проверка весит больше остальных шести вместе. Если файлы платформы правили, всё прочее вторично: сайт постепенно теряет совместимость с окружением, и любая доработка на нём — работа в доме, который нельзя ремонтировать. Именно с выноса этих правок мы и предлагаем начинать.

Сколько стоит и как считается

Единица работы здесь — час, а не проект, и это единственный формат направления, где так. Час вне договора стоит 3 000 ₽, в абонементе — 2 000 ₽. Объём называется задачами: у каждой своя оценка, и она известна до начала. Ревизия, из которой эти оценки берутся, делается до договора и не стоит ничего.

Что смотрим на ревизииКак двигает объёмКак двигает календарь
Правили ли файлы платформы Сильнее всего: вынос чужих правок в свой слой — отдельная работа, и делать её приходится до всего остального Сильно: каждую вынесенную правку надо проверить на копии, а копию сначала собрать
Есть ли репозиторий и тестовый контур Умеренно: если их нет, первые часы уходят на то, чтобы завести оба, — и это не доработка, а условие работы Слабо: разово и в начале
Читается ли код и есть ли хоть какое-то описание Сильно: разобраться в чужом узле бывает дольше, чем его изменить, и это те же часы Умеренно: разбор идёт параллельно с первыми правками
Сколько платных модулей и насколько они переплетены Умеренно: каждый модуль — чужой код, который нельзя править, и обходить его иногда дороже, чем заменить Слабо: выясняется на ревизии и дальше не растёт
Поток задач или разовая правка Прямо: одна задача считается часами по факту, поток — это уже абонемент и другая цена часа Сильно: разовую правку берём в ближайшее окно, поток идёт по регламенту

Часы здесь — единица объёма, а не способ растянуть счёт. Оценка задачи даётся до начала, и если мы ошиблись в свою сторону, это наша ошибка, а не ваша доплата. Обратное тоже верно: задача, оказавшаяся вдвое проще, считается по факту. Неизрасходованного остатка в этой работе не бывает — здесь нет ни пакета, ни предоплаченного объёма, есть сделанные задачи.

Ревизия до договора

Не готовы обсуждать работы — начните с ревизииСмотрим ваш сайт и отдаём карту из трёх колонок: что оставить, что починить и что честнее переписать, с объяснением по каждой строке. Бесплатно и до договора. Карта остаётся у вас — с ней можно пойти к любому подрядчику, включая того, кто этот код писал.

Кому подходит и кому — нет

Работа на живом чужом коде — единственная в направлении, где многое зависит не от нас, а от условий вокруг сайта. Правую колонку стоит прочитать раньше левой: если узнали себя там, ревизия сэкономит вам и нам по часу.

Вам подойдёт, если
  • Сайт работает и приносит заявки, а переделывать всё целиком не хочется
  • Прежний разработчик недоступен, а сайту нужны правки прямо сейчас
  • Вам сказали «надо всё переписать», и хочется второе мнение с доказательствами
  • Доступ к коду, хостингу и лицензии у вас, и вы готовы его дать
Скорее не к нам, если
  • Сайт правит подрядчик, который не пускает в код. Работать вслепую нельзя, а через него — значит удваивать цену любой правки. Это решается до нас и не нами
  • Нужны правки «на вчера» и без копии сайта. Мы не правим живой сайт вслепую: сначала тестовый контур, потом прод. Это медленнее ровно один раз
  • Задача — «просто сделайте красиво», без списка. Часы считаются по задачам; там, где списка нет, нужен не разработчик, а замер

Эта страница — часть направления «Разработка сайтов»

Доработка — единственный формат направления, который считается часами, а не сметой: здесь нет проекта, есть задачи на существующем сайте. Всё, что касается разработки с нуля — состав работ, процесс, три сметы и калькулятор объёма, — живёт на странице направления.

Что стоит посмотреть рядом

Четыре соседние страницы. Разница между ними — в единице работы: у нас это задача, у поддержки месяц, у редизайна замер, у переезда число адресов. Выбирать надо по тому, что у вас на самом деле происходит, а не по названию.

Когда доработка вам не нужна

Четыре случая, в которых мы отправим вас в другое место. Три из них — про то, что задача решается дешевле, четвёртый — про то, что она вообще не решается правками кода. Все четыре выясняются на ревизии, то есть до денег.

  1. Если задач не одна, а поток

    Считать каждую правку отдельно неудобно обеим сторонам, и час вне договора дороже часа в абонементе. Когда задачи приходят каждую неделю, правильный ответ — не доработка, а поддержка: там другая единица работы, свой регламент реакции и час дешевле. Мы говорим это сразу, а не после третьего счёта.

  2. Если речь про корпоративный портал, а не про сайт

    Похожие названия продуктов путают постоянно. Если правки нужны внутри портала — воронка, поля сделки, права сотрудников, роботы, — это другой продукт и другая работа. Разбирается она на поддержке Битрикс24 и на настройке портала, и мы эту тему сюда не перетягиваем.

  3. Если список правок упирается в устройство сайта

    Когда каждая следующая правка требует обойти то, как сайт сделан, чинить по одной — значит платить частями за то, что всё равно придётся переделать. Тогда честнее посчитать переделку целиком: начать стоит с замера, а не с часов. Мы скажем это на ревизии, хотя часы нам выгоднее.

  4. Если в код не пускают

    Бывает, что сайт ведёт подрядчик, который отдаёт только админку, а правки принимает письмами. Работать так нельзя: мы не видим, что меняем, и не отвечаем за результат. Это решается не нами, а вашим разговором с ним — и, как правило, начинается с простого вопроса, где лежит репозиторий и на кого оформлена лицензия.

Доработка сайта на Битрикс: что стоит знать до заказа

Как понять, обоснованно ли предложение всё переписать

Проверяется это за час и без нас. Файлы платформы в репозитории сравниваются с эталонной поставкой той же версии: если они совпадают, ядро не правили, сайт обновляемый, и переписывать его нет технических причин — какими бы странными ни казались отдельные решения внутри. Если отличия есть, вывод «так дальше нельзя» обоснован, но из него не следует «соберём новый сайт»: между «терпеть» и «переписать» есть третий путь.

Этот третий путь — вынести чужие правки из файлов платформы в свой слой и вернуть ядро к эталону. Работа не маленькая, но она заметно дешевле новой разработки и, главное, сохраняет всё, что уже работает: содержимое, адреса, настроенный обмен, права. После неё обновления снова накатываются штатно, и это проверяется тем же сравнением с эталоном, а не обещанием.

Остальные четыре причины, по которым предлагают переписать, к качеству вашего кода отношения не имеют. Разбираться в чужом коде дольше, чем писать свой. За чужие ошибки не хочется отвечать. Проект продать проще, чем часы. И нежелание разбираться в том, где кончается нормальный кастом и начинается правка ядра. Все четыре — про удобство подрядчика, и оплачивает их заказчик.

Почему мы работаем в вашем репозитории, а не в копии рядом

Потому что копия рядом — это второй сайт, который через месяц расходится с первым. Пока идёт работа, на живом сайте кто-то правит тексты, добавляет товары, меняет цены; когда приходит время переключаться, выясняется, что копия отстала, и половину изменений надо переносить руками. Работа внутри существующего репозитория снимает этот вопрос: каждая правка — отдельная запись в истории, её видно, её можно проверить на тестовом контуре и откатить по одной.

Если репозитория у сайта нет, мы заводим его первым делом и до любых правок. Это не формальность и не наша прихоть: без истории изменений работать в чужом коде безответственно — нельзя ни доказать, что сломалось не от нашей правки, ни вернуть предыдущее состояние. То же касается тестового контура: заметные изменения сначала накатываются на копию с теми же данными, и только потом на живой сайт.

Изменения структуры базы записываются отдельно, а не делаются кнопками в админке. Разница становится очевидной при первом же переносе сайта на копию: описанное изменение применяется одной командой, а сделанное руками приходится повторять вручную и по памяти. Это же условие делает возможным откат — и именно его чаще всего не хватает на чужих сайтах.

Чем доработка отличается от поддержки и от редизайна

Единицей работы. Доработка — это задача: у неё есть описание, оценка в часах до начала и приёмка. Поддержка — это месяц: обновления, бэкапы, мониторинг, реакция на аварию и поток мелких правок, у которого нет конца. Редизайн — это замер и переделка внешнего вида, где логику и данные не трогают. Три разные работы, и путать их дорого: за поток задач по разовой ставке вы переплатите, а за разовую правку по абонементу заплатите за месяц, которым не воспользуетесь.

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

Сколько стоит доработка сайта на Битрикс

Час вне договора стоит 3 000 ₽, в абонементе — 2 000 ₽. Объём называется задачами: у каждой своя оценка, и она известна до начала работы. Если мы ошиблись в оценке в свою сторону, это наша ошибка, а не ваша доплата; если задача оказалась проще, она считается по факту. Неизрасходованного остатка в такой работе не бывает — здесь нет предоплаченного пакета, есть сделанные задачи.

Сильнее всего на объём влияет состояние кода: правили ли файлы платформы, есть ли репозиторий и тестовый контур, читается ли то, что написано. Ревизия, на которой всё это выясняется, делается до договора и не стоит ничего, а её результат — карта из трёх колонок — остаётся у вас независимо от того, будем мы работать вместе или нет. С этой картой можно пойти к любому подрядчику, включая того, кто писал этот код.

Вопросы про работу в чужом коде

Шесть вопросов, которые задают именно про доработку. Про платформу — редакции, лицензию, обновления — отвечает страница про Битрикс, про эксплуатацию — поддержка сайтов

Да, это и есть предмет этой страницы. Единственное условие — доступ: к коду, к хостингу и к админке. Без него работать вслепую мы не беремся, потому что не сможем ни проверить правку, ни отвечать за результат. Начинается всё с ревизии, и на ней же выясняется, в каком состоянии сайт: правили ли ядро, есть ли история изменений, можно ли его обновлять. Ревизия делается до договора и не стоит ничего.

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

Нисколько, и это не приём. Смысл в том, что без ревизии нельзя честно назвать ни объём, ни цену задач: сайт может оказаться обновляемым и аккуратным, а может — с правками в ядре, и это разные работы. Карта из трёх колонок остаётся у вас в любом случае, даже если работать вместе мы не станем. Слово «аудит» мы к этому не применяем намеренно: аудитом у нас называется платная услуга с письменным документом, и смешивать их было бы нечестно по отношению к обеим.

На то, что сделали мы, — да, и бессрочно: если наша правка работает не так, как описано в задаче, мы чиним это за свой счёт. На чужой код, который мы не трогали, гарантии нет и быть не может — мы его не писали и не знаем, что в нём заложено. Именно поэтому важна история изменений: по ней видно, что менялось нами, а что было до нас, и спорить об этом не приходится. Условия целиком — на странице оплаты и гарантий

Не раньше, чем правки будут вынесены в свой слой. Обновиться поверх них можно технически, но обновление их затрёт — и сайт либо сломается сразу, либо начнёт вести себя странно в местах, о которых никто не вспомнит. Поэтому порядок такой: находим все отличия от эталонной поставки, разбираемся, что каждое делает, переносим нужное в свой слой, возвращаем файлы платформы к эталону и только потом обновляем — сначала на копии. Ненужное при этом просто исчезает, и таких правок обычно находится изрядно.

Цену за конкретную понятную задачу назвать можно и без ревизии — например, поменять поведение формы или добавить поле в карточку. Но оценка будет с запасом, потому что неизвестно, во что эта задача упрётся внутри. Ревизия нужна ровно затем, чтобы запаса не было: после неё оценки становятся точными, а часть задач нередко отпадает — выясняется, что они решаются настройкой. Поскольку ревизия бесплатна, отказываться от неё смысла нет ни у вас, ни у нас.

Пришлите сайт — отдадим карту «оставить, починить, переписать»

  • Проверим, правили ли ядро и обновляется ли ваш сайт вообще
  • Разложим узлы по трём колонкам и объясним каждую строку
  • Если правок поток — скажем прямо: в абонементе час дешевле
Николай Старостов, основатель Starostoff
Николай Старостов Основатель. Разбор веду лично, не передаю менеджеру
Куда прислать ответ

Ответ в течение рабочего дня

Заявка принята

Посмотрим сайт и вернёмся в течение рабочего дня с картой из трёх колонок. Если срочно — напишите в Telegram.