Где находится файл wp config php в wordpress
Перейти к содержимому

Где находится файл wp config php в wordpress

  • автор:

Артём Санников

Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Главная › Cms системы › WordPress › Безопасность › Как переместить файл wp-config.php в WordPress

Как переместить файл wp-config.php в WordPress

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

Переходим в корневую директорию, в которой хранятся файлы системы управления содержимым сайта WordPress. Создаем новую директорию — my-conf

Создаём новую директорию my-conf в корневом каталоге WordPress

В корневом каталоге находим файл — wp-config.php , и перемещаем его в созданную директорию my-conf

Перемещаем файл wp-config.php в WordPress

Должен получиться следующий результат. Файл wp-config.php расположен в директории my-conf

Файл wp-config.php перемещен

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

Новый файл wp-config.php

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

 // Расположение файла конфигурации wp-config.php require_once(ABSPATH.'my-conf/wp-config.php'); ?>

Сохраняем внесенные изменения.

Указываем новый путь к файлу wp-config.php

На этом всё, задание выполнено. Сейчас необходимо проверить работоспособность сайта, открываем браузер и переходим по следующему адресу http://localhost/my-site/wp-admin/ , если открылась панель управления или страница авторизации, значит вы сделали всё правильно.

Сайт работает с новым файлом конфигурации WordPress

Записи по теме

  • Как удалить имя администратора из CSS-классов в комментариях WordPress
  • Как включить FTPS в WordPress
  • Как включить SFTP в WordPress
  • Как удалить пользователя по умолчанию в WordPress
  • Как отключить нумерацию пользователей в WordPress
  • Как скрыть версии скриптов и стилей в WordPress
  • Как скрыть версию WordPress
  • Как отключить XML-RPC в WordPress

Файл wp-config.php — подробное описание настроек WordPress

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

Сегодня я бы хотел вам рассказать что в этот файл можно очень много интересного прописать для безопасности вашего сайта, и не только. Поехали!

Файл wp-config

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

Ко мне часто поступают вопросы про хостинг, которым я пользуюсь и поэтому решил указать хостинг в статье https://sprinthost.ru. Вы можете попробовать попользоваться хостингом 30 дней бесплатно. Чтобы понять, как будет работать Ваш сайт на этом хостинге просто перенести свой сайт (в этом поможет поддержка хостинга бесплатно) и и таким образом сможете понять подходит хостинг Вам или нет. На этом хостинге находятся сайты с 20 000 тысяч посещаемость и сайты чувствуют себя отлично. Рекомендую! Да, если делать оплату на 1 год то получаете скидку 25%. И что мне нравится — тех. поддержка всегда помогает в технических вопросах, за что им спасибо. Как Вы понимаете не всегда проходит всё гладко и нет желания, чтобы сайт не был доступен тем самым страдал трафик и доход.

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

Оглавление

  1. Базовый файл wp-config.php
  2. Базовая конфигурация: редактирование файловой системы
  3. Возможности для разработчиков: режим отладки и сохранение запросов
  4. Настройки, связанные с контентом
  5. Разрешенный объем памяти
  6. Автоматические обновления
  7. Настройки безопасности
  8. Другие дополнительные настройки
  9. Блокировка wp-config.php

Базовый файл wp-config.php

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

Базовый файл wp-config

Когда вы запустите установку, вам потребуется ввести данные, которые хранятся в файле wp-config.php

Вот основной файл 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'); /** Кодировка базы данных для использования при создании таблиц базы данных. */ define('DB_CHARSET', 'utf8'); /** Тип сортировки базы данных. Не меняйте это, если сомневаетесь. */ define('DB_COLLATE', ''); 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', 'поместите свою уникальную фразу здесь'); $table_prefix = 'wp_'; /* Вот и все, дальше не редактировать! Счастливого ведения блога. */

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

Примечание: определения констант и инструкции PHP приходят в определенном порядке, который мы никогда не должны менять. И мы никогда не должны добавлять содержимое под следующей строкой комментария:

/* Вот и все, дальше не редактировать! Счастливого ведения блога. */

Сначала приведу определения констант базы данных, которые вы должны были получить от своего хостера:

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST
  • DB_CHARSET
  • DB_COLLATE

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

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

Чтобы изменить префикс таблицы на работающем веб-сайте, необходимо выполнить несколько запросов к базе данных, а затем вручную отредактировать файл wp-config.php. Если у вас нет доступа к базе данных или вы не обладаете необходимыми знаниями для создания пользовательских запросов, вы можете установить плагин, такой как Change Table Prefix (правда он давно не обновлялся), который будет переименовывать таблицы базы данных и имена полей, а также обновлять файл конфигурации без риска.

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

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

Базовая конфигурация: редактирование файловой системы

Файловая система WordPress хорошо известна пользователям и хакерам. По этой причине вы можете рассмотреть возможность изменения встроенной файловой структуры путем перемещения определенных папок в произвольных местах и установки соответствующих URL-адресов и путей в файле wp-config.

