• Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Блоки
      • Бинды data-op-bind
      • Повторитель onpress/repeat
      • Сборка и копии
      • Фреймы в Markdown
      • Фреймы с данными
      • Готовые фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
  • КЕЙСЫ
    • Создание сайтов
    • Работа с контентом
    • Фреймы и данные
    • Настройка сайта
    • Перевод страницы
  • ПРИЛОЖЕНИЯ
    • Приложения
      • Закрытый доступ
      • Данные приложения
      • Внешние данные
      • Демо
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
    • Фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
    • Редиректы
    • Кредиты и автоматизация
    • Входящие
    • Кросспостинг
OnPress OnPress
  • Документация
  • Контакты
Войти
Обзор Справочник API
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Блоки
      • Бинды data-op-bind
      • Повторитель onpress/repeat
      • Сборка и копии
      • Фреймы в Markdown
      • Фреймы с данными
      • Готовые фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
  • КЕЙСЫ
    • Создание сайтов
    • Работа с контентом
    • Фреймы и данные
    • Настройка сайта
    • Перевод страницы
  • ПРИЛОЖЕНИЯ
    • Приложения
      • Закрытый доступ
      • Данные приложения
      • Внешние данные
      • Демо
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
    • Фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
    • Редиректы
    • Кредиты и автоматизация
    • Входящие
    • Кросспостинг
Устройство сайта
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Настройки сайта

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

info

Во всех примерах API — https://onpress.pro/api/v2, SITE — id сайта (SITE_ID), OP_TOKEN — токен op_XXXX. Права на всех эндпоинтах страницы — администратор сайта. Как выбирается сайт и в какой форме приходят отказы — Доступ и токен.

GET /data/site.settings

Отдаёт настройки сайта одной записью в items. Например, прочитать название и главную:

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data/site.settings"
{
  "success": true,
  "site_id": "x9HTLHECq",
  "name": "site.settings",
  "origin": "system",
  "writable": true,
  "write": { "method": "PATCH", "at": "/data/site.settings", "…": "…" },
  "total": 1,
  "items": [{
    "name": "Test",
    "description": "",
    "home_url": "https://test.onpress.pro",
    "site_url": "https://test.onpress.pro",
    "admin_email": "admin@example.com",
    "timezone": "UTC-5",
    "date_format": "d.m.Y",
    "time_format": "H:i",
    "locale": "en_US",
    "charset": "UTF-8",
    "posts_per_page": 12,
    "blog_public": 1,
    "show_on_front": "page",
    "front_page_id": 5776,
    "posts_page_id": 0,
    "theme": "onpress-v2"
  }]
}
ПолеТипОписание
namestringназвание сайта
descriptionstringописание сайта; идёт в разметку WebSite
home_url, site_urlstringадрес сайта без косой черты на конце
admin_emailstringпочта администратора
timezonestringчасовой пояс: имя зоны или UTC+N
date_format, time_formatstringформаты даты и времени
localestringлокаль сайта
charsetstringкодировка
posts_per_pagenumberсколько элементов на странице списка
blog_publicnumber1 — сайт открыт поисковикам, 0 — закрыт
show_on_front, front_page_id, posts_page_idstring, numberчто открывается в корне: page и id страницы или posts
themestringтема сайта

Иконки в этой записи нет: её отдаёт GET /data/settings/icon.

PATCH /data/site.settings

Меняет только присланные поля, остальные остаются как были. Например, поменять описание сайта:

