wp-config.php — это основной файл конфигурации WordPress сайта, он управляет ключевыми функциональными возможностями и находиться в корне сайта. Без файла wp-config.php ваш сайт на WordPress’е просто не заработает. Всякий раз, когда устанавливается WordPress, необходимо подготовить Ваш файл wp-config.php.
Все достаточно просто – укажите информацию о вашей базе данных MySQL, и готово. Остальные параметры настройки в файле wp-config.php будут работать со стандартными значениями. Но некоторые значения можно изменить или добавить, чтобы улучшить работу Вашего сайта и повысить его безопасность.
В составе дистрибутива WordPress есть файл wp-config-sample.php — не трудно догадаться по названию что он является примером-шаблоном для вашего файла wp-config.php, осталось добавить и отредактировать в нем нужные параметры, и сохранить в той же папке (в корне WordPress) под именем wp-config.php.
Достаточно важно научиться работать с wp-config.php, чтоб усилить безопасность вашего сайта, ускорить работу и прочее.
Сделайте резервную копию сайта!
Сделайте бэкап в ручную (экспортируйте базы данных через phpMyAdmin) или с помощью плагина (например BackWPup). Это поможет отменить ваши манипуляции в случае чего. Ваши действия могут повлиять на работу базы данных, но не затронут ваши файлы, не считая файла wp-config.php, так что скопируйте и его, на всякий случай. Если же вы не делали бэкап файлов больше месяца — рекомендуется его тоже сделать. Бэкап — всегда хорошо.
Основные настройки wp-config.php
Параметры вашей базы данных MySQL:
define('DB_NAME', 'database_name_here');
Укажите имя вашей базы данных для WordPress (вы должны были ее создать в панели управления хостингом, например CPanel). При этом не забудьте что на вашем хостинге к имени базы данных впереди добавляется имя аккаунта на хостинге. То есть если мое имя на хостинге elimS, а базу для WordPress я назвал WordPressDB, то в файле wp-config.php имя базы данных нужно указать как elimS_WordPressDB
define('DB_USER', 'username_here'); define(‘DB_PASSWORD’, ‘password_here‘);
Тут мы указываем имя пользователя и пароль для вашей базы данных — вы также их должны были создать в панели управления хостингом и разрешить этому пользователю управлять вашей базой данных. Не забываем впереди добавить имя аккаунта на хостинге, так же как с базой данных.
define('DB_HOST', 'localhost');
На большинстве хостингов в качестве имени хоста необходимо указать localhost, тут ничего менять не нужно.
Строка настройки языка:
define('WPLANG', '');
Для того, чтобы WordPress общался по-русски, можно обойтись без локализации, достаточно указать в настройках для языка указать ‘ru’, хотя специально локализованный дистрибутив конечно будет лучше.
Скорость: Отключение сохраненных версий
Сохранение версий ваших записей включено по умолчанию, из-за этого ваша база данных может значительно раздуться. Сохраненные версии предназначены для того, чтоб вы могли вернутся к предыдущей версии записи, если это вам необходимо. Если вы не пользуетесь этим функционалом, то лучше отключить этот функционал. Добавьте в wp-config.php следующую строку:
define('WP_POST_REVISIONS', false );
Если вам нужно сохранение предыдущих версий, то можно просто ограничить их количество для каждой записи:
define('WP_POST_REVISIONS', 2 );
Безопасность: Запретите доступ к wp-config.php
Для этого нужно отредактировать не wp-config.php, а .htaccess. Мы запретим злоумышленникам загружать через браузер файл yoursite.ru/wp-config.php. Добавьте в файл .htaccess строки:
# protect wpconfig.php <files wp-config.php> order allow,deny deny from all </files>
Безопасность: безопасное SSL-соединение для консоли администратора
Если на вашем сервере включен SSL, то в WordPress можно использовать SSL-соединение при авторизации, добавьте в wp-config.php строку:
define('FORCE_SSL_LOGIN', true);
Можно использовать SSL на каждой странице администратора, чтобы все открывалось только через зашифрованное соединение, добавьте в wp-config.php строку:
define('FORCE_SSL_ADMIN', true);
Дополнительную информацию о том, как настраивается SSL, можно прочесть в WordPress Codex в статье Administration Over SSL.
Безопасность: Редактирование префикса базы данных
Если WordPress подтвержден «SQL инъекции», то можно легко ею воспользоваться, зная стандартные префиксы таблиц базы данных WordPress. Но если префиксы таблиц (wp_) изменить , то уже не так уж просто будет их угадать. При установке WordPress измените стандартные префиксы на странице установки или отредактируйте строку в wp-config.php:
$table_prefix = 'elimsWPprefix_'
Безопасность: Добавьте ключи безопасности
define(‘AUTH_KEY’, ‘your unique phrase’); define(‘SECURE_AUTH_KEY’, ‘your unique phrase’); define(‘LOGGED_IN_KEY’, ‘your unique phrase’); define(‘NONCE_KEY’, ‘your unique phrase’); define(‘AUTH_SALT’, ‘your unique phrase’); define(‘SECURE_AUTH_SALT’, ‘your unique phrase’); define(‘LOGGED_IN_SALT’, ‘your unique phrase’); define(‘NONCE_SALT’, ‘your unique phrase’);
Одна из наиболее нужных мер безопасности WordPress — это копирование и вставка случайно значений например со страницы https://api.wordpress.org/secret-key/1.1/salt в файл wp-config.php.
На этой страничке вы получите восемь строк с уникальными ключами. Можно просто их скопировать и заменить шаблонные строки в файле wp-config.php.
Настройка интервала автосохранения
Для того, чтоб изменить интервал автосохранения задайте его значение в wp-config.php:
define('AUTOSAVE_INTERVAL', 365 ); // in seconds!
Перенес WordPress сайта
Если вы будете переносить WordPress сайт на новый домен (поддомен, папку), укажите перед переносом базы данных в wp-config.php следующее:
define('RELOCATE',true); // We're not done yet!
После самого переноса файлов и баз данных, авторизуйтесь на yournewdomain.ru/wp-admin.php и проверьте, поменялся ли домашний адрес на странице «Общих настроек». После переноса, удалите эту строку из wp-config.php. Это избавит вас от ручного редактирования баз данных.
Отключение редактирования файлов тем и плагинов
Для отключения возможности редактирования тем и плагинов укажите в wp-config.php следующее:
define('DISALLOW_FILE_EDIT',true);
Можно даже отключить установку новых плагинов и тем, и их обновление. Укажите:
define('DISALLOW_FILE_MODS',true);
Только имейте в виду, что обновление очень важны, в них исправляют уязвимости. Если вы хотите отключить установки и обновление новых тем/плагинов, то вам необходимо следить за обновлениями каким-либо другим способом.
Включение WP_DEBUG при разработке
Для разработчиков плагинов или темы будет полезна функция отладки в WordPress:
define('WP_DEBUG',true);
Этот позволит выводить предупреждающие сообщения работы WordPress. Если включить этот режим, то можно увидеть кучу разных сообщений об ошибках и предупреждениях, даже от самых известных плагинов.
Сообщения об ошибках можно записывать в отдельный файл:
@ini_set('log_errors','On'); @ini_set('display_errors','Off'); @ini_set('error_log','/home/path/domain/logs/php_error.log');
Задайте правильные права доступа для файла ошибок, он должен быть доступен для записи. Анализ ошибок позволит отслеживать и решать проблемы на вашем сайте.
Увеличение памяти PHP
Если у вас выскакивает сообщение “Allowed memory size of yyyyy bytes exhausted”, значит для работы PHP не хватает оперативной памяти. Ее можно увеличить:
define('WP_MEMORY_LIMIT', '64M');
По умолчанию установлено 32М, можете указать больше, например 128М.
Но, не все хостинги разрешают это делать. Возможно, вам нужно будет договариваться с вашим хостинг-провайдером.