Во-первых, мы можем переместить папку содержимого, определив две константы. Первый устанавливает полный путь к каталогу:

define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/site/wp-content' );

Второй устанавливает новый URL каталога:

define( 'WP_CONTENT_URL', 'http://example.com/site/wp-content' );

Мы можем переместить только папку плагинов, определив следующие константы:

define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/wp-content/mydir/plugins' ); define( 'WP_PLUGIN_URL', 'http://example.com/wp-content/mydir/plugins' );

Таким же образом мы можем переместить папку загрузки, установив новый путь к каталогу:

define( 'UPLOADS', 'wp-content/mydir/uploads' );

Примечание: все пути относятся к «ABSPATH», и они не должны содержать начальный слеш.

Когда закончите, расставьте папки и перезагрузите WordPress.

Базовая конфигурация

Изображение показывает встроенную файловую структуру по сравнению с настроенной структурой

Невозможно переместить папку /wp-content/themes из файла wp-config, но мы можем зарегистрировать новый каталог темы в плагине или файле functions.php темы.

Возможности для разработчиков: режим отладки и сохранение запросов

Если вы разработчик (как и я), вы можете заставить WordPress отображать ошибки и предупреждения, которые помогут вам в отладке тем и плагинов. Чтобы включить режим отладки, вам просто нужно установить «WP_DEBUG» в значение «true», как показано ниже:

define( 'WP_DEBUG', true );

«WP_DEBUG» по умолчанию имеет значение «false». Если вам нужно отключить режим отладки, вы можете просто удалить определение или установить значение константы в «false».

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

В таких ситуациях вы можете заставить WordPress вести таблицу ошибок и предупреждений в файле «debug.log», расположенном в папке /wp-content. Чтобы включить эту функцию, скопируйте и вставьте следующий код в файл wp-config.php:

define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );

Чтобы эта функция работала, сначала нужно включить режим отладки. Затем, установив «WP_DEBUG_LOG» в значение «true», мы заставляем WordPress хранить сообщения в файле «debug.log», а при определении «WP_DEBUG_DISPLAY» в «false» скрываем их с экрана. Наконец, мы устанавливаем в 0 значение переменной PHP — «display_errors» чтобы сообщения об ошибках не выводились на экран. Wp-config никогда не загружается из кеша. По этой причине это хорошее место для переопределения настроек «php.ini».

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

Другая константа отладки определяет версии скриптов и стилей для загрузки. Установите «SCRIPT_DEBUG» в значение «true», если вы хотите загружать несжатые версии:

define( 'SCRIPT_DEBUG', true );

Если ваша тема или плагин показывает данные, полученные из базы данных, вы можете сохранить сведения о запросе для последующего просмотра. Константа «SAVEQUERIES» заставляет WordPress хранить информацию о запросах в массиве «$wpdb->queries». Эти сведения будут напечатаны, добавив следующий код в шаблон подвала вашего сайта:

if ( current_user_can( 'administrator' ) ) < global $wpdb; echo '
'; print_r( $wpdb->queries ); echo '

‘; >

Настройки, связанные с контентом

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

define( 'AUTOSAVE_INTERVAL', 160 );

Конечно, вы также можете уменьшить интервал автосохранения.

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

Если вы хотите отключить публикацию ревизий, определите следующую константу:

define( 'WP_POST_REVISIONS', false );

Если вы хотите ограничить максимальное количество ревизий, добавьте следующую строку:

define( 'WP_POST_REVISIONS', 10 );

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

define( 'EMPTY_TRASH_DAYS', 10 );

Мы даже можем отключить корзину, установив для нее значение 0, но учтите, что WordPress больше не позволит вам восстанавливать содержимое.

Разрешенный объем памяти

Иногда вы можете получить сообщение, подобное следующему:

Fatal error: Allowed memory size of xxx bytes exhausted …

Максимальный объем памяти зависит от конфигурации сервера. Если у вас нет доступа к файлу php.ini, вы можете увеличить ограничение памяти только для WordPress, установив константу «WP_MEMORY_LIMIT» в файле wp-config. По умолчанию WordPress пытается выделить 40 МБ для PHP для отдельных сайтов и 64 МБ для многосайтовой установки. Конечно, если выделенная PHP память превышает 40 МБ (или 64 МБ), WordPress примет максимальное значение.

При этом, вы можете установить пользовательское значение с помощью следующей строки:

define( 'WP_MEMORY_LIMIT', '128M' );

При необходимости вы также можете установить максимальный предел памяти с помощью следующего оператора:

define( 'WP_MAX_MEMORY_LIMIT', '256M' );

Автоматические обновления

Начиная с версии 3.7, WordPress поддерживает автоматические обновления для выпусков безопасности. Это важная функция, которая позволяет администраторам сайтов постоянно поддерживать безопасность своего сайта.