curl -s -X PATCH "$API/site/$SITE/data/site.settings" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"description": "Бесплатный ИИ-чат без регистрации"}'
ПолеТипПо умолчаниюОписание
namestring—название; принимается и blogname; пустая строка — отказ
descriptionstring—описание; принимается и blogdescription
blog_public0/1 или bool—открыт ли сайт поисковикам
site_iconint—id картинки медиатеки этого сайта; 0 снимает иконку
analyticsobject—ключи счётчиков как есть: ym_counter_id, ym_enabled, ym_counter_name, ga_measurement_id, ga_property_id, ga_property_name, ga_enabled, gsc_verification_token, gsc_site_url, gsc_verified, ywm_host_id, ywm_site_url, ywm_verification_token, ywm_verified, ywm_client_* (только чтение). Подключать счётчики проще полями metrika, ga, gsc и webmaster — см. Аналитика
{
  "success": true,
  "site_id": "x9HTLHECq",
  "changed": ["blogdescription"],
  "settings": { "blogname": "Test", "blogdescription": "Бесплатный ИИ-чат без регистрации", "blog_public": 1, "site_icon": 4827, "site_icon_url": "https://test.onpress.pro/…/icon.png", "analytics": { "…": "…" }, "domain": "test.onpress.pro", "show_on_front": "page", "page_on_front": 5776, "…": "…" },
  "cache": { "object": true, "supercache": { "status": "flushed" }, "…": "…" },
  "source": "site.settings",
  "rebaked": { "status": "ok", "total": 15, "baked": 15, "frames": ["…"] }
}

changed — записанные поля под их внутренними именами, settings — настройки после записи, cache — сброс кэшей, rebaked — пересборка фреймов, которые печатают название, иконку или адрес сайта. Проверки без записи у этого эндпоинта нет: dry_run — отказ.

КодСтатусКогдаЧто делать
nothing_to_change400в теле нет ни одного поляпришлите хотя бы одно поле
unknown_field400поле вне списка; допустимые — в messageуберите поле
field_belongs_elsewhere400поле только читается здесь: show_on_front, front_page_id, posts_page_id, locale, home_url, site_url, theme; куда идти — в fieldsглавная — PUT /data/site.front_page, язык — PATCH /data/site.languages, адрес — POST /sites/{id}/domain или свой домен POST /sites/{id}/custom-domain; тема через API не меняется
invalid_blogname, invalid_blogdescription400не строка или пустое названиепришлите непустую строку
invalid_site_icon400не целое число или такой картинки на сайте нетвозьмите id из GET /media
invalid_analytics400analytics не объект или незнакомый ключ; допустимые — в allowedисправьте ключи
secret_field400в analytics прислан секрет, например ywm_client_token; имена в fieldsсекрет ставит вход в Вебмастер из консоли, снимает PUT /data/settings/webmaster с null
dry_run_not_supported400прислан dry_runпрочитайте текущее значение через GET
wrong_method_for_source405PUT вместо PATCHотправьте PATCH
system_source_not_deletable409DELETEнастройки не удаляются, только меняются
internal_unavailable502сайт не ответилповторите запрос

GET /data/settings

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

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/data/settings"
{
  "success": true,
  "site_id": "x9HTLHECq",
  "settings": {
    "name": "Test",
    "icon": 4827,
    "closed": false,
    "front_page": 5776,
    "languages": [
      { "slug": "en", "locale": "en_US", "name": "English", "default": true, "front_page": 5776, "url": "https://test.onpress.pro/" },
      { "slug": "ru", "locale": "ru_RU", "name": "Русский", "default": false, "front_page": 6037, "url": "https://test.onpress.pro/ru/" }
    ],
    "metrika": "12345678",
    "ga": "G-XXXXXXX",
    "gsc": null,
    "webmaster": null
  },
  "details": {
    "icon": { "url": "https://test.onpress.pro/…/icon.png" },
    "closed": { "supported": true, "reason": null, "retry_after": 3600 },
    "front_page": { "show_on_front": "page", "title": "home", "url": "/", "languages": { "en": 5776, "ru": 6037 } },
    "languages": { "default": "en" },
    "metrika": { "enabled": true, "name": "Test", "open_url": "https://metrika.yandex.ru/dashboard?id=12345678", "auto_available": true, "data": null },
    "…": "…"
  },
  "fields": { "name": { "method": "PUT", "at": "/data/settings/name", "body": "{\"value\": …}", "forwards_to": "PATCH /site/settings {blogname}" }, "…": "…" }
}

