Headless WordPress CMS з Next.js, ACF та багаторазовою компонентною архітектурою
Бізнесу потрібен був високопродуктивний, оптимізований для SEO маркетинговий вебсайт з гнучкістю редагування контенту WordPress, але зі швидкістю та досвідом розробника сучасного React фронтенду — без обмежень традиційних WordPress тем.
Обговоріть Ваш Проєкт
Виклик
Традиційні сайти на WordPress зіткнулися з труднощами у відповідності сучасним стандартам вебпродуктивності та SEO:
- Монолітні теми WordPress були повільними, громіздкими та складними в обслуговуванні
- Редактори контенту були обмежені жорсткими макетами сторінок без гнучкості на рівні компонентів
- PHP-сторінки, що рендерились на сервері, мали низькі показники в Core Web Vitals (LCP, CLS, FID)
- SEO вимагало ручного керування метатегами без автоматизованих структурованих даних
- Повторне використання шаблонів UI на різних сторінках вимагало дублювання коду шаблонів, що призводило до розбіжностей та непослідовності
- Лише WordPress REST API бракувало гнучкості для моделювання складних, вкладених структур контенту
Наше Рішення
Ми створили headless WordPress + Next.js архітектуру, використовуючи Advanced Custom Fields (ACF) як гнучкий шар для моделювання контенту, багаторазову компонентну систему на фронтенді та автоматизовану оптимізацію SEO.
Архітектура
- CMS: WordPress (headless) з ACF Pro для моделювання структурованого контенту
- Шар API: WPGraphQL + WPGraphQL for ACF для надання типованого контенту через GraphQL
- Фронтенд: Next.js з App Router, React Server Components, TypeScript
- Стилізація: Tailwind CSS для стилізації за принципом "utility-first", узгодженої з дизайн-системою
- SEO: Next.js Metadata API, структуровані дані JSON-LD, автоматична генерація карти сайту
- Хостинг: Vercel (фронтенд) + керований WordPress хостинг (CMS)
- Медіа: Next.js Image optimization з бібліотекою медіа WordPress як джерелом
Моделювання контенту за допомогою ACF
Поля гнучкого контенту
Поля гнучкого контенту ACF дозволяють редакторам компонувати сторінки з попередньо визначених блоків контенту. Кожен блок безпосередньо відображається на React компоненті на фронтенді, охоплюючи поширені шаблони, такі як секції-герої, сітки функцій, каруселі відгуків, CTA, FAQ-акордеони, лічильники статистики, макети зображення-текст, вбудовані відео, таблиці цін та стрічки блогів.
Поля Repeater та Group
- Поля Repeater для списків (члени команди, елементи портфоліо, записи хронології)
- Поля Group для структурованих вкладених даних (блоки адрес, посилання на соцмережі, перевизначення SEO)
- Поля Relationship для зв'язування дописів, сторінок та користувацьких типів дописів
- Сторінки Options для глобальних налаштувань (шапка, підвал, посилання на соцмережі, кольори бренду)
Багаторазова компонентна архітектура
Принципи дизайну компонентів
Фронтенд слідує модульній архітектурі з окремими шарами:
- Компоненти блоків — Один React компонент на один блок гнучкого контенту ACF
- Примітивні компоненти UI — Багаторазові елементи, такі як кнопки, картки та бейджи
- Компоненти макета — Шапка, підвал, навігація та обгортки контейнерів
- Компоненти SEO — Генератори схем та утиліти метатегів
Шаблон Block Resolver
Центральний розв'язувач (resolver) зіставляє типи блоків ACF з React компонентами, дозволяючи редакторам компонувати сторінки без залучення розробників:
- Редактор WordPress обирає блоки зі спадного списку та заповнює поля
- WPGraphQL надає сторінку у вигляді структурованого JSON з типами блоків та даними полів
- Next.js отримує дані сторінки під час збірки (ISR) або за запитом (SSR)
- Block resolver ітерує масивом блоків та рендерить відповідний React компонент
- Кожен компонент отримує свої дані полів ACF як типовані пропси
SEO-оптимізація
Технічне SEO
- Динамічні метатеги — Теги Title, description, Open Graph та Twitter Card генеруються для кожної сторінки з даних CMS
- Канонічні URL — Автоматична генерація канонічних тегів для запобігання дублюванню контенту
- Генерація карти сайту — Динамічна XML-карта сайту, побудована з даних сторінок/дописів WordPress під час збірки
- robots.txt — Програмна генерація з правилами, що враховують середовище
- Структуровані дані — JSON-LD схема для типів Organization, Article, FAQ, BreadcrumbList та Product
SEO продуктивності (Core Web Vitals)
- Статична генерація (ISR) — Сторінки попередньо рендеряться та ревалідуються при зміні контенту через webhook
- Оптимізація зображень — Автоматична конвертація WebP/AVIF, відкладене завантаження (lazy loading), адаптивний srcset
- Оптимізація шрифтів — Завантаження користувацьких шрифтів без зсуву макета
- Розділення коду — Автоматичне розділення коду за маршрутами за допомогою React Server Components
- Кешування на периферії — Глобальна периферійна мережа для TTFB менше 100 мс
Контентне SEO
- Поля SEO для кожної сторінки — Перевизначення метазаголовка, опису та зображення OG через користувацькі поля
- Хлібні крихти — Автоматично генерована навігація з хлібними крихтами зі схемною розміткою
- Внутрішнє посилання — Поля Relationship дозволяють структурувати пропозиції внутрішніх посилань
- Вимога Alt Text — Обов'язковий альтернативний текст для всіх полів зображень
Потік даних WordPress-Next.js
- Зміна контенту — Редактор публікує або оновлює контент в адмінці WordPress
- Тригер Webhook — WordPress надсилає webhook до точки ревалідації Next.js
- Ревалідація ISR — Next.js перегенерує лише зачеплені сторінки
- Анулювання CDN — Оновлені сторінки подаються з периферії протягом секунд після публікації
Ключові особливості
- Візуальний конструктор сторінок — Редактори компонують сторінки з блоків ACF без написання коду
- Типований API контенту — WPGraphQL + ACF надає повністю типовану GraphQL схему
- Бібліотека компонентів — 10+ багаторазових блоків, що охоплюють усі поширені шаблони маркетингових сторінок
- ISR + Webhooks — Оновлення контенту відображаються на живому сайті протягом секунд
- Автоматизація SEO — Структуровані дані, карти сайту та метатеги генеруються з даних CMS
- Core Web Vitals — Оптимізовані зображення, шрифти та розділення коду для найвищих оцінок Lighthouse
- Режим попереднього перегляду — Кнопка попереднього перегляду WordPress показує чернетковий контент у Next.js фронтенді
- Готовий до багатомовності — Інтеграція ACF + WPML/Polylang для інтернаціоналізованого контенту
Результати
Технологічний Стек
caseStudyDetail.more Кейси
Ознайомтесь з іншими нашими технічними впровадженнями
Вебсайт на Strapi CMS + Next.js з розширеною SEO архітектурою
Зростаючому бізнесу потрібен був швидкий, насичений контентом маркетинговий вебсайт, де їхня нетехнічна маркетингова команда могла б самостійно керувати сторінками, публікаціями в блогах та цільовими сторінками, забезпечуючи при цьому конкурентоспроможне ранжування сайту в органічному пошуку з першого дня.
Платформа Catant для управління персоналом та робочою силою
Catant — це модульна платформа для управління персоналом та робочою силою, яка допомагає підприємствам керувати співробітниками, заробітною платою, відвідуваністю та відповідністю нормативним вимогам з однієї панелі керування.
Готові Трансформувати Свій Бізнес?
Давайте обговоримо, як ми можемо застосувати подібні рішення для ваших завдань.