Вы можете отключить все автоматические обновления, определив следующую константу:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Возможно, не стоит отключать обновления безопасности, но это ваш выбор.

По умолчанию автоматические обновления не работают с основными выпусками, но вы можете включить любые основные обновления, определяя их «WP_AUTO_UPDATE_CORE» следующим образом:

# Отключает все основные обновления: define( 'WP_AUTO_UPDATE_CORE', false ); # Включает все обновления, включая основные и второстепенные: define( 'WP_AUTO_UPDATE_CORE', true );

Значение по умолчанию «minor»:

define( 'WP_AUTO_UPDATE_CORE', 'minor' );

Дополнительная константа отключает автообновления (и любое обновление или изменение любого файла). Если вы установите «DISALLOW_FILE_MODS» в значение «true», все изменения файлов будут отключены, даже установки и обновления тем и плагинов. По этой причине его использование не рекомендуется.

Настройки безопасности

Мы можем использовать файл wp-config для повышения безопасности сайта. В дополнение к изменениям в файловой структуре, которые мы рассмотрели выше, мы можем заблокировать некоторые функции, которые могут открыть ненужные уязвимости. Прежде всего, мы можем отключить редактор файлов, представленный в панели администратора. Следующая константа скроет экран «Appearance Editor»:

define( 'DISALLOW_FILE_EDIT', true );

Примечание: учтите, что некоторые плагины не смогут работать должным образом, если эта константа определена как «true».

Настройки безопасности

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

define( 'FORCE_SSL_ADMIN', true );

Проверьте Кодекс, если вам нужна дополнительная информация об администрировании через SSL.

Две другие константы позволяют блокировать внешние запросы и выводить список разрешенных хостов.

define( 'WP_HTTP_BLOCK_EXTERNAL', true ); define( 'WP_ACCESSIBLE_HOSTS', 'example.com,*.anotherexample.com' );

В этом примере мы сначала отключили все обращения с внешних хостов, затем перечислили разрешенные хосты, разделенные запятыми (подстановочные знаки разрешены).

Другие дополнительные настройки

«WP_CACHE» — значение «true» включает скрипт wp-content/advanced-cache.php. Эта константа действует только если вы устанавливаете постоянный плагин кэширования.

«CUSTOM_USER_TABLE» и «CUSTOM_USER_META_TABLE» используются для установки пользовательских таблиц, отличных от таблиц «wp_users» и «wp_usermeta» по умолчанию. Эти константы включают полезную функцию, которая позволяет пользователям сайта получать доступ к нескольким веб-сайтам только с одной учетной записью. Чтобы эта функция работала, все установки должны совместно использовать одну и ту же базу данных.

Начиная с версии 2.9, WordPress поддерживает автоматическую оптимизацию базы данных. Благодаря этой функции, установив «WP_ALLOW_REPAIR» в значение «true», WordPress автоматически восстановит поврежденную базу данных.

WordPress создает новый набор изображений каждый раз, когда вы редактируете изображение. Если вы восстановите исходное изображение, все созданные наборы останутся на сервере. Вы можете перезаписать это поведение, установив «IMAGE_EDIT_OVERWRITE» значение в «true», чтобы при восстановлении исходного изображения все изменения были удалены с сервера.

Блокировка wp-config.php

Теперь мы знаем, почему wp-config.php является одним из наиболее важных файлов WordPress. Итак, почему мы не скрываем это от хакеров? Прежде всего, мы можем переместить wp-config на один уровень выше корневой папки WordPress (всего на один уровень). Однако этот метод немного противоречив, поэтому я бы предложил принять другие решения для защиты файла. Если ваш сайт работает на веб-сервере Apache, вы можете добавить следующие директивы в файл .htaccess:

 order allow,deny deny from all 

Если сайт работает на Nginx, вы можете добавить следующую директиву в файл конфигурации:

location ~* wp-config.php
Примечание. Эти инструкции следует добавлять только после завершения настройки.

Если ваш сайт прошел несколько миграций или вы приобрели его у кого-то другого, рекомендуется создать новый набор ключей безопасности WordPress. Эти ключи представляют собой набор случайных величин, которые улучшают шифрование информации, хранящейся в файлах «cookie» пользователя. Начиная с WordPress 2.7, было 4 разных ключа: «AUTH_KEY», «SECURE_AUTH_KEY», «LOGGED_IN_KEY» и «NONCE_KEY».

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

Блокировка wp-config

Ключи безопасности WordPress

И наконец, вы должны дважды проверить и убедиться, что ваши права доступа усилены в вашем файле wp-config.php. Обычно для файлов в корневом каталоге сайта WordPress устанавливается значение 644, что означает, что файлы доступны для чтения и записи для владельца файла и для чтения пользователями в группе, владеющей этим файлом, и для чтения всеми остальными. Согласно документации WordPress, разрешения для файла wp-config.php должны быть установлены на 440 или 400, чтобы другие пользователи на сервере не могли его прочитать. Вы можете легко изменить это с вашим FTP-клиентом.