settings — поле и его значение, details — что прилагается к значению, fields — как поле пишется. Одно поле — GET /data/settings/{field}: ответ field, value, поля из details и write. В имени поля можно писать дефис: front-page.

Полеvalue при чтенииРядом
nameназвание сайта—
iconid картинки, 0 — иконки нетurl
closedtrue — сайт закрыт для посетителей; null, если режим недоступенsupported, reason (not_v2, main_site), retry_after
front_pageid главной, 0 — в корне лента записейshow_on_front, title, url, languages — {язык: id} главной каждого языка
languages[{slug, locale, name, default, front_page, url}], только чтениеdefault
metrika, ga, gsc, webmasterномер счётчика, measurement ID, код тега, id сайта в Вебмастересм. Аналитика
КодСтатусКогдаЧто делать
unknown_settings_field404такого поля нет; список — в fieldsвозьмите поле из списка
wrong_method_for_settings405метод, кроме GET и PUT, или PUT /data/settings без поляпишите по одному полю

PUT /data/settings/{field}

Записывает одно поле телом {"value": …}. Например, закрыть сайт на обслуживание:

curl -s -X PUT "$API/site/$SITE/data/settings/closed" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"value": true}'
{
  "success": true,
  "site_id": "x9HTLHECq",
  "field": "closed",
  "value": true,
  "supported": true,
  "reason": null,
  "retry_after": 3600,
  "write": { "method": "PUT", "at": "/data/settings/closed", "…": "…" },
  "changed": true,
  "cache": { "…": "…" },
  "forwards_to": "PUT /site/access {closed}",
  "rebaked": { "status": "ok", "…": "…" }
}
ПолеЧто принимает value
nameнепустая строка, пробелы по краям срезаются
iconid картинки медиатеки этого сайта; 0 или null снимает иконку. Иконка — это favicon и логотип организации в разметке
closedtrue закрывает сайт, false открывает
front_pageid или путь опубликованной страницы; на многоязычном сайте рядом с value — lang, язык страницы
metrika, ga, gsc, webmasterсм. Аналитика

Ответ — поле после записи в форме чтения, плюс changed — изменилось ли что-то, cache, forwards_to и rebaked: фреймы, которые печатают название, иконку или главную, пересобираются; при changed: false — rebaked.status: "nothing". Поле languages здесь не пишется — языки меняет PATCH /data/site.languages.

Закрытый сайт отвечает посетителям 503 с заглушкой «сайт на обслуживании», Retry-After: 3600 и X-Robots-Tag: noindex; robots.txt отдаёт Disallow: /, карты сайта отвечают 503, llms.txt — 404, статические копии страниц снимаются, кэш сбрасывается. Вошедший администратор и API видят сайт как обычно. Свой robots.txt сохраняется и возвращается при открытии. Главный сайт сети не закрывается (reason: "main_site"), как и сайт без поддержки этого режима (reason: "not_v2").

КодСтатусКогдаЧто делать
value_required400в теле нет valueпришлите {"value": …}
invalid_name400пустое название или не строкапришлите непустую строку
invalid_icon400не целое неотрицательное числопришлите id картинки
invalid_site_icon400картинки с таким id на сайте нетвозьмите id из GET /media
invalid_closed400не да/нетпришлите true или false
invalid_front_page400пусто или 0пришлите id или путь страницы
invalid_lang400неверный langвозьмите слаг из GET /data/site.languages
page_not_found404страницы нетпроверьте id или путь
unknown_settings_field404такого поля нетвозьмите поле из GET /data/settings
field_written_elsewhere405запись в languagesязыки — PATCH /data/site.languages
not_supported409closed на сайте без поддержки режима—
main_site409closed на главном сайте сети—
page_not_published409главной делают черновикопубликуйте страницу
no_default_translation409у страницы нет перевода на основной языкпривяжите перевод через POST /pages/{ref}/translations/{lang}

