• Как устроено
  • Быстрый старт
  • Доступ и токен
    • Страницы
      • Frontmatter
      • Синтаксис markdown
      • Переводы страниц
    • Фреймы
      • Вставки onpress/
      • Бинды data-op-bind
      • Сборка и копии
    • Готовые фреймы
      • assistant
      • outline
      • faq
      • article
      • docs
      • site__header
      • site__footer
      • article__faq
      • landing
      • assistant__chat
      • site__404
      • news
      • news__category
      • news__post
      • news__more
      • news__share
      • author__page
      • author__byline
      • author__card
      • author__avatar
      • author__socials
      • author__head
      • home
      • pricing
    • Данные
      • Повторитель onpress/repeat
  • Стили
  • Меню
  • Сайдбар документации
  • Языки сайта
  • Настройки и кэш
  • SEO
  • Медиа
  • Сайты и домены
  • Пользователи и профиль
  • Дашборд и вход
    • Рецепты
      • Сайт с нуля
      • Раздел документации
      • Лендинг
      • FAQ
      • Свой фрейм из готового
      • Многоязычный сайт
      • Поменять меню
      • Перенести страницу
      • Картинки в статье
      • Список из данных
      • Сменить оформление
    • Справочник API
      • Страницы
      • Переводы
      • Фреймы
      • Данные
      • Меню
      • Сайдбар документации
      • Стили
      • Настройки, главная, кэш
      • Языки
      • SEO
      • Медиа
      • Сайты
      • Пользователи и профиль
      • Вход и служебное
    • Ошибки и проблемы
      • Коды ошибок
OnPress OnPress
  • Документация
  • Контакты
Войти
  • Как устроено
  • Быстрый старт
  • Доступ и токен
    • Страницы
      • Frontmatter
      • Синтаксис markdown
      • Переводы страниц
    • Фреймы
      • Вставки onpress/
      • Бинды data-op-bind
      • Сборка и копии
    • Готовые фреймы
      • assistant
      • outline
      • faq
      • article
      • docs
      • site__header
      • site__footer
      • article__faq
      • landing
      • assistant__chat
      • site__404
      • news
      • news__category
      • news__post
      • news__more
      • news__share
      • author__page
      • author__byline
      • author__card
      • author__avatar
      • author__socials
      • author__head
      • home
      • pricing
    • Данные
      • Повторитель onpress/repeat
  • Стили
  • Меню
  • Сайдбар документации
  • Языки сайта
  • Настройки и кэш
  • SEO
  • Медиа
  • Сайты и домены
  • Пользователи и профиль
  • Дашборд и вход
    • Рецепты
      • Сайт с нуля
      • Раздел документации
      • Лендинг
      • FAQ
      • Свой фрейм из готового
      • Многоязычный сайт
      • Поменять меню
      • Перенести страницу
      • Картинки в статье
      • Список из данных
      • Сменить оформление
    • Справочник API
      • Страницы
      • Переводы
      • Фреймы
      • Данные
      • Меню
      • Сайдбар документации
      • Стили
      • Настройки, главная, кэш
      • Языки
      • SEO
      • Медиа
      • Сайты
      • Пользователи и профиль
      • Вход и служебное
    • Ошибки и проблемы
      • Коды ошибок
Документация OnPress v2
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Настройки, главная и кэш

Три ручки уровня сайта: настройки (/settings), главная страница (/front-page) и сброс кэша (/cache/flush). Все — под $API/site/$SITE/. Записи идут через ядро WordPress на домене сайта, поэтому срабатывают те же хуки, что при сохранении в админке: Polylang, SEO, кэши.

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

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/settings" | jq '.settings | {blogname, blogdescription, blog_public, site_icon, site_icon_url, domain, show_on_front, page_on_front}'
{
  "blogname": "Test",
  "blogdescription": "Multipress website",
  "blog_public": 1,
  "site_icon": 4827,
  "site_icon_url": "https://test.onpress.pro/wp-content/uploads/sites/233/2025/02/cropped-6sdc-2.png",
  "domain": "test.onpress.pro",
  "show_on_front": "page",
  "page_on_front": 5776
}

Ответ также несёт blogs_public (флаг видимости в реестре сети), template и stylesheet (тема) и analytics — публичные настройки счётчиков: id счётчиков и ресурсов, признаки подключения и подтверждения, коды подтверждения, которые и так стоят в <meta> страниц. Секреты — OAuth-токен Вебмастера ywm_client_token — в ответ не попадают никогда, ни администратору, ни суперадмину: поля отдаются по белому списку, и ответ PATCH устроен так же.

Изменить

