Связка WordPress и SQLite (через официальный плагин SQLite Database Integration с современным AST-драйвером) отлично подходит для контентных ниш. Главный фактор успеха — единоличное создание контента. Поскольку новые посты будете публиковать только вы, классическая проблема SQLite с одновременными записями (concurrency write locks) полностью утрачивает актуальность. Для читателей SQLite обеспечивает молниеносное чтение, сопоставимое или превосходящее MySQL на легких VPS.
Архитектурные преимущества
- Экономия ресурсов VPS: Полный отказ от отдельного демона MySQL/MariaDB высвобождает оперативную память, что идеально вписывается в концепцию легкого стека на Nginx + PHP-FPM без лишних фоновых процессов.
- Упрощенное резервное копирование: Вся база данных представляет собой единый файл, который удобно версионировать через Git и включать в бэкапы без необходимости делать дампы через mysqldump.
- Оптимально для SEO-структур: Информационные порталы, каталоги и документация имеют высокий коэффициент чтения к записи, где файловая база данных демонстрирует максимальную стабильность.
Возможные проблемы и ограничения
- Специфические плагины: Несмотря на развитый слой эмуляции MySQL, некоторые сложные плагины с нетипичными SQL-запросами или глубокой кастомизацией таблиц могут вызывать ошибки в логах.
- Ограничения для электронной коммерции: Если на проекте планируется полноценный магазин с частыми динамическими транзакциями, корзинами и сессиями покупателей, SQLite быстро упрётся в ограничения файловых блокировок записи.
Плагины рекомендуемые для работы в связке WordPress + SQLite
- Для SEO использовать плагин SEOPress из-за свой модульной структуры. Rank Math не рекомендуется из-за возможных проблем с кешированием XML-карт. Yoast не рекомендуется.
- Для мультиязычных сайтов лучше использовать Polylang, потому что он архитектурно оптимален для SQLite. В отличие от решений, создающих тяжелые кастомные таблицы для словарей, Polylang задействует стандартные механизмы WordPress — таксономии и мета-поля (post_meta). Это удерживает файл SQLite в компактном состоянии и обеспечивает быстрый отклик. WPML не рекомендуется из-за сложный SQL-запросов и множества дополнительных таблиц.
Пошаговый ручной процесс установки WordPress с SQLite
Для развертывания связки WordPress + SQLite локально на Windows 11 в VS Code и последующего переноса на ваш VPS используется чистый ручной подход без лишних контейнеров и утилит.
- Шаг 1. Подготовка каталога и файлов. Откройте пустую рабочую папку будущего проекта в VS Code. Убедитесь, что у вас установлен PHP (версии 8.3 или выше) и в файле
php.iniраскомментированы расширенияextension=pdo_sqliteиextension=sqlite3. Скачайте свежий архив WordPress с официального сайта и распакуйте его содержимое в корень проекта. Проверка: Выполнение командыphp -mв терминале VS Code должно выводитьpdo_sqliteиsqlite3, а запуск локального сервера черезphp -S localhost:8000должен успешно отдавать файлы.
Примечание: Что бы узнать путь в Windows 11 к используемому php.ini посмотрите значение параметра Loaded Configuration File в выводе команды
php --ini.
- Шаг 2. Интеграция SQLite. Скачиваете официальный плагин SQLite Database Integration или c Github. Поместите его папку в
wp-content/plugins/и убедитесь, что она называется строгоsqlite-database-integration. Скопируйте файл-заглушкуdb.copy(находится внутри папки плагина) на уровень выше и переименуйте его вwp-content/db.php. - Шаг 3. Предварительное создание wp-config.php (Обязательный шаг). В корне проекта скопируйте
wp-config-sample.phpи переименуйте его вwp-config.phpОткройтеwp-config.phpи замените стандартный блок подключения к MySQL на следующий фиктивные данные (чтобы заблокировать вызов MySQL):
define( 'DB_NAME', 'sqlite_db' );
define( 'DB_USER', 'root' );
define( 'DB_PASSWORD', '' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );- Шаг 4. Установка WordPress. Перейдите в браузере по адресу
http://localhost:8000/и пройдите стандартную установку (выбор языка, ввод названия сайта, логина и пароля администратора). Проверка: Шаг с вводом хоста и пароля MySQL автоматически пропустится. После установки в папкеwp-content/database/появится файл базы данных.ht.sqlite, а в консоли WordPress не будет упоминаний MySQL. - Главное правило безопасности для веб-сервера, я чаще всего использую Nginx. Поскольку SQLite хранит всю информацию (включая логины и хэши паролей администратора) в обычном файле внутри директории
wp-content, критически важно закрыть к нему прямой доступ через веб-сервер. В ваш конфиг Nginx для сайта достаточно добавить простой блок запрета (Путь к папке с базой данных зависит от конкретной версии плагина интеграции, но логика всегда сводится к блокировке расширения.sqlite):
location ~* /wp-content/database/.*\.sqlite$ {
deny all;
return 404;
}Перенос WordPress сайта с MySQL на SQLite
Переключить уже существующий рабочий сайт с MySQL на SQLite «на лету» стандартными средствами не получится — плагин требует развертывания чистой базы данных с последующим импортом контента.
- Экспорт текущей базы данных (MySQL Dump):
Создайте полный дамп текущей базы данных MySQL с помощью WP-CLI (
wp db export backup.sql) или через панель управления хостингом. Проверка: Убедитесь, что результирующий файл.sqlимеет ненулевой размер и содержит инструкции структуры таблиц. - Развертывание плагина интеграции (Загрузка файлов):
Скачайте и поместите официальный плагин SQLite Database Integration в директорию
wp-content/plugins/вашего сайта. Проверка: Папка плагинаsqlite-database-integrationприсутствует в структуре каталога плагинов. - Активация drop-in драйвера (Настройка db.php):
Скопируйте файл драйвера из папки плагина (
wp-content/plugins/sqlite-database-integration/db.copy) в корень каталогаwp-content/, переименовав его вdb.php. Проверка: Файлwp-content/db.phpуспешно создан и доступен для чтения интерпретатору PHP. - Создание базы SQLite (Импорт данных и конфигурация): Создайте защищенную директорию для базы данных, импортируйте структуру и данные из вашего SQL-дампа (через инструменты миграции плагина или импортер). Проверка: Главная страница сайта и административная панель загружаются без ошибок соединения с базой данных.
- Оптимизация производительности (Режим WAL):
Выполните для базы данных SQLite SQL-директиву активации режима Write-Ahead Logging (
PRAGMA journal_mode=WAL;). Проверка: Запрос возвращает статусwal, а рядом с файлом базы появились вспомогательные файлы.db-walи.db-shm. - Защита базы данных (Настройка веб-сервера):
Добавьте в конфигурацию Nginx запрет на прямой доступ извне к файлам базы данных (
.sqlite,.dbи папке хранения). Проверка: Попытка открыть файл базы данных через браузер отдает ошибку 404.
Администрирование SQLite
- Плагин SQLite Viewer для VS Code их много на выбор, установил SQLite Viewer for VS Code от автора Florian Klampfer.
- DB Browser for SQLite есть портабельная версия очень удобно.
- В DBeaver не нужно ничего дополнительно устанавливать — драйвер для SQLite скачивается автоматически при первом подключении. Создаешь новое подключение -> выбираешь SQLite. В поле Path просто указываешь путь к новому файлу.