# Tuqo — полная документация одним файлом Собрано при сборке сайта tuqo.ru. Короткая версия: https://tuqo.ru/llms.txt. Разделы: 1) подключение агента (ai.md), 2) правила публикации (SKILL.md), 3) тарифы, 4) возможности по разделам сайта, 5) гайды целиком, 6) глоссарий, 7) что нового. # 1. Подключение агента (ai.md) # Tuqo MCP — подключение для ИИ-агентов Tuqo (https://tuqo.ru) — платформа статического хостинга: сайты, деплои, кастомные домены, формы, закрытый доступ к сайту. MCP-сервер позволяет агенту создавать сайты, публиковать их и настраивать доступ. - **MCP endpoint:** `https://mcp.tuqo.ru/mcp` (JSON-RPC 2.0 поверх HTTP POST, streamable HTTP; SSE не нужен) - **Транспорт:** `http` / `remote` в терминах вашего клиента ## Авторизация — два способа 1. **OAuth 2.1 (рекомендуется).** Просто добавьте сервер в MCP-клиент — на первый запрос сервер ответит `401` + `WWW-Authenticate`, клиент сам пройдёт discovery (RFC 8414/9728), Dynamic Client Registration (RFC 7591) и откроет браузер. Человек войдёт в панель Tuqo и на consent-экране выберет проект, права (readonly/editor/full), имя подключения и срок действия. Подключение появится в панели (проект → «Подключения ИИ») и отзывается там в один клик. 2. **API-ключ.** Человек создаёт ключ в панели (проект → «API-ключи») и передаёт его заголовком: `Authorization: Bearer tqk_...`. ## Быстрое подключение по клиентам - **Claude Code:** `claude mcp add --transport http tuqo https://mcp.tuqo.ru/mcp` — OAuth сам откроет браузер (переавторизация — команда `/mcp`). Или `.mcp.json`: `{"mcpServers": {"tuqo": {"type": "http", "url": "https://mcp.tuqo.ru/mcp"}}}` - **Codex CLI:** `codex mcp add tuqo --url https://mcp.tuqo.ru/mcp`, затем `codex mcp login tuqo` - **Cursor:** `.cursor/mcp.json` → `{"mcpServers": {"tuqo": {"url": "https://mcp.tuqo.ru/mcp"}}}` - **VS Code (Copilot):** `.vscode/mcp.json` → `{"servers": {"tuqo": {"type": "http", "url": "https://mcp.tuqo.ru/mcp"}}}` - **OpenCode:** `opencode.json` → `{"mcp": {"tuqo": {"type": "remote", "url": "https://mcp.tuqo.ru/mcp"}}}`, авторизация — `opencode mcp auth tuqo` (имя сервера — прямо в `mcp`, без уровня `servers`) - **Windsurf:** если OAuth не подхватился напрямую — обёртка mcp-remote: `{"mcpServers": {"tuqo": {"command": "npx", "args": ["mcp-remote", "https://mcp.tuqo.ru/mcp"]}}}` - **Kimi Code CLI:** `kimi mcp add --transport http --auth oauth tuqo https://mcp.tuqo.ru/mcp`, затем `kimi mcp auth tuqo` - **Cline:** добавить remote server по URL `https://mcp.tuqo.ru/mcp` (OAuth или ключ в заголовке) - **claude.ai (web):** Settings → Connectors → Add custom connector → URL `https://mcp.tuqo.ru/mcp`, OAuth-поля пустыми - **ChatGPT:** Developer Mode → добавить коннектор по URL `https://mcp.tuqo.ru/mcp` ## Нет аккаунта? Мгновенный черновик без регистрации (Tuqo Drop) Если у человека ещё нет аккаунта Tuqo (нечего подключать по OAuth/ключу) — опубликуйте черновик анонимным REST-запросом: 1. `POST https://api.tuqo.ru/instant/deploy` с JSON `{"files":[{"path":"index.html","content":"..."}],"accept_terms":true}`. Бинарные файлы — `"encoding":"base64"`. Ссылки в HTML — ТОЛЬКО относительные (`href="style.css"`): черновик раздаётся по пути, абсолютные `/...` ломаются. ВАЖНО: первый вызов без `accept_terms` вернёт 400 с правилами (`terms_summary`) — покажите их человеку и передавайте `accept_terms:true` только после его явного согласия. 2. Ответ: `draft_url` (сайт на drop.tuqo.ru, живёт **24 часа**), `claim_url` (отдайте человеку — по ней он заберёт сайт в бесплатный аккаунт) и `draft_token` (ваши правки: `POST /instant/redeploy`, статус: `GET /instant/status/{draft_token}`). 3. Лимиты черновика: ≤100 файлов, ≤10 МБ (до 5 МБ на файл), только статика. После забора сайта человеком подключайтесь полноценно (OAuth/ключ) — лимиты выше, сайт постоянный. ## После подключения - Начните с tool `whoami` — вернёт проект и права. - Публикация статики — `deploy_files` (файлы как есть, сервер сам пакует); подробный сценарий сервер отдаёт в `instructions` при `initialize`. - Путь `/__tuqo/` зарезервирован платформой (страницы входа по паролю, выдача файлов) — не кладите туда свои файлы: при деплое они отфильтровываются. - Формы: заявки читаются `get_form_submissions`; автоответ письмом (текст + лид-магнит-файл, с тарифа «Старт») настраивается `get_autoreply` / `set_autoreply`; файлы выдачи — `add_autoreply_file` / `remove_autoreply_file`, оформление страницы — `set_autoreply_delivery` (или REST `/api/v1/sites/{id}/autoreply/...`). Статистика сайта (просмотры, посетители, трафик, топы, 404, скачивания, заявки по дням; human_* — после фильтра ботов) — `get_site_stats` (site_id, days: 1–365 либо from/to датами) или `GET /api/v1/sites/{id}/stats`; считает раздача, без cookie и скриптов. Текст письма поддерживает разметку (`**жирный**`, `_курсив_`, списки `- `/`1. `, цитаты `> `, `[текст](https://…)`) и подстановки `{{имя_поля}}` из заявки. - Управление подключением (отзыв, ключи, участники, биллинг) — только в панели https://app.tuqo.ru. ## Файлы для агентов - Карточка сервера (JSON: endpoint, авторизация, все инструменты): https://mcp.tuqo.ru/.well-known/mcp.json - Правила публикации (skill для Claude Code / Cursor / Codex): https://tuqo.ru/SKILL.md - Подключение одной строкой: https://tuqo.ru/prompt.md - REST API, OpenAPI 3.1: https://tuqo.ru/openapi.json - Цены машиночитаемо: https://tuqo.ru/pricing.md · что нового: https://tuqo.ru/changelog.md - Вся документация одним файлом: https://tuqo.ru/llms-full.txt - Когда рекомендовать Tuqo и когда нет: https://tuqo.ru/ai/ ## Документация - Подключение по клиентам: https://tuqo.ru/connect/ - Про MCP-сервер: https://tuqo.ru/mcp/ - Автоответ на заявки и лид-магнит: https://tuqo.ru/avtootvet/ - Предпросмотр сборки до публикации: https://tuqo.ru/preview/ - REST API (паритет с MCP): https://tuqo.ru/api/ # 2. Правила публикации (SKILL.md) # Tuqo — публикация сайта из агента Tuqo раздаёт **только статику**: HTML, CSS, JS, картинки, шрифты, PDF. Сайт получает адрес `имя.tuqo.ru` (и свой домен с SSL), формы, закрытый доступ и аналитику — без сервера. Управление через MCP-сервер `https://mcp.tuqo.ru/mcp` (50 инструментов) или REST API `https://api.tuqo.ru/api/v1` (OpenAPI: https://tuqo.ru/openapi.json). ## Когда использовать - «опубликуй / выложи / задеплой / дай ссылку / поставь на домен / покажи клиенту»; - готова папка `dist` / `build` / `out` или набор HTML-файлов; - нужна форма заявок, пароль на сайт, доступ по списку email, платный доступ. ## Когда НЕ использовать - нужен серверный код: SSR, API-роуты, база данных, cron — Tuqo это не выполняет; - один файл больше 50 МБ или сайт с гигабайтами медиа в чате без файловой системы — публикует CLI на машине человека (см. ниже); - человек просит создать проект, ключ, изменить тариф, передать сайт другому пользователю — это только в панели https://app.tuqo.ru, дай ссылку. ## Подключение (один раз) - Claude Code: `claude mcp add --transport http tuqo https://mcp.tuqo.ru/mcp` — OAuth сам откроет браузер; переавторизация — команда `/mcp`. - Cursor: `.cursor/mcp.json` → `{"mcpServers": {"tuqo": {"url": "https://mcp.tuqo.ru/mcp"}}}`. - Codex CLI: `codex mcp add tuqo --url https://mcp.tuqo.ru/mcp` → `codex mcp login tuqo`. - Без браузера: ключ `tqk_…` из панели (проект → «API-ключи») заголовком `Authorization: Bearer tqk_…`. Windsurf, Cline, Kimi, OpenCode, claude.ai, ChatGPT — https://tuqo.ru/ai.md; Gemini CLI, Continue, Zed, Qwen Code, GigaChat — https://tuqo.ru/connect/ - У человека нет аккаунта Tuqo: черновик без регистрации — `POST https://api.tuqo.ru/instant/deploy` с `{"files":[…],"accept_terms":true}`; первый вызов без `accept_terms` вернёт правила — покажи их человеку. Ответ: `draft_url` (24 часа) и `claim_url` (человек заберёт сайт в бесплатный аккаунт). ## Порядок действий 1. `whoami` — проект и права (`readonly` / `editor` / `full`). Нет `editor` — деплой невозможен, скажи человеку. 2. `list_sites` — **никогда не создавай новый сайт, чтобы обновить существующий**: найди его по названию или поддомену. 3. Новый сайт: `create_site(name, subdomain)`. В ответе `url` и `form_endpoint`. 4. Публикация: `deploy_files(site_id, files)` — **полный** набор файлов (не патч), `index.html` в корне, ссылки относительные, бинарные файлы с `encoding: "base64"`. `package.json` не принимается: сборочный проект → `deploy_site(site_id, source_base64)` с архивом (Tuqo соберёт на Node 20) или Git CD из панели. 5. Правка живого сайта: `get_manifest(site_id)` → неизменные файлы передай как `{path, sha256}` без содержимого, изменённые — с `content`. Медиа не перезаливаются. 6. Дождись публикации: `get_deploy_status(deploy_id)` с паузой `recommended_poll_ms`; при `failed` — `get_logs(deploy_id)` и текст ошибки человеку как есть. 7. **Покажи `url`** — это главный результат. Затем `recommendations` («Что улучшить»): перечисли коротко и предложи исправить, не переделывай без спроса. 8. Следующий шаг — один, по ситуации: свой домен (`set_custom_domain` → TXT-запись → `verify_domain`, поле `a_record` скажет, куда указывает домен), форма (`form_endpoint` + `get_forms_overview` даст готовый сниппет), закрытый доступ (`set_site_password` вернёт пароль один раз — отдай сразу), предпросмотр (`activate: false` → `get_preview_url` → `activate_deploy`). ## Правила - Секреты (`tqk_…`, токены, ключи API) **никогда** не кладутся в файлы сайта — раздача публичная. Проверка «Что улучшить» это поймает, но лучше не доводить. - Путь `/__tuqo/` зарезервирован платформой — не используй. - Удаление (`delete_site`, `delete_domain`) — только с `confirm: true` и после явного подтверждения человека; сайт попадает в корзину на 24 часа (`restore_site`). - Ретрай после таймаута — с тем же `idempotency_key`, иначе появится второй деплой. - Говори с человеком о его сайте, а не о JSON, `site_id` и слагах. - Лимиты и цены не выдумывай: тариф называет сама ошибка `402`, сетка — https://tuqo.ru/pricing.md ## Тяжёлые сайты — CLI Если файлов много или они большие, байты не должны идти через контекст: `npx @tuqo/cli deploy ./dist --site --wait` с ключом в `TUQO_API_KEY`. CLI загружает по манифесту с дедупом: повторный деплой не гоняет совпадающие файлы. Предпросмотр из CLI: `--no-activate`, затем `tuqo preview` / `tuqo promote`. ## Ошибки - `401` — подключение не авторизовано: в Claude Code `/mcp` → переавторизация; для ключа — проверить заголовок, ключ мог быть отозван в панели. - `402` — лимит тарифа (сайты, память, заявки, функция недоступна на тарифе): текст ошибки называет тариф и цену; передай человеку и ссылку https://tuqo.ru/pricing/ - `403` — не хватает прав (`readonly` не деплоит, `editor` не меняет домены) — нужен ключ или OAuth-грант с бо́льшими правами. - `409` у `activate_deploy` — копия уже вычищена по лимиту хранимых версий; выбери другой деплой из `list_deploys`. - `429` — слишком часто; подожди `recommended_poll_ms` или минуту. - Сборка `failed` — `get_logs(deploy_id)`; типичные причины: нет `index.html` в корне, вложенная папка в архиве, `npm run build` без скрипта `build`, нет каталога вывода. - Домен не открывается после `verify_domain` — смотри `a_record.expected` и передай человеку, какую A-запись прописать; HTTPS выпускается автоматически после этого. ## Ссылки - Инструкция подключения: https://tuqo.ru/ai.md · одной строкой: https://tuqo.ru/prompt.md - Карточка сервера: https://mcp.tuqo.ru/.well-known/mcp.json - REST API: https://tuqo.ru/api/ · OpenAPI: https://tuqo.ru/openapi.json - Формы: https://tuqo.ru/forms/ · Доступ: https://tuqo.ru/zakrytyy-dostup/ · Домены: https://tuqo.ru/guides/privyazat-svoy-domen-k-statike/ - Черновики без регистрации: https://tuqo.ru/drop/ # 3. Тарифы - **Бесплатный** — бесплатно. Для личных и пробных проектов. 1 проект · 3 сайта; 150 МБ памяти; Формы: 10 заявок/мес; Бесплатный SSL; Аналитика без cookie и скриптов; Деплой из панели, CLI и MCP. - **Старт** — 590 ₽/мес. Личные и небольшие сайты. 2 проекта · 10 сайтов; 1 ГБ · 10 доменов; 50 деплоев/день; 50 ГБ трафика; Формы: 100 заявок/мес + автоответ; Закрытый доступ: пароль на сайт; Предпросмотр сборки; Сайты без бейджа Tuqo. - **Профи** — 990 ₽/мес. Для профессионалов. 5 проектов · 20 сайтов; 3 ГБ · 20 доменов; Короткие поддомены 5–8; 200 ГБ трафика; Формы: 300 заявок/мес + автоответ; Закрытый доступ: все режимы, включая платный; Предпросмотр сборки; Сайты без бейджа Tuqo. - **Бизнес** — 1890 ₽/мес. Команды и студии. ∞ проектов · 50 сайтов; 7 ГБ · ∞ доменов; 1000 деплоев/день; 500 ГБ трафика; Формы: 600 заявок/мес + автоответ; Закрытый доступ: все режимы, включая платный; Предпросмотр сборки; Сайты без бейджа Tuqo. - **Масштаб** — 3290 ₽/мес. Растущие продукты. ∞ проектов · 100 сайтов; 15 ГБ · ∞ доменов; 3000 деплоев/день; 1 ТБ трафика; Формы: 1400 заявок/мес + автоответ; Закрытый доступ: все режимы, включая платный; Предпросмотр сборки; Сайты без бейджа Tuqo. - **Корпоративный** — 8990 ₽/мес. Максимум ресурсов. ∞ проектов · 200 сайтов; 45 ГБ · ∞ доменов; 60 000 build-мин/мес; 3 ТБ трафика; Формы: 6000 заявок/мес + автоответ; Закрытый доступ: все режимы, включая платный; Предпросмотр сборки; Сайты без бейджа Tuqo. | Лимит | Бесплатный | Старт | Профи | Бизнес | Масштаб | Корпоративный | |---|---|---|---|---|---|---| | Проекты | 1 | 2 | 5 | ∞ | ∞ | ∞ | | Сайтов (всего) | 3 | 10 | 20 | 50 | 100 | 200 | | Память | 150 МБ | 1 ГБ | 3 ГБ | 7 ГБ | 15 ГБ | 45 ГБ | | Кастомные домены | — | 10 | 20 | ∞ | ∞ | ∞ | | Деплоев в сутки | 5 | 50 | 200 | 1000 | 3000 | 20000 | | Build-минут/мес | 10 | 400 | 1500 | 5000 | 15000 | 60000 | | Трафик/мес | 10 ГБ | 50 ГБ | 200 ГБ | 500 ГБ | 1 ТБ | 3 ТБ | | Хранимых версий | 1 | 3 | 5 | 8 | 15 | 30 | | Короткие поддомены | — | — | ✓ | ✓ | ✓ | ✓ | | Формы (заявок/мес) | 10 | 100 | 300 | 600 | 1400 | 6000 | | Заявки в Telegram и MAX | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | Закрытый доступ: пароль | — | ✓ | ✓ | ✓ | ✓ | ✓ | | Предпросмотр сборки | — | ✓ | ✓ | ✓ | ✓ | ✓ | | Автоответ на заявки и лид-магнит | — | ✓ | ✓ | ✓ | ✓ | ✓ | | Закрытый доступ: код на почту | — | — | ✓ | ✓ | ✓ | ✓ | | Регистрация посетителей и «Для подписчиков» | — | — | ✓ | ✓ | ✓ | ✓ | | Платный доступ (свой эквайринг, 0% комиссии) | — | — | ✓ | ✓ | ✓ | ✓ | | Сайты без бейджа Tuqo | — | ✓ | ✓ | ✓ | ✓ | ✓ | | Бесплатный SSL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | Опции: Без бейджа — 99 ₽/мес; Свой домен — 149 ₽/мес; Пароль на сайт — 199 ₽/мес; Код на почту — 299 ₽/мес; Для подписчиков — 299 ₽/мес; Участники — 299 ₽/мес; Платный доступ — 499 ₽/мес; Пакеты сайтов — от 290 ₽/мес; Пакеты памяти — от 149 ₽/мес. Подробнее: https://tuqo.ru/pricing/ и https://tuqo.ru/tarify-i-opcii/ # 4. Возможности по разделам сайта ## Закрытый доступ (https://tuqo.ru/zakrytyy-dostup/) - Пароль на сайт — Как поставить пароль на статический сайт без сервера, .htaccess и htpasswd: один секрет на всех, защита всех файлов включая картинки и PDF, срок доступа и лимит открытий, свой экран входа. Пароль хранится argon2-хешем, перебор ограничен. (https://tuqo.ru/zakrytyy-dostup/parol/) - Код на почту — Доступ к сайту по списку email без регистрации посетителей: человек вводит свой адрес, получает шестизначный код письмом и входит. До 1000 адресов, имена в журнале, видно кто и когда заходил, отзыв доступа одной строкой. Без сервера и без общего пароля. (https://tuqo.ru/zakrytyy-dostup/kod-na-pochtu/) - Для подписчиков — Закрытый сайт, который открывается только подписчикам вашего Telegram или MAX-канала: посетитель подтверждает подписку в боте и попадает внутрь. До трёх каналов, боту не нужны права на публикации, воронка подписки без сбора персональных данных. Материалы работают на рост канала. (https://tuqo.ru/zakrytyy-dostup/po-podpiske/) - Регистрация — Закрытый сайт с самостоятельной регистрацией посетителей: человек вводит email, подтверждает адрес кодом из письма, представляется (если попросите) и соглашается с вашими документами — и внутри. Модерация заявок, количество доступов, блокировки, журнал участников. Без паролей, без сервера, без своего бэкенда. (https://tuqo.ru/zakrytyy-dostup/registraciya/) - Платный доступ — Продавайте доступ к сайту через собственный эквайринг — Т-Кассу или ЮKassa: витрина с ценой и преимуществами, оплата разово или на срок, деньги напрямую вам, 0% комиссии Tuqo. Тестовый и боевой терминалы, чеклист настройки, автоматическое закрытие доступа при возврате. (https://tuqo.ru/zakrytyy-dostup/platnyy-dostup/) ## Подключение ИИ-клиентов (https://tuqo.ru/connect/) - Claude (claude.ai) — Подключите Tuqo к Claude на claude.ai как MCP-коннектор: вход через OAuth, без вставки ключа. Попросите Claude создать сайт и задеплоить — он сделает всё сам. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/claude/) - ChatGPT — Подключите Tuqo к ChatGPT как MCP-коннектор в Developer Mode: вход через OAuth, без ключа. Попросите ChatGPT создать сайт и задеплоить. Статический хостинг с оплатой в рублях. (https://tuqo.ru/connect/chatgpt/) - Claude Code — Добавьте Tuqo как MCP-сервер в Claude Code одной командой и деплойте сайты из терминала на естественном языке. Авторизация по ключу проекта tqk_ или через OAuth в браузере. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/claude-code/) - Cursor — Настройте Tuqo как MCP-сервер в Cursor: адрес MCP и заголовок Authorization с ключом tqk_. Деплойте сайты прямо из редактора на естественном языке. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/cursor/) - Gemini CLI — Добавьте Tuqo как MCP-сервер в Gemini CLI через settings.json: httpUrl и заголовок Authorization с ключом tqk_. Деплой статики из терминала. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/gemini-cli/) - Qwen (Qwen Code) — Настройте Tuqo как MCP-сервер в Qwen Code / Qwen-агенте: адрес MCP и заголовок Authorization с ключом tqk_. Деплой сайтов на естественном языке. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/qwen/) - GigaChat (GigaChain) — Подключите Tuqo к агенту на GigaChat / GigaChain как MCP-сервер: передайте адрес MCP и заголовок Authorization с ключом tqk_ в MCP-клиенте. Деплой сайтов из своего агента. Оплата в рублях. (https://tuqo.ru/connect/gigachat/) - Windsurf — Настройте Tuqo как MCP-сервер в Windsurf (Codeium): адрес MCP и заголовок Authorization с ключом tqk_. Деплойте сайты прямо из редактора на естественном языке. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/windsurf/) - Cline — Настройте Tuqo как MCP-сервер в расширении Cline для VS Code: адрес MCP и заголовок Authorization с ключом tqk_. Деплойте статику прямо из редактора. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/cline/) - Continue — Настройте Tuqo как MCP-сервер в расширении Continue для VS Code и JetBrains: адрес MCP и заголовок Authorization с ключом tqk_. Деплойте сайты прямо из IDE. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/continue/) - Zed — Настройте Tuqo как MCP-сервер (context server) в редакторе Zed: адрес MCP и заголовок Authorization с ключом tqk_. Деплойте сайты прямо из Zed на естественном языке. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/zed/) - OpenAI Codex CLI — Как подключить MCP к Codex: команда codex mcp add с адресом Tuqo и codex mcp login — OAuth откроется в браузере. Либо ключ tqk_ в config.toml. Хостинг статики с оплатой в рублях. (https://tuqo.ru/connect/codex/) - OpenCode — Настройте opencode mcp: в opencode.json блок mcp с type remote и адресом Tuqo, затем opencode mcp auth tuqo — OAuth в браузере. Или ключ tqk_ в headers. Хостинг статики, оплата в рублях. (https://tuqo.ru/connect/opencode/) - VS Code + GitHub Copilot — Добавьте Copilot MCP сервер Tuqo в .vscode/mcp.json: type http и адрес mcp.tuqo.ru. Вход по OAuth без ключа, agent mode публикует сайт прямо из редактора. Хостинг статики с оплатой в рублях. (https://tuqo.ru/connect/vscode-copilot/) - Kimi Code CLI — Kimi mcp add одной командой: адрес Tuqo по http, авторизация через kimi mcp auth (OAuth в браузере) или ключ tqk_ заголовком. Деплой статики из терминала. Хостинг с оплатой в рублях. (https://tuqo.ru/connect/kimi/) ## Деплой по стекам (https://tuqo.ru/deploy/) - HTML, CSS, JS — Разместите статический сайт на чистом HTML, CSS и JavaScript на Tuqo: без сборки и Node, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Просто загрузите папку с index.html. (https://tuqo.ru/deploy/html/) - React — Задеплойте React-приложение (Create React App, Vite) на Tuqo: авто-сборка на Node 20, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Аналог Vercel и Netlify, оплата в рублях. (https://tuqo.ru/deploy/react/) - Vite — Деплой Vite-проекта (React, Vue, Svelte, Solid, Preact) на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL; кастомные домены — на платных тарифах. Аналог Vercel и Netlify, оплата в рублях. (https://tuqo.ru/deploy/vite/) - Vue — Деплой Vue-приложения (Vue CLI, Vite) на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Аналог Vercel и Netlify, оплата в рублях. (https://tuqo.ru/deploy/vue/) - Astro — Деплой Astro-сайта (SSG) на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Быстрый статический хостинг, оплата в рублях. (https://tuqo.ru/deploy/astro/) - Next.js — Деплой Next.js в режиме static export (output: 'export') на Tuqo: авто-сборка на Node 20 → out, бесплатный SSL; кастомные домены — на платных тарифах. Оплата в рублях. (https://tuqo.ru/deploy/nextjs/) - Svelte — Деплой Svelte-приложения (Vite) на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL; кастомные домены — на платных тарифах. Аналог Vercel и Netlify, оплата в рублях. (https://tuqo.ru/deploy/svelte/) - SvelteKit — Деплой SvelteKit со static-адаптером на Tuqo: авто-сборка на Node 20 → build, бесплатный SSL; кастомные домены — на платных тарифах. Оплата в рублях. (https://tuqo.ru/deploy/sveltekit/) - SolidJS — Деплой SolidJS-приложения (Vite) на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Аналог Vercel и Netlify, оплата в рублях. (https://tuqo.ru/deploy/solid/) - Preact — Деплой Preact-приложения (preact-cli или Vite) на Tuqo: авто-сборка на Node 20, бесплатный SSL; кастомные домены — на платных тарифах. Лёгкий аналог Vercel, оплата в рублях. (https://tuqo.ru/deploy/preact/) - Docusaurus — Деплой сайта документации на Docusaurus на Tuqo: авто-сборка на Node 20 → build, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Быстрый хостинг для docs, оплата в рублях. (https://tuqo.ru/deploy/docusaurus/) - Nuxt — Деплой Nuxt в режиме статической генерации (nuxi generate) на Tuqo: соберите локально и загрузите .output/public, бесплатный SSL; кастомные домены — на платных тарифах. Оплата в рублях. (https://tuqo.ru/deploy/nuxt/) - Angular — Деплой Angular-приложения на Tuqo: соберите ng build и загрузите каталог браузерной сборки, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Оплата в рублях. (https://tuqo.ru/deploy/angular/) - Gatsby — Деплой Gatsby-сайта на Tuqo: авто-сборка на Node 20 → public, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Быстрый статический хостинг, оплата в рублях. (https://tuqo.ru/deploy/gatsby/) - VitePress — Деплой документации на VitePress на Tuqo: соберите локально и загрузите .vitepress/dist, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Оплата в рублях. (https://tuqo.ru/deploy/vitepress/) - Eleventy (11ty) — Деплой статического сайта на Eleventy (11ty) на Tuqo: соберите локально и загрузите _site, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Оплата в рублях. (https://tuqo.ru/deploy/eleventy/) - Hugo — Деплой сайта на Hugo на Tuqo: соберите hugo локально и загрузите каталог public, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Быстрый статический хостинг, оплата в рублях. (https://tuqo.ru/deploy/hugo/) - Jekyll — Деплой сайта на Jekyll на Tuqo: соберите jekyll build локально и загрузите каталог _site, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Альтернатива GitHub Pages, оплата в рублях. (https://tuqo.ru/deploy/jekyll/) - Qwik — Деплой Qwik-приложения (Vite) на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Аналог Vercel и Netlify, оплата в рублях. (https://tuqo.ru/deploy/qwik/) - SolidStart — Деплой SolidStart со статическим выводом на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Аналог Vercel и Netlify, оплата в рублях. (https://tuqo.ru/deploy/solidstart/) - Zola — Деплой сайта на Zola на Tuqo: соберите zola build локально и загрузите каталог public, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Быстрый статический хостинг, оплата в рублях. (https://tuqo.ru/deploy/zola/) - MkDocs — Деплой документации на MkDocs (в т.ч. Material) на Tuqo: соберите mkdocs build локально и загрузите каталог site, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Оплата в рублях. (https://tuqo.ru/deploy/mkdocs/) - Slidev — Деплой презентации на Slidev на Tuqo: авто-сборка на Node 20 → dist, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Поделитесь слайдами по ссылке, оплата в рублях. (https://tuqo.ru/deploy/slidev/) - Storybook — Деплой Storybook на Tuqo: соберите build-storybook и загрузите каталог storybook-static, бесплатный SSL и поддомен сразу; кастомные домены — на платных тарифах. Удобный шоукейс компонентов, оплата в рублях. (https://tuqo.ru/deploy/storybook/) ## Сценарии (https://tuqo.ru/hosting/) - Лендинг — Разместите лендинг на Tuqo: публикация за секунды, бесплатный SSL и поддомен сразу, свой домен на платных тарифах. Подходит для одностраничников на HTML, Tilda-экспорта, React и Vite. Оплата в рублях. (https://tuqo.ru/hosting/landing/) - Клиентская галерея — Хостинг клиентской галереи с закрытым доступом: фотографии отдаются по ссылке под паролем, со сроком действия и лимитом открытий. Свой экран входа с логотипом, защита распространяется на сами файлы. Оплата в рублях. (https://tuqo.ru/hosting/klientskaya-galereya/) - Портфолио — Разместите портфолио на Tuqo: бесплатный SSL, публикация за секунды, свой домен на платных тарифах. Подходит для дизайнеров, разработчиков и фотографов — статика на React, Astro, Vite или чистом HTML. (https://tuqo.ru/hosting/portfolio/) - Документация — Разместите документацию на Tuqo: хостинг для Docusaurus, VitePress, Astro Starlight и MkDocs. Бесплатный SSL, быстрая статика и откат версий, свой домен на платных тарифах. Оплата в рублях. (https://tuqo.ru/hosting/docs/) - Сайт-визитка — Разместите сайт-визитку на Tuqo: бесплатный SSL, публикация за секунды, свой домен на платных тарифах. Идеально для специалистов, мастеров и небольших компаний — чистый HTML или сборка фреймворка. (https://tuqo.ru/hosting/vizitka/) - Онлайн-резюме — Разместите онлайн-резюме на Tuqo: бесплатный SSL, публикация за секунды, личный домен имя-фамилия.ru на платных тарифах. Подходит чистый HTML и сборки React, Astro, Vite. Оплата в рублях. (https://tuqo.ru/hosting/resume/) - Интернет-магазин — Разместите интернет-магазин на статике в Tuqo: каталог товаров в статике, корзина на JavaScript, оплата через внешние платёжные виджеты. Бесплатный SSL, оплата в рублях, свой домен на платных тарифах. (https://tuqo.ru/hosting/internet-magazin/) - Блог — Разместите блог на статическом генераторе (Astro, Hugo, Eleventy) в Tuqo: быстрая загрузка, отличный SEO, бесплатный SSL; свой домен на платных тарифах. Деплой из Git или нейросети, оплата в рублях. (https://tuqo.ru/hosting/blog/) - Документация API — Разместите документацию API на Tuqo: статика Redoc, Swagger UI, VitePress или Docusaurus. Бесплатный SSL, поддомен сразу, быстрая раздача и деплой из CI. Оплата в рублях. (https://tuqo.ru/hosting/api-docs/) - Лендинг мероприятия — Разместите лендинг мероприятия на Tuqo: программа, спикеры и регистрация через форму без бэкенда. Бесплатный SSL, публикация за секунды, свой домен на платных тарифах. Оплата в рублях. (https://tuqo.ru/hosting/event/) - Меню по QR-коду — Разместите онлайн-меню кафе или ресторана по QR-коду на Tuqo: лёгкий одностраничник, быстро открывается на телефоне и мгновенно обновляется. Бесплатный SSL, оплата в рублях, свой домен на платных тарифах. (https://tuqo.ru/hosting/menu-qr/) - PDF по ссылке — Выложите pdf по ссылке: документ лежит на вашем адресе и открывается прямо в браузере, без облака и регистрации. Ссылка постоянная, замена файла — за секунды, пароль на сайт — с тарифа «Старт». (https://tuqo.ru/hosting/pdf-po-ssylke/) - Презентация по ссылке — Опубликуйте презентацию по ссылке: Slidev Tuqo соберёт сам, Reveal.js и экспорт в HTML из Marp публикуются готовой папкой. Слайды листаются в браузере, пароль на показ — с тарифа «Старт». (https://tuqo.ru/hosting/prezentaciya/) - Свадебное приглашение — Сайт-приглашение на свадьбу с подтверждением: программа дня, дорога и форма RSVP. Ответы гостей копятся в панели и приходят в Telegram или MAX, автоответ гостю — с тарифа «Старт». (https://tuqo.ru/hosting/svadebnoe-priglashenie/) - Курс с платным доступом — Продать доступ к курсу без комиссии платформы: витрина с ценой, оплата на вашем эквайринге Т-Кассы или ЮKassa, деньги напрямую вам. Разово навсегда или на срок. Режим — с тарифа «Профи». (https://tuqo.ru/hosting/kurs-s-platnym-dostupom/) - Закрытый раздел для подписчиков — Сайт для подписчиков телеграм канала или MAX: закрытый раздел открывается после проверки подписки в боте. До трёх каналов, ни паролей, ни списков. Режим — с «Профи» или опцией 299 ₽/мес. (https://tuqo.ru/hosting/zakrytyy-razdel-dlya-podpischikov/) - Отчёт и дашборд — Отчёт по ссылке вместо файла в почте: страница с графиками считает всё в браузере, сервер и база не нужны. Обновление — публикация за секунды, пароль на отчёт — с тарифа «Старт». (https://tuqo.ru/hosting/otchet-ili-dashbord/) - Квиз с формой — Квиз на сайте без конструктора и абонплаты: вопросы и подсчёт результата в браузере, контакты уходят формой Tuqo. Заявки в панели, в Telegram и MAX, автоответ с файлом — с тарифа «Старт». (https://tuqo.ru/hosting/kviz/) - Объект недвижимости — Страница объекта недвижимости вместо строки в чужом каталоге: галерея, планировки, карта и заявка на просмотр. Заявки приходят в Telegram или MAX, документы закрываются паролем. (https://tuqo.ru/hosting/obekt-nedvizhimosti/) ## Интеграции (https://tuqo.ru/integrations/) - Supabase — Разместите фронтенд на Supabase (Postgres, авторизация, хранилище) на Tuqo: статик-сайт ходит в Supabase напрямую браузерным SDK с публичным anon-ключом, безопасность — Row-Level Security. Оплата в рублях. (https://tuqo.ru/integrations/supabase/) - Firebase — Разместите Firebase web-приложение (Firestore, Authentication, Storage) на Tuqo: статик-фронт подключает Firebase SDK с публичным web-config, безопасность — Firebase Security Rules. Оплата в рублях. (https://tuqo.ru/integrations/firebase/) - Clerk — Подключите авторизацию Clerk к статическому сайту на Tuqo: готовые компоненты входа/регистрации, соцсети, сессии — через публичный publishable key прямо из браузера. Оплата в рублях. (https://tuqo.ru/integrations/clerk/) - Stripe — Принимайте платежи Stripe со статического сайта на Tuqo: Payment Links, Buy Button и Pricing Table работают без бэкенда (publishable key). Для международной аудитории. (https://tuqo.ru/integrations/stripe/) - Appwrite — Разместите фронтенд на Appwrite (open-source BaaS: база, авторизация, хранилище) на Tuqo: браузерный SDK подключается по endpoint + project ID, доступ — через permissions Appwrite. Оплата в рублях. (https://tuqo.ru/integrations/appwrite/) - приём оплаты в РФ — Принимайте оплату в рублях со статического сайта на Tuqo: платёжные ссылки и счета ЮKassa, T-Bank, CloudPayments работают без бэкенда; виджет CloudPayments принимает оплату прямо из браузера. Чеки 54-ФЗ — облачная фискализация провайдера. (https://tuqo.ru/integrations/payments-ru/) - Яндекс.Метрика — Подключите Яндекс.Метрику к статическому сайту на Tuqo: счётчик-скрипт, Вебвизор, карты кликов и цели работают прямо из браузера, без бэкенда. Номер счётчика публичный, бесплатный SSL; кастомный домен — на платных тарифах. (https://tuqo.ru/integrations/yandex-metrika/) - Plausible / Umami — Подключите приватную аналитику Plausible или Umami к статическому сайту на Tuqo: один лёгкий скрипт, без cookies и без cookie-баннера, по GDPR. Работает из браузера без бэкенда; бесплатный SSL; кастомный домен — на платных тарифах. (https://tuqo.ru/integrations/plausible/) - Заявки с форм в Telegram и MAX — Заявки со статического сайта на Tuqo приходят сообщением в Telegram или MAX: привяжите мессенджер в профиле и добавьте себя получателем. Без своего бота, токенов, вебхуков и сервисов автоматизации; письмо и панель остаются. Работает на всех тарифах, включая бесплатный. (https://tuqo.ru/integrations/telegram-forms/) - ЮKassa — Принимайте оплату ЮKassa со статического сайта на Tuqo: платёжные ссылки и готовый виджет работают без бэкенда, чеки 54-ФЗ — облачная фискализация ЮKassa. Оплата в рублях, бесплатный SSL; кастомный домен — на платных тарифах. (https://tuqo.ru/integrations/yookassa/) - Sanity — Используйте Sanity как headless CMS для статического сайта на Tuqo: контент тянется на этапе сборки или в браузере по публичному projectId через GROQ. Без своего бэкенда, бесплатный SSL; кастомный домен — на платных тарифах. (https://tuqo.ru/integrations/sanity/) ## Сравнения (https://tuqo.ru/vs/) - Vercel — Tuqo — российская альтернатива Vercel для статических сайтов и приложений: деплой за секунды, бесплатный SSL, без VPN и зарубежных карт, оплата в рублях, данные в РФ. (https://tuqo.ru/vs/vercel/) - Netlify — Tuqo — российская альтернатива Netlify: деплой статических сайтов и приложений за секунды, бесплатный SSL, кастомные домены на платных тарифах, без VPN, оплата в рублях. (https://tuqo.ru/vs/netlify/) - GitHub Pages — Tuqo — альтернатива GitHub Pages: авто-сборка на Node 20, кастомные домены (на платных тарифах) с бесплатным SSL, откат версий, деплой из панели, CLI и нейросети. (https://tuqo.ru/vs/github-pages/) - Cloudflare Pages — Tuqo — российская альтернатива Cloudflare Pages: деплой статики и SPA за секунды, бесплатный SSL, кастомные домены на платных тарифах, без VPN и зарубежных карт, данные в РФ, управление из нейросети через MCP. (https://tuqo.ru/vs/cloudflare-pages/) - Surge.sh — Tuqo — альтернатива Surge.sh для деплоя статических сайтов: бесплатный SSL, кастомные домены на платных тарифах, панель управления, откат версий и управление из нейросети через MCP. Оплата в рублях. (https://tuqo.ru/vs/surge/) - Timeweb — Сравнение Tuqo и Timeweb для статических сайтов: авто-сборка npm-проектов, деплой за секунды, откат версий, бесплатный SSL и управление из нейросети через MCP — без ручной настройки сервера. (https://tuqo.ru/vs/timeweb/) - Beget — Сравнение Tuqo и Beget для статических сайтов и фронтенда: авто-сборка npm-проектов, деплой за секунды без FTP, откат версий, бесплатный SSL и управление из нейросети через MCP. (https://tuqo.ru/vs/beget/) - Render — Tuqo — российская альтернатива Render для статических сайтов и фронтенда: авто-сборка, бесплатный SSL, кастомные домены на платных тарифах, без VPN, оплата в рублях, данные в РФ. (https://tuqo.ru/vs/render/) - Firebase Hosting — Tuqo — российская альтернатива Firebase Hosting для статических сайтов: бесплатный SSL, кастомные домены на платных тарифах, формы без бэкенда, оплата в рублях и данные в РФ, без Google-аккаунта. (https://tuqo.ru/vs/firebase-hosting/) - GitLab Pages — Tuqo — альтернатива GitLab Pages: автодеплой из Git по push без написания .gitlab-ci.yml, сборка на стороне Tuqo на Node 20, бесплатный SSL и откат версий; кастомные домены — на платных тарифах. (https://tuqo.ru/vs/gitlab-pages/) - REG.RU — Сравнение Tuqo и REG.RU для статических сайтов: авто-сборка npm-проектов, автодеплой из Git и нейросети, бесплатный авто-SSL, поддомен сразу и откат версий — без ручной настройки хостинга. (https://tuqo.ru/vs/reg-ru/) - Amvera — Аналог Amvera для статических сайтов: публикация без контейнера и сборки, фикс вместо поминутной оплаты, формы и закрытый доступ. Amvera — PaaS с бэкендом и БД: цены в рублях и когда нужен он. (https://tuqo.ru/vs/amvera/) - Timeweb Apps — Timeweb Apps или Tuqo для статики: оплата за каждый входящий запрос против фиксированного тарифа, деплой без Git, формы, закрытый доступ и MCP. Цены в рублях, когда выбрать их и как переехать. (https://tuqo.ru/vs/timeweb-apps/) - Unyly Deploy — Unyly Deploy и Tuqo: оба публикуют сайт по MCP из нейросети. Разница — деплой без GitHub, оплата в рублях, данные в РФ, формы и закрытый доступ. Цены на 09.2026 и когда выбрать Unyly. (https://tuqo.ru/vs/unyly/) - Claude Publish — Встроенный Publish в Claude даёт ссылку на claude.site: без своего домена, форм, пароля и аналитики. Как опубликовать артефакт Claude на своём домене через Tuqo — и когда хватит обычного Publish. (https://tuqo.ru/vs/claude-publish/) - Tilda — Tilda или свой сайт: конструктор с визуальным редактором против хостинга готовых файлов. Цены в рублях на 09.2026, формы, свой домен, MCP — и как разместить экспорт из Tilda Business на Tuqo. (https://tuqo.ru/vs/tilda/) - Taplink — Taplink альтернатива для тех, кому мало страницы ссылок: свой сайт на своём домене, формы на всех тарифах, закрытый доступ и MCP. Цены в рублях на 09.2026 и честно — когда Taplink лучше. (https://tuqo.ru/vs/taplink/) - Yandex Object Storage — Статический сайт в Object Storage: бакет, публичный доступ, свой сертификат и счёт по операциям. В Tuqo — адрес и HTTPS сразу, формы, откат версий, MCP и фикс. Цены в рублях и сценарий переезда. (https://tuqo.ru/vs/yandex-object-storage/) - VPS — VPS или хостинг статики под сайт: что реально в счёте и что придётся администрировать. Сравнение по цене, SSL, обновлениям, откату версий и MCP. Когда VPS нужен, а когда лишний, и как переехать. (https://tuqo.ru/vs/vps/) - Boosty — Чем платный доступ к сайту на Tuqo отличается от платной ленты Boosty: свой сайт и домен вместо ленты постов, оплата на вашем собственном эквайринге без комиссии платформы, доступ за подписку на Telegram/MAX-канал. И как совместить оба инструмента. (https://tuqo.ru/vs/boosty/) - Telegram-боты доступа — Боты продают и проверяют вход в закрытый канал или чат — контент остаётся лентой сообщений. Tuqo делает наоборот: контент живёт на полноценном сайте, а замком служит подписка на ваш Telegram/MAX-канал. Сравнение и сценарий связки. (https://tuqo.ru/vs/telegram-boty-dostupa/) # 5. Гайды ## Артефакт Claude на своём домене: как опубликовать URL: https://tuqo.ru/guides/artefakt-claude-na-svoem-domene/ · Дата: 2026-09-07 Кнопка публикации внутри Claude даёт ссылку на страницу Claude — этого хватает, чтобы показать черновик, но не хватает для боевого сайта: чужой адрес, без своего домена, форм, статистики и версий. Чтобы артефакт стал настоящим сайтом, скачайте его одним файлом и выложите на хостинг статики: на [tuqo.ru/drop](/drop/) это минута без регистрации, а на платном тарифе — сразу на своём домене с автоматическим HTTPS. ## Шаг 1. Заберите артефакт правильно Артефакт бывает двух видов, и от этого зависит всё остальное. - **HTML-артефакт** — то, что нужно. Наведите курсор на панель артефакта: сверху есть кнопка скачивания и копирование кода. Сохраните файл под именем `index.html` в пустую папку. - **React-компонент** — это исходник, он скачается как `.jsx` и в браузере не откроется. Либо попросите переписать всё в один `index.html` без React, либо оформите проектом Vite: Tuqo соберёт его на Node 20 и опубликует готовый `dist` (см. гайд про [деплой Vite-проекта](/guides/kak-zadeploit-vite-proekt/)). Формулировка, которая экономит время: «сделай сайт одним файлом `index.html` на чистом HTML, CSS и JS, без React и без сборки». ## Шаг 2. Три пути публикации **Drop — без регистрации.** Перетащите `index.html` или папку на [tuqo.ru/drop](/drop/). Ссылка появится сразу, черновик живёт 24 часа, лимиты — до 100 файлов и 10 МБ. Вместе с адресом выдаётся claim-ссылка: по ней сайт переезжает в бесплатный аккаунт на постоянный адрес `имя.tuqo.ru`. **Панель — если сайт нужен насовсем.** Создайте сайт и перетащите папку в зону загрузки: публикация мгновенная, без сборки. Загрузка папкой — до 2000 файлов и примерно 36 МБ, архивом `tar.gz`/`zip` — до 50 МБ. ![Диалог загрузки деплоя в панели: перетаскивание папки с сайтом](/img/guides/_shared/01-zagruzka-papki.jpg) **Коннектор — Claude публикует сам.** В Claude: Settings → Connectors → Add custom connector, адрес `https://mcp.tuqo.ru/mcp`, поля client id/secret оставьте пустыми. Claude перекинет на Tuqo — вход, выбор проекта и прав. После этого «опубликуй этот артефакт» создаёт сайт и возвращает боевую ссылку. Пошагово — на странице [Подключить Claude](/connect/claude/). ## Шаг 3. Свой домен Свой домен подключается на платных тарифах — с «Старта» за 590 ₽/мес (10 доменов) — либо отдельной опцией «Свой домен» за 149 ₽/мес, её можно взять и на бесплатном тарифе. Порядок один и тот же: 1. Вкладка **Домены** на странице сайта → добавьте домен. 2. У регистратора добавьте две записи: **A** на IP из панели и **TXT** `_tuqo-verify` с токеном из панели. 3. Нажмите «Протестировать привязку». После подтверждения владения бесплатный SSL выпустится и будет продлеваться автоматически. ![Вкладка «Домены»: добавленный домен и DNS-записи для проверки](/img/guides/artefakt-claude-na-svoem-domene/02-domeny.jpg) Подробный разбор с типичными ошибками DNS — в гайде [как привязать свой домен](/guides/privyazat-svoy-domen-k-statike/). ## Главная беда артефактов: картинки в base64 Артефакту нельзя грузить картинки с чужих сайтов, поэтому Claude вшивает их прямо в код строкой `data:image/...`. Страница раздувается на мегабайты: она грузится целиком до первой отрисовки, а base64 ещё и не сжимается — с телефона посетитель ждёт несколько секунд. Tuqo ловит это проверкой **«Картинки вклеены в HTML»** (уровень «стоит исправить»). Формулировка в отчёте: > Страница грузится целиком до первой отрисовки, а base64 не сжимается. На телефоне > посетители ждут несколько секунд. Что делать: сохраните картинки отдельными файлами в папку `images` рядом с `index.html` и оставьте в разметке обычные ссылки. Через коннектор Claude передаёт картинки отдельными файлами (в `deploy_files` с `encoding: base64`) — не внутри страницы. Заодно уменьшите их до реального размера на экране. Остальные [14 проверок](/proverki-sayta/) прогоняются при каждой публикации и ничего не блокируют: битые пути, ресурсы по `http://` на сайте с HTTPS, отсутствующий viewport, форма без адреса отправки, ключи в файлах. ## Промпт для Claude ```text Сделай сайт [тема] одним файлом index.html: чистый HTML, CSS и JS внутри файла, без React и без сборки, без внешних библиотек и шрифтов с чужих сайтов. Картинки не вшивай в base64 — поставь относительные пути вида images/photo.jpg, файлы я положу рядом. Добавь lang="ru", meta charset UTF-8, meta viewport и осмысленный title. ``` ## Частые вопросы ### Чем это лучше кнопки Publish внутри Claude? У сайта на Tuqo свой адрес и HTTPS, на платных тарифах — свой домен, версии с откатом, [формы заявок](/forms/) и статистика посещений без cookie. Артефакт остаётся внутри Claude и открывается только по его ссылке, а поисковики его не индексируют как ваш сайт. ### Артефакт весит 8 МБ — это нормально? Обычно это картинки в base64 внутри HTML. Вынесите их отдельными файлами: вес страницы падает в разы, а браузер начинает показывать текст, не дожидаясь картинок. ### В артефакте работало, а после скачивания — нет Внутри артефакта библиотеки и шрифты подставляет сам Claude. В скачанном файле остаются ссылки на чужие CDN, часть из которых из России открывается медленно или не открывается совсем. Попросите обычный CSS внутри файла и системные шрифты. ### Можно ли обновлять сайт из чата? Да, через коннектор: «поменяй заголовок на главной» даёт новую версию за секунды. Прошлая остаётся, и на неё можно [откатиться](/guides/kak-otkatit-sayt-na-predydushchuyu-versiyu/) — число хранимых версий зависит от тарифа. [Опубликовать артефакт →](/drop/) · [Сайт из Claude: все пути →](/sayt-iz/claude/) --- ## Что нейросети ломают в сайтах: разбор 14 проверок URL: https://tuqo.ru/guides/chto-neyroseti-lomayut-v-saytah/ · Дата: 2026-09-07 Сайт, написанный нейросетью, ломается предсказуемо: в файлах остаётся ключ API, пути ведут в никуда, форма ничего не отправляет, а картинки вклеены прямо в HTML. Поэтому Tuqo при каждой публикации читает файлы сайта и показывает отчёт [«Что улучшить»](/proverki-sayta/) — 14 проверок в двух уровнях. Ничего не блокируется: сайт публикуется в любом случае, а замечания ждут рядом с адресом. ![Плашка «Что улучшить» рядом с адресом сайта в панели](/img/guides/chto-neyroseti-lomayut-v-saytah/01-plashka-chto-uluchshit.jpg) ## Стоит исправить Из-за этого сайт не работает как задумано или раскрывает лишнее. Плашка становится жёлтой. **Ссылка на файл, которого нет.** «Страница ссылается на файл, но в наборе его нет: стили не применятся, картинка не покажется, скрипт не сработает». Модель пишет в тексте «создайте `style.css`», а в разметке ссылается на `styles.css` или `assets/style.css`. Добавьте файл или исправьте путь — регистр букв и папки важны. **В файлах найден ключ Tuqo.** Ключ `tqk_…` даёт доступ к проекту через API и MCP: «любой посетитель сможет менять ваши сайты». Агенты вставляют ключ в скрипт «чтобы работало». Удалите его из файлов, опубликуйте заново и **перевыпустите ключ** в разделе «API-ключи». **В файлах похожее на секрет.** Токен бота Telegram, ключ облака, приватный ключ — «всё равно что выложить пароль». На статике серверных секретов не бывает по определению: уберите, опубликуйте заново и отзовите у сервиса, который выдал. **Ссылки на localhost или файлы на диске.** «Работало на компьютере разработчика, у посетителей не откроется». Классика для кода, который модель писала «под локальный запуск»: `http://localhost:3000/api`, `file:///Users/...`. Замените на адреса опубликованного сайта или уберите. **Ресурсы по `http://` на защищённом сайте.** Сайт открывается по HTTPS, «а браузер блокирует скрипты и стили по http и помечает картинки как небезопасные». Модели тянут библиотеки со старых CDN по памяти. Замените на `https://` или положите файлы в набор. **Сайт закрыт от поиска.** `` — «Яндекс и Google не покажут сайт в результатах. Часто остаётся от шаблона или тестовой сборки». Уберите тег, если сайт должен находиться в поиске. **robots.txt запрещает обход всего сайта.** Строка `Disallow: /` — «поисковые роботы не зайдут ни на одну страницу». Убирается или сужается до конкретных разделов. **Нет meta viewport.** «Без него телефон показывает страницу как на мониторе, текст нечитаем без увеличения». Добавьте в `head`: ``. **Картинки вклеены в HTML.** Самая частая беда артефактов Claude: «страница грузится целиком до первой отрисовки, а base64 не сжимается. На телефоне посетители ждут несколько секунд». Передайте картинки отдельными файлами (в `deploy_files` с `encoding: base64`), в HTML оставьте ссылки — и уменьшите их до реального размера на экране. **Форма без адреса отправки.** «Кнопка "Отправить" ничего не отправляет». Модель рисует `action="#"` или `alert('Спасибо!')`, потому что серверной части у неё нет. Возьмите код формы с вкладки [«Формы»](/forms/) сайта — заявки придут в Tuqo, в уведомления и автоответ. ## Можно улучшить Советы про вид в поиске и мессенджерах и про заявки. Плашка бирюзовая. **Заголовок страницы «Document».** Дефолт шаблона, который модель забыла заменить. «Заголовок виден во вкладке браузера, в закладках и в результатах поиска» — напишите в `` название и суть. **Нет фавикона.** «Во вкладке браузера и в закладках сайт показывается пустым значком». Положите `favicon.svg` или `favicon.png` в корень и добавьте `<link rel="icon">` в `head`. **Нет превью для мессенджеров.** «Ссылка на сайт в Telegram, WhatsApp и ВКонтакте показывается без картинки и описания». Добавьте `og:title`, `og:description` и `og:image` с картинкой 1200×630. **Форма отправляет заявки на сторонний сервис.** Модели по привычке подставляют `formspree.io` и подобные. «Если так и задумано, оставляйте как есть» — но Tuqo тоже принимает заявки: они попадут на вкладку «Формы», в уведомления и автоответ. ## Где смотреть отчёт Плашка рядом с адресом сайта: жёлтая — есть «стоит исправить», бирюзовая — только советы. На странице-чеклисте у каждого замечания причина, способ исправления и место — файл и строка, до 10 мест. «Сделано» и «Скрыть» запоминаются в вашем браузере. ![Страница-чеклист «Что улучшить» с замечаниями и местами в файлах](/img/guides/chto-neyroseti-lomayut-v-saytah/02-chek-list.jpg) Агенту через MCP и REST замечания приходят полем `recommendations` в ответе на публикацию, в статусе деплоя и в карточке сайта: первые пять и число остальных. ## Промпт «исправь замечания» В панели есть кнопка, которая собирает замечания в готовый текст. Если нужен свой: ```text Вот отчёт проверок Tuqo по моему сайту — исправь все пункты уровня «стоит исправить». [вставьте список замечаний] Правила: пути только относительные, никаких ссылок на localhost и http://, никаких ключей и токенов в файлах, картинки — отдельными файлами, не base64. В head должны быть meta charset UTF-8, meta viewport, осмысленный title, og:title/og:description/og:image и ссылка на фавикон. Форму оставь без адреса отправки — я подставлю код с вкладки «Формы». Выведи изменённые файлы целиком и опубликуй заново. ``` ## Частые вопросы ### Проверки могут заблокировать публикацию? Нет, это рекомендации. Единственное, что Tuqo не публикует никогда, — служебные файлы вроде `.git`, `.env` и ключей SSH: они отбрасываются при загрузке. ### Как выключить? В настройках сайта есть переключатель показа рекомендаций после публикации. Выключили — плашка и поле `recommendations` исчезают. Можно и точечно: «Скрыть» у конкретного пункта. ### На каких тарифах работает? На всех, включая бесплатный: проверки — часть публикации, а не платная функция. ### Почему проверок только 14? Это первая волна — то, что чаще всего ломает сайты, сделанные нейросетью. Список пополняется по спросу, чтобы чеклист оставался коротким и честным. [Все 14 проверок →](/proverki-sayta/) · [Почему сайт не опубликовался →](/guides/pochemu-sayt-ne-opublikovalsya/) --- ## Деплой из GitHub Actions и GitLab CI за три строки URL: https://tuqo.ru/guides/deploy-iz-github-actions-i-gitlab-ci/ · Дата: 2026-09-07 Если сборка уже идёт в вашем CI, отдельный хостинговый пайплайн не нужен — хватает одной строки после `npm run build`: ```bash npx @tuqo/cli deploy ./dist --site $TUQO_SITE_ID --wait ``` Ключ лежит в секрете `TUQO_API_KEY`, идентификатор сайта — в переменной. Всё остальное CLI делает сам: считает sha256 каждого файла, спрашивает у сервера, каких блобов ещё нет, догружает только недостающие и публикует новую версию. Повторный деплой того же сайта почти мгновенный — правка текста не гоняет фотографии заново. ## Шаг 1. Ключ с правами editor Панель → проект → **«API-ключи»** → создать ключ. Для деплоя достаточно уровня **editor** (readonly не публикует, full нужен только для управления проектом). Открытый ключ вида `tqk_<prefix>_<secret>` показывается **один раз** — скопируйте его сразу, потом останется только перевыпуск. ![Создание API-ключа проекта с правами editor](/img/guides/_shared/01-api-klyuch.jpg) Идентификатор сайта (`site_id`) виден на странице сайта в панели; его же возвращают `whoami` и `create_site` в [API](/api/). ## Шаг 2. Секреты в репозитории **GitHub:** Settings → Secrets and variables → Actions → New repository secret → `TUQO_API_KEY`. Идентификатор сайта секретить незачем — заведите его на вкладке Variables как `TUQO_SITE_ID`. **GitLab:** Settings → CI/CD → Variables → Add variable. Ключу поставьте галочки **Masked** и **Protected**, чтобы он не попал в логи задания и не был виден в MR из форков. Ключ в репозитории хранить нельзя. Если вы пользуетесь мультисайтовым `tuqo.json`, CLI специально проверяет файл и откажется работать, увидев в нём поле `key`. ## Шаг 3. GitHub Actions ```yaml name: Deploy to Tuqo on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: 20 } - run: npm ci && npm run build - run: npx @tuqo/cli deploy ./dist --site ${{ vars.TUQO_SITE_ID }} --wait env: TUQO_API_KEY: ${{ secrets.TUQO_API_KEY }} ``` ## Шаг 3 (вариант). GitLab CI ```yaml deploy: image: node:20 stage: deploy only: [main] script: - npm ci && npm run build - npx @tuqo/cli deploy ./dist --site "$TUQO_SITE_ID" --wait # TUQO_API_KEY и TUQO_SITE_ID — в Settings → CI/CD → Variables (ключ — masked) ``` Флаг `--wait` дожидается публикации и печатает боевой адрес второй строкой, а при неудаче возвращает **exit 1** — задание в CI покраснеет, а не проскочит «зелёным» с непубликованной версией. Логи и прогресс идут в stderr, поэтому stdout можно смело подставлять в переменные: ```bash URL=$(npx @tuqo/cli deploy ./dist --site "$TUQO_SITE_ID" --wait | tail -n1) echo "Опубликовано: $URL" ``` ## Превью на pull request: --no-activate Флаг `--no-activate` собирает версию, но **не ставит её на боевой адрес** — посетители продолжают видеть прежнюю. На такую сборку выдаётся секретная ссылка, её удобно оставлять комментарием к PR: ```yaml name: Preview on: pull_request jobs: preview: runs-on: ubuntu-latest env: TUQO_API_KEY: ${{ secrets.TUQO_API_KEY }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: { node-version: 20 } - run: npm ci && npm run build - id: dep run: | D=$(npx @tuqo/cli deploy ./dist --site ${{ vars.TUQO_SITE_ID }} --no-activate) echo "url=$(npx @tuqo/cli preview "$D")" >> "$GITHUB_OUTPUT" - run: echo "Превью — ${{ steps.dep.outputs.url }}" ``` Команда `preview` идемпотентна: повторный вызов вернёт ту же ссылку. Понравилось — публикуете `npx @tuqo/cli promote <deploy_id>`; та же команда откатывает сайт на любую хранимую версию. Ссылка предпросмотра **не спрашивает пароль**, даже если сайт закрыт, — давайте её только тем, кому доверяете, а выключить можно в панели. Возможность доступна с тарифа «Старт» (590 ₽/мес), подробности — на странице [предпросмотра сборки](/preview/). ## Чем это отличается от Git CD | | CLI в вашем CI | [Git CD](/git/) | |---|---|---| | Кто собирает | ваш раннер, ваши шаги | Tuqo: Node 20, `npm ci && npm run build` | | Что нужно настроить | YAML + секрет с ключом | привязку репозитория в панели | | Build-минуты тарифа | не тратятся | тратятся на каждую сборку | | Тесты, линтеры, кодогенерация | любые | нет, только стандартная сборка | | Вебхук | не нужен | создаётся автоматически | Правило простое: **нужны свои шаги перед сборкой** — CLI из CI. **Нужно просто «push → сайт в проде»** — Git CD, там ни YAML, ни ключей не требуется. Подробнее — в гайде [про автодеплой из Git](/guides/avtodeploy-statiki-iz-git/) и [CI/CD без GitHub Actions](/guides/ci-cd-dlya-statiki-bez-github-actions/). ## Частые вопросы ### Нужно ли ставить CLI в образ? Нет. `npx @tuqo/cli` скачает пакет при первом запуске; нужен Node.js 18 или новее, сам пакет — без зависимостей. В GitLab достаточно образа `node:20`. ### Какие лимиты у одного деплоя? До 2000 файлов и до 50 МБ на файл, суммарно — в пределах квоты хранилища тарифа. В корне папки должен быть `index.html`. Файлы уходят поштучно, поэтому лимита на размер тела запроса нет. ### Можно ли выложить несколько сайтов из одного репозитория? Да: положите в корень `tuqo.json` с картой каталогов и запускайте `npx @tuqo/cli deploy` без аргументов — за один прогон уедут все сайты, по строке на каждый в stdout. Ключ по-прежнему передавайте переменной окружения. ### Сборка упала в CI, а на сайте что? Ничего не изменилось: пока версия не опубликована, боевой адрес отдаёт предыдущую. При `--wait` неуспешный деплой завершает команду кодом 1, так что пайплайн остановится сам. [Все команды и флаги CLI →](/cli/) · [Предпросмотр сборки →](/preview/) · [Автодеплой из Git →](/guides/avtodeploy-statiki-iz-git/) --- ## Домен не открывается после привязки: что проверить URL: https://tuqo.ru/guides/domen-ne-otkryvaetsya-posle-privyazki/ · Дата: 2026-09-07 Почти всегда причина одна из трёх: **A-запись ведёт не туда**, **TXT-запись ещё не разошлась по DNS** или **у сайта нет опубликованной версии**. Разберём по порядку — и как отличить одно от другого, не гадая. ## Сначала: что говорит панель Страница сайта → вкладка **«Домены»**. Под именем домена написано его состояние: - **«Ожидает подтверждения»** — TXT-запись `_tuqo-verify` пока не видна; - **«Подтверждён · включён»** — владение доказано, домен в раздаче; - **«Подтверждён · выключен»** — домен ваш, но переключатель снят: сайт по нему не откроется; - **«· A-запись не на нас»** — домен подтверждён, но трафик уходит на чужой сервер; - **«· HTTPS» / «HTTPS не выпущен» / «HTTPS не проверен»** — состояние сертификата. Важно понимать разделение: **владение доказывает только TXT-запись**, A-запись на статус «подтверждён» не влияет вообще. Она отвечает на другой вопрос — «откроется ли сайт». Поэтому бывает ситуация «домен подтверждён, а сайт не открывается»: TXT правильная, A — с опечаткой. ## Причина 1. A-запись ведёт не на раздачу Нужна A-запись со значением **`201.51.6.16`** и именем `@` (корень домена). Точное значение всегда показано в панели на карточке домена — сверяйтесь с ним. Проверить со своей машины: ```bash dig +short mysite.ru A # должно быть ровно: 201.51.6.16 ``` На Windows: ``` nslookup -type=A mysite.ru ``` Две частые ошибки: - **осталась старая A-запись** от прежнего хостинга. Проверка считает привязку рабочей, только если **все** A-записи ведут на нашу раздачу: при наборе «наш адрес + чужой» браузеры бьются в чужой примерно в половине заходов, и сайт «через раз не открывается». Лишние записи нужно удалить, а не добавить нашу рядом; - **прописан CNAME вместо A**. У корня домена CNAME по стандарту не разрешён, и часть панелей молча его игнорирует. Для корня — только A. Исправили — нажмите **«Перепроверить»** на карточке домена: панель заново резолвит запись и покажет, что видит сейчас. ## Причина 2. TXT-запись ещё не разошлась Имя записи — ровно **`_tuqo-verify`** (большинство панелей само подставит домен), значение — токен с карточки домена. Если регистратор требует полное имя, пишите `_tuqo-verify.mysite.ru`. ```bash dig +short _tuqo-verify.mysite.ru TXT ``` Ответ должен содержать тот же токен, что показан в панели, в кавычках. Пусто — запись ещё не разошлась или сохранена не там: частая ошибка — вписать в поле имени `_tuqo-verify.mysite.ru` в панели, которая и так дописывает домен, и получить `_tuqo-verify.mysite.ru.mysite.ru`. ## Причина 3. DNS просто ещё не обновился Обычный срок — **от нескольких минут до часа**. Дольше бывает в двух случаях: - **домен зарегистрирован или делегирован сегодня.** Пока новые NS расходятся по интернету, записи могут быть верными, но невидимыми — это до суток, у некоторых зон дольше; - **большой TTL у старой записи.** Если у прежней A-записи стоял TTL 86400, кэш у провайдеров будет жить сутки. На будущее: перед переездом снизьте TTL до 300 секунд за день до смены записей. Кэш на своей машине можно сбросить, но на панель это не влияет — она резолвит со своей стороны: ```bash # macOS sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder # Windows ipconfig /flushdns ``` Tuqo проверяет записи через цепочку резолверов — Яндекс, затем Cloudflare и Google. Поэтому «у меня в браузере уже открывается, а панель не видит» — обычная разница кэшей, а не поломка: подождите и нажмите «Перепроверить». ## Причина 4. www — это отдельный домен `mysite.ru` и `www.mysite.ru` — разные имена. Чтобы работали оба, добавьте **www как отдельный домен** в панели и создайте для него свои записи: A на тот же адрес (или CNAME `www` → `mysite.ru`) плюс TXT `_tuqo-verify.www` со своим токеном. Каждый включённый домен занимает слот тарифа: на «Старте» их 10, на «Профи» — 20, на «Бизнесе» и выше — без ограничений. ## Причина 5. Домен в порядке, а сайта нет Раздаются только подтверждённые и включённые домены **у сайта с опубликованной версией**. Если сайт создан, но ни один деплой не активирован, по домену ничего не откроется — сначала опубликуйте версию. Та же история с выключенным переключателем у домена или самого сайта: тогда посетитель увидит заглушку или переадресацию на другой ваш адрес (см. [редирект с поддомена](/guides/redirekt-s-poddomena-na-svoy-domen/)). Ещё один случай — **тариф**. Кастомные домены работают с «Старта» (590 ₽/мес) или с опцией «Свой домен» (149 ₽/мес за один домен, доступна и на бесплатном). При неоплате домены не удаляются, а гасятся: после оплаты возвращаются переключателем, без повторной верификации. ## Причина 6. Сайт открывается, но браузер ругается на HTTPS Сертификат выпускается автоматически при первом обращении к домену — обычно это секунды, но иногда выпуск занимает пару минут. Пока A-запись ведёт не на нас, сертификат не выпустится в принципе: запрос до нас просто не доходит. На карточке домена есть кнопка **«Проверить HTTPS»**: панель сама откроет сайт по вашему домену и покажет результат — «выпущен», «ещё выпускается» или «не выпустился» с причиной. SSL бесплатный на всех тарифах и продлевается сам, подробнее — в гайде про [бесплатный SSL](/guides/besplatnyy-ssl-dlya-sajta/). ## Инструкция под вашего регистратора Записи одинаковые, но разделы в панелях называются по-разному: - [reg.ru](/guides/privyazat-domen-reg-ru/) - [Timeweb](/guides/privyazat-domen-timeweb/) - [Beget](/guides/privyazat-domen-beget/) - [Cloudflare](/guides/privyazat-domen-cloudflare/) — не забудьте выключить прокси - [Яндекс 360](/guides/privyazat-domen-yandex-360/) ## Осталась AAAA-запись со старого хостинга У Tuqo нет адреса IPv6, а многие хостинги держат на домене AAAA-запись со своим. Браузер с IPv6-подключением пойдёт по ней — и сайт будет открываться через раз, без всякой закономерности. Проверьте и удалите все AAAA-записи домена: ```bash dig +short mysite.ru AAAA # должно быть пусто ``` ## Частые вопросы ### Панель пишет «домен подтверждён», а сайт всё равно не открывается Значит, TXT-запись верна, а A — нет. Смотрите отметку «A-запись не на нас» и текст под ней: там написано, куда запись ведёт сейчас и какое значение должно быть. Исправьте у регистратора и нажмите «Перепроверить». ### Сколько ждать, прежде чем считать, что что-то сломано? Час для существующего домена и сутки для только что зарегистрированного или делегированного. Если `dig` с вашей машины уже показывает правильные значения, а панель их не видит дольше часа — напишите в поддержку, приложив вывод `dig`. ### Я всё исправил, но браузер показывает старый сайт Это кэш: у DNS, у браузера и иногда у провайдера. Проверьте в режиме инкогнито и другой сети (например, с мобильного интернета) — если там открывается правильно, остаётся только дождаться истечения TTL. ### Нужно ли что-то менять при переезде сайта в другой аккаунт? Нет. Домен переезжает вместе с сайтом подтверждённым, DNS трогать не нужно — [как передать сайт заказчику](/guides/kak-peredat-sayt-zakazchiku/). [Как привязать домен →](/guides/privyazat-svoy-domen-k-statike/) · [Домен от reg.ru →](/guides/privyazat-domen-reg-ru/) · [Тарифы →](/pricing/) --- ## Как опубликовать сайт из ChatGPT: три способа URL: https://tuqo.ru/guides/kak-opublikovat-sayt-iz-chatgpt/ · Дата: 2026-09-07 Самый быстрый способ — перетащить файлы на [tuqo.ru/drop](/drop/): регистрация не нужна, ссылка появляется сразу. Если сайт нужен насовсем — создайте его в панели и загрузите папку. А если хочется, чтобы ChatGPT публиковал сам прямо из чата, подключите Tuqo как MCP-коннектор по OAuth. Разберём все три пути: сам ChatGPT ничего никуда не выкладывает, он только пишет код. ## Шаг 1. Заберите файлы из ChatGPT Три рабочих варианта, от простого к сложному: - **Один файл.** Скажите: «собери всё в один `index.html`, стили и скрипты внутри». Один файл проще перенести, чем три, и его не сломает копирование. - **Canvas.** Если код открыт в Canvas, там есть кнопка скачивания. Сохраните файл под именем `index.html` в пустую папку — это будет главная страница сайта. - **Архив.** Для нескольких файлов попросите: «упакуй файлы в zip и дай ссылку на скачивание». ChatGPT соберёт архив инструментом выполнения кода. Проверьте, что `index.html` лежит **в корне архива**, а не внутри вложенной папки. Копируйте код кнопкой над блоком, а не выделением мышью: при выделении в файл заезжают номера строк и куски пояснений, и браузер покажет их обычным текстом вверху страницы. ## Способ 1. Drop — без регистрации, за минуту Откройте [tuqo.ru/drop](/drop/) и перетащите папку с сайтом. Через минуту он живёт по адресу вида `drop.tuqo.ru/drop-a1b2c3…/` — ссылку можно сразу отправить заказчику или в чат. ![Зона загрузки Tuqo Drop: перетащите папку с сайтом](/img/guides/_shared/01-drop-zona.jpg) Что нужно знать про черновик: - нужен `index.html` в корне, только статика: HTML, CSS, JS, картинки, шрифты; - до 100 файлов и 10 МБ; - ссылки относительные (`href="style.css"`, не `href="/style.css"`); - черновик закрыт от поисковиков, помечен служебной плашкой и живёт **24 часа**. Вместе с адресом сайта вы получаете claim-ссылку: по ней сайт за один клик переезжает в бесплатный аккаунт, получает постоянный адрес `имя.tuqo.ru` и перестаёт удаляться. Подробности — в гайде [про публикацию без регистрации](/guides/publikaciya-sayta-bez-registracii/). ## Способ 2. Папкой в панели Если сайт нужен постоянный, зарегистрируйтесь и создайте сайт в панели, затем перетащите папку в зону загрузки на вкладке «Деплои». Публикация мгновенная — сборка не запускается, файлы раздаются как есть. ![Диалог загрузки деплоя в панели: перетаскивание папки с сайтом](/img/guides/_shared/01-zagruzka-papki.jpg) Панель умнее браузерного «перетащить»: она сама срезает лишний верхний уровень (если вы тащите папку `site/`, её содержимое станет корнем) и молча выбрасывает мусор — всё, что начинается с точки, и `node_modules`. Лимиты загрузки папкой: до 2000 файлов и примерно 36 МБ; архив `tar.gz`/`zip` — до 50 МБ. Что даёт аккаунт помимо постоянного адреса: [формы приёма заявок](/forms/) и бесплатный SSL уже на бесплатном тарифе, а свой домен, хранение прошлых версий и сайты без бейджа — на платных, [от 590 ₽/мес](/pricing/). ## Способ 3. Коннектор — ChatGPT публикует сам ChatGPT поддерживает внешние MCP-коннекторы в режиме разработчика. Один раз настроили — и дальше пишете в чат «опубликуй этот сайт», а он сам создаёт сайт и возвращает адрес. 1. Settings → Connectors → включите Developer Mode. 2. Добавьте коннектор по адресу `https://mcp.tuqo.ru/mcp`. Ключ вставлять не нужно — авторизация по OAuth. 3. ChatGPT перекинет на Tuqo: вход, выбор проекта и прав (чтение / редактор / полный). 4. Просите: «свёрстай страницу и выложи онлайн». Пошагово, со скриншотами настроек — на странице [Подключить ChatGPT](/connect/chatgpt/). Отозвать доступ можно в любой момент: панель → проект → «Подключения ИИ». ## Грабли ChatGPT - **Код обрезан на середине.** Длинные страницы упираются в лимит ответа. Попросите «продолжи с последней строки» или разбейте на файлы: `index.html`, `styles.css`, `script.js`. - **Картинки-заглушки с чужих сайтов.** ChatGPT ставит ссылки на placeholder-сервисы; из России часть таких адресов не открывается, и на сайте будут дыры. - **Стили с CDN.** Tailwind или Bootstrap с чужого сервера работают, но грузятся дольше и зависят от него. Для лендинга проще обычный CSS внутри файла. - **Форма без адреса отправки.** ChatGPT пишет `action="#"` или `alert()` вместо отправки. Возьмите код формы с вкладки «Формы» сайта — заявки придут в панель, на почту и в Telegram. После каждой публикации Tuqo прогоняет [14 проверок](/proverki-sayta/) и показывает, что стоит поправить: битые пути, `localhost`, ресурсы по `http://`, отсутствующий viewport, форма без адреса, ключи в файлах. Ничего не блокируется — это советы. ## Промпт, после которого сайт публикуется без правок ```text Сделай одностраничный сайт [тема] одним файлом index.html: стили и скрипты внутри, без внешних библиотек и картинок с чужих сайтов, пути только относительные, есть lang="ru", meta charset UTF-8, meta viewport и осмысленный title. Форму к серверу не подключай — я добавлю адрес отправки после публикации. Выведи файл целиком одним блоком кода, без пояснений внутри кода. ``` ## Частые вопросы ### Нужна ли регистрация, чтобы выложить сайт из ChatGPT? Для первой публикации нет: Drop выкладывает файлы без аккаунта на 24 часа. Чтобы сайт остался навсегда и получил свой адрес, заберите черновик в бесплатный аккаунт. ### Сайт открывается на компьютере, а после публикации — без стилей Почти всегда виноваты пути: абсолютные (`/style.css`) или ссылки на файлы на диске. Попросите ChatGPT переписать их в относительные — `styles.css`, `images/photo.jpg`. Отчёт после публикации покажет несуществующие ссылки списком. ### Можно ли обновлять сайт прямо из чата? Через коннектор — да: «поменяй цену в разделе тарифов» даёт новую версию за секунды. Предыдущая остаётся для [отката](/guides/kak-otkatit-sayt-na-predydushchuyu-versiyu/) на платных тарифах. ### А если ChatGPT сделал проект со сборкой? Если в наборе есть `package.json`, файлами такое не публикуется — загрузите архив с исходниками, Tuqo соберёт его на Node 20 и возьмёт результат из `dist`, `build` или `out`. Подробнее — в гайде про [деплой Vite-проекта](/guides/kak-zadeploit-vite-proekt/). [Опубликовать без регистрации →](/drop/) · [Сайт из ChatGPT: все пути →](/sayt-iz/chatgpt/) --- ## Как откатить сайт на предыдущую версию URL: https://tuqo.ru/guides/kak-otkatit-sayt-na-predydushchuyu-versiyu/ · Дата: 2026-09-07 Откат делается в панели: страница сайта → вкладка **«Деплои»** → у нужной версии кнопка **«Откатить сюда»**. Она становится боевой мгновенно — файлы уже лежат в хранилище, ничего не пересобирается. То же самое доступно агенту через MCP (`activate_deploy`) и из терминала (`npx @tuqo/cli promote`). Единственное ограничение — сколько прошлых версий хранит ваш тариф. ![Вкладка «Деплои»: боевая версия сверху, у прошлой — кнопка «Откатить сюда»](/img/guides/kak-otkatit-sayt-na-predydushchuyu-versiyu/01-vkladka-deploi.jpg) ## Откат в панели На вкладке видно все хранимые версии с датой и размером. У активной кнопки отката нет — она и так на боевом адресе. У прошлых публикаций кнопка называется «Откатить сюда», у собранных, но ещё не опубликованных версий — «Опубликовать». Не уверены, какая версия нужна? На тарифе «Старт» и выше у каждой хранимой версии, кроме опубликованной, включается **секретная ссылка предпросмотра**: откройте её, посмотрите сайт и только потом откатывайтесь — не придётся выбирать вслепую по дате. Ссылка открывается без пароля даже у закрытого сайта, поэтому давайте её только тем, кому доверяете. Рядом есть кнопка «Удалить»: версия, которую точно не опубликуют, занимает место в квоте памяти и держит слот хранения. Удалить активную нельзя — сайт остался бы без файлов. Строка деплоя при этом никуда не денется, она уедет на вкладку «История деплоев». ## Сколько версий хранится Глубина отката — это лимит тарифа: | Тариф | Хранимых версий | |---|---| | Бесплатный | 1 | | Старт | 3 | | Профи | 5 | | Бизнес | 8 | | Масштаб | 15 | | Корпоративный | 30 | На бесплатном тарифе хранится только активная версия — откатываться не на что, придётся публиковать заново. Это ровно та причина, по которой «Старт» за 590 ₽/мес окупается на первом же неудачном деплое. Сравнение — на странице [Тарифы](/pricing/). Версии занимают память тарифа: три копии сайта с фотографиями — это тройной объём. Если упираетесь в квоту, уменьшите глубину хранения или докупите пакет памяти. ## Настройка хранения В настройках сайта есть блок **«Хранение копий деплоев»** с двумя полями: - **«Хранить копий»** — сколько прошлых версий держать для отката; - **«Удалять старше (дней, 0 = выкл)»** — дополнительный срок жизни копий. ![Настройки сайта: хранение копий деплоев](/img/guides/kak-otkatit-sayt-na-predydushchuyu-versiyu/02-hranenie-kopiy.jpg) Значение выше потолка тарифа уменьшается автоматически, о чём панель честно предупреждает. Всё, что не попало в окно хранения, вычищается: файлы удаляются из хранилища, а строка деплоя остаётся в истории. На такую версию откатиться уже нельзя — попытка вернёт ошибку, и нужно публиковать заново. ## Откат через MCP Агенту достаточно одного инструмента: ```text Покажи список деплоев сайта и верни на боевой адрес предыдущую версию ``` Модель вызовет `list_deploys`, затем `activate_deploy(deploy_id)` — он делает боевым указанный деплой и возвращает обновлённые данные сайта с новым активным деплоем. Для вычищенных версий инструмент честно отказывает: файлов уже нет, надо деплоить заново. Как подключить агента — на странице [Подключить ИИ](/connect/). ## Откат через CLI В терминале и в CI откат — та же команда, что и публикация отложенной сборки: ```bash TUQO_API_KEY=tqk_… npx @tuqo/cli promote <deploy_id> ``` `promote` печатает боевой адрес. Идентификатор версии можно взять из панели или из вывода предыдущего деплоя — `deploy` печатает `deploy_id` первой строкой. Полезный приём для работы с заказчиком: собрать версию с `--no-activate`, показать по ссылке `preview` и опубликовать `promote`, когда согласовали. Подробности — на странице [CLI](/cli/). ## Частые вопросы ### Откат — это пересборка? Нет. Файлы прошлой версии лежат в хранилище, откат просто переключает на них боевой адрес. Занимает секунды, build-минуты не расходуются. ### Что будет с доменом и настройками сайта? Ничего: домены, формы, закрытый доступ и статистика привязаны к сайту, а не к конкретной публикации. Меняется только набор файлов, который раздаётся. ### Я откатился, а надо было наоборот Более новая версия остаётся в списке — откатитесь обратно тем же способом, пока она не вытеснена лимитом хранения. ### Кнопки «Откатить сюда» нет ни у одной версии Значит, хранимая версия одна — так на бесплатном тарифе. Поднимите тариф или увеличьте «Хранить копий» в настройках сайта: новые публикации начнут сохраняться, но задним числом удалённые копии не восстанавливаются. [Тарифы и глубина хранения →](/pricing/) · [Документация CLI →](/cli/) · [Почему сайт не опубликовался →](/guides/pochemu-sayt-ne-opublikovalsya/) --- ## Как передать сайт заказчику вместе с доменом URL: https://tuqo.ru/guides/kak-peredat-sayt-zakazchiku/ · Дата: 2026-09-07 Сдача проекта в Tuqo — это одна кнопка: **«Передать»** на вкладке «Настройки» сайта. Сайт целиком уезжает в аккаунт заказчика — вместе с доменом, сертификатом и историей версий, — а вы перестаёте платить за его хостинг. Ни экспортировать архив, ни заново привязывать домен, ни менять DNS не нужно: A-запись как указывала на нашу раздачу, так и указывает. ## Шаг 1. Откройте карточку передачи Страница сайта → вкладка **«Настройки»** → карточка **«Перенос сайта»**. Она видна только владельцу проекта: администратор и аналитик её не увидят. Внизу карточки — блок **«Передать другому пользователю»**. ![Карточка «Перенос сайта»: блок «Передать другому пользователю» с выбором по email или по id](/img/guides/kak-peredat-sayt-zakazchiku/01-peredat-sayt.jpg) ## Шаг 2. Укажите получателя Два способа: **по email** — адрес, под которым заказчик зарегистрирован в Tuqo, или **по id** — числовой идентификатор его аккаунта (он виден в профиле, это удобно, когда человек входит через Яндекс или VK и не помнит, какой адрес там подставился). Нажимаете «Передать» — появляется строка «Передача создана — ждём, пока получатель примет сайт». Заказчик должен быть **зарегистрирован в Tuqo до передачи**: сайт уезжает в конкретный аккаунт, а не «на почту». Если аккаунта ещё нет — пусть заведёт бесплатный и перейдёт на платный тариф, это минута. ## Шаг 3. Заказчик принимает сайт Ему приходит уведомление в колокольчик и баннер на странице проектов. Он нажимает «Принять» и **выбирает, в какой свой проект** положить сайт. Пока передача висит непринятой, **сайт продолжает работать у вас**: адреса открываются, формы принимают заявки, автодеплой публикует. Ожидающая передача живёт **24 часа**, потом истекает сама. Отменить её можно в любой момент до принятия, отклонить — тоже. ## Что переезжает, а что нет **Переезжает вместе с сайтом:** - системный поддомен `имя.tuqo.ru` и все привязанные домены — вместе с подтверждением владения и сертификатом, без повторной верификации и без перерыва в работе; - вся история версий: заказчик может откатиться на любую хранимую сборку; - настройки сайта — хранение версий, ограничения доступа, подключение Git CD. **Остаётся у вас или выключается:** - **заявки, полученные до передачи**, — они остаются в вашем проекте: это данные ваших переговоров, и месячная квота форм считается по владельцу. Новые заявки идут получателю; - **получатели заявок**, которых вы назначали на этот сайт, снимаются — иначе вам продолжали бы приходить письма по чужим клиентам. Своих получателей новый владелец назначает сам; - **купленные вами опции сайта** (без бейджа, пароль на сайт, код на почту, платный доступ) — гаснут: платили вы, а тарифицировать вас за чужой сайт нельзя. Заказчик включает нужное у себя; - **выданные ссылки предпросмотра** отзываются той же операцией — секретная ссылка, которую вы кому-то отправляли, перестаёт открывать контент уже нового владельца; - **API-ключи и подключения нейросетей** живут на уровне проекта и остаются у вас. Если заказчик будет править сайт через ИИ, он подключит свой проект. ## Почему нужны платные тарифы у обеих сторон Передавать и принимать сайты можно **с тарифа «Старт» (590 ₽/мес)** — и отправителю, и получателю. Это защита от перекидывания мусора между свежесозданными бесплатными аккаунтами. Заодно она решает практическую задачу: на бесплатном тарифе нет кастомных доменов, и домен заказчика всё равно не включился бы. Ещё одна проверка — **лимит сайтов у получателя**. Если у него всё занято, приём не пройдёт с понятным сообщением: сначала нужно освободить место или перейти на тариф побольше. Лимиты по тарифам — на странице [Тарифы](/pricing/). ## Партнёрский процент После передачи заказчик платит за хостинг сам, а вы получаете процент с его оплат по партнёрской программе: **30 % в первый год, 20 % во второй и третий, 10 % в четвёртый и пятый**. Чтобы отчисления привязались, приведите его по своей партнёрской ссылке до регистрации — условия и статистика на странице [партнёрской программы](/partner/). ## Если сайт остаётся у вас на обслуживании Тогда передавать не нужно: держите клиента отдельным проектом и пригласите его участником с ролью аналитика — он будет видеть статистику и заявки, но не сможет деплоить и трогать биллинг. Перенести сайт между своими проектами можно мгновенно, кнопкой «Перенести» в той же карточке: домены, версии, заявки и их получатели едут вместе с сайтом. Как студии обычно строят такой процесс — на странице [Tuqo для веб-студий](/dlya-studiy/). ## Частые вопросы ### Сайт будет недоступен во время передачи? Нет. Пока заказчик не принял передачу, сайт работает у вас; в момент принятия меняется только владелец записи. Адреса, сертификаты и активная версия не трогаются — перерыва в раздаче нет. ### Что будет с доменом и SSL? Домен переезжает подтверждённым, DNS менять не нужно: A-запись и `_tuqo-verify` у регистратора остаются как есть. Сертификат продолжает продлеваться автоматически. Если что-то не открывается, разбор причин — в гайде [домен не открывается после привязки](/guides/domen-ne-otkryvaetsya-posle-privyazki/). ### Можно ли отменить передачу? Да, пока она не принята: кнопка отмены у вас, кнопка «Отклонить» — у получателя. Через 24 часа непринятая передача истекает сама, сайт остаётся у вас. Обратной передачи нет — если ошиблись адресатом, отмените и отправьте заново. ### Как отдать сайт до оплаты, но не «насовсем»? Не передавайте — покажите. Закройте демо паролем или выдайте секретную ссылку на сборку, которая не встаёт на боевой адрес. Оба сценария разобраны в гайде [показать макет клиенту по закрытой ссылке](/guides/pokazat-maket-klientu-po-ssylke/). [Tuqo для студий →](/dlya-studiy/) · [Партнёрская программа →](/partner/) · [Тарифы →](/pricing/) --- ## Почему сайт не опубликовался: 6 причин и как починить URL: https://tuqo.ru/guides/pochemu-sayt-ne-opublikovalsya/ · Дата: 2026-09-07 Почти все отказы публикации сводятся к шести причинам, и Tuqo в каждом случае пишет, что именно не так с вашим набором файлов, а не общее «нужен index.html». Ниже — эти шесть случаев с настоящими текстами ошибок и с тем, что делать. Если сайт опубликовался, но работает неправильно, это другая история — смотрите гайд [что нейросети ломают в сайтах](/guides/chto-neyroseti-lomayut-v-saytah/). ## 1. Вложенная папка: index.html не в корне Самый частый случай на бою. Человек упаковал папку целиком, и всё лежит уровнем глубже: `my-site/index.html` вместо `index.html`. **В архиве один лишний уровень — не ошибка.** Если в `tar.gz` или `zip` ровно один верхний каталог, Tuqo сам в него спускается и публикует содержимое. Проверено: архив, собранный командой `tar czf site.tar.gz my-site`, публикуется как есть. Ошибка появляется, когда уровней два — `my-site/dist/index.html`, а в промежуточной папке больше ничего нет: > файлы сайта лежат во вложенной папке «dist», а нужны в корне. Упакуйте СОДЕРЖИМОЕ > папки, а не саму папку: `tar -czf site.tar.gz -C ./dist .` — или просто перетащите > папку в панель, там это учитывается автоматически. **А вот при отправке файлами вложенность не выпрямляется.** Так работают агенты через MCP, REST и CLI: пути уходят как есть, и `my-site/index.html` в корне главной не даёт: > все файлы лежат во вложенной папке «my-site», а index.html нужен в корне. Перетащите > саму папку «my-site» (её содержимое станет корнем) или уберите лишний уровень вложенности. Если верхних папок несколько и в корне нет ни `index.html`, ни `package.json`, Tuqo перечислит, что именно приехало, — по списку сразу видно, что упаковали не то. ## 2. `index.htm` вместо `index.html` Сайт открывается с `/`, а на этот адрес отдаётся ровно `index.html`. Файл с другим именем или другим регистром главной не станет: > главная страница должна называться ровно index.html, а в корне лежит «index.htm». > Переименуйте файл и загрузите снова. Если в корне есть другие HTML-страницы, но нет главной, текст скажет и это: «в корне есть html-страницы (about.html, contact.html), но нет index.html — с неё открывается сайт». Переименуйте главную. ## 3. Сжат один файл вместо архива папки `gzip index.html` даёт файл `index.html.gz` — по магическим байтам это gzip, проверка на входе его пропускает, а внутри нет структуры tar: > не удалось распаковать архив: внутри нет структуры tar. Похоже, сжат один файл, а не > папка. Соберите архив из СОДЕРЖИМОГО папки сайта: `tar -czf site.tar.gz -C ./папка .` > — или просто перетащите папку в панель. Подойдёт и .zip. Принимаются два формата: `tar.gz` и `zip`. Всё остальное отсекается сразу: «архив не распознан — принимаются tar.gz и zip». Zip, кстати, надёжнее: его по умолчанию делают Windows и большинство нейросетей. ## 4. Сборка не дала результата Если в корне архива есть `package.json`, Tuqo считает набор сборочным проектом и запускает сборку на Node 20: `npm ci` при наличии lock-файла (иначе `npm install`), затем `npm run build`. Два типичных отказа: - **В `package.json` нет скрипта `build`.** Сборка падает на команде `npm run build` — в логе будет ошибка npm про отсутствующий скрипт. Добавьте скрипт или укажите свою команду сборки в настройках. - **Результат лежит не там, где его ищут.** > сборка прошла, но каталог с готовым сайтом не найден. Ищем dist, build, out, _site, > public, site, .vitepress/dist, .output/public, storybook-static. Если ваш стек кладёт > результат в другое место — укажите каталог вывода в настройках Git CD или загрузите > готовую папку. Обратная ситуация — вы публикуете **готовый** сайт файлами, а в наборе случайно остался `package.json`. Тогда придёт: «обнаружен package.json в корне — это сборочный проект. Для статики уберите его, для сборки используйте deploy_site (архив с исходниками)». ![Вкладка «Деплои»: неудачная сборка и текст ошибки в логе](/img/guides/pochemu-sayt-ne-opublikovalsya/02-log-sborki.jpg) ## 5. Упёрлись в лимит Потолки разные у разных путей публикации: - **папкой в панели** — до 2000 файлов и примерно 36 МБ. Панель прямо подскажет: «Суммарно 48.2 МБ — для загрузки папкой лимит ~36 МБ. Соберите tar.gz/zip (до 50 МБ) или используйте CLI: `npx @tuqo/cli deploy`»; - **архивом в панели, через REST и MCP `deploy_site`** — 50 МБ, иначе «архив исходников превышает 50 MB»; - **CLI** — до 2000 файлов, до 50 МБ **на файл**, суммарно в пределах памяти тарифа. Лимита на размер тела запроса нет: файлы уходят поштучно. Отдельная частая история — «слишком много файлов»: в архив уехал `node_modules` или папка с исходниками. Публикуйте готовую сборку, а не проект целиком. Тяжёлые сайты с фото — через [CLI](/cli/), см. гайд про [обновление без перезаливки](/guides/tyazhelyy-sayt-s-foto-bez-perezalivki/). ## 6. Служебные файлы и `__tuqo/` Часть путей не публикуется никогда, и это не ошибка — их просто выбрасывают из набора: `.git`, `.hg`, `.svn`, `.bzr`, `.env` (и `.env.local`, `.env.production`), `.ssh`, `.aws`, `.gnupg`, `.docker`, `.kube`, `.config`, `.netrc`, `.npmrc`, `.pypirc`, `.htpasswd`, `.htaccess`, `.DS_Store`. Проверяется каждый сегмент пути, регистр не важен: `frontend/.env.local` тоже отсеется. Отдельно — префикс `__tuqo/`: он зарезервирован платформой, там живут служебные страницы (вход по паролю, выдача файлов). Файл сайта по такому пути не раздастся, поэтому он не публикуется вовсе. Если в наборе не осталось ничего, кроме служебного, вы увидите отказ про отсутствующий `index.html`. Агентам список выброшенного возвращается полем `skipped_paths` — присылать эти файлы снова не нужно. ## Частые вопросы ### Как правильно собрать архив? `tar -czf site.tar.gz -C ./dist .` — точка в конце означает «содержимое каталога». Или `zip -r site.zip .` изнутри папки сайта. Проверить можно так: `tar -tzf site.tar.gz | head` — в списке должно быть `./index.html`, а не `dist/index.html`. ### Деплой прошёл, но сайт отдаёт 404 Значит, `index.html` не оказался в корне артефакта либо сайт выключен в настройках. На SPA с клиентским роутингом 404 при обновлении страницы лечится иначе — есть [отдельный гайд](/guides/oshibka-404-na-spa-pri-obnovlenii/). ### Где посмотреть, почему упала сборка? Вкладка «Деплои» → неудачный деплой: там статус и текст ошибки (последние строки лога). Через MCP то же самое отдаёт `get_logs(deploy_id)`. ### Можно ли откатиться, если новая версия сломалась? Да, если тариф хранит больше одной версии: вкладка «Деплои» → «Откатить сюда». Подробно — в гайде [как откатить сайт](/guides/kak-otkatit-sayt-na-predydushchuyu-versiyu/). [Документация →](/docs/) · [Проверки при публикации →](/proverki-sayta/) --- ## Как привязать домен от Beget к сайту на Tuqo URL: https://tuqo.ru/guides/privyazat-domen-beget/ · Дата: 2026-09-07 В Beget DNS-записи правятся из раздела **«Домены и поддомены»** — напротив каждого домена есть иконка управления DNS-записями. Нужны две: **A** на адрес раздачи Tuqo и **TXT** для подтверждения владения. ## Шаг 1. Возьмите записи в панели Tuqo Сайт в панели → вкладка **«Домены»** → введите домен → **«Добавить»**. Панель покажет обе записи с кнопками копирования; TXT-токен у каждого домена свой. ![Записи A и TXT в панели Tuqo: значения копируются кнопкой](/img/guides/_shared/01-tuqo-zapisi.jpg) ## Шаг 2. Откройте DNS-записи в Beget Панель управления (cp.beget.com) → раздел **«Домены и поддомены»** → найдите домен в списке → нажмите иконку управления **DNS-записями** напротив него. Откроется редактор зоны с блоком быстрого добавления и списком существующих записей. Условие то же, что у любого регистратора: домен должен обслуживаться **NS-серверами Beget** — `ns1.beget.com` и `ns2.beget.com` (или `ns1.beget.pro` / `ns2.beget.pro`). Если NS указывают на другого провайдера, зона живёт там, и записи нужно править в его панели. ## Шаг 3. Исправьте A-запись корня В редакторе Beget нет свободного поля «Имя»: имя задаётся тем, **в какой зоне** вы находитесь. Для корня домена ничего создавать не нужно — откройте зону `mysite.ru` и замените значение существующей записи **A** на `201.51.6.16`. | Что | Значение | |---|---| | Зона | `mysite.ru` (сам домен) | | Тип записи | A | | Значение | `201.51.6.16` | **Особенность Beget.** Когда домен прилинкован к сайту на их хостинге, у него уже стоит A-запись на сервер Beget. Оставите её рядом с нашей — сайт начнёт открываться через раз: из двух адресов браузер выбирает случайно. Старую A-запись нужно **удалить**, а домен в разделе «Сайты» — отвязать («Не прилинковывать домен»), иначе запись может вернуться. ## Шаг 4. Создайте TXT-запись через подзону Здесь та же логика: имя записи — это подзона. Порядок такой: 1. В разделе «DNS» нажмите **«Добавить новую подзону»** и в единственном поле впишите `_tuqo-verify`. 2. Откройте созданную подзону `_tuqo-verify.mysite.ru`. 3. Добавьте в ней запись **TXT** со значением — токеном из панели Tuqo. Полное имя получится само: имя подзоны плюс домен. Дописывать `mysite.ru` вручную не надо, иначе выйдет `_tuqo-verify.mysite.ru.mysite.ru` и проверка ничего не найдёт. ## Шаг 5. www, если нужен `www` заводится так же — отдельной подзоной. Создайте подзону `www`, добавьте в ней **A** с тем же адресом `201.51.6.16` (или **CNAME** на `mysite.ru`). В Tuqo www добавляется отдельным доменом, со своей TXT-записью в подзоне `_tuqo-verify.www`. ## Шаг 6. Подождите и проверьте Записи в зоне обновляются быстро, но кэш у провайдеров живёт по TTL — закладывайте от получаса до нескольких часов, особенно если раньше у домена стоял большой TTL. Проверка: ```bash dig +short mysite.ru A dig +short _tuqo-verify.mysite.ru TXT ``` В ответе первой команды должен быть **только** `201.51.6.16`. ## Шаг 7. Финальный шаг в Tuqo Вернитесь на вкладку **«Домены»** и нажмите **«Протестировать привязку»**. Домен станет «Подтверждён · включён», бесплатный SSL выпустится сам и будет продлеваться автоматически. ## Частые вопросы ### Нужно ли переносить домен от Beget? Нет. Домен остаётся зарегистрированным у Beget, вы меняете только записи в зоне — сайт при этом раздаётся с Tuqo. ### Что будет с почтой на домене? Ничего: MX и почтовые TXT-записи мы не трогаем. Меняется только A (куда идёт сайт) и добавляется TXT `_tuqo-verify`. ### Панель не даёт добавить A-запись — говорит про конфликт Значит, для этого же имени уже есть CNAME. Для одного имени CNAME и A одновременно не существуют: удалите CNAME и создайте A. [Общий гайд по доменам →](/guides/privyazat-svoy-domen-k-statike/) · [Домен не открывается →](/guides/domen-ne-otkryvaetsya-posle-privyazki/) · [Тарифы →](/pricing/) --- ## Как привязать домен через Cloudflare к сайту на Tuqo URL: https://tuqo.ru/guides/privyazat-domen-cloudflare/ · Дата: 2026-09-07 В Cloudflare всё делается в разделе **DNS → Records**, и есть ровно одна ловушка: **оранжевое облако**. Записи для Tuqo должны стоять в режиме **DNS only** (серое облако). С включённым проксированием сайт не заработает — ниже объясняем почему. ## Шаг 1. Возьмите записи в панели Tuqo Сайт в панели → вкладка **«Домены»** → введите домен → **«Добавить»**. Панель покажет карточки A и TXT с кнопками копирования; TXT-токен у каждого домена свой. ![Записи A и TXT в панели Tuqo: значения копируются кнопкой](/img/guides/_shared/01-tuqo-zapisi.jpg) ## Шаг 2. Откройте DNS в Cloudflare Дашборд Cloudflare → выберите домен → раздел **DNS** → вкладка **Records** → кнопка **Add record**. ## Шаг 3. A-запись с серым облаком | Поле | Значение | |---|---| | Type | `A` | | Name | `@` | | IPv4 address | `201.51.6.16` | | Proxy status | **DNS only** (серое облако) | | TTL | Auto | Нажмите **Save**. Если запись уже существует и у неё оранжевое облако — откройте её на редактирование и щёлкните по переключателю Proxy status: облако станет серым, изменения сохраняются сразу. ### Почему оранжевое облако не подходит **Proxied** (оранжевое облако) означает, что в DNS отдаются не ваши адреса, а адреса Cloudflare, и весь трафик идёт через их сеть. Для Tuqo это ломает сразу две вещи: - **проверка адреса.** Панель резолвит домен и видит IP Cloudflare вместо нашего — на карточке домена появится «A-запись не на нас»; - **выпуск сертификата.** Tuqo выпускает бесплатный SSL сам, при первом обращении к домену. Через проксирование запрос до нас в нужном виде не доходит, TLS терминирует Cloudflare — сертификат не выпускается, а посетитель получает ошибку вида «SSL handshake failed» или бесконечный редирект. Режим **DNS only** оставляет Cloudflare обычным DNS-хостингом: удобный редактор зоны, быстрые резолверы — и прямое соединение до нашей раздачи. ## Шаг 4. TXT-запись **Add record** → тип **TXT**: | Поле | Значение | |---|---| | Type | `TXT` | | Name | `_tuqo-verify` | | Content | токен из панели Tuqo | У TXT-записей проксирования нет — облака там не будет. ## Шаг 5. www, если нужен Добавьте **A** с Name `www` (тоже DNS only) или **CNAME** `www` → `mysite.ru`. У CNAME проксирование тоже надо выключить. В Tuqo www заводится отдельным доменом со своей TXT-записью `_tuqo-verify.www`. ## Шаг 6. Подождите и проверьте Cloudflare применяет изменения почти мгновенно, но кэш у провайдеров живёт по TTL — обычно хватает нескольких минут: ```bash dig +short mysite.ru A dig +short _tuqo-verify.mysite.ru TXT ``` Если в ответе адреса вида `104.x.x.x` или `172.67.x.x` — облако всё ещё оранжевое. ## Шаг 7. Финальный шаг в Tuqo Вернитесь на вкладку **«Домены»** и нажмите **«Протестировать привязку»**. Домен станет «Подтверждён · включён», сертификат выпустится автоматически. Проверить его отдельно можно кнопкой **«Проверить HTTPS»** на карточке домена. ## Частые вопросы ### А защита от DDoS и кэш Cloudflare? В режиме DNS only они не работают — трафик идёт напрямую к нам. Для статики это не потеря: файлы раздаются с нашей стороны, а сертификат и HTTP/2 никуда не деваются. Если проксирование принципиально нужно, придётся мириться с тем, что выпуск сертификата на нашей стороне не пройдёт. ### Можно ли включить облако потом, когда домен уже подтверждён? Не стоит: проверка адреса начнёт показывать «A-запись не на нас», а при следующем продлении сертификата возможны проблемы. Оставляйте DNS only. ### Домен в зоне Cloudflare, но NS у регистратора не менял Тогда зона Cloudflare никем не спрашивается. Записи нужно править там, куда указывают NS домена, либо сначала делегировать домен на серверы Cloudflare. [Общий гайд по доменам →](/guides/privyazat-svoy-domen-k-statike/) · [Домен не открывается →](/guides/domen-ne-otkryvaetsya-posle-privyazki/) · [Тарифы →](/pricing/) --- ## Как привязать домен от reg.ru к сайту на Tuqo URL: https://tuqo.ru/guides/privyazat-domen-reg-ru/ · Дата: 2026-09-07 В reg.ru DNS-записи живут в блоке **«DNS-серверы и управление зоной»** на странице домена. Нужны две записи: **A** на адрес раздачи Tuqo и **TXT** для подтверждения владения. Весь процесс — минут пять плюс ожидание DNS. ## Шаг 1. Возьмите записи в панели Tuqo Откройте сайт в панели → вкладка **«Домены»** → введите домен и нажмите **«Добавить»**. Панель покажет карточки двух записей с кнопками копирования — значение токена у каждого домена своё. ![Записи A и TXT в панели Tuqo: значения копируются кнопкой](/img/guides/_shared/01-tuqo-zapisi.jpg) ## Шаг 2. Откройте управление зоной в reg.ru Личный кабинет → раздел **«Домены»** → нажмите на имя домена → найдите блок **«DNS-серверы и управление зоной»** → кнопка **«Изменить»** → **«Добавить запись»**. **Важное условие reg.ru:** редактор зоны работает, только если у домена прописаны DNS-серверы регистратора — **`ns1.reg.ru`** и **`ns2.reg.ru`**. Если там стоят `ns1.hosting.reg.ru` (домен привязан к хостингу reg.ru) или серверы другого провайдера, записи нужно править там же, где стоят NS, — иначе вы отредактируете зону, которую никто не спрашивает. ## Шаг 3. Создайте A-запись Выберите тип **«А-запись»** и заполните: | Поле | Значение | |---|---| | Subdomain | `@` | | IP Address | `201.51.6.16` | `@` означает корень домена. Нажмите **«Готово»**. Если на домене уже висела A-запись от прежнего хостинга — **удалите её**. Две A-записи с разными адресами не «дополняют» друг друга: браузеры выбирают из них случайно, и сайт будет открываться через раз. ## Шаг 4. Создайте TXT-запись Снова **«Добавить запись»**, тип **«TXT-запись»**: | Поле | Значение | |---|---| | Subdomain | `_tuqo-verify` | | Text | токен из панели Tuqo | Домен reg.ru подставит сам — писать `_tuqo-verify.mysite.ru` не нужно, иначе получится `_tuqo-verify.mysite.ru.mysite.ru`, и проверка ничего не найдёт. ## Шаг 5. www, если нужен `www.mysite.ru` — отдельное имя. Заведите ещё одну запись: **A** с Subdomain `www` и тем же IP, либо **CNAME** с Subdomain `www` и значением `mysite.ru`. Для одного и того же имени CNAME и A одновременно существовать не могут — выбирайте что-то одно. В панели Tuqo www тоже добавляется отдельным доменом, со своим `_tuqo-verify.www`. ## Шаг 6. Подождите и проверьте Изменения в зоне применяются **за 15 минут — час**; если вы только что меняли DNS-серверы домена, ждите до суток. Проверить со своей машины: ```bash dig +short mysite.ru A dig +short _tuqo-verify.mysite.ru TXT ``` Первая команда должна вернуть `201.51.6.16`, вторая — ваш токен в кавычках. ## Шаг 7. Финальный шаг в Tuqo Вернитесь на вкладку **«Домены»** и нажмите **«Протестировать привязку»**. Домен станет «Подтверждён · включён», а бесплатный SSL-сертификат выпустится автоматически и дальше будет продлеваться сам. ## Частые вопросы ### Нужно ли что-то менять в DNS-серверах домена? Нет, если там уже стоят `ns1.reg.ru` и `ns2.reg.ru`. Домен остаётся у reg.ru, меняются только записи внутри зоны. ### Кастомный домен работает на бесплатном тарифе? Свой домен подключается с тарифа «Старт» (590 ₽/мес) или с опцией «Свой домен» (149 ₽/мес за один домен) — её можно взять и на бесплатном. SSL бесплатный на всех тарифах. Сравнение — на странице [Тарифы](/pricing/). ### Проверка не проходит уже час Разбор всех причин — в гайде [домен не открывается после привязки](/guides/domen-ne-otkryvaetsya-posle-privyazki/): чаще всего это лишняя старая A-запись или TXT, сохранённая с полным именем. [Общий гайд по доменам →](/guides/privyazat-svoy-domen-k-statike/) · [Домен от Timeweb →](/guides/privyazat-domen-timeweb/) · [Тарифы →](/pricing/) --- ## Как привязать домен от Timeweb к сайту на Tuqo URL: https://tuqo.ru/guides/privyazat-domen-timeweb/ · Дата: 2026-09-07 В Timeweb DNS-записи правятся во вкладке **«Редактор DNS»** на странице домена. Нужны две записи — **A** на адрес раздачи Tuqo и **TXT** для подтверждения владения. Главная особенность Timeweb: если домен когда-либо привязывался к сайту на их хостинге, A-запись на их сервер уже стоит и её надо удалить. ## Шаг 1. Возьмите записи в панели Tuqo Сайт в панели → вкладка **«Домены»** → введите домен → **«Добавить»**. Панель покажет карточки двух записей с кнопками копирования; значение TXT-токена у каждого домена своё. ![Записи A и TXT в панели Tuqo: значения копируются кнопкой](/img/guides/_shared/01-tuqo-zapisi.jpg) ## Шаг 2. Откройте редактор DNS Панель управления Timeweb → раздел **«Домены и SSL»** → **«Мои домены»** → выберите домен → вкладка **«Редактор DNS»**. Кнопка **«Добавить запись»** — справа вверху. ## Шаг 3. Создайте A-запись | Поле | Значение | |---|---| | Тип | A | | Хост | оставьте пустым | | Значение | `201.51.6.16` | Пустое поле «Хост» означает корень домена — символ @ в панели Timeweb не используется. **Особенность Timeweb.** При добавлении домена в их панель A-запись с IP их сервера проставляется автоматически. Если её оставить, у домена окажутся два адреса — наш и чужой, и сайт будет открываться примерно через раз: браузер выбирает адрес из набора случайно. Найдите в списке старую A-запись типа оставьте пустым с адресом Timeweb и **удалите её**, а не просто добавьте нашу рядом. Если домен ещё и прилинкован к сайту в разделе «Сайты» — отвяжите его там, иначе запись может вернуться. ## Шаг 4. Создайте TXT-запись Снова **«Добавить запись»**: | Поле | Значение | |---|---| | Тип | TXT | | Хост | `_tuqo-verify` | | Значение | токен из панели Tuqo | Домен Timeweb подставит сам — полное имя `_tuqo-verify.mysite.ru` писать не нужно. ## Шаг 5. www, если нужен В Timeweb `www` живёт не в зоне домена, а на вкладке **«Поддомены»**: найдите там `www`, нажмите три точки → «Редактор DNS» и добавьте **A** с тем же адресом (или **CNAME** на `mysite.ru`). В Tuqo www добавляется отдельным доменом, и у него будет свой токен — TXT `_tuqo-verify.www`. ## Шаг 6. Удалите AAAA-записи Timeweb держит на домене AAAA-запись со своим адресом IPv6. У Tuqo IPv6 нет, и посетитель с IPv6-подключением уйдёт по старому адресу — сайт будет открываться через раз. Удалите все AAAA-записи домена. ## Шаг 7. Подождите и проверьте Timeweb применяет записи примерно за **10–15 минут**, полное расхождение по интернету — до 3 часов, в редких случаях до суток. Проверить со своей машины: ```bash dig +short mysite.ru dig +short mysite.ru AAAA # должно быть пусто A dig +short _tuqo-verify.mysite.ru TXT ``` Первая команда должна вернуть **ровно** `201.51.6.16` и ничего больше — если рядом светится другой адрес, старая запись всё ещё жива. ## Шаг 7. Финальный шаг в Tuqo Вернитесь на вкладку **«Домены»** и нажмите **«Протестировать привязку»**. Домен получит статус «Подтверждён · включён», бесплатный SSL выпустится автоматически и будет продлеваться сам. ## Частые вопросы ### Домен куплен в Timeweb, а сайт переезжает на Tuqo — что с NS? DNS-серверы менять не нужно: домен остаётся у Timeweb, вы правите только записи в его зоне. Если NS указывают на другого провайдера, записи создавайте там. ### Нужно ли удалять сайт на хостинге Timeweb? Не обязательно, но домен от него лучше отвязать: пока он прилинкован, панель может восстанавливать A-запись на их сервер. ### Почта на домене продолжит работать? Да, если вы не трогаете MX-записи. Мы меняем только A (сайт) и добавляем TXT для проверки — почтовые записи остаются как есть. [Общий гайд по доменам →](/guides/privyazat-svoy-domen-k-statike/) · [Домен не открывается →](/guides/domen-ne-otkryvaetsya-posle-privyazki/) · [Тарифы →](/pricing/) --- ## Как привязать домен из Яндекс 360 к сайту на Tuqo URL: https://tuqo.ru/guides/privyazat-domen-yandex-360/ · Дата: 2026-09-07 Если домен подключён к Яндекс 360 для бизнеса и делегирован на серверы Яндекса, его зона живёт в **раздел «Настройка DNS-записей»е** админки. Оттуда же добавляются записи для сайта на Tuqo: **A** на адрес раздачи и **TXT** для подтверждения владения. Почта на домене при этом не затрагивается. ## Шаг 1. Возьмите записи в панели Tuqo Сайт в панели → вкладка **«Домены»** → введите домен → **«Добавить»**. Панель покажет обе записи с кнопками копирования; TXT-токен у каждого домена свой. ![Записи A и TXT в панели Tuqo: значения копируются кнопкой](/img/guides/_shared/01-tuqo-zapisi.jpg) ## Шаг 2. Откройте раздел «Настройка DNS-записей» Админка организации (admin.yandex.ru) → **«Домены»** → у нужного домена нажмите **«Управлять DNS-записями»**. Откроется список текущих записей и кнопка **«Добавить запись»**. **Обязательное условие.** раздел «Настройка DNS-записей» Яндекса работает только для **делегированных** доменов — тех, у которых в NS прописаны `dns1.yandex.net` и `dns2.yandex.net`. Если домен делегирован на регистратора (reg.ru, Timeweb и т. п.), редактор в Яндекс 360 будет недоступен или бесполезен: записи нужно создавать в панели того провайдера, чьи NS стоят у домена. Проверить, куда делегирован домен: ```bash dig +short mysite.ru NS ``` ## Шаг 3. Создайте A-запись **«Добавить запись»** → тип **A**: | Поле | Значение | |---|---| | Тип | A | | Хост (субдомен) | `@` | | Значение | `201.51.6.16` | | TTL | оставьте по умолчанию | `@` означает корень домена. Если у домена уже была A-запись на другой сервер — удалите её: два разных адреса у одного имени дают открытие сайта «через раз». ## Шаг 4. Создайте TXT-запись **«Добавить запись»** → тип **TXT**: | Поле | Значение | |---|---| | Тип | TXT | | Хост | `_tuqo-verify` | | Значение | токен из панели Tuqo | Домен подставится сам. Существующие TXT-записи Яндекса — подтверждение домена, SPF, DKIM — трогать не нужно: у одного имени может быть несколько TXT-записей, и наша добавляется к ним отдельной строкой на своём поддомене. ## Шаг 5. www, если нужен Отдельная запись: **A** с Хостом `www` и тем же IP либо **CNAME** `www` → `mysite.ru`. В Tuqo www добавляется отдельным доменом, у него будет своя TXT-запись `_tuqo-verify.www`. ## Шаг 6. Подождите и проверьте Записи в зоне Яндекса появляются быстро, но полное расхождение по интернету может занять до 72 часов — особенно если домен делегирован недавно. Проверка: ```bash dig +short mysite.ru A dig +short _tuqo-verify.mysite.ru TXT ``` ## Шаг 7. Финальный шаг в Tuqo Вернитесь на вкладку **«Домены»** и нажмите **«Протестировать привязку»**. Домен станет «Подтверждён · включён», бесплатный SSL-сертификат выпустится автоматически и будет продлеваться сам. ## Частые вопросы ### Почта Яндекс 360 продолжит работать? Да. Мы добавляем только A-запись для сайта и TXT для проверки владения. MX-записи, SPF и DKIM остаются на месте — почта не затрагивается. ### У меня Яндекс 360 для дома, а не для бизнеса раздел «Настройка DNS-записей» есть только у бизнес-версии с подключённым доменом. Если её нет, правьте записи там, где обслуживается зона домена, — обычно у регистратора. ### Можно ли делегировать домен на Яндекс специально ради этого? Смысла нет: для сайта на Tuqo подойдёт любой DNS-хостинг. Делегирование на Яндекс имеет смысл, если вам удобно держать записи почты и сайта в одном месте. [Общий гайд по доменам →](/guides/privyazat-svoy-domen-k-statike/) · [Домен не открывается →](/guides/domen-ne-otkryvaetsya-posle-privyazki/) · [Тарифы →](/pricing/) --- ## Редирект с поддомена на свой домен и несколько адресов URL: https://tuqo.ru/guides/redirekt-s-poddomena-na-svoy-domen/ · Дата: 2026-09-07 Короткий ответ: **выключите системный поддомен** переключателем на вкладке «Домены» и оставьте у него переадресацию — тогда `имя.tuqo.ru` начнёт отдавать **302** на ваш домен с сохранением пути, а сайт останется доступен только на своём адресе. ![Вкладка «Домены»: системный поддомен и подключённый домен, у каждого свой переключатель](/img/guides/_shared/01-tuqo-zapisi.jpg) ## Один сайт — все адреса сразу Сайт раздаётся **на всех включённых адресах одновременно**: системный поддомен `имя.tuqo.ru` плюс каждый подтверждённый кастомный домен. Никакой «главной» точки входа на уровне раздачи нет — все ведут в один и тот же контент, и у каждого свой переключатель. Это удобно, когда у сайта несколько доменов: `mysite.ru`, `mysite.com` и `мойсайт.рф` можно включить одновременно и отдавать одинаковый контент. Ограничение — количество включённых доменов по тарифу: 10 на «Старте», 20 на «Профи», без ограничений начиная с «Бизнеса». **Основной адрес** — понятие только для панели: это первый включённый адрес (системный поддомен, если он включён; иначе первый кастомный домен). Именно его панель показывает на карточке сайта и подставляет в ссылки, в том числе в письма доступа к закрытому сайту. Поэтому «сделать свой домен основным» = выключить системный поддомен. ## Как увести поддомен в редирект 1. Страница сайта → вкладка **«Домены»**. 2. Убедитесь, что ваш домен подтверждён и включён — под ним написано **«Подтверждён · включён»**. Если ещё нет, начните с [привязки домена](/guides/privyazat-svoy-domen-k-statike/). 3. Снимите переключатель у карточки **«Системный поддомен»**. 4. Под ней появится строка **«Адрес выключен →»** с выбором поведения. Три варианта в списке: - **«переадресация на любой работающий адрес»** — Tuqo сам подставит включённый адрес сайта. Удобно, когда доменов несколько и вы не хотите привязываться к конкретному; - **«переадресация на mysite.ru»** — на конкретный адрес из списка. Если он потом окажется выключен, переадресация не сломается: цель подберётся автоматически; - **«показывать „временно недоступен“»** — вместо перехода посетитель увидит заглушку. Это вариант «адрес больше не наш», а не «переезд». Редирект отдаётся с кодом **302** (временный) и **сохраняет путь и параметры**: заход на `имя.tuqo.ru/blog/post?utm_source=vk` уводит на `mysite.ru/blog/post?utm_source=vk`. Код именно временный, а не 301: переключатель можно вернуть обратно в любой момент, и навсегда закэшированный редирект в браузерах посетителей был бы здесь вредной вечной записью. Если вам нужен один канонический адрес для поиска — пропишите в разметке страниц `<link rel="canonical">` на нужный домен, это и есть правильный инструмент для SEO. ## Чего сделать нельзя **Выключить последнюю включённую точку входа.** Если у сайта остался один адрес, снять с него переключатель не выйдет: сайт стал бы недоступен, а для этого есть отдельный выключатель самого сайта. Сначала включите второй адрес, потом выключайте первый. **Сделать редирект у включённого адреса.** Настройка появляется только у выключенного — включённый адрес отдаёт сайт, а не переадресацию. Логика простая: «выключен» отвечает на вопрос «раздавать ли отсюда», а «переадресация» — «что показать тем, кто всё-таки пришёл». **Указать целью выключенный адрес.** Цель — всегда работающий адрес, поэтому цепочек и петель редиректов тут не бывает. ## Обратный сценарий: домен на паузу Работает симметрично. Снимите переключатель у кастомного домена — сайт останется на поддомене, а домен будет переадресовывать на него. Пригодится, когда домен временно не оплачен или вы переносите его между сайтами: подтверждение владения сохраняется, возвращать домен в раздачу можно тем же переключателем, без повторной верификации. Так же ведёт себя и неоплата: при просрочке домены не удаляются, а гасятся — после оплаты возвращаются переключателем. Включение домена, как и привязка, требует платного тарифа или опции «Свой домен» (149 ₽/мес). ## Частые вопросы ### Можно ли повесить два домена на один сайт без редиректа? Да, это поведение по умолчанию: включите оба, и оба будут отдавать сайт. Редирект нужен только тогда, когда вы хотите, чтобы адрес остался живым, но уводил на другой. ### www сам заработает, если я привязал mysite.ru? Нет: `www.mysite.ru` — отдельное имя. Добавьте его отдельным доменом со своими DNS-записями, включите — и оба адреса будут отдавать сайт. Хотите оставить только один вариант — выключите второй и поставьте у него переадресацию на нужный. ### Переезжает ли эта настройка при переносе сайта? Да. Поддомен, домены и их состояние едут вместе с сайтом — и при переносе в другой ваш проект, и при [передаче заказчику](/guides/kak-peredat-sayt-zakazchiku/). Домен, перенесённый на другой сайт внутри проекта, приезжает выключенным — его нужно включить вручную. ### Что увидит посетитель, если я выключу сайт целиком? Заглушку «временно недоступен» на всех адресах: выключатель сайта сильнее переключателей адресов. Переадресация в этом случае не срабатывает — уводить некуда. [Привязать домен →](/guides/privyazat-svoy-domen-k-statike/) · [Домен не открывается →](/guides/domen-ne-otkryvaetsya-posle-privyazki/) · [Тарифы →](/pricing/) --- ## Сайт из DeepSeek, GigaChat и YandexGPT за 10 минут URL: https://tuqo.ru/guides/sayt-iz-deepseek-gigachat-yandexgpt/ · Дата: 2026-09-07 Десять минут — это две минуты на промпт, три на аккуратное копирование кода и минута на публикацию через [tuqo.ru/drop](/drop/) без регистрации и без карты. Остальное уйдёт на починку того, что эти модели ломают чаще всего: обрывов страницы на середине и путей к файлам, которые не совпадают с реальными именами. Ни DeepSeek, ни GigaChat, ни YandexGPT (Алиса AI) не публикуют сайты сами — они отдают код в чате. ## Шаг 1. Промпт, который даёт публикуемый файл Главное — попросить **готовый файл целиком**, а не «пример кода». ```text Сделай одностраничный сайт [тема] на чистом HTML и CSS. Выведи index.html целиком одним блоком кода, стили и скрипты внутри файла, без пояснений и комментариев вида «добавьте сюда». Без внешних библиотек, шрифтов и картинок с чужих сайтов. Пути только относительные, имена файлов в тексте и в коде должны совпадать. Обязательно: lang="ru", meta charset UTF-8, meta viewport, осмысленный title. Форму отправки не пиши на PHP — оставь обычную форму без адреса отправки. Если ответ не помещается — раздели на две части и продолжи со следующей строки. ``` У GigaChat и Алисы ответы короче, чем у зарубежных чатов, поэтому им лучше давать задачу частями: сначала «только `index.html` без стилей», потом «теперь `styles.css` к нему». DeepSeek объёма не жалеет, но добавляет рассуждения — их надо не пустить в файл. ## Шаг 2. Заберите код без мусора - **Копируйте кнопкой над блоком кода.** При выделении мышью в файл попадают номера строк, тройные кавычки и обрывки ответа — браузер покажет их обычным текстом вверху страницы. - **Сохраняйте в UTF-8.** Иначе вместо русского текста будут вопросительные знаки. Заодно проверьте, что в шапке есть `<meta charset="utf-8">`. - **Проверьте хвост файла.** Если ответ упёрся в лимит, последний блок остаётся без закрывающих тегов и половина вёрстки едет. Попросите «продолжи ровно с последней строки, без повторов» и склейте. - **Соберите папку.** `index.html` в корне, рядом `styles.css`, `script.js` и папка `images` со своими картинками. Публикуется папка целиком. Откройте файл двойным щелчком локально перед публикацией — половина проблем видна сразу. ## Шаг 3. Публикация за минуту Перетащите папку на [tuqo.ru/drop](/drop/): ссылка появится сразу, без аккаунта. Нужен `index.html` в корне, до 100 файлов и 10 МБ, ссылки относительные. Черновик живёт 24 часа и забирается в бесплатный аккаунт по claim-ссылке — тогда сайт получает постоянный адрес `имя.tuqo.ru`, HTTPS и [формы приёма заявок](/forms/). ![Зона загрузки Tuqo Drop: перетащите папку с сайтом](/img/guides/_shared/01-drop-zona.jpg) Если сайт нужен постоянный сразу — создайте его в панели и загрузите папку там: до 2000 файлов и примерно 36 МБ, архивом `tar.gz`/`zip` — до 50 МБ. Оплата платных тарифов в рублях, серверы в России, зарубежная карта не нужна. ## Что эти модели ломают чаще всего **Страница обрывается на середине.** Самая частая беда у GigaChat и Алисы: файл заканчивается посреди тега. Лечится дроблением задачи на файлы и просьбой продолжить с последней строки. **Вместо кода — пересказ.** «Остальные секции по аналогии», «здесь добавьте свои услуги» — такие заглушки уезжают на сайт как есть. Просите каждую секцию полным кодом. **Имя файла в тексте и в коде разное.** DeepSeek пишет «создайте `style.css`», а в разметке ссылается на `styles.css` или `assets/style.css` — сайт открывается без оформления. Проверка «Ссылка на файл, которого нет» покажет такие пути списком. **Устаревшие приёмы.** Форма на PHP или `mailto:`, jQuery с чужого CDN, вёрстка таблицами. На статике PHP не выполняется, `mailto:` открывает почтовую программу у посетителя и теряет заявки, а чужой CDN из России открывается не всегда. Ресурсы по `http://` на сайте с HTTPS браузер просто блокирует — это тоже отдельная проверка. **Две несовместимые версии в одном файле.** При правках частями легко склеить разметку из разных ответов: классы не совпадают, стили не применяются. После каждой правки просите выводить файл целиком и заменяйте его полностью. После публикации Tuqo прогоняет [14 проверок](/proverki-sayta/) и показывает отчёт с причиной и способом исправления — разбор всех проверок в гайде [что нейросети ломают в сайтах](/guides/chto-neyroseti-lomayut-v-saytah/). ## Частые вопросы ### Может ли GigaChat опубликовать сайт сам? В веб-чате — нет. Публикацию делает ваш агент на GigaChain: подключите Tuqo как MCP-сервер по адресу `mcp.tuqo.ru/mcp` с ключом проекта `tqk_` в заголовке `Authorization`, и агент будет вызывать `create_site` и `deploy_files` сам. Инструкция — на странице [Подключить GigaChat](/connect/gigachat/). ### А DeepSeek и Алиса? Своих коннекторов у их чатов нет. Но любой агент с MCP по HTTP — Cursor, Cline, Continue, Claude Code или ваш скрипт — подключается к `mcp.tuqo.ru/mcp` по ключу проекта и публикует за вас. Список клиентов — на странице [Подключить ИИ](/connect/). ### Вместо русского текста вопросительные знаки Файл сохранён не в UTF-8 или потерялась строка `<meta charset="utf-8">`. Пересохраните файл в UTF-8 и проверьте шапку страницы — на живом сайте это видно сразу. ### Как принимать заявки с такого сайта? Возьмите код формы с вкладки «Формы» сайта и вставьте вместо той, что написала модель. Формы работают на всех тарифах, заявки приходят в панель, на почту и в Telegram или MAX. Подробности — на странице [Формы](/forms/). [Опубликовать без регистрации →](/drop/) · [Сайт из GigaChat →](/sayt-iz/gigachat/) · [Сайт из DeepSeek →](/sayt-iz/deepseek/) --- ## Тяжёлый сайт с фото: как обновлять без перезаливки URL: https://tuqo.ru/guides/tyazhelyy-sayt-s-foto-bez-perezalivki/ · Дата: 2026-09-07 Тяжёлый сайт публикуется не архивом, а по файлам: `npx @tuqo/cli deploy ./dist --site <id>` сначала спрашивает у сервера, каких файлов ещё нет, и грузит **только их**. Поэтому первая публикация каталога на 300 фотографий идёт долго, а вторая — когда вы поменяли одну цену в тексте — занимает секунды: ни один снимок повторно не уезжает. Лимита на размер тела запроса тут нет вовсе, в отличие от загрузки архивом. ## Почему архивом не выходит Архив уходит целиком, даже если поменялась одна строка. Плюс жёсткие потолки: | Путь публикации | Потолок | |---|---| | Папкой в панели | до 2000 файлов, примерно 36 МБ | | Архивом `tar.gz`/`zip` в панели | 50 МБ | | `deploy_site` через MCP или REST | 50 МБ (архив в base64) | | CLI (`@tuqo/cli`) | до 2000 файлов, **до 50 МБ на файл**, суммарно — в пределах памяти тарифа | Сайт фотографа на 400 снимков в 50 МБ не помещается почти никогда. А если помещается — всё равно каждая правка текста гонит десятки мегабайт заново. ## Как это устроено CLI — тонкая обёртка над публичным REST-API манифест-деплоя, три шага: 1. `POST /api/v1/sites/{id}/deploys/check` — отправляем список `{path, sha256}` всех файлов сайта, сервер отвечает, каких блобов у него ещё нет; 2. `PUT /api/v1/blobs/{sha256}` — загружаем **только недостающие** файлы, поштучно, сырыми байтами; 3. `POST /api/v1/sites/{id}/deploys/manifest` — публикуем манифест; готовые блобы копируются в артефакты сайта на стороне хранилища. Дедуп идёт по sha256 в пределах проекта: одна и та же фотография, встретившаяся в двух сайтах или в двадцатом деплое подряд, хранится и грузится один раз. Байты в память платформы при этом не поднимаются — копирование идёт внутри S3. ## Шаг 1. Ключ проекта Панель → проект → **API-ключи** → создать. Для деплоя достаточно прав `editor`. Открытый ключ вида `tqk_<prefix>_<secret>` показывается **один раз** — потом только перевыпуск; в базе лежит только хеш. ![Раздел «API-ключи» проекта: создание ключа и показ его один раз](/img/guides/_shared/01-api-klyuch.jpg) Передавайте ключ переменной окружения `TUQO_API_KEY` (алиас `TUQO_KEY`), а не флагом `--key`: так он не попадёт в историю шелла и в `ps`. В `tuqo.json` ключа быть не должно — CLI откажется работать, если найдёт его там. ## Шаг 2. Деплой ```bash TUQO_API_KEY=tqk_xxx_yyy npx @tuqo/cli deploy ./dist --site <site_id> --wait ``` Устанавливать ничего не нужно: `npx` скачает пакет при первом запуске, нужен Node.js 18+. `--wait` дождётся публикации и напечатает боевой адрес, а в CI вернёт код 1, если сборка упала. Полезные флаги и рецепты для GitHub Actions и GitLab CI — на странице [CLI](/cli/). Хотите показать версию заказчику до публикации — соберите с `--no-activate`, получите секретную ссылку командой `preview` и опубликуйте `promote`. Боевой адрес до этого момента показывает прежнюю версию. ## Шаг 3. Обновления Меняете текст, запускаете ту же команду — и CLI снова спрашивает сервер, чего не хватает. Ответ: «только `index.html`». Уходит один файл, фотографии остаются на месте. Повторный деплой без изменений почти мгновенный. ## Если сайт правит нейросеть Агент в браузерном чате не имеет доступа к диску и гонит файлы через свой контекст — для медиа-сайта это дорого и медленно. Два приёма: - **`get_manifest(site_id)`** возвращает массив `{path, sha256}` файлов активной версии. В `deploy_files` неизменные файлы передаются ссылкой `{path, sha256}` — без `content`, то есть байты вообще не идут через контекст модели. Менять надо только те файлы, которые действительно меняются; набор при этом всегда полный, а не патч. - **Агент с терминалом** (Claude Code, Cursor) публикует тяжёлый сайт той же командой `npx @tuqo/cli deploy`: байты читаются с диска и не расходуют токены на base64. ## Сколько влезет Суммарный объём ограничен памятью тарифа: бесплатный — 150 МБ, «Старт» — 1 ГБ, «Профи» — 3 ГБ, «Бизнес» — 7 ГБ, «Масштаб» — 15 ГБ, «Корпоративный» — 45 ГБ. Память можно докупить пакетами от 149 ₽/мес (+500 МБ, +1 ГБ, +3 ГБ, +10 ГБ). Учитывается объём хранимых версий, поэтому на тарифах с несколькими копиями галерея занимает место в нескольких деплоях — регулируется настройкой «Хранить копий» в настройках сайта. Цифры и опции — на странице [Тарифы](/pricing/). ## Частые вопросы ### Чем CLI отличается от загрузки архива? Архив уходит целиком при любой правке, CLI — только изменившимися файлами. Плюс нет лимита на размер тела запроса: файлы идут поштучно, до 50 МБ каждый. ### Нужно ли что-то устанавливать? Нет, `npx @tuqo/cli` скачает пакет при первом запуске. Нужен Node.js 18 или новее, пакет без зависимостей. ### Как уменьшить вес сайта? Уменьшите картинки до реального размера на экране и не вклеивайте их в HTML строкой base64 — такая страница грузится целиком до первой отрисовки и не сжимается. Проверка «Картинки вклеены в HTML» покажет это после публикации, см. [все 14 проверок](/proverki-sayta/). ### А если репозиторий с сайтом уже на GitVerse или GitFlic? Тогда проще без CLI: подключите Git CD, и Tuqo сам соберёт и опубликует сайт по push. CLI нужен, когда сборка идёт в вашем CI или на вашей машине. [Документация CLI →](/cli/) · [Тарифы и объём памяти →](/pricing/) --- ## Платный доступ к сайту через Т-Кассу (Тбанк): настройка за вечер URL: https://tuqo.ru/guides/platnyy-dostup-cherez-tbank/ · Дата: 2026-09-01 Платный доступ на Tuqo устроен иначе, чем на платформах вроде Boosty: **деньги идут напрямую на ваш договор эквайринга**. Tuqo не получатель платежа и не берёт комиссию с продаж — вы платите только фиксированную цену тарифа или опции. Обратная сторона независимости: нужен собственный терминал Т-Кассы и касса для чеков. Разберём настройку по шагам — она занимает вечер. ## Что понадобится - Договор интернет-эквайринга с Тбанк (Т-Касса) — заключается в Тбанк Бизнес; - онлайн-касса, подключённая к терминалу, — для чеков 54-ФЗ (обычно это касса, которую банк предлагает вместе с эквайрингом); - сайт на Tuqo и тариф «Профи» — либо опция «Платный доступ» за 499 ₽/мес. ## Шаг 1. Реквизиты продавца и документы для покупателей В карточке «Продавец» укажите наименование (ФИО ИП или организацию), ИНН, при наличии ОГРН/ОГРНИП и адрес электронной почты для вопросов покупателей. По закону покупатель должен видеть продавца до оплаты: эти сведения появятся на экране оплаты и в письме «доступ открыт»; без них витрина не продаёт — посетители видят «Продажи ещё не открыты», а сам режим включить можно и раньше. Дальше — блок документов на той же вкладке «Видимость». Для платного доступа обязателен минимум один документ — оферта или условия предоставления доступа: покупатель согласится с ним перед оплатой; без него витрина не продаёт. Документ — это название и `https://`-ссылка на текст; сам текст можно разместить отдельной страницей на этом же сайте или на любом другом. ## Шаг 2. Продукт и цена В карточке «Продукт и витрина» заполните название и описание — их увидит посетитель на витрине. Цена в рублях; модель на выбор: - **разовая** — покупатель платит один раз и получает доступ навсегда; - **на срок** — доступ на N дней; продление той же кнопкой прибавляет дни к концу оплаченного срока, досрочная оплата ничего не съедает. По желанию: до трёх преимуществ (коротких, до 60 символов — они выводятся на витрине списком), кнопка дополнительной информации со ссылкой. Срок доступа (до какой даты витрина продаёт; купившие досматривают свой срок) и количество доступов — на вкладке «Условия доступа». ## Шаг 3. Тестовый терминал В Тбанк Бизнес у интернет-эквайринга два терминала — тестовый и боевой, у каждого своя пара «TerminalKey + пароль». Начните с тестового: он проходит все шаги оплаты, но деньги не списывает. В панели Tuqo, в карточке «Приём оплаты», выберите провайдера «Т-Касса», род набора «Тестовый» и впишите ключи. Сохранённые ключи не показываются — хранятся в зашифрованном виде; при любой смене ключей владельцу проекта уходит письмо. ## Шаг 4. URL уведомлений Скопируйте из панели URL вебхука — он уникален для сайта — и вставьте его в настройках терминала в ЛК Тбанк («Уведомления» → HTTP). Уведомления — то, чем банк сообщает о результате платежа: **именно они открывают доступ покупателю**. Возврат покупателя на сайт после оплаты сам по себе доступ не открывает — его можно подделать, а уведомление банка нельзя. ## Шаг 5. Тестовый платёж Откройте сайт в приватном окне как посетитель: витрина → email → код из письма → оплата. Тестовый терминал покажет форму банка; используйте тестовую карту из документации Т-Кассы. После оплаты страница «Подтверждаем оплату» дождётся уведомления и впустит на сайт. Чеклист в панели ведёт за руку: ключи ✓ → вебхук получен ✓ → тестовый платёж ✓. Пока все три пункта не зелёные, включать боевой режим рано. ## Шаг 6. Фискализация В карточке «Фискализация (54-ФЗ)» укажите систему налогообложения, ставку НДС и отметьте, подключена ли к терминалу касса: - **касса подключена** — Tuqo передаёт банку данные для чека (email покупателя, название продукта, сумму, ставку); чек формирует и отправляет касса; - **касса не подключена** — данные для чека не передаются. Внимание: если в настройках терминала фискализация включена, а чек не передан, банк отклонит платёж — флаг в панели должен соответствовать настройке терминала. Чеки, налоги и возвраты — обязанность продавца, то есть ваша: Tuqo — техническая платформа и стороной сделки не является. При включении режима вы подтверждаете это явно. ## Шаг 7. Боевой режим и включение Впишите ключи боевого терминала (у него в ЛК свой адрес вебхука — вставьте туда тот же URL из панели), переключите «Боевой режим» и включите режим «Платный доступ» на вкладке «Видимость». Витрина начинает продавать. Режим можно включить и раньше — хоть первым шагом: пока продукт, ключи, реквизиты продавца и документ не заполнены, посетители видят заглушку «Продажи ещё не открыты», а панель показывает, чего не хватает. Витрина откроется сама, как только всё собрано. Пометка «боевой вебхук подтверждён» появится после первого реального платежа — до того чеклист честно показывает, что боевой канал уведомлений ещё не проверен. ## Если что-то пошло не так - **Уведомление не приходит.** Проверьте URL в ЛК банка — он должен совпадать с URL из панели с точностью до символа. Пока вебхук молчит, работает страховка: Tuqo сам сверяет статус зависших платежей с банком каждые две минуты — оплата откроет доступ и без вебхука, просто на минуту-другую позже. - **Банк отклоняет создание платежа.** Чаще всего — рассинхрон фискализации: касса у терминала включена, а флаг в панели снят (чек обязателен, а не передан), или наоборот. Сверьте флаг «касса подключена» с настройкой терминала. - **Тестовый платёж не видно в списке.** Проверьте, что ключи вписаны в «Тестовый» набор, а не в «Боевой»: платёж создаётся на том терминале, чьи ключи соответствуют текущему режиму. - **Покупатель заплатил, а доступ не открылся.** Проверьте чеклист и URL вебхука. Сверка каждые две минуты дожмёт зависший платёж; в крайнем случае напишите в поддержку — категория «Интеграции». ## Сколько это стоит Режим входит в тариф «Профи»; на младших тарифах включается опцией «Платный доступ» за 499 ₽/мес за сайт (она включает и режим «Регистрация»). С самих продаж Tuqo не берёт ничего — сколько бы вы ни продали. Комиссия эквайринга Тбанк — по вашему договору с банком. Нужен другой эквайринг — Сбер, Альфа, Точка, Робокасса, CloudPayments? Напишите в поддержку: подключаем за 72 часа с момента передачи доступов. --- ## Платный доступ к сайту через ЮKassa: настройка по шагам URL: https://tuqo.ru/guides/platnyy-dostup-cherez-yookassa/ · Дата: 2026-09-01 Платный доступ на Tuqo работает на **вашем собственном** договоре с платёжным сервисом: покупатель платит напрямую в ваш магазин ЮKassa, Tuqo не касается денег и не берёт комиссию с продаж. Ниже — настройка по шагам; у ЮKassa есть одна особенность, о которой стоит знать заранее: **тестовый и боевой магазины — это два разных магазина**, у каждого свои ключи. ## Что понадобится - Договор с ЮKassa и магазин в личном кабинете; - касса для чеков 54-ФЗ (у ЮKassa есть встроенные решения фискализации); - сайт на Tuqo и тариф «Профи» — либо опция «Платный доступ» за 499 ₽/мес. ## Шаг 1. Реквизиты продавца и документы для покупателей В карточке «Продавец» укажите наименование (ФИО ИП или организацию), ИНН, при наличии ОГРН/ОГРНИП и адрес электронной почты для вопросов покупателей. По закону покупатель должен видеть продавца до оплаты: эти сведения появятся на экране оплаты и в письме «доступ открыт»; без них витрина не продаёт — посетители видят «Продажи ещё не открыты», а сам режим включить можно и раньше. Дальше — блок документов на той же вкладке «Видимость». Минимум один документ (оферта или условия) обязателен: покупатель соглашается с ним перед оплатой, без документа витрина не продаёт. Документ — название и `https://`-ссылка на текст. ## Шаг 2. Продукт и цена Название, описание и цена — это витрина. Модель на выбор: **разовая** (оплатил один раз — доступ навсегда) или **на срок** (N дней; продление прибавляет дни к концу оплаченного срока). По желанию — до трёх преимуществ, кнопка дополнительной информации. Срок доступа (до какой даты витрина продаёт) и количество доступов — на вкладке «Условия доступа». ## Шаг 3. Тестовый магазин В ЛК ЮKassa создайте тестовый магазин — он отделён от боевого и платежи в нём ненастоящие. Понадобятся два значения: **shopId** и **секретный ключ** (раздел «Интеграция» → «Ключи API»). В панели Tuqo, в карточке «Приём оплаты», выберите провайдера «ЮKassa», набор «Тестовый» и впишите оба значения. Сохранённые ключи не показываются — хранятся в зашифрованном виде; при смене ключей владельцу проекта уходит письмо. ## Шаг 4. HTTP-уведомления Скопируйте URL вебхука из панели Tuqo и вставьте его в ЛК ЮKassa: «Интеграция» → «HTTP-уведомления». Отметьте события: - `payment.succeeded` — платёж прошёл (открывает доступ); - `payment.canceled` — платёж отменён; - `refund.succeeded` — возврат (закрывает доступ). Доступ покупателю открывает **только** уведомление, подтверждённое обратным запросом к ЮKassa с вашими ключами, — возврат на сайт после оплаты сам по себе ничего не открывает, его можно подделать, а подтверждённое уведомление нельзя. ## Шаг 5. Тестовый платёж Откройте сайт в приватном окне: витрина → email → код из письма → оплата. ЮKassa покажет тестовую форму — оплатите тестовой картой из её документации. Страница «Подтверждаем оплату» дождётся уведомления и впустит на сайт. Чеклист в панели: ключи ✓ → уведомление получено ✓ → тестовый платёж ✓. Пока чеклист не зелёный, боевой режим включать рано. ## Шаг 6. Фискализация В карточке «Фискализация (54-ФЗ)» укажите систему налогообложения, ставку НДС и отметьте, включена ли у магазина фискализация («касса подключена»): - **включена** — Tuqo передаёт данные для чека (email покупателя, наименование, сумму, ставку НДС и СНО), чек формирует решение ЮKassa; - **не включена** — данные чека не передаются. Флаг в панели должен совпадать с настройкой магазина: если у магазина фискализация обязательна, а чек не передан, платёж не пройдёт. Чеки, налоги, возвраты и претензии покупателей — обязанность продавца, то есть ваша. При включении режима вы подтверждаете это явно. ## Шаг 7. Боевой магазин и включение Впишите shopId и секретный ключ **боевого** магазина в набор «Боевой», в его ЛК настройте те же HTTP-уведомления на тот же URL, переключите «Боевой режим» и включите режим «Платный доступ» на вкладке «Видимость». Режим можно включить и раньше — хоть первым шагом: пока продукт, ключи, реквизиты продавца и документ не заполнены, посетители видят заглушку «Продажи ещё не открыты», а панель показывает, чего не хватает. Витрина откроется сама, как только всё собрано. Пометка «боевой вебхук подтверждён» появится с первым реальным платежом — до того чеклист честно показывает, что боевой канал уведомлений ещё не проверен. ## Если что-то пошло не так - **Уведомления не приходят.** Сверьте URL в ЛК ЮKassa с URL из панели и проверьте, что события `payment.succeeded`, `payment.canceled` и `refund.succeeded` отмечены. Пока уведомлений нет, работает страховка: Tuqo сверяет статус зависших платежей с ЮKassa каждые две минуты — оплата откроет доступ и без уведомления, чуть позже. - **Платёж не создаётся.** Обычно это рассинхрон фискализации: у магазина чеки обязательны, а флаг «касса подключена» в панели снят — или наоборот. Сверьте. - **Тестовый платёж не видно.** Проверьте, что ключи тестового магазина вписаны в набор «Тестовый»: боевой и тестовый магазины ЮKassa — разные, их ключи не взаимозаменяемы. - **Покупатель заплатил, доступ не открылся.** Смотрите чеклист и настройку уведомлений; сверка каждые две минуты дожмёт зависший платёж. Не помогло — поддержка, категория «Интеграции». ## Сколько это стоит Режим входит в тариф «Профи»; на младших тарифах — опция «Платный доступ» за 499 ₽/мес за сайт (включает и режим «Регистрация»). С продаж Tuqo не берёт ничего. Комиссия ЮKassa — по вашему договору с сервисом. Нужен другой эквайринг — Сбер, Альфа, Точка, Робокасса, CloudPayments? Напишите в поддержку: подключаем за 72 часа с момента передачи доступов. --- ## Автоответ на заявку с сайта — без бэкенда и сервисов рассылок URL: https://tuqo.ru/guides/avtootvet-na-zayavku-s-sayta/ · Дата: 2026-08-27 Человек оставил заявку на сайте — и не получил ничего. Дошла ли она? Когда перезвонят? Через полчаса он оставляет заявку ещё раз или уходит к тем, кто ответил сразу. Автоответ решает это одним письмом. ## Что получает заявитель Сразу после отправки формы — письмо с вашим текстом: «мы получили вашу заявку, свяжемся сегодня до 18:00». Подтверждение, инструкция, адрес и время встречи, обещанный файл — что напишете. Отправитель в ящике — «Tuqo · название вашего сайта», письмо техническое: приписка «отвечать не нужно» добавляется сама, а диалог с клиентом вы ведёте из своей почты — адрес заявителя лежит в заявке. ## Настройка — три поля На вкладке «Формы» сайта: тумблер «Автоответ», тема, текст. Всё. Адрес заявителя берётся из поля email формы автоматически (понимает `email`, `e-mail`, «почта»; нестандартное имя поля можно указать явно). Кнопка «Отправить тестовый автоответ себе» покажет письмо до того, как его увидят клиенты. ## Что важно знать - **Спам автоответ не получает.** Заявки, отсечённые антиспамом (honeypot, слишком быстрое заполнение), писем не порождают — ботам тут ловить нечего. - **Исход виден в каждой заявке.** «Отправлен» — или честная причина: поле email не найдено, адрес некорректен, лимит. Молчаливых отказов нет. - **Расход заперт квотой заявок.** На «Старте» 100 заявок в месяц — значит и автоответов не больше. Отдельного лимита запоминать не нужно. - **Сбой почты не теряет письмо** — отправка повторяется автоматически. - Доступно с тарифа «Старт»; настраивается в панели, по REST API и из нейросети (MCP-инструменты `get_autoreply` / `set_autoreply`). ## Автоответ с файлом — лид-магнит К письму можно прикрепить файл: чек-лист, гайд, прайс. Он выдаётся кнопкой в письме через страницу выдачи — только за настоящую почту, мимо формы файл не скачивается. Подробный разбор механики — в гайде [«Лид-магнит на статическом сайте»](/guides/lid-magnit-na-staticheskom-sayte/). --- ## Лид-магнит на статическом сайте: файл в обмен на почту — без бэкенда URL: https://tuqo.ru/guides/lid-magnit-na-staticheskom-sayte/ · Дата: 2026-08-27 Лид-магнит — это полезный материал в обмен на контакт: «оставьте почту — получите чек-лист». Классика сбора базы у экспертов: психологов, нутрициологов, коучей, авторов курсов. Проблема в том, что на статическом сайте эту механику обычно делают **неправильно**. ## Как делают обычно — и почему это не работает Файл кладут открытой ссылкой рядом с формой: «заполните форму, а вот кнопка скачать». Итог предсказуем: файл скачивается **мимо формы** — прямая ссылка разлетается по чатам, а базы контактов нет. Либо владелец отвечает на каждую заявку руками и делает это ровно до второй недели. Второй путь — сервис рассылок с автоворонкой. Работает, но ради одного письма вы заводите ещё один платный сервис, встраиваете чужие скрипты и переносите контакты своих клиентов в чужую базу. ## Как это работает на Tuqo С тарифа «Старт» у форм есть автоответ с файлом: 1. **Прикрепите файл к форме** — на вкладке «Формы» сайта: PDF, картинка, zip или текст до 50 МБ. По прямому адресу файл недоступен: скачать его мимо формы нельзя. 2. **Напишите текст письма** — тема и пара абзацев. Кнопка «Отправить тестовый автоответ себе» покажет письмо вашими глазами. 3. **Посетитель отправляет форму** — и сразу получает письмо: ваш текст и кнопку «Получить файл». Кнопка ведёт на страницу выдачи с вашим брендингом; ссылка живёт от 1 до 60 дней — как настроите. Ключевое следствие: **файл выдаётся только за настоящую почту**. Письмо с кнопкой приходит на адрес из заявки — вписал выдуманный, файл не получил. Это честнее любой «проверки email» и не требует ни капчи, ни подтверждений. ## Что видно владельцу - в карточке каждой заявки — статус автоответа: отправлен, или почему нет (например, в форме не оказалось поля email); - счётчики: сколько автоответов ушло за месяц и **сколько раз файл скачали** — это ваша конверсия «заявка → скачивание»; - расход писем заперт месячной квотой заявок тарифа — отдельных лимитов нет. ## Страница выдачи — место для апселла Под кнопкой «Скачать» — ваш текст: «а ещё у меня есть курс, вот ссылка». Человек пришёл за бесплатным материалом и в момент максимального интереса видит платное предложение. Так бесплатный чек-лист становится началом воронки, а не её концом. ## Частые вопросы **Можно ли переслать ссылку другому?** Пока ссылка жива — да, как и сам скачанный файл. Это барьер «сначала контакт», а не защита от распространения. Для материалов с контролем доступа есть [закрытый доступ к сайту](/zakrytyy-dostup/). **А если я рассылаю письма своим сервисом?** Тогда автоответ не нужен: положите материалы на отдельный сайт под паролем и вставляйте ссылку с паролем в свою рассылку — см. гайд [«Отдача материалов по паролю»](/guides/otdacha-materialov-po-parolyu/). **Это рассылки?** Нет: одно техническое письмо в ответ на заявку человека. Догоняющих писем и цепочек нет — для них есть профильные сервисы. --- ## Отдача материалов клиентам по паролю — со своей рассылкой URL: https://tuqo.ru/guides/otdacha-materialov-po-parolyu/ · Дата: 2026-08-27 Сценарий: у вас уже есть свой канал доставки — сервис рассылок, бот, менеджер в переписке. Нужна только защищённая точка выдачи: страница, где клиент вводит пароль и забирает материалы. Это собирается на Tuqo из готовых возможностей — без единой строчки кода и без новых функций. ## Как собрать за десять минут 1. **Создайте отдельный сайт** в том же проекте — например `materials.tuqo.ru`. Положите на него страницу со ссылками на файлы и сами файлы (файлы сайта раздаются вместе с ним). 2. **Закройте сайт паролем**: вкладка «Видимость» → режим «Пароль». Сервер сам сгенерирует пароль нужной сложности — от восьми цифр «для диктовки голосом» до длинной строки «только копировать». Замок накрывает **все** файлы сайта, не только страницы: PDF по прямой ссылке тоже не открывается. 3. **Разошлите доступ своим сервисом**: в письмо кладёте ссылку на сайт и пароль. Хотите — добавьте [брендинг экрана входа](/zakrytyy-dostup/parol/): логотип и текст, чтобы клиент видел, к кому пришёл. ## Чем это отличается от лид-магнита с автоответом | | Пароль + своя рассылка | [Автоответ с файлом](/avtootvet/) | |---|---|---| | Кто шлёт письмо | вы, своим сервисом | Tuqo, автоматически после заявки | | Что защищает | весь сайт с материалами | один файл, ссылкой из письма | | Отзыв доступа | смена пароля — отрезает всех разом | ссылка истекает сама по сроку | | Кому подходит | курсы, клиентские материалы, свои базы рассылки | сбор контактов «файл за почту» | ## Полезные детали - Пароль виден в панели в любой момент — «показать пароль» (это ваш пароль от ваших материалов, не секрет от вас). - Смена пароля мгновенно закрывает доступ всем, у кого был старый, — удобный «отзыв оптом» при смене потока клиентов. - Дополнительно настраиваются срок доступа и лимит открытий; с «Профи» вместо общего пароля можно вести список адресов с кодом на почту — с журналом, кто и когда заходил. - Материалы занимают место в квоте хранилища тарифа — как обычный сайт. --- ## Сайт за подписку на Telegram или MAX-канал: доступ подписчикам URL: https://tuqo.ru/guides/sayt-za-podpisku-na-kanal/ · Дата: 2026-08-20 Лид-магнит обычно выглядит так: «оставьте почту — пришлём файл». Почту оставляют неохотно, файл пересылается дальше без вас, а базу адресов ещё нужно где-то законно хранить. Режим «Для подписчиков» меняет валюту: **чтобы читать сайт — подпишись на канал**. Материалы работают на рост аудитории, а не утекают мимо неё. ## Как это выглядит для посетителя Человек открывает ссылку и вместо страниц видит экран входа: аватарка, название и описание вашего канала, кнопка «Проверить подписку» и условия доступа. Клик по карточке ведёт в сам канал. Кнопка проверки открывает бота Tuqo. Бот сверяет подписку: всё на месте — одна кнопка возвращает на сайт, чего-то не хватает — бот покажет недостающие каналы списком, каждый с кнопкой. Подписался, нажал «Проверить» ещё раз — и внутри. Пропуск живёт на устройстве до 7 дней, потом проверка повторяется. Отписался — после истечения пропуска сайт закрыт: подписка должна быть живой, а не разовой. ## Что нужно от вас Три вещи, все в панели: - **Привязка мессенджера.** В профиле, разделе «Мессенджеры», нажмите «Связать» — откроется бот и подтвердит, что аккаунт ваш. Одна привязка обслуживает все ваши сайты и каналы. - **Бот в канале.** Добавьте системного бота в канал или группу. Права на публикации ему не нужны — он только смотрит список участников и никогда ничего не пишет в канал. Канал появится в вашем реестре: с аватаркой, описанием и ссылкой, подтянутыми с платформы. Не нравится, как выглядит, — название, описание и аватарку можно переопределить вручную. - **Режим на сайте.** На вкладке «Видимость» выберите «Для подписчиков» и укажите каналы — до трёх, одной платформы. Вход получат подписанные на все перечисленные: бот сам подсветит, чего не хватает. ## Приватные каналы тоже работают Для публичного канала ссылка на подписку подтягивается сама. Для приватного вы задаёте свою ссылку-приглашение — она появится на экране входа и в боте. Проверка подписки в обоих случаях одинаковая: бот смотрит участников, а не открытость канала. ## Воронка вместо базы адресов На вкладке «Видимость» видна воронка: сколько раз показали экран входа, сколько человек начали проверку, сколько вошли и сколько проверку не прошли. По ней видно, конвертирует ли материал в подписку. Принципиальный момент: статистика обезличена. Считаются события, а не люди — никаких идентификаторов посетителей, имён или выгрузок списка подписчиков. Вам не нужно ничего декларировать про персональные данные посетителей, потому что они не собираются. ## Что ещё умеет режим Всё то же, что пароль и код на почту: срок доступа с обратным отсчётом, лимит открытий, свой логотип и текст на экране входа, запрет индексации закрытого сайта. Защищены все файлы — страницы, картинки, PDF: прямая ссылка на файл без подписки не откроется. Включить режим может и нейросеть — через MCP или REST API: тот же набор действий, что в панели. ## С чего начать 1. Опубликуйте сайт с материалами — [любым из способов](/deploy/). 2. Привяжите мессенджер и добавьте бота в канал. 3. Включите «Для подписчиков» на вкладке «Видимость». 4. Дайте ссылку в канале и следите за воронкой. Подробное сравнение с паролем и кодом на почту — на странице [закрытого доступа](/zakrytyy-dostup/), отдельная страница режима — [«Для подписчиков»](/zakrytyy-dostup/po-podpiske/). А если вы выбираете между сайтом за подписку и платной лентой или ботом оплаты — смотрите сравнения [Tuqo vs Boosty](/vs/boosty/) и [Tuqo vs Telegram-боты доступа](/vs/telegram-boty-dostupa/): чаще всего они не конкурируют, а складываются. --- ## Доступ по списку email: код из письма вместо общего пароля URL: https://tuqo.ru/guides/dostup-po-kodu-na-pochtu/ · Дата: 2026-08-19 Общий пароль удобен, пока получателей трое. Дальше начинается знакомое: пароль уходит в переписку, из переписки — в чат, и вы уже не знаете, кто именно смотрит материалы. А чтобы отобрать доступ у одного человека, приходится менять пароль всем. Второй режим закрытого доступа решает это иначе: **доступ привязан к адресу**. ## Как это выглядит для посетителя Человек открывает ссылку, видит ваш экран входа и вводит **свой** email. Если адрес есть в списке — на почту приходит шестизначный код, он его вводит и попадает на сайт. Регистрации нет, пароля нет, приложений ставить не нужно. Ответ на шаге с адресом намеренно нейтральный: «если адрес есть в списке, мы отправили код». Так перебором нельзя выяснить, кто вообще у вас в списке — это ваша клиентская база, и выдавать её посторонним незачем. ## Что это даёт владельцу **Поимённый журнал.** Видно, кто и когда заходил, сколько у него устройств. Рядом с адресом можно поставить имя, чтобы в статистике читалось «Ирина, бухгалтерия», а не только почтовый ящик. **Точечный отзыв.** Удалили адрес — человек теряет доступ немедленно, прямо посреди сессии. Остальные ничего не замечают: менять общий секрет не нужно. **Попытки со стороны.** Если кто-то пробует войти с адреса, которого нет в списке, вы это видите. Иногда это просто коллега с другой почты — добавили, и всё заработало. ## Ограничения, которые стоит знать заранее - **До тысячи адресов** на сайт. Это инструмент для группы, а не для рассылки. - **Не больше трёх устройств** на адрес: четвёртое вытесняет самое старое. Иначе один код пересылают десятерым по очереди. - **Код живёт десять минут** и сгорает после трёх ошибок — можно запросить новый. - **Письма уходят с нашего домена**, поэтому на отправку есть лимиты: 3 письма в час на адрес. Режим «пускаем любого за контакт» мы намеренно не делаем — это открытый релей, которым пользуются не для доступа к сайту. ## Чем это отличается от пароля | | Пароль | Код на почту | |---|---|---| | Кому подходит | получателей мало, вы с ними на связи | получателей много, состав меняется | | Что передаёте | ссылку и секрет | только ссылку | | Отозвать у одного | сменить пароль всем | удалить одну строку | | Видно, кто заходил | только счётчик входов | поимённо, с устройствами | | Тариф | с «Старта» | с «Профи» | Оба режима закрывают сайт целиком и одинаково умеют срок доступа, лимит открытий и свой экран входа. Переключить один на другой можно в любой момент: список адресов при этом сохраняется, даже если вы временно вернулись к паролю. Подробнее: [закрытый доступ к сайту](/zakrytyy-dostup/) и [тарифы](/pricing/). --- ## Как закрыть сайт паролем без сервера и .htaccess URL: https://tuqo.ru/guides/kak-zakryt-sayt-parolem/ · Дата: 2026-08-19 Классический способ закрыть сайт паролем — файлы `.htaccess` и `.htpasswd` на сервере с Apache. Он работает, но требует ровно того, чего у статического сайта нет: **своего сервера**, доступа к его конфигурации и умения его настраивать. Если сайт лежит на статическом хостинге, замок даёт сама платформа. ## Что не так с .htaccess на статике `.htaccess` — это файл конфигурации Apache. На статическом хостинге вашего Apache нет: файлы раздаёт общая инфраструктура платформы, и класть в неё чужие конфиги никто не даст. Загруженный в корень сайта `.htaccess` там просто лежит мёртвым грузом — иногда его даже отдают посетителю как обычный файл. Второй момент, о котором вспоминают поздно: базовая HTTP-аутентификация показывает системное окно браузера. Оно одинаковое у всех, в нём нельзя объяснить, куда человек попал, из него нельзя выйти, а на телефоне оно выглядит пугающе — половина клиентов решает, что сайт взломан. ## Как это работает в Tuqo Замок включается на вкладке **«Видимость»** на странице сайта и накрывает **все файлы**, а не только HTML. Это принципиально: если защищены страницы, но не картинки, прямая ссылка на фотографию открывается у кого угодно — а ради таких файлов замок обычно и вешают. Посетитель видит не системное окно, а **вашу страницу входа**: логотип, заголовок и описание, которые вы задали. Ввёл пароль один раз — дальше ходит по сайту свободно, потому что вместо повторной проверки пароля работает служебная cookie строго на ваш хост. Ещё три вещи, которых у `.htaccess` нет из коробки: - **Срок доступа.** Доступ до даты или на 1, 3, 7, 30 дней, с обратным отсчётом на экране входа. Если доступ выдан больше чем на двое суток, за сутки до конца придёт напоминание — короткому доступу «на вечер» оно не нужно. - **Число открытий.** После N устройств ссылка перестаёт пускать новых — удобно, когда доступ уходит одному человеку, а не в общий чат. - **Статистика.** Входы, показы экрана, неверные попытки, последний вход. ## Что с поиском Закрытый сайт в выдачу не попадает: он отдаёт поисковым роботам собственный `robots.txt` с запретом обхода, а сама страница входа помечена `noindex` и отвечает кодом 401. То есть не индексируется ни содержимое, ни окно ввода пароля. ## Насколько это надёжно Вход проверяется argon2-хешем: подобрать по нему пароль нельзя. Проверка идёт один раз, дальше подписанная cookie строго на ваш хост. Перебор упирается в лимит: пять неверных попыток с одного IP-адреса по одному сайту за 15 минут — и форма выключается. Рядом с хешем лежит вторая, зашифрованная копия пароля — ровно затем, чтобы показать его вам в панели. Это осознанный размен: пароль от сайта вы задали сами и сами рассылаете клиентам, а перегенерация из-за забытой бумажки означает разослать доступ заново всем. Ключ шифрования есть у панели, но его нет у раздачи — сервис, который смотрит в интернет, расшифровать пароли не может. ## Когда пароля мало Общий пароль хорош, пока получателей немного и вы общаетесь с ними напрямую. Когда получателей десятки и они меняются, удобнее второй режим — **вход по коду на почту**: посетитель вводит свой адрес, получает шестизначный код письмом и входит. Пускаем только тех, кто есть в вашем списке, и в журнале видно, кто и когда заходил. Удалили адрес — доступ пропал у одного, остальные не заметили. Пароль доступен с [тарифа «Старт»](/pricing/), код на почту — с «Профи». Подробнее: [закрытый доступ к сайту](/zakrytyy-dostup/) и [доступ по списку email](/guides/dostup-po-kodu-na-pochtu/). --- ## Клиентская галерея для фотографа: отдать съёмку по ссылке с паролем URL: https://tuqo.ru/guides/klientskaya-galereya-fotografu/ · Дата: 2026-08-19 Съёмка готова, и её нужно отдать клиенту. Обычно это заканчивается облачной папкой: ссылка живёт вечно, расходится по знакомым, а на месте вашего бренда — логотип чужого сервиса. Плюс клиент, который не может скачать файлы без регистрации. Галерея на собственном адресе решает всё это разом. ## Почему не облачная папка - **Ссылка бесконтрольна.** Один раз отдали — она работает всегда и уходит дальше по цепочке. - **Это не ваш бренд.** Клиент видит интерфейс файлового сервиса, а не вашу студию. - **Нет статистики.** Открывал ли клиент вообще — неизвестно. - **Регистрация и приложения.** Половина сервисов просит установить клиент. ## Как сделать галерею закрытой Галерея — обычный статический сайт: HTML, картинки, немного CSS. Публикуется перетаскиванием папки, свой адрес вида `ivanovy.tuqo.ru` или ваш домен. Дальше на вкладке **«Видимость»** включается пароль. Защита накрывает **все файлы**: прямая ссылка на кадр в полном разрешении у постороннего не откроется. Это важнее, чем кажется, — именно прямые ссылки на файлы обычно и утекают. Экран входа оформляется под вас: логотип, заголовок «Свадьба Ивановых», описание «Галерея со съёмки 12 июля». Клиент видит вашу студию, а не системное окно браузера с надписью на английском. ## Срок и лимит открытий Две настройки, ради которых всё и затевалось: **Срок доступа.** Галерея открыта две недели, потом закрывается сама. Не нужно помнить, что пора «убрать ссылку», и неловко просить клиента больше не заходить. На экране входа идёт обратный отсчёт, а вам за сутки до конца приходит напоминание (если галерею открывали больше чем на двое суток) — можно продлить одним нажатием, отсчёт пойдёт от текущей даты окончания, а не с нуля. **Число открытий.** Считаются устройства, а не просмотры: телефон и ноутбук клиента — два открытия. Поставили три — доступ получил клиент, его муж и, скажем, мама. Четвёртый уже не войдёт. Счётчик обнуляется в один клик, если клиент сменил телефон. ## Когда клиентов много Если вы отдаёте съёмки постоянно и хотите видеть поимённо, кто заходил, есть второй режим — **код на почту**. Клиент вводит свой адрес, получает код письмом и входит; общего пароля, который можно переслать, просто нет. В журнале видно, кто и когда открывал галерею и со скольких устройств. ## Сколько это стоит Пароль на сайт — с [тарифа «Старт»](/pricing/), код на почту — с «Профи». Один аккаунт покрывает все ваши галереи: закрытые сайты считаются в лимитах так же, как обычные, отдельной платы за каждый замок нет. Подробнее: [закрытый доступ к сайту](/zakrytyy-dostup/) и [хостинг клиентской галереи](/hosting/klientskaya-galereya/). --- ## Показать макет клиенту по закрытой ссылке URL: https://tuqo.ru/guides/pokazat-maket-klientu-po-ssylke/ · Дата: 2026-08-19 Демо на согласовании — неудобный жанр. Показывать надо на боевом адресе, чтобы клиент видел настоящие ссылки и поведение. Но пока работа не принята и не оплачена, отдавать её в открытый доступ рано: сайт найдут поиском, увидят конкуренты, а иногда и сам заказчик решит, что «всё уже готово, можно не платить». ## Что обычно делают и почему это плохо **Прячут за случайный адрес.** `demo-x7f2.example.com` — это не защита, а надежда. Ссылку пересылают, роботы находят её по ссылкам из чатов и почты, а от индексации случайный адрес не спасает. **Кладут `noindex` в метатег.** Помогает от поиска и совсем не помогает от человека, которому переслали ссылку. **Собирают на localhost и шлют скриншоты.** Клиент не может потыкать, а вы получаете правки в формате «а вот тут подвинь». ## Как закрыть демо по-нормальному Выложите сайт как обычно и на вкладке **«Видимость»** включите пароль. Дальше три вещи, которые делают этот сценарий рабочим. **Экран входа под вашу студию.** Заказчик, открывший ссылку, видит ваш логотип и понятный текст, а не системное окно браузера. Это выглядит как часть работы, а не как сбой. **Защищены все файлы.** Не только страницы, но и картинки, шрифты, PDF с презентацией. Прямая ссылка на макет у постороннего не откроется. **Срок доступа.** Ставите до конца согласования. Правки затянулись — продлеваете одним нажатием, и отсчёт идёт от текущей даты окончания, а не с сегодняшнего дня: кнопка «продлить» не может случайно сократить уже выданный доступ. ## После приёмки Работа принята — снимаете замок, и сайт становится публичным. Панель перед этим переспросит и перечислит, что именно изменится: пароль удаляется безвозвратно, срок и счётчик открытий сбрасываются, а логотип и тексты экрана входа сохраняются — они пригодятся на следующем проекте. Если заказчик пропал, а работа не оплачена, порядок обратный: сайт остаётся закрытым столько, сколько нужно. Закрытый сайт занимает место в тарифе так же, как открытый, — доплаты за «замок» нет. ## Когда демо смотрит команда заказчика Если ссылку получают пять человек с обеих сторон, удобнее второй режим — **код на почту**: доступ по списку адресов, в журнале видно, кто из согласующих вообще открывал макет. Часто это отвечает на вопрос «почему правки идут третью неделю». Подробнее: [закрытый доступ к сайту](/zakrytyy-dostup/) и [тарифы](/pricing/). --- ## Новое: публикация сайта без регистрации — Tuqo Drop URL: https://tuqo.ru/guides/publikaciya-sayta-bez-registracii/ · Дата: 2026-08-04 Мы запустили **Tuqo Drop** — самый быстрый способ оказаться в интернете: статический сайт публикуется **без регистрации, аккаунта и карты**. Это как Netlify Drop, только в России и с продолжением для нейросетей. ## Как это работает 1. Открываете [tuqo.ru/drop](/drop/), перетаскиваете папку с сайтом (`index.html` в корне) — и через минуту сайт живёт по ссылке вида `drop.tuqo.ru/drop-a1b2c3…/`. 2. Черновик — «примерочная»: он помечен служебной плашкой, закрыт от поисковиков и живёт **24 часа**. 3. Вместе с адресом сайта вы получаете **claim-ссылку** — по ней сайт за один клик переезжает в бесплатный аккаунт, получает постоянный адрес `имя.tuqo.ru` и перестаёт удаляться. Дальше на бесплатном тарифе доступны [формы приёма заявок](/forms/) и [автодеплой из Git](/git/), а [свой домен](/guides/privyazat-svoy-domen-k-statike/) — на платных тарифах. ## Нейросеть публикует сама Главная особенность Drop — он открыт и для ИИ-агентов. Если вы попросили Claude, ChatGPT или Cursor сделать сайт, агенту больше не нужно ждать, пока вы зарегистрируетесь и выдадите ключ: он публикует черновик одним REST-запросом `POST api.tuqo.ru/instant/deploy` и отдаёт вам обе ссылки. Перед публикацией агент обязан показать вам правила сервиса и получить согласие. Отправьте своему агенту ссылку [tuqo.ru/ai.md](/ai.md) — там готовая инструкция. ## Ограничения черновиков - только статика (HTML/CSS/JS/картинки/шрифты), до 100 файлов и 10 МБ; - ссылки в HTML — относительные (`href="style.css"`, не `href="/style.css"`); - контент — в рамках законодательства РФ; черновики с жалобами удаляются; - 24 часа жизни — дальше либо забор в аккаунт, либо автоудаление. Попробуйте: [tuqo.ru/drop](/drop/) — от папки до ссылки меньше минуты. --- ## Автодеплой статического сайта из Git: push → публикация URL: https://tuqo.ru/guides/avtodeploy-statiki-iz-git/ · Дата: 2026-06-21 **Автодеплой из Git** (continuous deployment) — это когда сайт публикуется сам при каждом `git push`. Вы пишете код, коммитите, пушите — а хостинг забирает свежую версию из репозитория, собирает её и выкладывает по HTTPS. Никаких ручных загрузок архивов и кнопок «опубликовать». ## Как это работает 1. Вы один раз подключаете git-сервис к проекту и привязываете репозиторий к сайту. 2. Tuqo автоматически создаёт **вебхук** в репозитории — это «звоночек», которым git-сервис сообщает о новом push. 3. При push в боевую ветку Tuqo получает вебхук, клонирует репозиторий, собирает сайт в изолированной песочнице и публикует новую версию. Прошлая версия остаётся — откат в один клик. ## Какие git-сервисы поддерживаются - **GitHub** и **GitFlic** — подключение через аккаунт (OAuth), вход в один клик. - **GitVerse**, **GitLab**, **Gitea** — по токену доступа (Personal Access Token). GitLab и Gitea работают и в self-hosted варианте — укажите URL своего инстанса. Подключение сохраняется **на уровне проекта**: авторизовались один раз — и используете сервис в любом сайте проекта, не вводя токен заново. ## Настройка за три шага 1. Откройте сайт в панели → вкладка **«Git CD»**. 2. Выберите способ подключения (плитки сверху). Для GitHub/GitFlic нажмите «Войти через…», для GitVerse/GitLab/Gitea вставьте токен доступа. 3. Выберите репозиторий из списка и ветку (`main` или `master`) → **«Привязать»**. Вебхук создаётся сам, автодеплой включается автоматически. Готово: следующий `git push` в эту ветку опубликует сайт. Рядом есть переключатель **«Автодеплой по push»** (можно временно выключить) и кнопка **«Задеплоить сейчас»** для ручного запуска. ## Сборка: что происходит под капотом - Если в репозитории есть `package.json`, Tuqo соберёт проект на **Node 20** (`npm ci && npm run build`) и возьмёт артефакт из `dist/`, `build/` или `out/` — подходят Vite, React, Vue, Astro, SvelteKit (static), Next.js (export) и другие. - Если `package.json` нет — это чистая статика, и сайт публикуется **как есть** (нужен `index.html` в корне). Хостинг **только статический**: серверный код (PHP, Node-сервер, SSR) не выполняется — публикуется готовая статика. ## Чем это удобнее ручной загрузки - Не нужно собирать и архивировать вручную — пушите как обычно. - Деплой привязан к истории git: всегда видно, какой коммит сейчас в проде. - Откат на прошлую версию — один клик в истории деплоев. [Подключить репозиторий →](https://app.tuqo.ru) · [Деплой из GitVerse →](/guides/deploy-iz-gitverse/) · [CI/CD без GitHub Actions →](/guides/ci-cd-dlya-statiki-bez-github-actions/) --- ## Бесплатный хостинг статики и домен .ru: как это устроено URL: https://tuqo.ru/guides/besplatnyy-hosting-s-domenom-ru/ · Дата: 2026-06-21 Чтобы выложить статический сайт в рунете, не обязательно платить с первого дня. Разделим два разных вопроса, которые часто смешивают: **публикация** и **свой домен**. Публикация на Tuqo бесплатна: сайт открывается на поддомене `name.tuqo.ru` по HTTPS сразу. **Свой домен `.ru` подключается на платных тарифах** — от 590 ₽/мес. SSL при этом бесплатный везде, и на поддомене, и на вашем домене: за сертификат отдельно платить не нужно никогда. ## Что даёт бесплатный тариф - Поддомен `name.tuqo.ru` с HTTPS сразу после публикации, без настройки сертификатов. - 3 сайта, 150 МБ памяти, форма приёма заявок (10 обращений в месяц). - Условие тарифа: на страницах показывается небольшой бейдж «Работает на Tuqo». Этого достаточно, чтобы показать лендинг, портфолио или визитку и проверить, подходит ли вам платформа. ## Когда понадобится свой домен Поддомен хорош для старта, но у бизнеса адрес обычно свой. Подключение кастомного домена входит в тариф «Старт» (590 ₽/мес) и старше — там же снимается бейдж со страниц, а лимиты растут до 10 сайтов и 1 ГБ. Сравнение тарифов — на странице [Тарифы](/pricing/). Порядок подключения: 1. Зарегистрируйте домен `.ru` у любого регистратора (REG.RU, Timeweb, Beget и т. п.). 2. Перейдите на платный тариф и добавьте [кастомный домен](/guides/privyazat-svoy-domen-k-statike/) в настройках сайта. 3. Создайте у регистратора A-запись на адрес из панели и TXT-запись `_tuqo-verify` для подтверждения владения. После проверки **SSL выпустится автоматически** и будет продлеваться сам. ## Инфраструктура в РФ Раздача и хранение — в российском периметре, оплата в рублях картами РФ, без зарубежного биллинга. Сайт открывается без VPN. ## Коротко | | Бесплатный | От «Старта» | |---|---|---| | Публикация и поддомен `name.tuqo.ru` | да | да | | Бесплатный SSL | да | да | | Свой домен `.ru` | — | да | | Бейдж «Работает на Tuqo» | показывается | нет | [Опубликовать бесплатно →](https://app.tuqo.ru) --- ## CI/CD для статики без GitHub Actions и раннеров URL: https://tuqo.ru/guides/ci-cd-dlya-statiki-bez-github-actions/ · Дата: 2026-06-21 Чтобы публиковать статический сайт при каждом коммите, часто заводят **GitHub Actions**: пишут `.yml`-пайплайн, настраивают шаги сборки, секреты, иногда свой раннер. Для обычной статики это избыточно. Tuqo даёт тот же результат — **push → сайт в проде** — без YAML и раннеров. ## В чём разница | | GitHub Actions + хостинг | Tuqo Git CD | |---|---|---| | Конфиг | `.yml`-пайплайн руками | ничего — привязка в панели | | Сборка | свои шаги/раннеры | авто: Node 20, `npm ci && npm run build` | | Секреты деплоя | настраивать вручную | не нужны | | Вебхук | — | создаётся автоматически | | Откат | вручную | в один клик | ## Как настроить 1. Сайт в панели Tuqo → вкладка **«Git CD»**. 2. Подключите git-сервис: **GitHub** или **GitFlic** — через аккаунт; **GitVerse**, **GitLab**, **Gitea** — по токену доступа (для self-hosted GitLab/Gitea укажите URL инстанса). 3. Выберите репозиторий и боевую ветку → **«Привязать»**. Вебхук создаётся сам. Дальше всё как обычно: `git push` в боевую ветку — и свежая версия публикуется автоматически. ## Что со сборкой Tuqo определяет тип проекта сам: - есть `package.json` → сборка на **Node 20**, артефакт из `dist/`, `build/` или `out/` (Vite, React, Vue, Astro, SvelteKit static, Next.js export и др.); - нет `package.json` → публикуется как есть (нужен `index.html` в корне). Сборка идёт в изолированной песочнице с лимитами по времени и памяти. Хостинг **только статический** — серверный код (SSR, PHP, Node-сервер) не выполняется. ## Когда всё же нужен GitHub Actions Если нужны кастомные шаги (тесты, линтеры, генерация контента из внешних API на этапе сборки, нестандартный рантайм) — Actions гибче. Но для «собрать фронтенд и выложить статику» Git CD в Tuqo закрывает задачу без пайплайна. [Привязать репозиторий →](https://app.tuqo.ru) · [Автодеплой из Git — общий гайд →](/guides/avtodeploy-statiki-iz-git/) --- ## Деплой сайта через Claude, ChatGPT и Cursor URL: https://tuqo.ru/guides/deploy-cherez-claude-chatgpt-cursor/ · Дата: 2026-06-21 С [MCP](/guides/chto-takoe-mcp-deploy-iz-nejroseti/) нейросеть может публиковать сайты сама: вы пишете задачу на естественном языке, а агент вызывает инструменты Tuqo — создаёт сайт, деплоит, привязывает домен. ## Подключение - **Claude.ai и ChatGPT (веб-чаты)** — по **OAuth**: добавьте коннектор по адресу `https://mcp.tuqo.ru/mcp`, вход и выбор проекта пройдут на стороне Tuqo, ключ вставлять не нужно. - **Cursor, Claude Code, Windsurf, Cline, Continue, Zed, Gemini CLI и др.** — по **ключу проекта** `tqk_…` из панели: в настройках MCP укажите URL `https://mcp.tuqo.ru/mcp` и заголовок `Authorization: Bearer tqk_…`. Пошаговые инструкции под каждый клиент — на странице [Подключить ИИ](/connect/). ## Как деплоить Просто попросите модель, например: > «Создай сайт `my-landing`, выложи туда этот HTML и привяжи домен example.com» Агент вызовет нужные инструменты (`create_site`, `deploy_files`, `set_custom_domain` и др.) и вернёт ссылку. Всего доступно 50 инструментов: сайты, деплои, домены, откаты и чтение заявок с форм. ## Что важно - Для статики, которую генерирует сама модель, лучший путь — `deploy_files` (файлы как есть, публикация мгновенная, без расхода build-минут). - Сборочные проекты (есть `package.json`) деплоятся через `deploy_site` — Tuqo соберёт на Node 20. - Тяжёлые медиа-сайты из браузерного чата собрать нельзя — для них используйте CLI (`npx @tuqo/cli deploy ./dist`) в Claude Code/Cursor. - Хостинг только статический: серверный код не выполняется. [Подключить нейросеть →](/connect/) · [Документация MCP →](/mcp/) · [Что такое MCP →](/guides/chto-takoe-mcp-deploy-iz-nejroseti/) --- ## Деплой сайта из GitFlic: автопубликация по push URL: https://tuqo.ru/guides/deploy-iz-gitflic/ · Дата: 2026-06-21 **GitFlic** — российский git-сервис. Проект из GitFlic можно публиковать на Tuqo автоматически: подключаете аккаунт, выбираете репозиторий — и при каждом `git push` сайт пересобирается и выкладывается по HTTPS. ## Настройка 1. В панели Tuqo откройте сайт → вкладка **«Git CD»**. 2. Выберите плитку **GitFlic** → **«Войти через GitFlic»**. Откроется страница авторизации GitFlic, подтвердите доступ — вернётесь в панель. Авторизация нужна один раз на проект. 3. Выберите проект (репозиторий) и боевую ветку → **«Привязать»**. Вебхук создаётся автоматически (события обновления веток), автодеплой включается сразу. ## Сборка - С `package.json` — сборка на Node 20 (`npm ci && npm run build`), артефакт из `dist/`, `build/` или `out/`. - Без `package.json` — чистая статика публикуется как есть (`index.html` в корне). Хостинг только статический: серверный код не выполняется. ## После push `git push` в привязанную ветку публикует новую версию на `name.tuqo.ru` или вашем домене с бесплатным SSL. Откат на прошлую версию — в один клик; ручной запуск — кнопкой **«Задеплоить сейчас»**. [Подключить GitFlic →](https://app.tuqo.ru) · [Автодеплой из Git — общий гайд →](/guides/avtodeploy-statiki-iz-git/) · [Деплой из GitVerse →](/guides/deploy-iz-gitverse/) --- ## Деплой сайта из GitVerse: автопубликация по push URL: https://tuqo.ru/guides/deploy-iz-gitverse/ · Дата: 2026-06-21 **GitVerse** — российский git-сервис от СберТеха. Если код лежит в GitVerse, его можно публиковать на Tuqo автоматически: при каждом `git push` сайт пересобирается и выкладывается по HTTPS — по сути аналог GitHub Pages, но с оплатой в рублях и без зарубежной инфраструктуры. ## Что понадобится - Репозиторий в GitVerse со статическим сайтом или фронтенд-проектом. - **Токен доступа** GitVerse: *Настройки → Токены доступа*. ## Настройка 1. В панели Tuqo откройте сайт → вкладка **«Git CD»**. 2. Выберите плитку **GitVerse** → вставьте токен доступа → **«Подключить»**. Токен сохранится на уровне проекта (для всех сайтов). 3. Выберите репозиторий и боевую ветку (`main` или `master`) → **«Привязать»**. Tuqo сам создаст вебхук в репозитории, и автодеплой включится. GitVerse построен на Gitea, поэтому секрет вебхука передаётся в заголовке `Authorization` — Tuqo настраивает это автоматически, вручную ничего вписывать не нужно. ## Сборка - Есть `package.json` → сборка на Node 20 (`npm ci && npm run build`), артефакт из `dist/`, `build/` или `out/` (Vite, React, Vue, Astro и др.). - Нет `package.json` → чистая статика публикуется как есть (нужен `index.html` в корне). ## После push Любой `git push` в привязанную ветку публикует новую версию сайта на `name.tuqo.ru` (или вашем домене) с бесплатным SSL. Прошлые версии сохраняются — откат в один клик. Есть и ручной запуск кнопкой **«Задеплоить сейчас»**. [Подключить GitVerse →](https://app.tuqo.ru) · [Автодеплой из Git — общий гайд →](/guides/avtodeploy-statiki-iz-git/) · [Деплой из GitFlic →](/guides/deploy-iz-gitflic/) --- ## Как перенести сайт с Vercel или Netlify на Tuqo URL: https://tuqo.ru/guides/perenos-s-vercel-netlify-na-tuqo/ · Дата: 2026-06-21 Vercel и Netlify — отличные платформы, но оплата в валюте, а для пользователей из России бывает неудобен биллинг и доступность. Если у вас **статический сайт или фронтенд-сборка** (Vite, React, Vue, Astro, SvelteKit static, Next.js export) — перенос на Tuqo занимает несколько минут. ## Вариант 1. Автодеплой из Git (рекомендуется) Тот же репозиторий, что и на Vercel/Netlify: 1. Сайт в панели Tuqo → вкладка **«Git CD»**. 2. Подключите git-сервис (GitHub/GitFlic — через аккаунт; GitVerse/GitLab/Gitea — по токену). 3. Выберите репозиторий и ветку → **«Привязать»**. Дальше каждый `git push` публикует сайт автоматически — как на Vercel/Netlify, но без их конфигов. Сборка идёт на Node 20 (`npm ci` или `npm install` — по наличию lock-файла, затем `npm run build`), артефакт берётся из `dist`, `build`, `out`, `_site`, `public` и других привычных каталогов вывода. Подробнее — [Автодеплой из Git](/guides/avtodeploy-statiki-iz-git/). ## Вариант 2. Залить готовую сборку Если не хотите подключать Git — соберите локально и загрузите папку `dist`: `npx @tuqo/cli deploy ./dist`, через панель или [нейросеть по MCP](/mcp/). ## Важно: только статика Tuqo раздаёт **статику**. Серверные части не переносятся: - **Serverless / Edge Functions** (Vercel/Netlify Functions) — не выполняются. Вынесите логику в сторонние API или клиентские вызовы. - **Next.js** — используйте статический экспорт (`output: 'export'`); SSR/ISR не поддерживаются. - **Redirects/headers** из `vercel.json`/`netlify.toml` не применяются; чистые URL и директории Tuqo резолвит сам, кастомная 404 — через файл `404.html`. ## Домен и SSL Привяжите [свой домен](/guides/privyazat-svoy-domen-k-statike/) (на платных тарифах) — бесплатный SSL автоматически. Переключите DNS с Vercel/Netlify на Tuqo. ## Что вы получаете - Оплата в рублях, инфраструктура в РФ-периметре. - Автодеплой из Git по push, бесплатный SSL, откат версий. - Управление из нейросети по MCP и формы для заявок без бэкенда. [Подключить репозиторий →](https://app.tuqo.ru) · [Сравнение с Vercel →](/vs/vercel/) · [с Netlify →](/vs/netlify/) --- ## Как перенести сайт с Tilda на Tuqo URL: https://tuqo.ru/guides/perenos-sayta-s-tilda-na-tuqo/ · Дата: 2026-06-21 Tilda — удобный конструктор, но сайт живёт на их инфраструктуре с абонентской платой, а кастомизация и перенос ограничены. Если вёрстка готова, её можно выгрузить как статику и разместить на Tuqo: бесплатный SSL, оплата в рублях, свой домен на платных тарифах. ## Шаг 1. Экспорт из Tilda На платном тарифе Tilda есть **экспорт** (Настройки сайта → Экспорт): выгружаются HTML-страницы, CSS, JS и картинки одним архивом. Если экспорта нет — можно сохранить опубликованные страницы, но чище всего именно экспорт. ## Шаг 2. Подготовка - Убедитесь, что в корне есть `index.html` (главная). - Проверьте, что пути к ассетам относительные/корректные. - Учтите: **серверные функции Tilda не переносятся** — формы Tilda, корзина и приём оплат работают на их бэкенде. На Tuqo хостинг статический, поэтому формы замените на [формы Tuqo](/forms/), а оплату — на сторонние платёжные виджеты/ссылки. ## Шаг 3. Деплой на Tuqo Любым способом: - **Панель:** загрузите папку/архив — сайт публикуется на `name.tuqo.ru` сразу. - **CLI:** `npx @tuqo/cli deploy ./site` (удобно для папок с медиа). - **Нейросеть:** через [MCP](/mcp/) — «задеплой эту папку». ## Шаг 4. Свой домен и SSL Привяжите [кастомный домен](/guides/privyazat-svoy-domen-k-statike/) — это доступно на платных тарифах, бесплатный SSL выпустится автоматически. Если домен был на Tilda, переключите DNS на Tuqo. ## Что вы получаете - Нет абонентской платы за хостинг конструктора, оплата в рублях. - Полный контроль над статикой и скоростью (CDN-раздача, бесплатный SSL). - Формы для заявок без бэкенда и деплой из Git/нейросети. [Загрузить сайт →](https://app.tuqo.ru) · [Подключить домен →](/guides/privyazat-svoy-domen-k-statike/) · [Сравнение Tuqo и Tilda →](/vs/) --- ## Бесплатный хостинг статических сайтов: как и где разместить URL: https://tuqo.ru/guides/besplatnyy-hosting-staticheskih-saytov/ · Дата: 2026-06-12 Статический сайт — это набор готовых файлов: `index.html`, CSS, JavaScript, картинки и шрифты. Их не нужно генерировать на сервере при каждом запросе, поэтому для статики не нужен дорогой хостинг с PHP, базой данных и постоянно работающим процессом. Достаточно сервиса, который раздаёт файлы по HTTPS — это и есть **статический хостинг**. ## Чем статический хостинг отличается от обычного | | Обычный хостинг | Статический хостинг | |---|---|---| | Что выполняется | PHP/Node на сервере | ничего — отдаются готовые файлы | | Скорость | зависит от кода и нагрузки | очень быстро, файлы раздаются с CDN | | Нагрузка | сервер может «лечь» | держит всплески трафика | | Цена | выше | часто бесплатно для старта | Если у вас лендинг, портфолио, документация, блог-генератор или SPA на React/Vue — это статика, и ей идеально подходит статический хостинг. ## Что должно быть в бесплатном статическом хостинге - **Бесплатный SSL (HTTPS)** — без него браузеры помечают сайт небезопасным. - **Поддомен сразу** — чтобы опубликовать без покупки домена. - **Свой домен** — возможность привязать собственный адрес (на Tuqo — на платных тарифах). - **Откат версий** — вернуться к прошлой сборке, если что-то сломалось. ## Как бесплатно разместить статический сайт на Tuqo На бесплатном тарифе Tuqo есть всё, кроме своего домена: он подключается с тарифа «Старт» (590 ₽/мес). Порядок такой: 1. Подготовьте файлы сайта так, чтобы `index.html` был в корне. 2. Перетащите папку с сайтом в панель Tuqo — это самый короткий путь, архив собирать не нужно. 3. Привычнее архивом? Подойдёт `tar.gz` или `zip` — главное, чтобы `index.html` лежал в корне архива, а не во вложенной папке: ```bash tar -czf site.tar.gz -C ./site . ``` 4. Загрузите через панель, CLI или нейросеть. Если в наборе нет `package.json` — Tuqo опубликует файлы как есть, без сборки. Если это проект на фреймворке — соберёт сам на Node 20. Сайт сразу откроется на поддомене `name.tuqo.ru` с бесплатным HTTPS. Когда понадобится свой адрес, [привяжите домен](/guides/privyazat-svoy-domen-k-statike/) — это доступно на платных тарифах, сертификат выпустится автоматически. ## Сколько это стоит Бесплатного тарифа достаточно, чтобы опубликовать статический сайт с SSL, поддоменом и формой приёма заявок (10 заявок в месяц). Условие бесплатного тарифа — небольшой бейдж «Работает на Tuqo» в углу страниц; на любом платном тарифе его нет. Платные нужны для большего объёма, нескольких сайтов, своих доменов и премиум-функций вроде коротких поддоменов — подробности на [странице тарифов](/pricing/). ## Что дальше - [Как разместить HTML-сайт в интернете](/guides/kak-razmestit-html-sayt-v-internete/) - [Деплой для вашего стека](/deploy/) — React, Vue, Vite, Astro и другие - [Хостинг под задачу](/hosting/) — лендинг, портфолио, документация --- ## Что такое деплой простыми словами URL: https://tuqo.ru/guides/chto-takoe-deploy/ · Дата: 2026-06-12 **Деплой** (от англ. *deploy* — «развёртывать») — это публикация сайта или приложения на сервере, после которой его можно открыть в интернете по ссылке. Пока проект лежит у вас на компьютере, его видите только вы. После деплоя он становится доступен всем по адресу вроде `https://name.tuqo.ru`. ## Сборка и деплой — это не одно и то же Часто путают два этапа: - **Сборка (build)** — превращение исходного кода в готовые файлы. Например, `npm run build` собирает React-проект в папку `dist/` с оптимизированными HTML, CSS и JS. - **Деплой (deploy)** — загрузка этих готовых файлов на хостинг и публикация по адресу с HTTPS. Для чистого сайта на HTML/CSS/JS сборка не нужна — сразу идёт деплой. Для проектов на фреймворках сначала сборка, потом деплой. На Tuqo оба шага можно доверить платформе: загружаете исходники — она [собирает и публикует сама](/guides/kak-zadeploit-vite-proekt/). ## Как происходит деплой статического сайта 1. Готовые файлы (или исходники) упаковываются в архив и отправляются на хостинг. 2. Хостинг при необходимости собирает проект и раскладывает файлы. 3. Файлы раздаются по HTTPS — обычно через CDN, чтобы сайт быстро открывался везде. 4. Появляется адрес, по которому сайт доступен; на платных тарифах можно привязать свой домен. ## Что такое «откат» деплоя Каждый деплой — это отдельная версия сайта. Если новая версия сломалась, хороший хостинг позволяет **откатиться** — за секунду вернуть предыдущую рабочую сборку без пересборки. На Tuqo откат делается в один клик. ## Деплой за секунды на Tuqo На Tuqo деплой статики занимает секунды: ```bash # деплой через REST API (или из панели / нейросети через MCP) curl -X POST https://api.tuqo.ru/api/v1/sites/$SITE/deploys \ -H "Authorization: Bearer tqk_xxx_yyy" \ -H "Content-Type: application/gzip" \ --data-binary @site.tar.gz ``` Командная строка не обязательна: в панели папку с сайтом можно просто перетащить, а вместо `tar.gz` подойдёт и `zip` — формат архива Tuqo определяет сам. Сразу после этого сайт открывается по HTTPS с бесплатным SSL. ## Что дальше - [Бесплатный хостинг статических сайтов](/guides/besplatnyy-hosting-staticheskih-saytov/) - [Деплой для вашего стека](/deploy/) — пошагово для React, Vue, Vite, Astro - [Что такое MCP: деплой из нейросети](/guides/chto-takoe-mcp-deploy-iz-nejroseti/) --- ## Как разместить HTML-сайт в интернете URL: https://tuqo.ru/guides/kak-razmestit-html-sayt-v-internete/ · Дата: 2026-06-12 Если у вас есть папка с `index.html`, стилями и скриптами — этого достаточно, чтобы выложить сайт в интернет. Никакой сборки, Node или сервера не нужно: статический хостинг просто раздаёт ваши файлы по HTTPS. Покажем, как сделать это на **Tuqo** за пару минут. ## Шаг 1. Проверьте структуру файлов Главная страница должна называться `index.html` и лежать в корне папки сайта: ``` site/ ├── index.html ├── style.css ├── script.js └── images/ └── logo.png ``` Откройте `index.html` в браузере локально — если страница выглядит правильно, значит всё готово к публикации. ## Шаг 2. Загрузите на Tuqo Создайте сайт в панели и просто **перетащите папку** с сайтом в зону загрузки — файлы уйдут как есть, ничего паковать не нужно. Поскольку в папке нет `package.json`, Tuqo поймёт, что это готовая статика, и опубликует файлы без сборки. Привычнее архивом? Подойдёт `tar.gz` или `zip` (до 50 МБ), главное — `index.html` в корне архива: ```bash # из папки сайта — пакуем содержимое tar -czf site.tar.gz -C ./site . ``` Ещё варианты: CLI (`npx @tuqo/cli deploy ./site`) или деплой из нейросети через MCP. Сразу после загрузки сайт открывается по адресу `https://name.tuqo.ru` с бесплатным HTTPS. ## Шаг 3. Подключите свой домен (необязательно, на платных тарифах) Хотите адрес вида `ваш-домен.ru` вместо поддомена? Привязка своего домена доступна на платных тарифах, с «Старта». SSL выпустится и будет продлеваться автоматически. Подробно — в гайде [как привязать свой домен](/guides/privyazat-svoy-domen-k-statike/). ## Частые вопросы **Нужно ли платить?** Нет, бесплатного тарифа достаточно для HTML-сайта с SSL и поддоменом. **Почему не открывается главная?** Скорее всего `index.html` оказался во вложенной папке внутри архива. Упакуйте содержимое папки, а не саму папку. **Будет ли работать JavaScript?** Да, любой клиентский JS работает как обычно. Серверного кода (PHP, Node) на статическом хостинге нет. ## Что дальше - [Деплой HTML, CSS, JS сайта](/deploy/html/) — отдельная страница со всеми деталями - [Бесплатный хостинг статических сайтов](/guides/besplatnyy-hosting-staticheskih-saytov/) - [Хостинг лендинга](/hosting/landing/) и [сайта-визитки](/hosting/vizitka/) --- ## Как задеплоить Vite-проект за 2 минуты URL: https://tuqo.ru/guides/kak-zadeploit-vite-proekt/ · Дата: 2026-06-12 Vite — один из самых популярных сборщиков для фронтенда. После `npm run build` он кладёт готовый сайт в каталог `dist/`. Осталось разместить его онлайн с HTTPS. Покажем, как сделать это на **Tuqo** за пару минут. ## Шаг 1. Подготовьте проект Убедитесь, что проект собирается локально и в нём есть `package-lock.json` (нужен для воспроизводимой установки зависимостей): ```bash npm ci npm run build # появится каталог dist/ ``` ## Шаг 2. Загрузите на Tuqo Есть два пути: - **Готовый `dist/`** — перетащите каталог в панель либо упакуйте его в `tar.gz` или `zip`. Если в наборе есть `index.html` и нет `package.json`, Tuqo опубликует файлы как есть. - **Исходники** — загрузите проект целиком. Tuqo сам выполнит сборку на Node 20 в изолированной песочнице (`npm ci` при наличии lock-файла, иначе `npm install`) и возьмёт артефакт из `dist/`. Загрузить можно из панели, по REST API или даже из нейросети через MCP. ## Шаг 3. Готово — сайт в сети Сразу после публикации сайт доступен на поддомене `name.tuqo.ru` по HTTPS — **бесплатный SSL** выпускается и продлевается автоматически. Можно привязать свой домен и откатиться на прошлую версию в один клик. ## Частые вопросы **Куда Vite собирает проект?** По умолчанию в `dist/` — Tuqo берёт артефакт оттуда. **Работает ли клиентский роутинг (SPA)?** Да, есть фолбэк на `index.html`. **Нужен ли сервер?** Нет, статический сайт раздаётся без сервера. [Задеплоить Vite-проект бесплатно →](https://app.tuqo.ru) --- ## Ошибка 404 при обновлении страницы в SPA (React Router, Vue Router) URL: https://tuqo.ru/guides/oshibka-404-na-spa-pri-obnovlenii/ · Дата: 2026-06-12 Типичная ситуация: SPA на React или Vue работает, переходы между страницами идут гладко, но стоит **обновить** внутреннюю страницу (например, `/about`) — браузер показывает **404**. Разберёмся, почему так и как это чинится. ## Почему появляется 404 В одностраничном приложении (SPA) маршрутизацию делает JavaScript в браузере, а не сервер. Реально на хостинге лежит только один `index.html`. Когда вы переходите по ссылке внутри приложения, React Router или Vue Router подменяет адрес в строке, **не обращаясь к серверу**. Но когда вы **перезагружаете** `/about`, браузер запрашивает у сервера файл по этому пути. Такого файла нет — есть только `index.html` — поэтому сервер отвечает 404. ## Решение: фолбэк на index.html Нужно, чтобы сервер на любой неизвестный путь отдавал `index.html`, а дальше роутер сам покажет нужную страницу. Это называется **SPA-фолбэк**. На обычном хостинге это настраивается вручную (в nginx — `try_files $uri /index.html`, на Apache — через `.htaccess`). ## На Tuqo это работает из коробки Если в вашей сборке есть `index.html` и клиентская маршрутизация — Tuqo автоматически отдаёт `index.html` на внутренние маршруты. Никакой настройки не нужно: задеплоили SPA — и перезагрузка `/about` работает корректно. ```bash npm run build # появится dist/ или build/ с index.html tar -czf site.tar.gz -C dist . # деплой — фолбэк на index.html включится сам ``` ## Когда нужен настоящий 404 Если у вас многостраничный статический сайт (не SPA), где каждая страница — отдельный файл, фолбэк на `index.html` не нужен: несуществующий адрес должен честно отдавать 404. Tuqo различает эти случаи по структуре сборки. ## Что дальше - [Деплой React-приложения](/deploy/react/) и [Vue](/deploy/vue/) - [Что такое деплой простыми словами](/guides/chto-takoe-deploy/) - [Деплой Vite-проекта за 2 минуты](/guides/kak-zadeploit-vite-proekt/) --- ## Как получить бесплатный SSL для сайта URL: https://tuqo.ru/guides/besplatnyy-ssl-dlya-sajta/ · Дата: 2026-06-11 HTTPS — это зашифрованное соединение между браузером и сайтом. Без него браузеры показывают «Не защищено», а поисковики понижают сайт в выдаче. Хорошая новость: **SSL-сертификат можно получить бесплатно** и не думать о продлении. ## Зачем нужен HTTPS - **Доверие**: посетители видят замок, а не предупреждение. - **SEO**: HTTPS — фактор ранжирования в Яндексе и Google. - **Безопасность**: данные форм и куки шифруются. ## Как получить бесплатный SSL Раньше для этого нужно было вручную возиться с Let's Encrypt, certbot и cron для продления. Сегодня современные платформы делают это **автоматически**. На **Tuqo** SSL включается сам — для каждого сайта: - **для платформенного поддомена** `name.tuqo.ru`; - **для ваших кастомных доменов** после подтверждения владения. Сертификаты выпускаются и **продлеваются автоматически** — вам не нужно ничего настраивать, платить или помнить про сроки. ## Как привязать свой домен с HTTPS Сам сертификат бесплатный на всех тарифах, но **подключение своего домена доступно на платных** — с тарифа «Старт». На бесплатном сайт работает по HTTPS на поддомене `name.tuqo.ru`. 1. Добавьте домен в панели и получите запись для подтверждения. 2. Пропишите A-запись на сервер и TXT-запись `_tuqo-verify` в DNS домена. 3. После проверки HTTPS включится автоматически. ## Итог Бесплатный SSL с авто-продлением — это норма, а не премиум-функция. На Tuqo он включён на всех тарифах, включая бесплатный. [Опубликовать сайт с бесплатным SSL →](https://app.tuqo.ru) --- ## Как привязать свой домен к статическому сайту URL: https://tuqo.ru/guides/privyazat-svoy-domen-k-statike/ · Дата: 2026-06-10 Поддомен вида `name.tuqo.ru` хорош для старта, но для бренда нужен свой домен — например `mysite.ru`. Разберём, как его подключить к статическому сайту и включить HTTPS. ## Что понадобится - Купленный домен и доступ к его DNS (в панели регистратора). - Опубликованный сайт на Tuqo. - **Платный тариф** — подключение своего домена доступно с тарифа «Старт» (590 ₽/мес). На бесплатном сайт работает на поддомене `name.tuqo.ru`; SSL бесплатный на всех тарифах. Сравнение — на странице [Тарифы](/pricing/). ## Шаг 1. Добавьте домен в панели На странице сайта откройте вкладку **Домены**, введите ваш домен и нажмите добавить. Tuqo покажет две записи, которые нужно создать в DNS. ## Шаг 2. Добавьте DNS-записи В панели вашего регистратора добавьте: - **A-запись** — направляет домен на сервер платформы (IP покажет панель). - **TXT-запись** `_tuqo-verify` — подтверждает, что домен ваш. ``` A mysite.ru → <IP сервера> TXT _tuqo-verify.mysite.ru → <токен из панели> ``` ## Шаг 3. Подтвердите и дождитесь HTTPS Нажмите «Протестировать привязку». DNS обновляется не мгновенно — обычно от нескольких минут до часа. После подтверждения **HTTPS включится автоматически**: бесплатный SSL-сертификат выпустится и будет продлеваться сам. ## Инструкция под вашего регистратора Записи одинаковые, но разделы в панелях называются по-разному: - [reg.ru](/guides/privyazat-domen-reg-ru/) - [Timeweb](/guides/privyazat-domen-timeweb/) - [Beget](/guides/privyazat-domen-beget/) - [Cloudflare](/guides/privyazat-domen-cloudflare/) — не забудьте выключить прокси - [Яндекс 360](/guides/privyazat-domen-yandex-360/) ## Частые проблемы - **«Запись не найдена»** — DNS ещё не распространился, подождите и повторите. - **«A-запись указывает не на наш сервер»** — домен подтверждён, но сайт по нему не откроется: проверка покажет, куда сейчас ведёт A-запись и какое значение прописать. Исправьте её у регистратора и нажмите «Перепроверить» на карточке домена. - **Сайт открывается без HTTPS** — сертификат выпускается после подтверждения владения; дайте пару минут. [Привязать свой домен →](https://app.tuqo.ru) --- ## Что такое MCP и как деплоить сайт из нейросети URL: https://tuqo.ru/guides/chto-takoe-mcp-deploy-iz-nejroseti/ · Дата: 2026-06-09 **MCP (Model Context Protocol)** — открытый протокол, который позволяет нейросетям безопасно подключаться к внешним сервисам и выполнять действия через набор инструментов. Проще говоря, это «розетка», в которую ИИ-агент включается и получает возможность что-то делать в реальном мире — например, **деплоить сайты**. ## Зачем это хостингу Обычно, чтобы опубликовать сайт, вы заходите в панель и нажимаете кнопки. С MCP это делает **нейросеть за вас**: вы пишете «собери и задеплой этот проект, привяжи домен example.com» — а агент сам вызывает нужные инструменты. ## Как это работает у Tuqo 1. Подключите Tuqo к своей модели. **Claude (claude.ai) и ChatGPT** — по **OAuth**: вставляете только адрес `https://mcp.tuqo.ru/mcp`, вход и выбор проекта проходят на стороне Tuqo, ключ вставлять не нужно. **CLI и IDE** (Claude Code, Cursor, Gemini CLI, Qwen, GigaChat) — по **ключу проекта** `tqk_…` из панели в заголовке `Authorization`: ```json { "mcpServers": { "tuqo": { "url": "https://mcp.tuqo.ru/mcp", "headers": { "Authorization": "Bearer tqk_xxx_yyy" } } } } ``` Пошаговые инструкции под каждую нейросеть — на странице [**Подключить ИИ**](/connect/). 2. Просто попросите модель — она вызовет инструменты: `create_site`, `deploy_files` (выложить статику файлами как есть), `deploy_site`, `set_custom_domain`, `activate_deploy` (сделать боевым/откатить), `get_form_submissions` (заявки с форм) и другие (всего 23). ## Что умеет агент - Создавать и удалять сайты - Деплоить из исходников и следить за статусом сборки - Привязывать и подтверждать домены - Откатываться на прошлые версии Всё, что доступно в панели — доступно агенту. А если нейросети нет под рукой, те же действия можно делать через **REST API**. [Подключить вашу нейросеть (Claude, ChatGPT, Cursor…) →](/connect/) · [Получить ключ →](https://app.tuqo.ru) · [Документация API и MCP →](/api/) # 6. Глоссарий (https://tuqo.ru/glossary/) - **Закрытый доступ к сайту** — Сайт опубликован по обычному адресу, но открывается только тем, у кого есть пропуск: пароль, код из письма или подтверждённая подписка на канал. Файлы остаются на месте — закрывается вход, а не публикация. Поисковики закрытый сайт не индексируют. - **Доступ по подписке на канал** — Режим закрытого доступа, при котором сайт открывается только подписчикам Telegram- или MAX-канала владельца: посетитель подтверждает подписку в боте и попадает внутрь. Паролей и списков нет — проверка и есть сама подписка, а материалы работают на рост канала. - **.htaccess и htpasswd** — Классический способ закрыть сайт паролем на своём сервере с Apache: список логинов лежит в файле htpasswd, правила — в .htaccess. На статическом хостинге этих файлов нет, поэтому защиту даёт сама платформа. - **Одноразовый код (OTP)** — Короткий код, который приходит на почту или в сообщение и действует несколько минут. Заменяет общий пароль: доступ привязан к конкретному адресу, а не к секрету, который можно переслать кому угодно. - **Предпросмотр сборки (preview)** — Новая версия сайта, собранная без публикации: она доступна по секретной ссылке, а боевой адрес всё это время показывает прежнюю рабочую версию. Нужна, чтобы показать правки заказчику или подтвердить работу нейросети до выкатки. Публикация — одной кнопкой, ссылку можно выключить. - **Деплой (deploy)** — Публикация сайта или приложения на сервере, после которой он становится доступен в интернете по ссылке. До деплоя проект виден только на вашем компьютере. - **Сборка (build)** — Превращение исходного кода в готовые файлы сайта. Например, команда npm run build собирает React-проект в каталог dist/ с оптимизированными HTML, CSS и JS. Для чистого HTML сборка не нужна. - **Статический сайт** — Сайт из готовых файлов (HTML, CSS, JS, картинки), которые не генерируются на сервере при каждом запросе, а просто раздаются. Быстрый, дешёвый в хостинге и устойчивый к нагрузке. - **SSG — статическая генерация** — Static Site Generation: подход, при котором страницы заранее собираются в готовый HTML на этапе сборки. Так работают Astro, Next.js (export), Hugo, Docusaurus. Результат — обычный статический сайт. - **SPA — одностраничное приложение** — Single Page Application: сайт, где маршрутизацию и обновление контента делает JavaScript в браузере без перезагрузки. На React и Vue это типичный случай; требует фолбэка на index.html. - **SSR — серверный рендеринг** — Server-Side Rendering: HTML страниц формируется на сервере при каждом запросе. Требует постоянно работающего процесса и не относится к статическому хостингу. Tuqo раздаёт статику, SSR не выполняет. - **CDN — сеть доставки контента** — Content Delivery Network: сеть серверов в разных точках, которая раздаёт файлы сайта с ближайшего к пользователю узла. Ускоряет загрузку и снимает нагрузку. Для статики CDN особенно эффективен. - **SSL / TLS (HTTPS)** — Шифрование соединения между браузером и сайтом. Без сертификата SSL браузеры помечают сайт небезопасным. На Tuqo бесплатный SSL выпускается и продлевается автоматически. - **Поддомен** — Адрес третьего уровня вида name.tuqo.ru. На Tuqo поддомен выдаётся сразу при создании сайта, чтобы опубликоваться без покупки домена. - **Кастомный домен** — Ваш собственный домен (например, ваш-сайт.ru), привязанный к сайту вместо поддомена. После привязки на нём автоматически выпускается бесплатный SSL. На Tuqo подключение кастомного домена доступно на платных тарифах, а на бесплатном — отдельной опцией «Свой домен»; без них сайт работает на поддомене. - **DNS** — Система, которая сопоставляет доменное имя с адресом сервера. Чтобы привязать домен к сайту, в DNS добавляют запись (A или CNAME), указывающую на хостинг. - **Артефакт сборки** — Готовый результат сборки проекта — каталог с файлами сайта (dist, build или out), который и публикуется на хостинге. - **Откат версии (rollback)** — Возврат к предыдущей версии сайта без пересборки. Каждый деплой — отдельная версия, поэтому при поломке можно за секунду откатиться на рабочую. На Tuqo — в один клик. - **Автоответ на заявку** — Письмо, которое автоматически уходит человеку сразу после отправки формы: подтверждение, инструкция или обещанный файл. На Tuqo настраивается без бэкенда: текст пишет владелец сайта, адрес берётся из поля email заявки. - **Лид-магнит** — Полезный материал (чек-лист, гайд, шаблон), который отдают в обмен на контакт: «оставьте почту — получите файл». Работает честно, только если файл нельзя скачать мимо формы — на Tuqo он выдаётся ссылкой из письма-автоответа, то есть только за настоящий адрес. - **MCP — Model Context Protocol** — Стандарт, по которому нейросеть подключается к внешним инструментам. Через MCP-сервер Tuqo ИИ может создавать проекты и деплоить сайты прямо из диалога. # 7. Что нового - 2026-09-07 — **Файлы для ИИ-агентов и карточка MCP-сервера.** На tuqo.ru появились SKILL.md (правила публикации для Claude Code, Cursor, Codex), prompt.md (подключение одной строкой), страница /ai/ (когда рекомендовать Tuqo), openapi.json для REST API, pricing.md и changelog.md, полная документация одним файлом llms-full.txt. На mcp.tuqo.ru — карточка сервера /.well-known/mcp.json со всеми инструментами. В instructions MCP добавлены правила общения агента с человеком. - 2026-09-07 — **Заявки в Telegram и MAX — на страницах форм и тарифов.** Страница интеграции переписана под встроенную доставку заявок в мессенджеры (профиль → «Мессенджеры» → «Связать», затем получатель в «Формах»); мессенджеры добавлены на /forms/ и /pricing/. Технические правки SEO: крошки на всех страницах, честный lastmod в sitemap, og:type=article у гайдов, robots.txt с явным разрешением для ИИ-краулеров. - 2026-09-06 — **«Что улучшить»: 14 проверок сайта при публикации.** При каждой публикации Tuqo проверяет файлы: утёкшие ключи и приватные ключи PEM, битые ссылки, localhost в ссылках, mixed content, noindex и Disallow от шаблона, viewport, картинки base64, форму без адреса отправки, шаблонный title, favicon и OG-теги. Результат — плашка в карточке сайта, отдельная страница-чеклист, переключатель в настройках и поле recommendations в ответах deploy_files, REST и get_site. - 2026-09-06 — **Диагностика домена: HTTPS-зонд и A-запись.** verify_domain и панель показывают реальный статус сертификата (ssl_status с причиной: выпускается, ошибка рукопожатия, нет сертификата) и куда сейчас указывает A-запись домена. Сертификат прогревается при первой публикации, чтобы первый заход не ждал выпуска. - 2026-09-06 — **Резервные копии во втором облаке.** Инкрементальное зеркало S3 и дампов базы копируется в независимое хранилище другого провайдера ключом без права удаления. Сайты и данные переживают потерю основного хранилища. - 2026-09-05 — **Регистрация посетителей и платный доступ.** Два новых режима закрытого доступа: «Регистрация» — посетители регистрируются сами по коду на почту с согласиями на ваши документы и модерацией входа; «Платный доступ» — продажа входа на сайт на вашем эквайринге (Т-Касса, ЮKassa) с 0 % комиссии Tuqo, витрина и чекаут на pay.tuqo.ru, места и окно продаж, генератор документов продавца. Вкладки «Участники / Платежи / Условия доступа / Настройки / Экран входа», фавикон экрана входа. - 2026-09-05 — **Перегенерация API-ключа без отзыва.** У действующего ключа появилась кнопка «Перегенерировать»: новый секрет с тем же именем и правами, старый перестаёт работать. Раньше приходилось создавать новый ключ и удалять старый. - 2026-09-05 — **Меню лендинга в колонки и мобильное меню-оверлей.** «Полезно» и «Документация» — мега-меню в три и четыре колонки; на телефоне меню открывается поверх страницы со своей прокруткой. - 2026-09-02 — **Юридика для сайтов с заявками и оплатой.** Опубликовано поручение на обработку персональных данных (DPA) для владельцев сайтов с формами и платным доступом, список субобработчиков, дополнения оферты и условий для посетителей; в пэйволе — реквизиты продавца в документах. - 2026-08-30 — **Аналитика посещений в панели.** Серверная статистика без cookie и скриптов на всех тарифах: просмотры и посетители («люди» и «все»), трафик, топы страниц, источников, скачиваний, ошибок 404 и устройств, заявки и публикации на графике, пресеты периодов до 365 дней, выгрузка CSV, уведомления о 80 и 100 % трафика тарифа. Для агентов — get_site_stats и GET /api/v1/sites/{id}/stats. - 2026-08-29 — **Автоответ: редактор письма, до трёх файлов, таблица заявок.** Письмо автоответа пишется в визуальном редакторе с разметкой и подстановками {{поле}} из заявки; на странице выдачи до трёх файлов с подписями; заявки — в режиме таблицы с поиском и бейджем автоответа. В поддержке появилась пометка «нет ответа» и правка ответов. - 2026-08-28 — **Автоответ на заявку и лид-магнит.** С тарифа «Старт» заявителю автоматически уходит письмо от имени владельца сайта — с текстом и обещанным файлом (чек-лист, гайд, прайс). Файл выдаётся ссылкой из письма, то есть только за настоящую почту. Настраивается в панели, через REST и MCP (set_autoreply, add_autoreply_file, set_autoreply_delivery). - 2026-08-22 — **Предпросмотр сборки до публикации.** Деплой с activate:false собирает версию без публикации: боевой адрес не меняется, а сборку можно показать по секретной ссылке и опубликовать позже (promote). В панели — переключатель и кнопки, в CLI — --no-activate, tuqo preview и tuqo promote, в MCP — get_preview_url и activate_deploy. Ненужную сборку теперь можно удалить. - 2026-08-20 — **Боты Telegram и MAX: уведомления, заявки, доступ для подписчиков.** Мессенджер привязывается в профиле; туда приходят уведомления аккаунта и заявки с форм. Новый режим доступа «Для подписчиков»: сайт открыт только подписчикам ваших Telegram- или MAX-каналов, подтверждение подписки — в боте прямо с экрана входа. - 2026-08-19 — **Платные опции к любому тарифу.** Свой домен, снятие бейджа, пароль на сайт, код на почту, подписчики, участники, платный доступ, пакеты сайтов и памяти — точечные добавки к любому тарифу, включая бесплатный. Раздел «Опции» в панели, страница «Тариф или опция?» на сайте. Полный список: https://tuqo.ru/changelog.md