»  Производительность  »  Руководство по 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.

Замените 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, которая является корневой папкой.
Папка 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:

и этот код в футер вашей темы:

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 — мощный конфигурационный файл сайта, в нем находятся основные настройки сайта. Вы можете запретить доступ к этому файлу, если добавите это правило в .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!