Права доступа

Права доступа для wp-config.php

Резюме

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

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

До скорых встреч!

Обо мне

Занимаюсь созданием сайтов на WordPress более 6 лет. Ранее работал в нескольких веб-студиях и решил делиться своим опытом на данном сайте. Пишите комментарии, буду рад общению.

Полное руководство по настройке файла wp-config.php

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

Тем не менее, веб-мастер должен знать, как правильно им управлять, чтобы обеспечить безопасность сайта. Без него ваш WordPress сайт не сможет хранить и извлекать данные из базы данных.

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

Полная настройка файла wp-config.php

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

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

Этот файл хранится в корневой папке вашего сайта. Получить доступ к файлу wp-config.php можно через FTP-клиент, такой как FileZilla, или файловый менеджер вашего веб-хостинга. Пример файла wp-config.php в каталоге /public_html:

wp-config.php файл в корне сайта

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

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

 * * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. * * @since 2.6.0 */ define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' ); /**#@-*/ /** * WordPress database table prefix. * * You can have multiple installations in one database if you give each * a unique prefix. Only numbers, letters, and underscores please! */ $table_prefix = 'wp_'; /** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. * * For information on other constants that can be used for debugging, * visit the documentation. * * @link https://wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false ); /* Add any custom values between this line and the "stop editing" line. */ /* That's all, stop editing! Happy publishing. */ /** Absolute path to the WordPress directory. */ if ( ! defined( 'ABSPATH' ) ) < define( 'ABSPATH', __DIR__ . '/' ); >/** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';

WordPress использует константы PHP, которые являются идентификаторами, их нельзя изменить при выполнении скрипта PHP. Эти идентификаторы (константы) определяют настройки базы данных в файле wp-config.php. К каждому параметру прилагаются инструкции, упрощающие использование шаблона кода.

Где находится файл wp-config.php в WordPress

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

Поиск файла wp-config.php через cPanel

cPanel предоставляет встроенный файловый менеджер. Выполните следующие действия, чтобы найти файл wp-config.php в cPanel:

  1. Перейдите к диспетчеру файлов в разделе «Файлы» вашей cPanel.

cPanel файл менеджер

  1. Перейдите в каталог (папку) public_html ->wp (wp в данном случае название вашего сайта) в боковой панели.
  2. Прокрутите вниз, пока не найдете файл wp-config.php.

настройка файла wp-config.php

Поиск файла wp-config.php через FTP

Вы также можете использовать FTP-клиент, чтобы найти файл wp-config.php. Можете воспользоваться программой FileZilla.

Инструкция как найти файл wp-config.php через FTP-клиент:

  1. Получите данные для соединения через FTP у вашего хостинг-провайдера. Это логин, пароль, сервер и порт.
  2. Откройте FileZilla и введите свои данные для соединения через FTP. Нажмите Quickconnect.

Соединение через FTP

  1. Перейдите в корневой каталог вашего (обычно это ваш домен в public_html). Там должен быть файл wp-config.

найти wp-config.php файл. настройка файла wp-config.php

Перемещение файла wp-config.php

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

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

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

  1. Найдите файл wp-config.php в корневом каталоге вашего веб-сайта WordPress.
  2. Скопируйте весь код и вставьте в новый файл php в другой каталог по вашему выбору. Например переместите его внутрь /public_html/wp-admin/user.
  3. Измените имя нового файла wp-config. Цель состоит в том, чтобы замаскировать его под неважный файл, чтобы хакеры его не узнали. Например задайте search-console.php в качестве названия.
  4. Вернитесь к исходному файлу wp-config который лежит в корне и замените все его содержимое следующим кодом:
  1. Обязательно исправьте путь с новым местоположением файла, search-console.php и измените свой домен.

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

Разделы файла wp-config.php

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

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

Настройки MySQL в wp-config.php

Раздел настроек MySQL состоит из конфигурации вашей базы данных WordPress — имени хоста MySQL, имени базы данных, имени пользователя и пароля. Мы рекомендуем изменить этот раздел, если ваш хостинг-провайдер использует другой номер порта или вы переходите на другой веб-сервер.

Вот фрагмент настроек MySQL, взятый из файла wp-config-sample.php:

// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define( 'DB_NAME', 'database_name_here' ); /** MySQL database username */ define( 'DB_USER', 'username_here' ); /** MySQL database password */ define( 'DB_PASSWORD', 'password_here' ); /** MySQL hostname */ define( 'DB_HOST', 'localhost' );

Вся информация, необходимая для этого раздела (имя базы, логин, пароль и хост), доступна в панели управления хостингом.

Настройка кодировки для Базы Данных

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

/** Database Charset to use in creating database tables. */ define( 'DB_CHARSET', 'utf8' ); /** The Database Collate type. Don't change this if in doubt. */ define( 'DB_COLLATE', '' );

