Настройка для каждого сайта
Включайте и настраивайте публичный API отдельно для каждого сайта в рабочем пространстве.
Настройки публичного API для каждого сайта точно определяют, что и кому открыто. Получайте опубликованный контент, карты сайта и редиректы в одном предсказуемом формате JSON — без схемы GraphQL, которую надо изучать, и без сгенерированного клиента, который надо синхронизировать. Все запросы ниже настоящие: блог на CMSHub, к которому обращаются одним curl.
Как только сайт включает доступ и добавляет коллекцию в разрешённый список, её опубликованные записи доступны обычным GET-запросом. Всё определяется по заголовку Host, и для публичных данных API-ключ не нужен.
https://the-signal.blog/api/postscurl https://the-signal.blog/api/posts{
"siteId": "the-signal-4f2a",
"siteName": "The Signal",
"baseUrl": "https://the-signal.blog",
"collection": {
"id": "3b0d6f2a-9c41-4e8a-8f2e-1d4c9a7b6e11",
"slug": "posts",
"name": "Posts"
},
"data": [
{
"id": "a91f2e3c-7d5b-4a10-9c3e-6f8a2b1d0e44",
"locale": "en",
"translationOfId": null,
"data": {
"title": "Shipping a public content API without a GraphQL schema",
"slug": "shipping-a-public-content-api",
"excerpt": "Plain REST beats a bespoke query language when a frontend just needs JSON.",
"category": "Engineering",
"author": "Dana Osei",
"published_at": "2026-09-10"
}
},
{
"id": "d2c5b8a1-4e3f-4c9d-8b7a-2f1e6d5c4b33",
"locale": "en",
"translationOfId": null,
"data": {
"title": "What the quality gate actually checks before you publish",
"slug": "the-quality-gate-explained",
"excerpt": "Every generated page passes the same checks, whether it's post 1 or post 10,000.",
"category": "Product",
"author": "Dana Osei",
"published_at": "2026-09-04"
}
}
],
"meta": {
"locale": "en",
"pagination": { "start": 0, "limit": 20, "total": 2, "nextCursor": null }
}
}sitemap.xml и robots.txt генерируются из того же набора страниц, который читает API контента, — нет отдельной конфигурации для синхронизации и ничего не нужно пересоздавать вручную.
https://the-signal.blog/sitemap.xmlcurl https://the-signal.blog/sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url><loc>https://the-signal.blog/posts/shipping-a-public-content-api</loc><lastmod>2026-09-10T14:22:00.000Z</lastmod></url>
<url><loc>https://the-signal.blog/posts/the-quality-gate-explained</loc><lastmod>2026-09-04T09:15:00.000Z</lastmod></url>
</urlset>Публичные API контента закрыты, пока вы явно не настроите, что открывает сайт, — нет открытого по умолчанию эндпоинта, который тихо отдаёт неопубликованный контент или черновики.
Включайте и настраивайте публичный API отдельно для каждого сайта в рабочем пространстве.
Публичный API отдаёт только то, что прошло фильтр качества и действительно опубликовано, — никаких черновиков.
Каждый маршрут находится под версионированным путём, поэтому интеграция, созданная сегодня, продолжит работать по мере развития CMSHub.
Включите публичный API контента для одного из ваших сайтов и получите сгенерированную страницу.