GraphQL удобен, пока схема не превращается в свалку. В headless-проекте важно сразу разделить, что отдаёт WordPress, а что собирает фронтенд:
— не тащить в один запрос всё подряд;
— не открывать лишние поля и типы;
— не смешивать контентные и служебные сущности.
Частая ошибка — строить запросы «на вырост». В итоге фронт начинает зависеть от случайных полей, а любое изменение в структуре контента ломает экран. Лучше фиксировать контракты: у каждой страницы свой набор полей, у каждого блока — свой fragment.
Ещё одна проблема — N+1 и тяжёлые резолверы. Если поле собирается через цепочку запросов к WordPress, API быстро становится медленным. Для часто используемых связей помогает явная агрегация данных и контроль глубины выборки.
Не забывайте про безопасность схемы. Если в GraphQL виден весь внутренний контент, черновики, служебные метаполя и лишние таксономии, вы сами расширяете поверхность атаки и усложняете поддержку. Оставляйте только то, что реально нужно фронтенду 🔧
Если хотите стабильный headless-стек, думайте о GraphQL как о контракте, а не как о «удобном способе достать данные»: чем строже схема, тем меньше сюрпризов в интерфейсе.
WordPress как Headless CMS
@wp_headless_arch_ww
GraphQL в headless WordPress: 5 ошибок, которые ломают API и фронт
Этот пост опубликован в Telegram-канале WordPress как Headless CMS. Подписаться можно по ссылке: @wp_headless_arch_ww.