Сопоставление контактов, нормализация телефона, различие контакта и сделки, правила переноса между воронками.
Хорошая архитектура означает, что контент можно менять без программиста, повторяемые сущности не копируются вручную, интеграции журналируют ошибки, а новая функция не требует переписывать половину темы.
Сначала зафиксировать симптом
Один и тот же внешний симптом может появляться по разным причинам. Сначала стоит записать конкретный сценарий: URL, устройство, шаг, момент появления и последние изменения.
С чего я бы начал проверку
- Хранить UTM/source/client ID до создания сделки.
- Измерить SQL, autoload и cron.
- Выбрать подходящее хранилище для каждого типа данных.
- Составить карту сущностей и связей.
- Нормализовать телефон/email до поиска дубля.
Где обычно находится причина
В WordPress важно отделить симптом от источника: тема, плагин, запрос к БД, cron, интеграция или сервер могут выглядеть одинаково — «сайт глючит».
CPT, таксономии, ACF, REST API и собственные модули позволяют построить управляемую систему. Но каждый новый плагин или meta-слой имеет стоимость: обновления, совместимость, безопасность и дополнительные запросы.
Что легко сделать хуже
- ставить несколько плагинов с одной функцией
- править ядро или файлы плагинов напрямую
- отправлять данные в CRM без логов
- обновлять production без staging
Самый дорогой путь — лечить архитектурную проблему ещё одним плагином, не понимая, что уже происходит в теме и базе.
Как понять, что проблема решена
- ошибки интеграций
- autoload size
- время PHP-ответа
- число SQL-запросов
Я бы фиксировал изменения через staging, логи и измерения до/после. Иначе легко удалить полезную функцию и оставить настоящую причину.
Если проблема уже проявляется на рабочем сайте
Можно начать с диагностики текущего состояния и отделить локальный дефект от архитектурной причины.