По умолчанию WordPress устанавливает кодировку UTF8, поскольку он поддерживает все языки, что делает его идеальным для современных данных. Между тем, значение сопоставления базы данных в основном зависит от кодировки, поскольку она определяет, как база данных WordPress сортирует и сравнивает ваши данные.

MySQL автоматически присваивает значение сопоставления базы данных на основе кодировки, следовательно, пустое значение по умолчанию. Если ваша база данных WordPress использует кодировку UTF8, то значение сортировки по умолчанию — utf8_general_ci.

Однако можно вручную назначить значение сопоставления, если кодировка не совпадает с отображаемым, например, для японского языка. Мы рекомендуем не изменять этот раздел, если вы не разбираетесь в SQL, MySQL и MariaDB. Использование неправильной комбинации кодировки и значений сортировки приведет к различным ошибкам базы данных в WordPress.

Ключи безопасности

В файле wp-config хранится набор ключей аутентификации и salt WordPress, обеспечивающих дополнительный уровень безопасности вашего веб-сайта от атак Brute Force. Эти случайные строки данных содержат восемь переменных, каждая из которых шифрует информацию для входа, сохраняемую файлами cookie при входе на веб-сайт.

Учитывая их назначение, периодическая смена ключей аутентификации и salt— один из многих способов повысить безопасность WordPress. Мы рекомендуем использовать генератор паролей или протестировать созданные вами пароли с помощью средства проверки паролей, чтобы обеспечить его устойчивость к атакам с подбором пароля.

Кроме того, установите плагин безопасности WordPress, такой как Salt Shaker, чтобы автоматически генерировать для вас salt ключи. Получив пароли, вставьте их один за другим внутри к.

/**#@+ * Authentication Unique Keys and Salts. * * Change these to different unique phrases! * You can generate these using the * * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. * * @since 2.6.0 */ define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' ); /**#@-*/

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

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

WordPress устанавливает префикс базы данных wp_ в файле wp-config. Как и в случае с ключами безопасности, мы рекомендуем изменить префикс базы данных при первой же возможности. Это повысит безопасность вашей базы данных от атак путем SQL инъекций.

Следующий фрагмент кода — это раздел в файле wp-config, в котором хранится префикс вашей базы данных:

/** * WordPress Database Table prefix. * * You can have multiple installations in one database if you give each * a unique prefix. Only numbers, letters, and underscores please! */ $table_prefix = 'wp_';

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

$table_prefix = 'wp_customprefix_';

Убедитесь, что вы успешно изменили префикс таблиц в базе данных, проверив ее через phpMyAdmin. Если вы обращаетесь к своей структуре базы данных, имена таблиц должны начинаться с назначенного вам префикса. Здесь мы заменяем префикс таблицы по умолчанию на wp_customprefix_.

база данных mySQL. настройка файла wp-config.php

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

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

Следующий фрагмент кода — это раздел в файле WordPress wp-config, в котором хранятся ваши настройки режима отладки:

/** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. * * For information on other constants that can be used for debugging, * visit the documentation. * * @link https://wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false );

WordPress отключает режим отладки по умолчанию. Чтобы включить этот режим, замените значение false на true.

define( 'WP_DEBUG', true );

Имейте в виду, что включение режима отладки заставит ваш веб-сайт WordPress отображать все ошибки и предупреждения PHP, а не только показывать белый экран смерти для фатальных ошибок.

Абсолютный путь

Данный раздел указывает расположение папки или файла на компьютере. Он определяет отношения между папками и файлами, а также основу URL-адреса вашего сайта.

Тем не менее, вы не должны изменять информацию в следующем фрагменте кода:

/* That's all, stop editing! Happy publishing. */ /** Absolute path to the WordPress directory. */ if ( ! defined( 'ABSPATH' ) ) < define( 'ABSPATH', __DIR__ . '/' ); >/** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';

URL-адрес WordPress

Изменение URL-адреса WordPress является необходимым шагом, если вы хотите переместить сайт на другой сервер или домен. Это можно сделать через меню «Настройки» -> «Основные» в панели управления WordPress.

админ панель wordpress

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

define( 'WP_HOME', 'http://example.com' ); define( 'WP_SITEURL', 'http://example.com' );

Обязательно замените значение http://example.com своим доменным именем и поместите код над строкой /* That’s all, stop editing! Happy publishing.*/. Включите www-версию вашего веб-сайта, если вы используете URL-адрес www.

Ограничение лимита памяти. Настройка файла wp-config.

WordPress требует памяти PHP для выполнения скриптов. Объем памяти, которую вы получаете, зависит от вашего веб-хостинга. Например, это может быть 512 МБ максимального лимита памяти для планов общего веб-хостинга.

Если для использования WordPress недостаточно памяти, он отобразит сообщение об ошибке исчерпания памяти. Чтобы решить эту проблему, установите собственное ограничение памяти PHP, добавив следующий фрагмент кода в файл wp-config перед строкой /* That’s all, stop editing! Happy publishing. */.

В этом примере мы увеличим объем выделяемой памяти до 256 МБ для каждого PHP-скрипта.

define('WP_MEMORY_LIMIT', '256M');

Мы рекомендуем установить значение ограничения памяти PHP в соответствии с вашими потребностями, одновременно применяя максимальное ограничение памяти для каждого скрипта. WordPress будет применять этот лимит памяти только в том случае, если скрипту требуется больше памяти, чем выделено.

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

define('WP_MAX_MEMORY_LIMIT', '512M');

Каталог для загрузок

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

Добавьте следующий фрагмент кода под кодом с определением константы WP_DEBUG вашего файла wp-config.php:

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

Этот код заставит WordPress хранить все загруженные мультимедиа в новом каталоге media в папке wp-content. Не стесняйтесь изменять имя нового каталога по желанию.

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

define( 'UPLOADS', ''.'media' );

Имейте в виду, что оба фрагмента кода работают только для определения новой папки для загрузок внутри корневого каталога или абсолютного пути (ABSPATH). В случае если вы изменили путь загружаемых файлов обязательно измените URL-адрес каждого файла в таблицах базы данных WordPress, чтобы избежать неработающих ссылок на вашем сайте.

Каталог wp-content

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

Отредактируйте файл wp-config.php, добавив собственный код после следующей строки:

/* Add any custom values between this line and the "stop editing" line. */

Вам нужно определить константу WP_CONTENT_DIR и изменить расположение вашей папки wp-content:

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/content/wp-content' );

Чтобы изменить расположение URL-адреса wp-content, необходимо определить еще одну переменную:

define( 'WP_CONTENT_URL', 'yourdomain.com/blog/content/wp-content' );

Не забудьте заменить yourdomain.com своим собственным доменом.

Каталог для плагинов

Если перемещение папки wp-content кажется хлопотным, рассмотрите вместо этого перемещение папки плагинов. Для этого вам нужно определить постоянную переменную WordPress wp_plugin_dir, добавив следующий фрагмент кода под разделом wp-settings:

define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/content/wp-content/plugins' );

Обязательно измените URL-адрес папки плагина в переменной wp_plugin_url, добавив следующий код:

define( 'WP_PLUGIN_URL', 'yourdomain.com/blog/content/wp-content/plugins');

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

define( 'PLUGINDIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/content/wp-content/plugins' );

Каталог для тем

Мы не рекомендуем перемещать папку с темами, так как это может вызвать конфликты плагинов. Если вам нужен дополнительный каталог тем, создайте его с помощью функции register_theme_directory:

function register_theme_directory( $directory ) < global $wp_theme_directories; if ( ! file_exists( $directory ) ) < // Try prepending as the theme directory could be relative to the content directory. $directory = WP_CONTENT_DIR . '/' . $directory; // If this directory does not exist, return and do not register. if ( ! file_exists( $directory ) ) < return false; >> if ( ! is_array( $wp_theme_directories ) ) < $wp_theme_directories = array(); >$untrailed = untrailingslashit( $directory ); if ( ! empty( $untrailed ) && ! in_array( $untrailed, $wp_theme_directories, true ) ) < $wp_theme_directories[] = $untrailed; >return true; >

Имейте в виду, что новый каталог темы должен находиться в корневом каталоге. Это связано с тем, что ваш сервер должен иметь доступ к файлам темы веб-сайта, чтобы они работали.

Логирование ошибок

Включение режима отладки в WordPress помечает только ошибки на бэкенде и интерфейсе вашего сайта. Чтобы логировать ошибки (записать в кудато), вам нужно добавить сопутствующий код ниже строки define(‘WP_DEBUG’, true);

define( 'WP_DEBUG_LOG', true );

Если вы хотите сохранить ошибки в файле, используйте этот код:

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Чтобы отключить вывод ошибок, что означает, что ваш браузер не будет отображать какую-либо информацию во время процесса отладки, используйте этот код:

define( 'WP_DEBUG_DISPLAY', false );

Автоматические обновления WordPress

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

Чтобы отключить функцию автоматического обновления, над строкой /* That’s all, stop editing! Happy publishing. */ добавьте следующий код:

define( ‘AUTOMATIC_UPDATER_DISABLED’, true );

Замените значение true на false или удалите этот код, если вы хотите снова включить авто-обновления в будущем.

Обновления ядра WordPress (настройка файла wp-config.php)

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

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

Чтобы разрешить, незначительные и основные обновления ядра, добавьте следующий код над строкой /* That’s all, stop editing! Happy publishing. */:

define( 'WP_AUTO_UPDATE_CORE', true );

Измените постоянное значение на false, чтобы отключить разработку, второстепенные и основные обновления ядра:

define( 'WP_AUTO_UPDATE_CORE', false);

В качестве альтернативы включите авто-обновления только для второстепенных выпусков, изменив постоянное значение на второстепенное:

define( 'WP_AUTO_UPDATE_CORE', 'minor');

Собственная таблица пользователей

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

define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' );

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

Собственная таблица для метаданных пользователей

Если вы решите создать собственную таблицу пользователей, вам придется создать еще одну для хранения метаданных пользователей.

define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );

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

Настройки языка и каталог для хранения файлов перевода

Язык по умолчанию для установки WordPress — английский. WordPress версии 4.0 и выше позволяет пользователям изменить его в меню «Настройки» -> «Основные» в панели администратора. Также можно изменить язык по умолчанию в процессе установки.

изменить язык в WordPress. настройка файла wp-config.php

Если вы хотите переключиться на другой язык, добавьте следующий код в файл wp-config:

define( ‘WPLANG’, ‘de_DE’ ); define( ‘WP_LANG_DIR’, dirname(__FILE__) . ‘wordpress/languages’ );

Первая строка кода указывает, какой языковой файл .mo необходимо установить, а вторая определяет языковой каталог, в котором хранится языковой файл.

Соглашение об именах языковых файлов основано на коде языка, за которым следует код страны. Например, de_DE относится к немецкому языку. Найдите нужный язык и код страны на странице утилит GNU gettext.

Если вы введете неправильную комбинацию кода страны и языка, WordPress по умолчанию будет использовать английский язык (США).

Права доступа к файлам. Настройка файла wp-config.php

Настройка прав доступа к файлам — еще один важный шаг для защиты вашего сайта. Параметр определяет, какие пользователи могут просматривать, изменять и выполнять основные файлы и папки на вашем сайте. Большинство хостинг-провайдеров позволяют изменять права доступа к файлам и папкам через файловый менеджер.

Каждый уровень разрешений для соответствующего пользователя представлен трехзначным кодом, состоящим из:

  • 0 ‒ нет доступа
  • 1 ‒ выполнить
  • 2 ‒ написать
  • 4 ‒ читать
  • 3 (комбинация 2 и 1) ‒ записать и выполнить
  • 5 (комбинация 4 и 1) ‒ прочитать и выполнить
  • 6 (комбинация 4 и 2) ‒ чтение и запись
  • 7 (комбинация 2 и 3) ‒ чтение, запись и выполнение

Если вы не можете получить доступ к диспетчеру файлов, чтобы изменить права доступа к файлам, измените файл wp-config, используя комбинацию приведенного выше кода. Добавьте следующий код над строкой /* That’s all, stop editing! Happy publishing. */:

define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) ); define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) ); chmod 644 wp-config.php chmod 644 .htaccess

Разрешения 644 файлов для wp-config, .htaccess и других файлов делают их видимыми для всех пользователей, но изменить их может только их владелец. Между тем, 755 прав доступа к файлам для каталогов и подкаталогов WordPress означают, что каждый может читать и выполнять их, но только владелец может вносить изменения.

Предупреждение! Никогда не устанавливайте права доступа к файлам на 777, так как это даст всем доступ для чтения, записи и выполнения ваших файлов. С другой стороны, права доступа 000 и 444 сломают ваш сайт, поскольку они не позволят WordPress редактировать и выполнять файлы тем и плагинов.

Заключение по настройке файла wp-config.php

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

Конфигурационный файл WordPress состоит из нескольких разделов:

  • Настройки MySQL — конфигурация базы данных WordPress.
  • Кодировка базы данных — используются для определения таблиц с соответствующими настройками кодировки.
  • Ключи безопасности ‒ отвечают за шифрование информации пользователя.
  • Префикс таблицы базы данных WordPress — установите префикс таблицы для большей безопасности.
  • Режим отладки — помогает отслеживать ошибки PHP.
  • Абсолютный путь — указывает расположение папки или файла на компьютере.

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

Александр Сокирка

Занимаюсь веб разработкой с 2007 года. Имею большой опыт в веб-дизайне и разработке сайтов. Являюсь автором YouTube канала Быть Программистом. Основатель бренда Aletheme и автор тем для WordPress на маркетплэйсе Envato. С 2017 года занимаюсь обучением людей желающим стать программистами. Мои обучающие программы можно найти на этом сайте или на Udemy.

Руководство по wp-config.php

Руководство по wp-config.php

Файл wp-config.php находится в корневой папке сайта и является главным конфигурационным файлом Вордпресс.

