Руководство по wp-config.php
Файл wp-config.php находится в корневой папке сайта и является главным конфигурационным файлом Вордпресс.
В этом файле находится подключение к базе данных, хранятся секретные ключи для шифрования информации (ключи и соли), префикс базы данных и включение режима debug.
Это стандартный функционал файла, но в него можно добавить свои команды для включения дополнительных функций. Например, увеличение лимита памяти, ограничение ревизий постов или автоматическая очистка корзины.
В этой статье вы узнаете о стандартных функциях wp-config.php и о том, какие дополнительные функции можно в него добавить.
Содержание:
Что такое wp-config.php
Константы Вордпресс
- Стандартное содержание файла wp-config.php
- Дополнительный функционал wp-config.php
- URL сайта
- Изменение файловой структуры Вордпресс
- Тема по умолчанию
- Ревизии постов, автосохранение и корзина
- Собственные таблицы user и usermeta
- Мультисайт
- Увеличение лимита PHP памяти
- Отключение редактирования файлов в админке Вордпресс
- Настройки режима отладки
- Настройки cron расписания
- Использование SSL на странице логина и в админке
- Автообновление Вордпресс
- Оптимизация базы данных
Что такое wp-config.php
WP-config.php – главный файл сайта, который используется для
- настройки соединения с базой данных
- настройки производительности сайта
- усиления безопасности сайта
По умолчанию в свежей установке Вордпресс нет файла wp-config. Вместо него есть пустой шаблон wp-config-sample.php, в котором находятся незаполненные поля установки соединения с базой данных, ключей, префикс БД и так далее.
Актуальную версию файла wp-config-sample.php вы можете посмотреть или скачать с гитхаба WordPress:
Обычно его не заполняют вручную, Вордпресс делает это автоматически во время установки сайта.
Константы Вордпресс
В файле wp-config можно использовать php константы для выполнения определенных задач. У Вордпресса есть множество констант, которые можно использовать.
Файл wp-config.php загружается до файлов ядра Вордпресс, то есть если вы измените значение какой-то константы, то изменения коснутся всего сайта. Вы можете включить или выключить какую-то функцию, изменив ее значение с true
на false
, или наоборот.
Документация по файлу wp-config.php в Кодексе Вордпресс. Большинство функций из документации описаны в этой статье.
Сделайте бэкап файла wp-config перед изменениями.
I. Стандартное содержание файла wp-config.php
Если вы устанавливаете Вордпресс через FTP, то Вордпресс просит заполнить эти поля:
Замените префикс таблиц базы данных на какой-нибудь свой, например, az13kn_
.
Если вы заполняете файл вручную, заполните эти строки:
Кодировка нужна для использования Вордпресс на другом языке. Используйте UTF8, потому что эта кодировка поддерживает все языки и имеет специальные символы, например á
или ≥
.
Сопоставление определяет как строки сравниваются в базе данных, некоторые сопоставления могут быть чувствительны к регистру. Оставьте как есть.
1. Ключи и соли
Ключи безопасности – это набор случайных символов, которые используются для шифрования информации, хранящейся в кукис браузера.
Соли – еще один набор случайных символов, которые используются для хеширования паролей.
Вы можете использовать генератор ключей Вордпресс для заполнения этих полей.
Для усиления безопасности можно несколько раз в год менять эти ключи.
2. Префикс базы данных
В мастере установки Вордпресс можно изменить префикс базы данных, то же самое можно сделать вручную в wp-config.php.
Замените wp_
на что-нибудь уникальное. После изменения префикса базы данных нужно будет сделать несколько изменений в базе данных.
3. Режим debug
По умолчанию режим debug выключен, оставьте его выключенным:
Если вы работаете над сайтом и ищете ошибку или получили белый экран, включите режим debug, заменив false
на true
. Выключите режим отладки после того, как закончите работу, потому что некоторая информация о сайте будет отображаться во фронт-энде или сохраняться в файл.
II. Дополнительный функционал wp-config.php
Как и в другие php файлы, вы можете добавить свой код в wp-config. Внимательно проверяйте, потому что одна ошибка может повесить сайт.
Добавляйте свой код до строки:
1. URL сайта
В настройках Вордпресс вы указываете адрес Вордпресс и адрес сайта.
Эти данные хранятся в базе данных, и каждый раз, когда кто-то запрашивает страницу сайта, создается запрос к базе данных. В Вордпресс 2.2 были добавлены функции WP_HOME
и WP_SITEURL
. Эти функции имеют приоритет перед записями в базе данных.
Замените http://ваш-сайт.ru
на ваш URL. Добавьте “s” в http
, если у вас https.
Если вы добавите этот код в wp-config, это уменьшит количество запросов к базе данных на 1, сайт будет работать немного быстрее. При создании страницы обычно создается несколько десятков запросов к базе данных.
2. Изменение файловой структуры Вордпресс
Вы можете изменить стандартное расположение папок wp-content
, plugins
и uploads
и создать новую папку для тем. Это делается для того, чтобы не использовать стандартную структуру папок Вордпресс, информация о которой находится в открытом доступе. Если вы перенесете эти папки в другие места, это повысит безопасность сайта.
Для папок wp-content
и plugins
нужно указать абсолютный путь и полный URL. Для plugins
нужно указать PLUGINDIR
, чтобы не было проблем с совместимостью.
Папка uploads
всегда привязана к ABSPATH
, поэтому слеш перед extensions/uploads
не требуется. Эту папку нельзя перенести из папки wp-content (extensions), но можно переименовать.
Папка themes
привязана к папке wp-content
, но можно создать еще одну папку для тем. В этом примере папка называется wprs-themes
и находится в корневой директории.
Если Вордпресс расположен в папке public_html
, то новая структура будет выглядеть так:
- ваш-сайт.ru
- wp-admin
- wp-content
- plugins
- themes
- uploads
- wp-includes
- ваш-сайт.ru
- extensions
- plugins
- themes
- wprs-themes
- uploads
- wordpress
- wp-admin
- wp-includes
- extensions
Стандартная структура WP слева и структура из примера справа
Кроме этих папок есть еще одна стандартная папка, которая называется mu-plugins, Must Use Plugins, то есть плагины обязательные для использования.
Если у вас есть эта папка, вы можете ее перенести с помощью этого кода:
Замените название папки impmu-plug
на свое название.
3. Тема по умолчанию
В Вордпресс тема по умолчанию – 20ХХ. Если что-то случится с вашей активной темой, то загрузится тема по умолчанию. Чтобы сменить тему по умолчанию, добавьте эти строки в wp-config:
4. Ревизии постов, автосохранение и корзина
В Вордпрессе 2.6 появилась функция ревизии постов, которая делает авто-сохранение постов на тот случай, если зависнет браузер или компьютер. Или если вы хотите загрузить предыдущую версию контента.
Укажите количество ревизий, которое вы хотите хранить в базе данных:
Если вы хотите полностью отключить ревизии, замените 5
на false
:
По умолчанию Вордпресс делает авто-сохранение каждые 60 секунд, если вы хотите изменить интервал автосохранения, укажите свое время в секундах:
После того, как вы удалили контент в Корзину, он будет там находиться 30 дней, после этого он будет полностью удален из базы данных. Вы можете изменить интервал очистки корзины, например, до 5 дней:
Если вы хотите полностью отключить Корзину – поставьте 0, тогда контент будет удаляться сразу без помещения в Корзину.
5. Собственные таблицы user и usermeta
По умолчанию Вордпресс сохраняет все данные пользователей в таблицы wp_users и wp_usermeta. Для увеличения безопасности можно использовать таблицы с произвольным именем, вы можете их создать с помощью этого кода:
Измените clients
и clientsmeta
на свое название. Перед тем как делать изменения, прочитайте описание функций в кодексе Вордпресс.
6. Вордпресс Мультисайт
Мультисайт позволяет создавать отдельные сайты, которые используют одну и ту же установку Вордпресс. Это используется, когда владельцы сайтов хотят, чтобы магазин, блог или сайт компании находились на субдоменах или в разных подпапках. Некоторые сайты создают субдомены для каждого пользователя, и так далее.
Чтобы создать мультисайт, добавьте эту константу в wp-config:
После того, как вы добавили этот код, в разделе Инструменты в админке Вордпресс появится новая строка Мультисайт. Следуйте инструкциям на этой странице. Вордпресс попросит добавить настройки в файл wp-config и .htaccess. После этого выйдите из админки и зайдите снова, вы должны увидеть админку мультисайта. Подробнее о Мультисайте читайте в кодексе Вордпресс.
Настройки мультисайт установки позволяют делать редирект пользователей, которые пытаются попасть на несуществующий субдомен. Чтобы перенаправлять этих пользователей на главный сайт, добавьте это правило:
7. Увеличение лимита PHP памяти
Вы могли получить ошибку лимита php памяти. Чтобы увеличить лимит памяти, добавьте эту строку:
8. Отключение редактирования файлов в админке Вордпресс
В обычной или Мультисайт установке можно отключить возможность редактировать файлы тем и плагинов:
Или отключить возможность пользователям устанавливать или обновлять темы и плагины:
Функция DISALLOW_FILE_MODS
также отключает редактирование файлов в админке.
9. Настройки режима отладки
В wp-config.php есть несколько настроек, которые помогают находить ошибки. Основная функция – WP_DEBUG
, которая находится в этом файле по умолчанию.
Если вы планируете модифицировать css или js, включите эти режимы:
По умолчанию скрипты объединены в один файл и минифицированы. Файлы объединяются для ускорения загрузки, – один объединенный файл скачается быстрее, чем 20 по отдельности. При минификации из кода страницы убираются пробелы, переносы строк и комментарии. Как это выглядит можно посмотреть здесь. Эти два метода ускоряют загрузку страниц.
Чтобы найти нужный файл, который вызывает проблему, сначала нужно отключить минификацию и объединение. Эта функция включает отладку скриптов и отключает минификацию и объединение.
Иногда ошибки появляются при определенных обстоятельствах, тогда в режиме отладки можно не найти ошибку. В этом случае надо смотреть логи событий. Включите логи событий:
Логи событий будут сохраняться в файл debug.log
в папке wp-content
.
Также вы можете включить сохранение sql запросов, которые Вордпресс делает к базе данных. Добавьте эту функцию в wp-config.php:
и этот код в футер вашей темы:
10. Настройки cron расписания
Cron – это расписание заданий, которые запускаются в определенное время или с определенной периодичностью. Вордпресс запускает определенные задачи согласно своему расписанию, например, публикует страницы в назначенное время, проверяет обновления, сбрасывает кеш и так далее.
В Вордпрессе некоторые задачи в крон расписании выполняются не в точно назначенное время, а при посещении сайта. Например, если какая-то задача назначена на 12.00, то она выполнится когда на сайт зайдет первый посетитель, например, в 12.30.
Если у вас появилась проблема с крон заданиями, например, сайт не проверяет обновления, попробуйте использовать альтернативный крон метод:
Если нужно, вы можете полностью отключить крон:
Или изменить интервал между назначенными работами:
11. Использование SSL на странице логина и в админке
В документации wp-config.php есть 2 функции, которые позволяют использовать SSL. FORCE_SSL_LOGIN
включает использование SSL на страницах авторизации, но не в админке Вордпресс. Это добавляет защиты и не замедляет работу в админке.
FORCE_SSL_ADMIN
включает SSL на страницах логина и в админке Вордпресс.
Если вы будете использовать FORCE_SSL_ADMIN
, то FORCE_SSL_LOGIN
можно удалить из правила.
12. Автообновление Вордпресс
Начиная с версии Вордпресс 3.7 минорные обновления устанавливаются автоматически. Для безопасности рекомендуется оставить автообновление ядра включенным.
Если вы хотите выключить автообновление, добавьте эту строку:
Или используйте функцию WP_AUTO_UPDATE_CORE
:
- Ручное и Автоматическое обновление Вордпресс, плагинов, тем и переводов
- Почему у вас должна быть последняя версия Вордпресс
13. Оптимизация базы данных
В Вордпресе 2.9 появилась функция оптимизации и восстановления базы данных. Добавьте:
Сохраните файл и наберите адрес:
http://www.ваш-сайт.ru/wp-admin/maint/repair.php
Если ваша база данных повредилась, и вы не можете войти на сайт, попробуйте восстановить ее этой опцией и зайдите на сайт еще раз. После получения отчета о восстановлении базы данных удалите эту функцию из wp-config, чтобы посторонние не видели информацию с этой страницы, например, не могли узнать префикс базы данных.
Кроме этого способа, вы можете попытаться восстановить базу данных на хостинге в phpMyAdmin, результат будет такой же, потому что они используют одну и ту же функцию.
WP-config.php – главный конфигурационный файл сайта, в котором находятся основные настройки сайта.
Для защиты этого файла от хакеров дайте ему права доступа 400. Если сайт стал недоступен, дайте 440. Это зависит от настроек сервера.
Для усиления защиты вы можете перенести wp-config на один уровень вверх. Никаких настроек делать не нужно.
Или вы можете запретить доступ к этому файлу, если добавите это правило в .htaccess:
***
По этой ссылке находится хороший генератор снипетов для wp-config.php.
Читайте также:
Надеюсь, статья была полезна. Оставляйте комментарии.
комментариев 5
Ответить
Techbear
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
WordPress WooCommerce Membership Elementor ACF
а где настроить ftp если сервак у меня на компе, а не удаленный хостинг? Где эту информацию найти? где грёбаная документация?!
Ух ты, это именно то, что я искал. Спасибо автору!!!
Скажите, а обязательно здесь указывать полный адрес сайта?
define( ‘WP_PLUGIN_URL’, ‘http://ваш-сайт.ru/extensions/plugins’ );
Можно ли таким образом?
define( ‘WP_PLUGIN_URL’, ‘/extensions/plugins’ );
Попробуйте, по-моему это зависит от сервера.
Используйте лучше константы. Например, dirname(__FILE__) – путь к каталогу с файлом wp-config.
И учтите, что для работы с плагинами у ВП три константы. То есть, по итогу так
define( ‘PLUGINDIR’, dirname(__FILE__) . ‘/extensions’ );
define( ‘WP_PLUGIN_DIR’, dirname(__FILE__) . ‘/extensions’ );
define( ‘WP_PLUGIN_URL’, ‘https://site.ru/extensions’ );
Создание дополнительной папки тем
Наверное, правильнее будет так:
1) создать каталог в корне сайта, например appearance
2) в wp-config определить массив, в котором будут располагаться темы оформления
$wp_theme_directories = array(__DIR__ . ‘/appearance’);
3) в каталог appearance можно копировать свои темы