Корпоративні сайти на ProcessWire: від полів до деплою

Клієнту знадобився корпоративний портал з багатомовною структурою на 12 мовах, вкладеними категоріями послуг та розмежуванням прав доступу для трьох типів редакторів. WordPress вимагав би встановлення плагінів ACF, WPML та Custom Post Types – 2–3 платних рішення. На **ProcessWire** — безкоштовній CM

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Корпоративні сайти на ProcessWire: від полів до деплою
Середній
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Клієнту знадобився корпоративний портал з багатомовною структурою на 12 мовах, вкладеними категоріями послуг та розмежуванням прав доступу для трьох типів редакторів. WordPress вимагав би встановлення плагінів ACF, WPML та Custom Post Types – 2–3 платних рішення. На ProcessWire — безкоштовній CMS з відкритим кодом — ми реалізували все штатними засобами: LanguageSupport, FieldtypePage та успадкування шаблонів. Через два тижні адмінка була готова, редактори почали наповнення. Жодного платного розширення — економія до 40% порівняно з комерційними CMS. Кожен проєкт ми оцінюємо фіксованим кошторисом — жодних прихованих платежів. ProcessWire — ефективна альтернатива WordPress для проєктів з кастомною структурою.

Як ProcessWire справляється з нестандартними структурами даних?

ProcessWire ідеальний там, де структура контенту унікальна. Каталог послуг з 30+ атрибутами, багатомовний сайт на 15 мовах, портал з нелінійною ієрархією сторінок — тут він на голову вище за WP та Drupal. Офіційна документація ProcessWire зазначає: «API побудований на принципі простоти: кожен виклик повертає те, що очікуєш». В адмінці ви створюєте поля, групуєте їх у шаблони та призначаєте сторінкам. Жодних жорстких типів контенту, лише ваша задача.

Приклад з практики: замовник керував мережею клінік у 8 країнах. Кожна клініка мала свій набір послуг, цін та лікарів. На WordPress ми б писали кастомні типи записів та ACF — десятки плагінів. На ProcessWire обійшлися 4 шаблонами та полями-репітерами. Контент-менеджери освоїли адмінку за годину.

Чому ProcessWire швидший за WordPress в 7 разів?

У тестах з вибіркою 1000 сторінок ProcessWire віддає відповідь за 20 мс, WordPress — за 150 мс. Різниця в 7,5 раза досягається за рахунок відсутності важких абстракцій. ProcessWire не завантажує весь двигун для кожного запиту — лише потрібні модулі.

Архітектура проєкту: шаблони та поля

Кожен шаблон — PHP-файл у /site/templates/. Розмітка, логіка та дані розділяються через контролери або _init.php/_main.php. Типова структура:

  • /site/templates/_init.php — глобальні змінні, хелпери
  • /site/templates/_main.php — обгортка layout
  • /site/templates/home.php — головна
  • /site/templates/services.php — список послуг
  • /site/templates/service-item.php — детальна
  • /site/templates/partials/nav.php, hero.php
  • /site/modules/ — кастомні модулі
  • /site/config.php

Доступ до даних через $pages API лаконічний:

$services = $pages->find("template=service-item, status=published, sort=sort, limit=12"); $results = $pages->find("template=service-item, title|body*=$q, limit=20"); $recent = $pages->find("template=news, date>=" . strtotime("-30 days") . ", sort=-date"); foreach ($page->related_cases as $case) { echo "<a href='{$case->url}'>{$case->title}</a>"; } foreach ($page->features as $feature) { echo "<div class='feature'><h3>{$feature->headline}</h3><p>{$feature->text}</p></div>"; } 

Багатомовність з коробки

Модулі LanguageSupport, LanguageSupportFields, LanguageSupportPageNames вмикаються в адмінці (документація). У кожного текстового поля з'являються вкладки мов. У шаблоні перемикання — один рядок:

$user->language = $languages->get("en"); echo $page->title; // англійський заголовок 

URL-адреси перекладаються автоматично: /uk/poslugy/ та /en/services/ — одна й та сама сторінка.

Що ми вирішуємо?

Проблема Рішення ProcessWire Типова альтернатива
Складна ієрархія сторінок Вкладені сторінки з успадкуванням полів Деревоподібні структури в Drupal
Багато мов LanguageSupport + поля WPML (платний)
Кастомні поля Fieldtype: текст, зображення, repeater, page ACF (платний)
Ролі та права Гранулярні дозволи на рівні шаблону Дод. плагіни

Продуктивність і кешування

Кешування через $cache API:

$nav = $cache->get("main-nav"); if (!$nav) { $nav = buildNav($pages); $cache->save("main-nav", $nav, 3600); } 

ProCache (платний модуль) генерує статичний HTML і віддає його безпосередньо через .htaccess — швидкість як у статики. Інвалідація відбувається за подіями: при зміні сторінки відповідні HTML-файли перестворюються. Це зберігає актуальність без втрати продуктивності.

Типові терміни розробки

Тип сайту Шаблонів Термін
Корпоративний 6–10 3–5 тижнів
Каталог з фільтрацією 8–14 5–8 тижнів
Багатомовний портал 10–20 7–12 тижнів
API-бекенд (headless) 4–8 2–4 тижні

Headless-режим

ProcessWire як headless CMS: шаблон повертає JSON, фронтенд на React/Next.js забирає дані через ендпоінт. ProcessWire відповідає лише за зберігання та видачу контенту.

header("Content-Type: application/json"); $data = []; foreach ($pages->find("template=product, limit=50") as $p) { $data[] = [ "id" => $p->id, "title" => $p->title, "slug" => $p->name, "price" => $p->price, "image" => $p->image->httpUrl ?? null, ]; } echo json_encode($data); 

Етапи розробки

  1. Аналітика — вивчаємо бізнес-процеси, збираємо вимоги до полів і шаблонів.
  2. Проєктування — створюємо архітектуру шаблонів, налаштовуємо адмінку.
  3. Реалізація — пишемо кастомні модулі, верстаємо шаблони.
  4. Тестування — перевіряємо права доступу, швидкість завантаження, Core Web Vitals.
  5. Деплой — налаштовуємо кешування, передаємо документацію.

Типові помилки та як їх уникнути

  • Ігнорування кастомних полів для даних, які не вписуються в шаблон — завжди використовуйте Fieldtype та Repeater замість зберігання даних у текстових полях як JSON.
  • Відсутність кешування повторюваних запитів — обгортайте запити в $cache->get() з TTL.
  • Неправильне налаштування прав — перед запуском протестуйте ролі: редактор не повинен бачити шаблони налаштувань.

Що входить у роботу

  • Проєктування архітектури полів і шаблонів
  • Налаштування адмінки під бізнес-процеси
  • Написання кастомних PHP-модулів
  • Інтеграція із зовнішніми сервісами (1С, CRM, платіжні шлюзи)
  • Тестування та оптимізація Core Web Vitals
  • Навчання редакторів
  • Передача доступів та документація
  • Фіксована вартість після попереднього аналізу

Наш досвід та гарантії

Ми займаємося ProcessWire з версії 2.x — понад 5 років. За цей час реалізували 20+ проєктів: від простих корпоративних сайтів до headless-порталів з навантаженням під мільйон запитів на день. На всі роботи — гарантія 12 місяців.

Отримайте консультацію щодо вашого проєкту — надішлемо комерційну пропозицію з фіксованою вартістю протягом дня. Зв'яжіться з нами, щоб обговорити деталі. Замовте безкоштовний попередній аналіз архітектури — ми оцінимо складність і запропонуємо оптимальне рішення.