Зачем нужен файл wp-config.php в WordPress? Где находиться и как правильно его настраивать?

Если вы планируете заниматься разработкой сайтов на WordPress, то вам обязательно нужно разобраться с фалом wp-config.php, поскольку именно его вы будете редактировать при переносе сайта на другой хостинг, или же при включении режима отладки в случае тестирования сайта на  ошибки.

В этой статье мы разберемся со структурой и настройками данного файла.

Важный момент! Перед тем как проводить редактирование wp-config.php сделайте бэкап сайта или же хотя бы бэкап данного файла, чтобы вы могли оперативно залить его обратно на сервер в случае возникновения ошибок при его правке. А ошибки в данном файле зачастую приводят к тому, что сайт не работает, поэтому будьте внимательны в этом вопросе.

Что это за файл — wp-config.php?

Файл wp-config.php – это файл конфигурации вашего WordPress сайта, который хранит базовые настройки: подключение к базе данных, параметры безопасности и может включать дополнительные функции для работы вашего ресурса.

Где находится wp-config.php в структуре файлов CMS WordPress? Изначально данный файл создается в процессе установки движка и в него записываются параметры подключения к БД. Размещен файл в корневой директории файлов.

Для изменения файла конфига вы можете использовать FTP клиенты, например: FileZilla или же WinSCP, если у вас Mac, то можно установить: Transmit или CyberDuck. Второй путь – это редактирование файла напрямую через панель хостинга, если там есть функция файлового менеджера. Я рекомендую использовать FTP клиенты, поскольку через панель хостинга может сбиваться кодировка файла.

Как пример для изучения мы возьмем файл: wp-config-sample.php. Этот файл также размещен в корневой папке сайта и является файлом с дефолтными настройками. В случае необходимости вы можете скопировать его содержимое в основной файл конфига или же просто переименовать его убрав приставку  «-sample».

<?php
/**
 * Основные параметры WordPress.
 *
 * Скрипт для создания wp-config.php использует этот файл в процессе
 * установки. Необязательно использовать веб-интерфейс, можно
 * скопировать файл в "wp-config.php" и заполнить значения вручную.
 *
 * Этот файл содержит следующие параметры:
 *
 * * Настройки MySQL
 * * Секретные ключи
 * * Префикс таблиц базы данных
 * * ABSPATH
 *
 * @link https://codex.wordpress.org/Editing_wp-config.php
 *
 * @package WordPress
 */

// ** Параметры MySQL: Эту информацию можно получить у вашего хостинг-провайдера ** //
/** Имя базы данных для WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Имя пользователя MySQL */
define( 'DB_USER', 'username_here' );

/** Пароль к базе данных MySQL */
define( 'DB_PASSWORD', 'password_here' );

/** Имя сервера MySQL */
define( 'DB_HOST', 'localhost' );

/** Кодировка базы данных для создания таблиц. */
define( 'DB_CHARSET', 'utf8' );

/** Схема сопоставления. Не меняйте, если не уверены. */
define( 'DB_COLLATE', '' );

/**#@+
 * Уникальные ключи и соли для аутентификации.
 *
 * Смените значение каждой константы на уникальную фразу.
 * Можно сгенерировать их с помощью {@link https://api.wordpress.org/secret-key/1.1/salt/ сервиса ключей на WordPress.org}
 * Можно изменить их, чтобы сделать существующие файлы cookies недействительными. Пользователям потребуется авторизоваться снова.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'впишите сюда уникальную фразу' );
define( 'SECURE_AUTH_KEY',  'впишите сюда уникальную фразу' );
define( 'LOGGED_IN_KEY',    'впишите сюда уникальную фразу' );
define( 'NONCE_KEY',        'впишите сюда уникальную фразу' );
define( 'AUTH_SALT',        'впишите сюда уникальную фразу' );
define( 'SECURE_AUTH_SALT', 'впишите сюда уникальную фразу' );
define( 'LOGGED_IN_SALT',   'впишите сюда уникальную фразу' );
define( 'NONCE_SALT',       'впишите сюда уникальную фразу' );

/**#@-*/

/**
 * Префикс таблиц в базе данных WordPress.
 *
 * Можно установить несколько сайтов в одну базу данных, если использовать
 * разные префиксы. Пожалуйста, указывайте только цифры, буквы и знак подчеркивания.
 */
$table_prefix = 'wp_';

/**
 * Для разработчиков: Режим отладки WordPress.
 *
 * Измените это значение на true, чтобы включить отображение уведомлений при разработке.
 * Разработчикам плагинов и тем настоятельно рекомендуется использовать WP_DEBUG
 * в своём рабочем окружении.
 *
 * Информацию о других отладочных константах можно найти в Кодексе.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define( 'WP_DEBUG', false );

/* Это всё, дальше не редактируем. Успехов! */

/** Абсолютный путь к директории WordPress. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', dirname( __FILE__ ) . '/' );
}

/** Инициализирует переменные WordPress и подключает файлы. */
require_once( ABSPATH . 'wp-settings.php' );

Настройки MySQL для wp-config.php

Вот этот фрагмент файла отвечает за подключение базы данных.

// ** Параметры MySQL: Эту информацию можно получить у вашего хостинг-провайдера ** //
/** Имя базы данных для WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Имя пользователя MySQL */
define( 'DB_USER', 'username_here' );

/** Пароль к базе данных MySQL */
define( 'DB_PASSWORD', 'password_here' );

/** Имя сервера MySQL */
define( 'DB_HOST', 'localhost' );

