Когда плоский список перестаёт работать

Для оператора с одним брендом и 10 доменами плоский список работает нормально — каждый редирект, каждое TDS-правило, каждый источник постбэков уже на виду. Фильтра в таблице доменов достаточно.

Дальше 20+ доменов, нескольких клиентов или раздельных окружений (prod vs staging) плоский список превращается в шум: выпадайки удлиняются, аудит-логи смешиваются между брендами, а неверное назначение домена становится лёгкой ошибкой. Проекты и сайты — шов, который это лечит, не навязывая преждевременной структуры.

Проекты

  • По одному проекту на клиента, бренд, вертикаль или окружение — любая граница, важная для биллинга, изоляции или отчётности. Каждый проект показывает количество доменов и сайтов с одного взгляда.
  • Поля: название (обязательно), описание, бренд-тег, коммерческие условия, даты начала и окончания. Коммерческие поля — для агентств, отслеживающих клиентские контракты; игнорируйте, если не нужны.
  • Используются как ключ фильтрации на Доменах, Редиректах и в TDS. Постбэки живут на уровне аккаунта — у источника постбэков нет ни проекта, ни сайта. Ограничьте bulk-действие одним проектом — остальной аккаунт остаётся нетронутым.

Сайты

  • Сайт живёт внутри проекта, объявляет основной домен (куда приходит его трафик) и становится якорем для редиректов и TDS-правил, разворачиваемых на этот хост.
  • Поля: название (обязательно), основной домен и локаль сайта (BCP 47 — полезно, когда один оператор ведёт мультиязычные лендинги). Локаль — это то самое поле, которое раньше называлось «тег», а не второе рядом с ним. Статус: Active, Paused или Archived.
  • Домены-источники привязываются к сайту и ведут на его основной домен. Проверка роли работает: домен, служащий основным, не может одновременно быть источником в том же потоке.

Практическая настройка

  1. Сначала синхронизируйте домены (Интеграция Cloudflare → Домены). Проекты и сайты читают из синхронизированного инвентаря.
  2. Создайте по одному проекту на логическую границу — обычно по одному клиенту, бренду или продакшн-окружению.
  3. Внутри проекта создайте по сайту на каждый основной домен (куда приземляется перенаправленный трафик). У большинства проектов 1–3 сайта.
  4. Привяжите домены-источники к проекту и к конкретным сайтам. Затем создавайте редиректы и TDS-правила — обе сущности привязываются к сайту, поэтому выпадайки остаются короткими.

Когда можно обойтись плоским списком

Меньше 10 доменов и единственный юзкейс? Оставайтесь на проекте «Default Workspace» и его сайте «Default» — этой парой аккаунт создаётся сразу. Вы ими и так пользуетесь, независимо от того, открывали эту страницу или нет, и к структуре можно не возвращаться, пока не появится второй бренд или клиент.

Накладывайте структуру, когда плоский список перестал быть скан-руемым, — обычно около 20+ доменов или когда одна выпадайка начинает смешивать ваши бренды с клиентскими. Добавление проектов задним числом не разрушающее; существующие редиректы продолжают работать, пока вы переорганизуете.

FAQ

Нужен ли проект на каждый домен?

Нет. Один проект обычно держит десятки доменов. Правильная гранулярность — «к чему вы захотите ограничить bulk-действие»: обычно клиент, бренд или вертикаль, не отдельный домен.

Что такое основной домен?

Домен, на котором перенаправленный трафик приземляется. Если example.com → landing.com, то landing.com — основной домен этого сайта. В API это поле называется acceptor — это одно и то же. Основные домены также хостят Cloudflare Worker, исполняющий TDS-правила сайта.

Можно ли позже перенести домен между проектами?

Да, но это не перенос, а отвязка и привязка заново: сайт домен не сохраняет. Удаление домена из проекта тем же запросом обнуляет и сайт, и роль — она возвращается в «запасной». Порядок такой: на текущем проекте уберите домен (если он основной для сайта, сначала выберите замену — последний основной убрать не дадут), затем в целевом проекте откройте дроуер «Добавить домены», который показывает только домены без проекта, и добавьте его там. Сайт назначается заново после этого. Массового «привязать к проекту» в таблице доменов нет.

Связанные руководства