curl -s -X PATCH "$API/site/$SITE/settings" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"blogname": "OnPress", "blogdescription": "Платформа сайтов с API", "blog_public": 1}' | jq '{changed, cache}'
{
  "changed": ["blogdescription"],
  "cache": { "polylang": { "transients": ["pll_languages_list", "pll_translated_slugs"], "model_cache": true }, "object": true, "supercache": { "status": "flushed" } }
}
ПолеЧто делает
blognameназвание сайта, не пустое. Видно в <title> по шаблону SEO, в биндах site.name, в onpress/copyright
blogdescriptionописание сайта
blog_public1/0 или true/false — видимость для поисковиков: пишется и в опцию сайта, и в реестр сети. 0 — noindex на всём сайте
site_iconid картинки из медиатеки этого сайта — иконка сайта; 0 снимает
analyticsобъект с публичными ключами счётчиков: 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_host_id, ywm_client_site_url, ywm_client_verification_token, ywm_client_verified, ywm_client_login, ywm_client_user_id, ywm_client_connected_at. Непереданные ключи не трогаются

Неизвестное поле — 400 unknown_field со списком допустимых; не строка там, где нужна строка, — 400 invalid_<поле>; пустое тело — 400 nothing_to_change. Неизвестный ключ в analytics — 400 invalid_analytics со списком допустимых в allowed; секрет (ywm_client_token и всё, что похоже на токен, ключ или пароль) — 400 secret_field, имена в fields: токен Вебмастера ставит только вход через OAuth в разделе «Аналитика», снимает отключение там же. changed — что реально поменялось. Изменившая что-то запись сбрасывает кэш страниц и объектный кэш сайта.

Полноценное подключение счётчиков (создать счётчик Метрики, получить доступ, подтвердить сайт в Вебмастере и Search Console) делает раздел «Аналитика» дашборда; analytics здесь — прямая запись значений.

То же самое доступно через системный источник: PATCH $API/site/$SITE/data/site.settings с полями name и description (или теми же blogname, blogdescription), плюс blog_public, site_icon, analytics — после записи пересобираются фреймы, выводящие название сайта.

Главная страница

curl -s -X PUT "$API/site/$SITE/front-page" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"page": "/home/"}' | jq '{changed, show_on_front, page_on_front, front_pages, before}'
{
  "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 }
}
ПолеСмысл
pageid или путь страницы
langесли путь есть в нескольких языках — взять страницу этого языка

Ставит show_on_front=page и page_on_front. На многоязычном сайте главная сайта всегда хранит страницу языка по умолчанию: пришлите любую страницу группы переводов — запишется её участник основного языка, а Polylang отдаст остальных участников главными их языков (front_pages). Страница не основного языка без перевода на основной — 409 no_default_translation: сначала свяжите переводы. Страница должна быть опубликована. Сбрасываются кэш языков, кэш страниц и объектный кэш.

Главная — единственная страница, которую нельзя удалить: DELETE /pages/{ref} на ней и на главных языков отвечает 409 front_page_delete. Сначала переназначьте главную.

То же через источник: PUT $API/site/$SITE/data/site.front_page {"page": "/home/"}.

Кэш

Готовые страницы кэширует WP Super Cache, веб-сервер отдаёт их без PHP. Ручки API после своих записей сбрасывают нужное сами, поэтому эта ручка — для случаев, когда правка прошла мимо API или результат надо увидеть немедленно.

# точечно: по адресам и по id страниц
curl -s -X POST "$API/site/$SITE/cache/flush" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"urls": ["/docs/", "/ru/docs-ru/"], "pages": [6186]}' | jq .flushed
{
  "urls": {
    "status": "flushed",
    "by": "wpsc_delete_url_cache",
    "urls": ["https://test.onpress.pro/docs/vvedenie/", "/docs/", "/ru/docs-ru/"],
    "skipped": [],
    "dirs": ["…/supercache/test.onpress.pro"]
  }
}
ПолеЧто сбрасывает
urlsзакэшированные копии этих адресов (путь или полный адрес); адрес со строкой запроса пропускается — такие не кэшируются. Уходят и копии разбивки (…/page/2/)
pagesто же по id страниц
supercachetrue — весь кэш страниц сайта; перекрывает urls и pages
objecttrue — объектный кэш сайта
polylangtrue — кэш списка языков и переведённых слагов
transientsмассив имён временных записей; имя* — все с таким началом (onpress_critical*)

Хотя бы одно поле обязательно — иначе 400 nothing_to_flush. Предпочитайте точечный сброс: весь кэш — это прогрев сайта с нуля. В ответе flushed по каждому виду: status (flushed — что-то сброшено, empty — сбрасывать было нечего, failed — каталог кэша не найден), skipped — адреса, которые не кэшируются.

Проверяйте результат запросом без кук: вошедшему в WordPress кэш не отдаётся, и он видит свежую страницу, даже когда посетители видят старую.

arrow_backНазад
Языки сайта
Далееarrow_forward
SEO
На этой странице
  • Настройки сайта
    • Изменить
  • Главная страница
    • Кэш
    OnPress
    OnPress
    ИП Зуев И.В. ИНН: 360408359441
    © 2026
    политика конфиденциальности публичная оферта
    • visa
    • mastercard
    • sber
    • tpay