GET /data/site.front_page, PUT /data/site.front_page

Главная страница сайта: что открывается в корне. PUT ставит главной страницу по id или пути; на многоязычном сайте вместе с ней переезжают главные всех языков — это её переводы. Например, сделать главной страницу 5776:

curl -s -X PUT "$API/site/$SITE/data/site.front_page" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"page": 5776}'
{
  "success": true,
  "site_id": "x9HTLHECq",
  "changed": false,
  "show_on_front": "page",
  "page_on_front": 5776,
  "front_pages": {
    "en": { "id": 5776, "url": "https://test.onpress.pro/" },
    "ru": { "id": 6037, "url": "https://test.onpress.pro/ru/" }
  },
  "before": { "show_on_front": "page", "page_on_front": 5776 },
  "cache": { "…": "…" },
  "source": "site.front_page",
  "rebaked": { "status": "ok", "…": "…" }
}
ПолеТипПо умолчаниюОписание
pageint или string—id или путь страницы, обязательно; принимается и {"items": [{"id": …}]} из ответа чтения
langstring—язык страницы, если путь есть в нескольких языках

GET отдаёт одну запись: id, show_on_front, title, slug, status, url (всегда /) и real_url — собственный адрес страницы. На многоязычном сайте записывается страница основного языка из группы переводов присланной, главные остальных языков — её переводы (front_pages). Главная языка, у которой ещё нет перевода, привязывается через POST /pages/{ref}/translations/{lang}. Проверки без записи нет.

КодСтатусКогдаЧто делать
invalid_page400нет page или пустой путьпришлите id или путь
invalid_lang400неверный langвозьмите слаг из GET /data/site.languages
dry_run_not_supported400прислан dry_run—
page_not_found404страницы нетпроверьте id или путь
wrong_method_for_source405PATCH вместо PUTотправьте PUT
no_default_translation409у страницы нет перевода на основной языкпривяжите перевод
page_not_published409страница не опубликованаопубликуйте её

GET /content-stats

Отдаёт сравнение двух завершённых периодов по всему сайту из ночного снимка Google Analytics 4; к Google запрос не обращается. Например, неделя к предыдущей неделе:

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/content-stats?period=week"
ПараметрТипПо умолчаниюОписание
periodstringweekyesterday — вчера и позавчера, week — последние 7 полных дней и 7 до них, month — 30 и 30. Сегодняшние неполные сутки не входят

Ответ: period, stored: true, updated_at и источник sources.ga с полями status, message, timezone, updated_at, completeness, windows (current и previous — включительные даты from и to в часовом поясе ресурса), current и previous, events, events_kind, events_status. В current и previous: visits — уникальные пользователи, sessions — сеансы, organic — сеансы Organic Search, bounce — отказы в процентах, time — средняя длительность сеанса в секундах, events — число событий; каждый показатель — число или null. events — массив {name, current, previous}; events_status — ok, unavailable или error, ошибка списка событий не стирает общие показатели. Ответ помечен Cache-Control: private, no-store.

КодСтатусКогдаЧто делать
invalid_period400неизвестный периодyesterday, week или month
content_stats_pending404ночной снимок ещё не собранповторите на следующий день
v2_site_required409сайт не поддерживает статистику—
arrow_backНазад
Меню
Далееarrow_forward
Справочник: сайты
На этой странице
  • GET /data/site.settings
    • PATCH /data/site.settings
      • GET /data/settings
        • PUT /data/settings/{field}
          • GET /data/site.front_page, PUT /data/site.front_page
            • GET /content-stats
            1. Главная
            2. Docs
            3. Документация OnPress v2
            4. Справочник API
            5. Настройки сайта
            OnPress
            OnPress
            ИП Зуев И.В. ИНН: 360408359441
            info@onpress.pro
            © 2026
            политика конфиденциальности публичная оферта
            • visa
            • mastercard
            • sber
            • tpay