Основные параметры для редактирования это: Имя базы данных, MySQL имя пользователя, MySQL пароль базы данных, MySQL сервер (его еще называют хост БД). Изменять кодировку не рекомендую, там по умолчанию установлена «utf8», с которой и работают большинство сайтов на WordPress. Данные параметры редактируют при переносе сайта и изменении доступов и названия БД. Узнать необходимую информацию для ввода вы можете у своего хостинг провайдера в панели управления или же при обращении к консультантам.

Ключи безопасности (аутентификации)

Второй тип настроек – это задание ключей аутентификации, которые повысят безопасность и зашифруют информацию пользователя. Вот как выглядит этот фрагмент кода в файле wp-config.php.

define( 'AUTH_KEY',         'впишите сюда уникальную фразу' );
define( 'SECURE_AUTH_KEY',  'впишите сюда уникальную фразу' );
define( 'LOGGED_IN_KEY',    'впишите сюда уникальную фразу' );
define( 'NONCE_KEY',        'впишите сюда уникальную фразу' );
define( 'AUTH_SALT',        'впишите сюда уникальную фразу' );
define( 'SECURE_AUTH_SALT', 'впишите сюда уникальную фразу' );
define( 'LOGGED_IN_SALT',   'впишите сюда уникальную фразу' );
define( 'NONCE_SALT',       'впишите сюда уникальную фразу' );

Пароли должны быть сложными и надежными. Каждая фраза должна быть разной. Желательно с использованием латинских строчных и прописных букв, цифр, спецсимоволов. При установке WordPress движок сам генерирует пароли и их можно не трогать. Но если стоит задача обновить все куки для пользователей, то можно изменить данные ключи, и вашим пользователям нужно будет заново авторизоваться на вашем сайте.

Сгенерировать ключи безопасности можно с помощью WordPress API.

Префикс таблицы базы данных

По умолчанию WordPress устанавливает префикс базы данных формата «wp_». Это стандарт, и для повышения безопасности вашего сайта я рекомендую изменять префикс на свой кастомный.

$table_prefix = 'wp_';

Такое редактирования префикса БД усложнит внедрение SQL-кода. При составлении префикса используйте подчеркивание, латинские буквы и цифры. Пример изменения префикса приведен ниже.

$table_prefix = 'bd68Admin_';

Старайтесь сделать его сложным. Я обычно изменяю его еще на этапе установки движка.

Режим отладки

Из коробки режим отладки в WordPress отключен. Убедиться в этом вы можете, зайдя в файл wp-config.php и найдя следующий код.

define( 'WP_DEBUG', false );

Режим отладки полезно включать при разработке сайта на WordPress. Он выводит уведомления об ошибках при выполнении кода. Сюда могут попадать и ошибки не первого уровня важности (notices), но их устранение иногда бывает важным моментом. Вы сможете увидеть конфликты плагинов или косяки вашего кода. Чтобы включить режим отладки, изменяем значение false на true.

define( 'WP_DEBUG', true );

Язык WordPress

Следующая строчка кода отвечает за язык вашего сайта. Если ее удалить, то по умолчанию будет установлена английская версия движка.

define ('WPLANG', 'ru_RU');

Как видите, для русской локализации мы используем: define (‘WPLANG’, ‘ru_RU’).

На этом стандартные настройки закончены.

Дополнительные хуки и настройки файла wp-config.php

Теперь рассмотрим несколько настроек, которые вы по желанию, можете добавить в файл wp-config.php.

Изменяем папку загрузок

По умолчанию WordPress сохраняет все загруженные файлы в папке /wp-content/uploads/. Если вы хотите изменить директорию для файлов, то можете прописать следующую строчку.

define( 'UPLOADS', 'wp-content/media' );

Обратите внимание на то, что путь к каталогу загрузок относится к ABSPATH, автоматически установленному в WordPress. Добавить здесь абсолютный путь не получится.

Отключаем автоматическое обновление WordPress

Начиная с версии 3.7, данный движок поддерживает функцию автоматического обновления файлов движка после выхода релиза его новой версии. Обновление движка – это залог безопасности вашего сайта, но иногда бывают релизы, которые могут вызвать конфликты с плагинами или вашим кастомным кодом, что приведет к ошибкам или же полному падению сайта. Лучше всего обновляться вручную, предварительно создав резервную версию вашего сайта.

Чтобы отключить автообновления, если у вас они включены, в файле конфига можно прописать следующее.

define( 'WP_AUTO_UPDATE_CORE', false );

Ограничить количество редакций записи

По дефолту WordPress будет сохранять все сохраненные версии документа при его редактировании, давая возможность вернуться к предыдущей версии этой статьи или страницы. Редакции записей, особенно на крупных сайтах, могут существенно увеличить размер файла базы данных, и чтобы ограничить количество редакций вы можете прописать следующую строчку в конфиге.

define( 'WP_POST_REVISIONS', 3 );

Цифра 3 указывает на количество сохраняемых версий статьи. После этого WordPress будет автоматически удалять старые версии статей, и оставлять только три последние. Вы можете указать вместо 3-х свое значение редакций.

Если у вас поставлена задача, полностью отключить функцию сохранения редакций записи, то можете прописать следующую строчку.

define('WP_POST_REVISIONS', false );

Изменение интервала автосохранения

При написании статьи вы наверняка замечали, что с определенной периодичностью ваша запись сохраняется. Это реализовано с помощью Ajax. Иногда нужно увеличить интервал сохранения или же наоборот уменьшить его, чтобы не потерять вводимые данные. Делаеться это с помощью следующего кода.

define('AUTOSAVE_INTERVAL', 160 );  // seconds

Выводы. Надеюсь, данная статья помогла вам получить общее представление о файле wp-config.php и разобраться с основными настройками, которые используются разработчиками сайтов на WordPress на практике.

Поделиться в социальных сетях:
Нет комментариев к данной статье

Оставить новый комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *