ProcessWire — свободная система управления содержимым (CMS), фреймворк для управления контентом (CMF) и веб-фреймворк (WAF) с открытым исходным кодом, написанный на языке программирования PHP. Распространяется под лицензией Mozilla Public License 2.0. ProcessWire построен вокруг API с соглашениями по использованию и именованию, аналогичными JavaScript-фреймворку jQuery. Заявленная цель API — обеспечить такой же уровень доступности и контроля над страницами веб-сайта, какой jQuery обеспечивает для DOM. Контент управляется либо через API, либо через веб-интерфейс панели управления. ProcessWire в основном используется для разработки веб-сайтов, веб-приложений, сервисов, контент-фидов и связанных приложений.
Возможности
API в стиле jQuery с полной документацией Графический веб-установщик Все поля являются пользовательскими полями, индексируемыми для операций поиска в API Может быть загружен из других PHP-приложений или скриптов командной строки Интерактивные функции обработки изображений на основе API Древовидный список страниц с возможностью перетаскивания Загрузка и редактирование файлов и изображений методом перетаскивания Поддержка крупномасштабных установок (более 100 000 страниц) Использование строковых селекторов для вызовов API Система контроля доступа на основе ролей Основной акцент разработки на безопасности Агностическая разметка вывода, оставляющая весь вывод разработчику Файлы шаблонов основаны на PHP, шаблонизатор по умолчанию не используется Кэширование вывода целых страниц или отдельных частей Многоязычная поддержка с многоязычными текстовыми полями и URL Модульная архитектура плагинов и доступные сторонние модули Типы полей и ввода сами являются модулями-плагинами Система хуков, позволяющая перехватывать и изменять большинство основных функций Поля и группы полей могут повторяться с использованием встроенных типов полей Repeater Поддержка редактирования форматированного текста с помощью CKEditor Несколько вариантов дизайна темы администратора, включая современную тему «Konkat Default» Возможности редактирования на стороне клиента, встроенные в ядро Поддержка пространств имён PHP
Модули и расширяемость
ProcessWire имеет модульную архитектуру плагинов, где модули служат основным методом расширения функциональности. По сути, сам ProcessWire в значительной степени представляет собой коллекцию модулей, а административное приложение полностью состоит из модулей. Модули в ProcessWire бывают нескольких типов:
Основные модули — включены в ядро ProcessWire в каталоге `/wire/modules/`. Многие предустановлены, другие доступны для установки в один клик Модули сайта — сторонние или пользовательские модули, установленные в каталоге `/site/modules/` Pro-модули — коммерческие модули, разработанные ведущим разработчиком, обеспечивающие расширенную функциональность
По состоянию на 2026 год в каталоге модулей ProcessWire доступно более 637 модулей. Относительно меньшее количество модулей по сравнению с другими CMS-платформами, такими как WordPress, объясняется богатым функционалом ядра ProcessWire, которое включает встроенную функциональность, которая в противном случае требовала бы отдельных плагинов.
Типы модулей
ProcessWire поддерживает несколько предопределённых типов модулей:
Модули Fieldtype — определяют пользовательские типы полей для хранения различных видов данных Модули Inputfield — обеспечивают интерфейсы ввода для полей в администраторской части Модули Process — создают административные страницы и процессы Модули Textformatter — форматируют и преобразуют текстовый вывод Модули Markup — генерируют разметку и HTML Модули Autoload — загружаются автоматически при запуске ProcessWire, полезны для хуков
Установка модулей упрощена несколькими методами: загрузка ZIP-файлов через администраторскую панель, предоставление URL-адресов загрузки или ручное размещение файлов в каталоге модулей.
Коммерческие Pro-модули
ProcessWire предлагает несколько коммерческих Pro-модулей, разработанных Райаном Крамером, ведущим разработчиком:
FormBuilder — комплексный инструмент для создания и управления формами без программирования ProFields — коллекция мощных типов полей, включая Repeater Matrix, Table, Combo и модули Custom Fields ProCache — расширенный модуль кэширования для оптимизации производительности ProMailer — инструменты управления электронной почтой ProDrafts — управление черновиками и версиями ListerPro — расширенный список и управление страницами LoginRegisterPro — полная система регистрации и входа пользователей
Доходы от Pro-модулей поддерживают дальнейшую разработку бесплатного ядра ProcessWire.
Целевая аудитория
До и во время разработки веб-сайта или приложения целевая аудитория ProcessWire состоит в основном из веб-разработчиков и веб-дизайнеров. В рамках этой аудитории ProcessWire используется как инструмент разработки и как CMS.
После разработки аудитория меняется на людей, которые управляют контентом для веб-сайтов и приложений, которые обычно не являются веб-дизайнерами/разработчиками. Эта аудитория использует ProcessWire в первую очередь как CMS для управления контентом.
Сообщество
ProcessWire имеет активное глобальное сообщество разработчиков и пользователей. Основным центром сообщества является форум поддержки на processwire.com/talk, который включает разделы для:
Общей поддержки и вопросов разработки API Разработки и поддержки модулей Витрины веб-сайтов, созданных с помощью ProcessWire Обсуждений многоязычной поддержки Обсуждений безопасности Доски вакансий для найма разработчиков ProcessWire
Сообщество известно своей дружелюбной и полезной атмосферой с активным участием как пользователей, так и ведущего разработчика. ProcessWire поддерживает еженедельную рассылку новостей и ProcessWire Weekly, независимое издание Теппо Койвулы, освещающее новости ProcessWire и темы веб-разработки.
Сообщество разработало множество сторонних модулей, профилей сайтов и руководств. Раздел витрины на официальном веб-сайте представляет веб-сайты, созданные с помощью ProcessWire, от небольших бизнес-сайтов до крупных институциональных веб-сайтов.
История
ProcessWire находится в активной разработке с 2003 года. С 2003 по 2007 год он разрабатывался под названием Dictator CMS. С 2007 по 2010 год он разрабатывался как ProcessWire 1.x. ProcessWire стал проектом сообщества с открытым исходным кодом в 2010 году и в настоящее время разрабатывается как ProcessWire 2.x и 3.x.
С момента первого выпуска с открытым исходным кодом ProcessWire имел несколько значительных релизов версий. Версия 3.0, выпущенная в сентябре 2016 года, ознаменовала второй крупный выпуск версии, представив пространства имён PHP, возможности редактирования на стороне клиента и поддержку скомпилированных модулей.
Версия 3.0.255, выпущенная 16 января 2026 года, представила несколько важных улучшений: Новую современную тему дизайна администратора под названием «Konkat Default», созданную Konkat Studio (Ян Плох и Диого Оливейра), обеспечивающую более современный вид, который можно переключать с оригинальным дизайном «Core Original» Улучшенную функциональность Markup Regions, позволяющую изменять области разметки из файлов, которые ранее только определяли их Расширенную документацию API для примерно 50 основных модулей Обновления основных функций JavaScript API для использования модальных окон Uikit вместо модальных окон Vex Новые методы JavaScript API для кодирования/декодирования сущностей Введение модуля ZipFileValidator для повышения безопасности
Система поддерживала согласованность и обратную совместимость на протяжении всей своей разработки, с постоянными обновлениями, сохраняя при этом исходные концепции API и соглашения об именовании.
Переводы и сообщество
ProcessWire имеет активные глобальные сообщества конечных пользователей и разработчиков. Эти сообщества перевели ProcessWire с английского на свои родные языки, включая: китайский, хорватский, чешский, нидерландский, французский, немецкий, греческий, Иврит, венгерский, итальянский, японский, португальский, русский, словацкий, испанский, шведский, турецкий, украинский и вьетнамский. Центральный узел сообществ ProcessWire находится на форумах поддержки разработчиков.
Сравнение с другими платформами
ProcessWire часто сравнивают с другими системами управления контентом, особенно с WordPress. Официальное сравнение подчёркивает несколько ключевых различий:
ProcessWire создан как фреймворк в первую очередь, с CMS в качестве приложения поверх него, в то время как WordPress возник как платформа для ведения блогов Все поля в ProcessWire по умолчанию являются пользовательскими полями, тогда как WordPress различает стандартные и пользовательские поля ProcessWire использует иерархическую древовидную структуру страниц для всего контента, в то время как WordPress использует отдельные типы записей и таксономии ProcessWire делает акцент на контроле разработчика над разметкой вывода, будучи агностичным к разметке, в то время как WordPress использует системы тем ProcessWire имеет меньшую экосистему модулей (более 600 модулей) по сравнению с WordPress (более 40 000 плагинов), в основном потому, что основная функциональность более полная
Награды и публикации
В ноябре 2016 года ProcessWire был награждён CMS Critic как лучшая CMS для малого бизнеса.
В июле 2016 года Smashing Magazine опубликовал статью A Beginners Guide to ProcessWire.
С января 2016 года Envato Tuts+ опубликовал несколько статей и руководств по ProcessWire.
В январе 2015 года ProcessWire был награждён CMS Critic как лучшая бесплатная PHP CMS.
В декабре 2014 года PHP Architect опубликовал статью ProcessWire: Flexibility, Power, and a Generous Dose of Pure Fun.
В декабре 2012 года ProcessWire был награждён CMS Critic как лучшая бесплатная CMS.
Архитектура
ProcessWire построен вокруг дерева контента страниц (в отличие от системы корзин). URL-адрес или путь каждой страницы всегда отражает её место в иерархии. Тот же путь используется для ссылки на страницу в API. В результате эта связь пути с внутренней древовидной иерархией определяет архитектуру ProcessWire. Помимо отношения родитель-потомок, подразумеваемого деревом контента, ProcessWire поддерживает реляционные ссылки один-к-одному и один-ко-многим между страницами в дереве.
Архитектура шаблонов
Шаблоны в ProcessWire — это тип контента, содержащий одно или несколько пользовательских полей, представляющих определение типа контента. Каждая страница в ProcessWire назначена шаблону, который затем представляет тип страницы. Шаблон обычно используется несколькими страницами. Шаблоны также определяют контроль доступа, кэширование и другие настройки, общие для страниц, использующих шаблон.
Шаблоны опционально имеют связанный PHP-файл, называемый файлом шаблона. Этот файл выполняется всякий раз, когда осуществляется доступ к URL-адресу страницы, использующей шаблон. В результате файлы шаблонов обычно используются для целей вывода. Файлу шаблона предоставляется несколько переменных API, наиболее примечательной из которых является переменная API $page, которая содержит все поля и контент текущей просматриваемой страницы.
Файлы шаблонов служат нескольким контекстам в зависимости от приложения. Профили веб-сайтов ProcessWire по умолчанию используют файлы шаблонов в основном для вывода прямой и динамически генерируемой HTML-разметки. Файлы шаблонов также могут использоваться как промежуточные контроллеры между моделью и отдельным представлением. Поскольку файлы шаблонов являются обычными PHP-файлами, они могут вызывать другие веб-сервисы или PHP-приложения, где это необходимо, без отдельного уровня парсинга.
Архитектура полей