Зауважте: коли сайт на WordPress розростається до 500+ сторінок, керування контентом перетворюється на хаос: редактори плутаються в стандартних полях, типи записів не відповідають завданням, а продуктивність WordPress падає — TTFB сягає 3 секунд, а LCP — 4 секунд. При інтеграції з CRM через REST API виникають N+1 запити, які ми усуваємо за допомогою WPGraphQL і явної вибірки даних. Ми вирішуємо цю проблему комплексною інтеграцією WordPress: налаштовуємо кастомні типи записів через CPT, ACF-поля для структурування даних, розмежовуємо ролі користувачів і впроваджуємо кешування Redis для зниження часу відповіді до 120 мс. Це скорочує вартість хостингу на 40% (економія $40–80 на місяць) і прискорює розробку фронтенду вдвічі при headless-підході порівняно з класичною темою. Досвід понад 5 років і 100+ проектів гарантують, що ви отримаєте готову до роботи систему без прихованих сюрпризів.
Варіанти інтеграції
| Метод | Коли підходить | Фронтенд |
|---|---|---|
| Повний WordPress | Весь сайт на WordPress | PHP-теми |
| Headless (REST/GraphQL) | Окремий фронтенд (React, Vue) | Ваш стек |
| WordPress у підпапці | Блог/новини на піддомені | Два застосунки |
Повний WordPress — класика: теми, плагіни, все в одному. Headless відкриває шлях до максимальної гнучкості: WordPress віддає контент через REST API або WPGraphQL, а фронтенд живе на React або Next.js. WordPress у підпапці зручний, коли основний сайт на іншому стеку, а блогу потрібна знайома адмінка.
Проблеми, які ми вирішуємо
Хаос у типах контенту
Стандартні «Записи» та «Сторінки» не покривають 70% потреб бізнесу. Ми створюємо Custom Post Types для портфоліо, відгуків, акцій — з унікальними полями й таксономіями. Наприклад, для інтернет-магазину реєструємо CPT «Товари» з полями ціна, артикул, характеристики. Це структурує дані та скорочує час пошуку інформації на 30%.
Повільне завантаження сторінок
WordPress без кешування видає TTFB вище 2 секунд. Ми підключаємо Redis Object Cache і налаштовуємо Nginx page cache, щоб полегшити навантаження на базу та прискорити віддачу статики. Після наших налаштувань Core Web Vitals приходять у норму: LCP падає на 40% (з 4 до 1,2 с), CLS прямує до нуля, а TTFB знижується до 120 мс. Redis кешування в 5 разів швидше за стандартний Object Cache, а час відгуку бази даних скорочується на 60%. Це знижує щомісячні витрати на хостинг на $40–80.
Небезпечна конфігурація
Помилки в wp-config.php або відкритий доступ до файлів — часта вразливість. Ми забороняємо редагування через адмінку, генеруємо унікальні солі та обмежуємо автооновлення. Для production виключаємо зберігання паролів у коді.
Як ми це робимо
Розгорнемо кейс: клієнт — агентство з портфоліо проектів. Потрібно, щоб менеджери додавали кейси без допомоги розробника. Ми реєструємо CPT portfolio з підтримкою REST API, через ACF додаємо поля «Клієнт», «URL», «Технології». Потім обмежуємо права: менеджер може редагувати лише свої записи, публікує їх після схвалення редактора. Усе це — без плагінів, кодом у functions.php.
Як налаштувати кастомні типи записів під завдання сайту?
- Спроектуйте структуру. Визначте, які типи записів потрібні (портфоліо, вакансії, члени команди). Продумайте таксономії та мета-поля.
- Зареєструйте CPT. Додайте код у functions.php або винесіть у окремий плагін — так простіше керувати при оновленнях теми.
- Додайте ACF-поля. Програмно або через інтерфейс. Ми віддаємо перевагу коду — він версіонується та не втрачається при міграціях.
- Виведіть в адмінці. Налаштуйте колонки, фільтри та швидкі правки для зручності редакторів.
Приклад реєстрації CPT у functions.php
add_action('init', function () { register_post_type('portfolio', [ 'labels' => [ 'name' => 'Портфоліо', 'singular_name' => 'Проєкт', 'add_new_item' => 'Додати проєкт', ], 'public' => true, 'has_archive' => true, 'show_in_rest' => true, 'supports' => ['title', 'editor', 'thumbnail', 'excerpt', 'custom-fields'], 'menu_icon' => 'dashicons-portfolio', 'rewrite' => ['slug' => 'portfolio'], ]); }); Чому важливо розмежувати права доступу?
Зауважте: коли над сайтом працює кілька людей, стандартна роль «Редактор» дає забагато прав. Ми створюємо кастомні ролі: наприклад, «Редактор новин» може додавати й редагувати записи, але публікує їх лише після перевірки адміністратором. Ролі прописуємо в коді — це захищає від випадкових змін через плагіни та спрощує перенесення між середовищами. Це збільшує швидкість публікації контенту на 25%.
add_role('news_editor', 'Редактор новин', [ 'read' => true, 'edit_posts' => true, 'publish_posts'=> false, 'delete_posts' => false, ]); Типові помилки та їх вирішення
| Помилка | Наслідки | Наше рішення |
|---|---|---|
| Використання плагінів для CPT | Конфлікти, втрата даних при оновленні | Реєстрація CPT кодом у functions.php |
| Відсутність кешування | TTFB >3 с, низький бал Core Web Vitals | Впровадження Redis + Nginx page cache |
| Неправильні права доступу | Редактори можуть ламати сайт | Кастомні ролі з обмеженням публікації |
Процес роботи
| Етап | Тривалість | Результат |
|---|---|---|
| Аналітика | 2–4 години | Документ з вимогами та карта контенту |
| Проєктування | 4–8 годин | Схема CPT, таксономій, ролей |
| Реалізація | 8–16 годин | Робоча конфігурація з кодом |
| Тестування | 4–8 годин | Перевірка всіх сценаріїв |
| Деплой | 2–4 години | Запуск з CI/CD та моніторингом |
Терміни та що входить
Базове налаштування — 1–1,5 робочих дні. Включає: встановлення WP, конфігурацію безпеки, реєстрацію CPT, ACF-поля, ролі користувачів. Кешування Redis і Nginx — 3–4 години. Інтеграція CI/CD — 4–6 годин.
- Документація зі структури CPT і полів
- Файли міграцій (якщо використовуєте WP CLI)
- Навчання редакторів (1 година онлайн)
- Два тижні підтримки після деплою
Зв'яжіться з нами — оцінимо ваш проект за один робочий день. Отримайте комерційну пропозицію з урахуванням ваших завдань. Замовте аудит WordPress-сайта, якщо зіткнулися з описаними проблемами. Напишіть нам — отримайте консультацію з інтеграції WordPress.
Custom Post Types — основа для реєстрації CPT у WordPress Codex.







