Получи 1 из 3 лицензий WPForms бесплатно!

Giveaway от разработчика плагина. Срок проведения 01.11.2019 – 31.12.2019.

wpforms-logo-300
 »  Производительность  »  Руководство по wp-config.php

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

Последнее обновление:

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

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

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

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

Содержание:

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

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

  1. Ключи и соли
  2. Префикс базы данных
  3. Режим debug

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

  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 можно использовать 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. Добавляйте аккуратно, потому что одна ошибка может положить сайт.

В начале каждого снипета стоит тег <?php, его можно убрать, так как он уже есть в wp-config.php.

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

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
    • wp-includes
  • ваш-сайт.ru
    • extensions
      • plugins
      • themes
    • wprs-themes
    • uploads
    • wordpress
      • wp-admin
      • wp-includes

Стандартная структура WP слева и структура из примера справа

Кроме этих папок есть еще одна стандартная папка, которая называется mu-plugins, Must Use Plugins, то есть плагины обязательные для использования.

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

Замените название папки impmu-plug на свое название.

3. Тема по умолчанию

В Вордпресс тема по умолчанию — 20ХХ. Сейчас это Twenty Seventeen. Если что-то случится с вашей активной темой, то загрузится тема по умолчанию. Чтобы сменить тему по умолчанию, добавьте эти строки в 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

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

Комментарии:

  1. Создание дополнительной папки тем
    Наверное, правильнее будет так:
    1) создать каталог в корне сайта, например appearance
    2) в wp-config определить массив, в котором будут располагаться темы оформления
    $wp_theme_directories = array(__DIR__ . ‘/appearance’);
    3) в каталог appearance можно копировать свои темы

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

Do NOT follow this link or you will be banned from the site!