Основной фунционал файла — подключение базы данных, хранение секретных ключей для шифрования информации (ключи и соли), установка префикса базы данных, включение режима debug и указание пути к папке Вордпресс.

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

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

  1. Стандартное содержание файла wp-config.php
    1. Ключи и соли
    2. Префикс базы данных
    3. Режим debug
    1. URL сайта
    2. Изменение файловой структуры Вордпресс
    3. Тема по умолчанию
    4. Ревизии постов, автосохранение и корзина
    5. Собственные таблицы user и usermeta
    6. Увеличение лимита PHP памяти
    7. Мультисайт
    8. Отключение редактирования файлов в админке Вордпресс
    9. Настройки режима отладки
    10. Настройки cron расписания
    11. Использование SSL на странице логина и в админке
    12. Автообновление Вордпресс
    13. Оптимизация базы данных

    Что такое wp-config.php

    WP-config.php — главный файл сайта, который используется для

    • настройки соединения с базой данных
    • настройки производительности сайта
    • усиления безопасности сайта

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

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

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

    Константы Вордпресс

    В файле wp-config можно использовать php константы для выполнения определенных задач. У Вордпресса есть множество констант, которые можно использовать.

    В документации PHP константа описывается так:

    «Константа — это идентификатор (имя) для простого значения. Как следует из названия, их значение не может измениться в ходе выполнения скрипта (кроме магических констант, которые на самом деле не являются константами). Имена констант по умолчанию чувствительны к регистру. По принятому соглашению, имена констант всегда пишутся в верхнем регистре.»

    То есть, вы можете дать имя какому-то параметру. Этот параметр может быть использован глобально на всем сайте нужное количество раз. Константа должна начинаться с буквы, должна быть написана заглавными буквами и может иметь символ подчеркивания.

    Константа WP_DEBUG, — начинается с буквы, написана заглавными буквами и имеет символ подчеркивания.

    Константы обернуты в функцию define() :

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

    Документация по файлу wp-config.php в Кодексе Вордпресс. Большинство функций из документации описаны в этой статье.

    Сделайте бэкап wp-config перед изменениями.

    I. Стандартное содержание файла wp-config.php

    Если вы устанавливаете Вордпресс через FTP, то Вордпресс просит заполнить эти поля:

    Установка Вордпресс, информация для файла wp-config.php

    Замените префикс таблиц базы данных на какой-нибудь свой, например, az13kn_ .

    Если вы заполняете файл вручную, заполните эти строки:

    Кодировка нужна для использования Вордпресс на другом языке. Используйте UTF8, потому что эта кодировка поддерживает все языки и имеет специальные символы, например á или ≥ .

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

    1. Ключи и соли

    Ключи безопасности — это набор случайных символов, которые используются для шифрования информации, хранящейся в кукис браузера.

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

    Вы можете использовать генератор ключей Вордпресс для заполнения этих полей.

    Для увеличения безопасности можно 1-2 раза в год менять эти ключи.

    2. Префикс базы данных

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

    Замените wp_ на что-нибудь уникальное. После изменения префикса базы данных нужно будет сделать несколько изменений в базе данных.

    3. Режим debug

    По умолчанию режим debug выключен, оставьте его выключенным:

    Если вы работаете над сайтом и ищите ошибку или получили белый экран, включите режим debug, заменив false на true . Выключите режим отладки после того, как закончите работу, потому что некоторая информация о сайте будет отображаться во фронт-энде или сохраняться в файл.

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

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

    Добавляйте свой код до строки:

    1. URL сайта

    В настройках Вордпресс вы указываете адрес Вордпресс и адрес сайта.

    Настройки 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
        • ваш-сайт.ru
          • extensions
            • plugins
            • themes
            • wp-admin
            • wp-includes

            Стандартная структура 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. Увеличение лимита PHP памяти

            Вы могли получить ошибку лимита php памяти. Чтобы увеличить лимит памяти, добавьте эту строку:

            7. Вордпресс Мультисайт

            Мультисайт позволяет создавать отдельные сайты, которые используют одну и ту же установку Вордпресс. Это используется, когда владельцы сайтов хотят, чтобы магазин, блог или сайт компании находились на субдоменах или в разных подпапках. Некоторые сайты создают субдомены для каждого пользователя, и так далее.

            Чтобы создать мультисайт, добавьте эту константу в wp-config:

            После того, как вы добавили этот код, в разделе Инструменты в админке Вордпресс появится новая строка Мультисайт. Следуйте инструкциям на этой странице. Вордпресс попросит добавить настройки в файл wp-config и .htaccess. После этого выйдите из админки и зайдите снова, вы должны увидеть админку мультисайта. Подробнее о Мультисайте читайте в кодексе Вордпресс.

            Настройки мультисайт установки позволяют делать редирект пользователей, которые пытаются попасть на несуществующий субдомен. Чтобы перенаправлять этих пользователей на главный сайт, добавьте это правило:

            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.

            Если у вас появилась проблема с cron заданиями, например, сайт не проверяет обновления, попробуйте использовать альтернативный крон метод:

            Если нужно, вы можете полностью отключить крон:

            Или изменить интервал между назначенными работами:

            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.

            Читайте также:

            1. Настройки wp-config.php для безопасности Вордпресс
            2. Файл functions.php

            Надеюсь, статья была полезна. Оставляйте комментарии.

Добавить комментарий

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