Стек Crater: какие задачи зарубежных сайтов решают четыре собственных плагина
I. Четыре разрыва зарубежного сайта
При аудите клиентских сайтов снова и снова всплывает не «нехватка какой-то функции», а то, что информация об одном и том же разбросана по трём-четырём местам и не синхронизирована. Четыре самых типичных разрыва:
| Разрыв | Симптом | Реальная цена |
|---|---|---|
| Языковой разрыв | Плагин перевода занимается только переводом, но не hreflang и не мультиязычными URL | Перевод сделан, но на целевом языке сайт не находится |
| Разрыв в лидах | Плагин форм, аналитика и CRM работают сами по себе | Заявки есть, но непонятно, откуда они, и нельзя оптимизировать |
| Разрыв в безопасности | Либо всё открыто, либо плагин безопасности режет всё подряд | AI-краулеры блокируются по ошибке, канал GEO перестаёт работать |
| Разрыв в контенте | Контентные активы (техдокументация, кейсы) невозможно загрузить на сайт массово | Команда контента тратит силы на «ручной перенос» |
Общая черта всех четырёх разрывов: по отдельности каждый участок в порядке, а вместе они дают сбой.
Например, «языковой разрыв»: сама функция перевода работает хорошо, но она не связана с SEO-слоем, поэтому немецкие страницы создаются без соответствующего hreflang и немецких URL —страница есть, но поисковик о ней не знает.
Поэтому подход к проектированию стека — не «нагромождение функций», а сквозная связка каждой цепочки от начала до конца.
II. LinguaSEO: языковой слой
Какой разрыв закрывает: разделение перевода и SEO.
Ключевая компетенция
| Возможность | Что конкретно | Что решает |
|---|---|---|
| Автоперевод | Перевод контента + переключатель языка | Чтобы клиент понимал |
| Мультиязычные URL | Отдельная структура URL для каждого языка | Чтобы страницу находили на целевом языке |
| Автогенерация hreflang | Автоматический вывод двусторонних ссылок + x-default | Решает проблему «мультиязычный сайт считают дублирующимся контентом» |
| Мультиязычная карта сайта | Отдельный sitemap для каждого языка | Чтобы поисковики полностью находили страницы на всех языках |
| Управление статусом перевода | Пометка «не переведено / переведено / требует обновления» | Чтобы не было «параметры обновили, а немецкая страница старая» |
| Управление меню админки | Скрытие и сортировка левого меню админки | Чтобы упростить клиенту интерфейс админки |
Принцип дизайна
«Перевод — это и есть SEO»——Перевод и SEO — это не два шага, а два результата одного действия. Каждая переведённая страница сразу даёт: контент на целевом языке, отдельный URL, тег hreflang, запись в sitemap.Четыре вещи должны создаваться одной операцией, иначе что-то обязательно будет упущено.
Границы возможностей (чего мы не делаем)
| Не делаем | Причина |
|---|---|
| Не оказываем услуги ручного перевода | Плагин отвечает за техническую цепочку, качество перевода определяет переводчик или клиент |
| Не изменяем параметры товаров | Параметры — это факты, плагин не создаёт и не изменяет факты |
| Не выполняем принудительную замену по глоссарию | Терминологическую согласованность обеспечивает переводчик по глоссарию, а не автоматическая замена (автозамена может навредить) |
III. Хуаньцзи LeadPulse: слой лидов
Какой разрыв закрывает: Формы, отслеживание и атрибуция работают каждая сама по себе.
Три модуля
| Модуль | Функции | Ключевое решение |
|---|---|---|
| Конверсия форм | 22 типа полей, включая международный код телефона, контакты в мессенджерах, мультивалютность | Условное отображение, разбивка по ширине, валидация на уровне поля |
| Конверсия кнопок | Статистика показов / кликов / конверсии + детализация кликов | Не только формы — любой CTA можно отслеживать |
| Статистика посещений | Ежедневные UV/PV, тренды за 7/14/30 дней, Top 100 ключевых страниц | Люди и краулеры считаются отдельно |
Три решения, о которых стоит рассказать
① Каждая конверсия несёт 26 пунктов данных об источнике и устройстве.
Включая канал, среду посещения, страну/регион, тип устройства, Click ID и другое. Цель ясна:дать основание судить, стоит ли работать с этим лидом, а не просто «получили лид».
② Распознавание AI-краулеров (50+ краулеров, 5 категорий).
Краулеры не выполняют JavaScript, поэтому сбор идёт через серверные хуки и считается отдельно от людей. При этом активность AI-краулеров (GPTBot, ClaudeBot, PerplexityBot и др.) — это предварительный сигнал GEO— как мы обсуждали в другой статье, быть прочитанным — это предпосылка, быть процитированным — результат.
③ Модель атрибуции следует принципу «сопоставимости».
- First Touch записывается только при наличии реального источника (прямой заход не занимает первое касание)
- Last Touch перезаписывается каждый раз, по умолчанию используется last_non_direct
- 12 типов Click ID хранятся отдельно, срок хранения 90 дней
- Referrer с того же домена исключается
- WeChat хранится как измерение «среда посещения», ортогонально «каналу»
Границы возможностей
| Не делаем | Причина |
|---|---|
| Не оказываем услуги email-уведомлений | Настройку уведомлений и SMTP берёт на себя клиент или третья сторона (чтобы избежать конфликта с существующими системами клиента) |
| Не оцениваем ценность лидов за клиента | Предоставляем только данные, решение и работу с лидом ведёт бизнес-команда клиента |
| Не создаём профили посетителей | Только статистика и атрибуция, без построения профилей (из соображений соответствия требованиям) |
IV. Хуаньдунь CraterGuard: слой безопасности
Какой разрыв закрывает: Политики безопасности и бизнес-каналы конфликтуют друг с другом.
Ключевая компетенция
| Возможность | Содержание |
|---|---|
| Усиление базовой безопасности | Защита входа, права на файлы, закрытие типовых уязвимостей |
| Управление REST API | По умолчанию заблокирован (возвращает 401cg_rest_locked), при необходимости открывается по запросу |
| Защита от аномальных обращений | Распознавание частых запросов, подозрительных UA, сканирующего поведения |
| Аудит безопасности и устранение уязвимостей | Процесс сканирования и исправления: минимальный вызов по домену и учётным данным |
Ключевой принцип: никаких «блокировок всего подряд»
Самый частый побочный эффект плагинов безопасности —они блокируют AI-краулеры вместе с поисковыми. В контексте GEO это критично:GEO-канал сайта отключается собственной политикой безопасности, и никто об этом не знает.
Поэтому принцип дизайна Хуаньдунь —дифференцированный доступ:
| Тип | Политика |
|---|---|
| Поисковые краулеры (Googlebot / Bingbot) | Пропускать (с проверкой подлинности) |
| AI-краулеры для поиска | разрешить(GEO-канал) |
| AI-краулеры для обучения | Можно пропускать (по политике) |
| Сканирование / атаки | Блокировать |
Разделение с robots.txt: robots.txt — это «декларация» (сообщает краулерам, что приходить не нужно), Хуаньдунь — это «исполнение» (реально блокирует или пропускает на уровне приложения).Оба должны быть согласованы— если robots.txt пропускает GPTBot, а Хуаньдунь блокирует его на уровне приложения, пропуск бесполезен. Это одно из самых частых противоречий в конфигурации, выявляемых при аудите.
Пять. Хуаньхуэй CraterInflux: уровень поступления контента
Какой разрыв закрывает: Контентные активы не могут безопасно и массово попасть на сайт.
Трёхэтапный дизайн
| Этап | Что делаем | Почему так сделано |
|---|---|---|
| ① Предварительный прогон | Разбор пакета с цифрами (будет добавлено / обновлено / пропущено / конфликтов) | Без записи в базу — сначала посмотреть, что произойдёт |
| ② Предпросмотр | Лёгкий предпросмотр (без записи в базу, только проверка рендеринга текста) / полный предпросмотр (запись во временный черновик, автоочистка через 30 минут) | Автор действительно видит страницу до публикации |
| ③ Публикация | Запись в базу, вывод списка URL (можно скопировать чистые ссылки / Markdown / CSV) | После публикации можно проверить и распространить |
Формат пакета и идемпотентность
| Пункт | Дизайн |
|---|---|
| Структура пакета | manifest.json(корневой каталог) +content/*.html+media/ |
| Формат текста | HTML-фрагмент (без front-matter) |
| Ключ идемпотентности | pack_id+external_id(Не выводится из заголовка или slug) |
| Категории и метки | Создаются автоматически при отсутствии или игнорируются по конфигурации |
| Медиа | Растровые изображения — в медиатеку;SVG по умолчанию встраивается (embed), нулевой риск загрузки |
Почему ключ идемпотентности нельзя брать из заголовка или slug? Потому что стоит изменить одно слово в заголовке или вручную поправить slug — и угадывание создаст дубликаты контента, которые потом крайне сложно вычистить.Только идентификатор, «стабильный на стороне источника», гарантирует безопасность повторного импорта.
Безопасные настройки по умолчанию (не конфигурируются)
| По умолчанию | Пояснение |
|---|---|
| Статус по умолчанию — черновик | Импорт не равен публикации |
| Исполняемые файлы в пакете запрещены | .php/.js/.phar и прочее — весь пакет отклоняется сразу |
| Ограничение объёма | Один файл 2 МБ / распакованный пакет 50 МБ / текст одной записи 500 КБ |
| Защита от zip-бомб | Перед распаковкой читается центральный каталог, при превышении — немедленный отказ |
| Белый список для очистки SVG | Удаляются script/ атрибуты событий / внешние ссылки (через DOM-парсинг, без регулярных выражений) |
Шесть. Хуаньшу CraterHub: уровень авторизации и распространения
Над четырьмя бизнес-плагинами есть ещё управляющий компонент:Хуаньшу отвечает за авторизацию, распространение и онлайн-обновления.
| Роль | Место развёртывания | Обязанности |
|---|---|---|
| Главный узел (master) | Сторона поставщика (привязка к домену) | Управление лицензиями, генерация авторизаций |
| Подчинённый узел (agent) | Сайт клиента | Проверка лицензии и отправка статуса |
| Репозиторий версий | Сервер доставки | Предоставляет список пакетов и файлы |
Лицензии регистрируются централизованно: сейчас всего 6 позиций — тема и отдельные плагины.Смысл этой схемы в том, чтобы вопрос «что делать после истечения лицензии» решался по чётким правилам, а не в последний день:
| Уровень | Что происходит |
|---|---|
| A | Только новые поступления (существующее и фронтенд не меняются, обновления прекращаются, но поддержка остаётся) |
| B | Существующее сохраняется, новое не добавляется |
| C | Поэтапный отзыв (базовый уровень безопасности сохраняется навсегда) |
Важный принцип проектирования: без установленного Хуаньшу каждый плагин переходит в режим «пропускать / молчать», а его поведение побайтово совпадает с поведением до установки. Это гарантирует, что плагины можно использовать отдельно и они не откажут целиком из-за «забыли поставить управляющий модуль».
Стоит пояснить одно исключение: без Хуаньшу Хуаньхуэй работает в режиме «только чтение»— умеет разбирать, прогонять и предпросматривать, но не публиковать. Причина в том, что «массовая запись на сайт» — действие с высоким влиянием, поэтому по умолчанию оно заблокировано.
Семь. Почему своя разработка, а не сборка из готового
Публичная экосистема плагинов WordPress богата, и почти для любой задачи найдётся готовое решение. Причина своя разработка не в том, что «мы сделаем лучше», а в трёх конкретных проблемах:
| Вопрос | Что происходит при сборке из готового | Как это решает своя разработка |
|---|---|---|
| Разные стандарты | У каждого плагина своя логика атрибуции и SEO, данные невозможно объединить | Вся линейка использует единые стандарты данных и определения полей |
| Цепочки не связаны | Между переводом и SEO, формами и атрибуцией приходится писать связующий код | Цепочки изначально спроектированы сквозными |
| Безопасность и соответствие требованиям не контролируются | Качество кода и обработку данных сторонних плагинов невозможно проверить | Код наш, его можно проверить, изменить и объяснить клиенту |
Есть и практическая причина: долгосрочная поддерживаемость клиентских сайтов. Проблемы сборки из готового обычно проявляются через два года — какой-то плагин перестаёт обновляться, обновление ломает совместимость, меняются стандарты данных и историю уже не сравнить.Цена своей разработки — вложения на старте, выгода — предсказуемая поддержка на годы вперёд.
Чёткая граница
Этот стек не заменяет бизнес-системы клиента:
| не заменяет | Пояснение |
|---|---|
| ERP / CRM | Плагины передают данные о лидах и могут с ними интегрироваться, но не ведут управление отношениями с клиентами |
| Платформы email-маркетинга | Уведомления и цепочки писем — задача специализированных платформ |
| Дизайн-системы | Даёт структуру и спецификации компонентов, визуальный стиль определяет тема |
Позиционирование — «инженерная основа для сайтов на зарубежные рынки»— мы делаем надёжными четыре цепочки самого сайта: язык, лиды, безопасность и контент, чтобы при подключении бизнес-систем эти задачи уже не приходилось решать.
FAQ: частые вопросы
| Ситуация | Рекомендуемые наборы |
|---|---|
| Одноязычный сайт на зарубежный рынок с упором на лиды | Хуаньцзи + Хуаньдунь |
| Многоязычный сайт на зарубежный рынок | Хуаньюй + Хуаньцзи + Хуаньдунь |
| Много контента, нужна массовая загрузка на сайт | Добавить Хуаньхуэй |
| Нужны единая лицензия и обновления онлайн | Добавить Хуаньшу |
| Измерение | Типовые схемы сборки | Технологический стек crater |
|---|---|---|
| Единые правила данных | Каждый плагин определяет сам | Единые для всей линейки (совпадают поля канала, окружения и источника) |
| Безопасность и AI-канал | Плагин безопасности по умолчанию блокирует нечеловеческий трафик | Градация доступа с явным сохранением канала для AI-поиска |
| Массовая запись | Прямая запись в базу, сначала запись, потом просмотр | Прогон → предпросмотр → публикация, по умолчанию черновик |
| Идемпотентность | Чаще всего по slug или заголовку | pack_id+external_id, стабильный идентификатор на стороне источника |
| Уровень | Как сделать |
|---|---|
| Загрузка ресурсов | Ресурсы фронтенда загружаются по требованию, стили админки на фронтенд не попадают |
| Запрос | Таблицы с индексами, аналитические запросы кэшируются агрегатами |
| Внешний запрос | Атрибуция посетителей по умолчанию работает в “лёгком режиме” (чтение заголовков CDN + определение часового пояса), без IP-запроса на каждый запрос |
В заключение
Техническая работа над зарубежным сайтом легко скатывается в режим «ставлю плагины и настраиваю функции»: каждый плагин решает одну конкретную задачу, но в целом всё остаётся разрозненным.
На самом деле сначала нужно ответить на вопрос:какие цепочки на моём сайте разорваны?
Разорван языковой уровень (связаны ли перевод и SEO)? Разорван уровень лидов (можно ли отследить источник запроса)? Разорван уровень безопасности (не блокируются ли AI-краулеры по ошибке)? Разорван уровень контента (можно ли эффективно загружать контент на сайт)?
Только когда все четыре цепочки налажены, у сайта появляется рабочий фундамент; а когда фундамент устойчив, верхнеуровневые действия — SEO, GEO, реклама, контент — начинают давать накопительный эффект. Именно для этого и существует этот технологический стек — не для того, чтобы у сайта было «больше функций», а для того, чтобы каждая цепочка не обрывалась на полпути.
