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

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

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

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

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

В данной статье мы рассмотрим:

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

Константы WordPress

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

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

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

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

Заключение

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

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

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

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

wp-config-sample.php

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

Константы WordPress

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

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

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

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

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

Константы обернуты в возможность define():

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Ключи и соли WordPress

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

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

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

  • Как настроить префикс базы данных

3. Режим debug

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

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

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

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

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

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

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

1. URL веб-сайта

В параметрах WordPress вы указываете адрес WordPress и адрес веб-сайта.

Параметра URL в админке WordPress

Данные данные хранятся в базе данных, и каждый раз, когда кто-то запрашивает страницу веб-сайта, создается запрос к базе данных. В WordPress 2.2 были добавлены возможности WP_HOME и WP_SITEURL. Данные возможности имеют приоритет перед записями в базе данных.

Замените http://ваш-сайт.ru на URL. Добавьте «s» в http, если у вас https.

Если вы добавите этот код в wp-config, это уменьшит число запросов к базе данных на 1, веб-сайт будет работать быстрее. При создании страницы обычно создается пару десятков запросов к базе данных.

2. Изменение файловой структуры WordPress

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

Для папок wp-content и plugins необходимо указать абсолютный путь и полный URL. Для plugins необходимо указать PLUGINDIR, чтобы не было проблем с совместимостью.

Папка uploads привязана к ABSPATH, так что слеш перед extensions/uploads не требуется. Эту папку нельзя перенести из папки wp-content(extensions), но можно легко переименовать. Подробнее читайте в статье про изменение файловой структуры WordPress.

Папка themes привязана к папке wp-content, но можно без труда создать ещё одну папку для тем. В этом примере папка называется wprs-themes и находится в корневой директории.

Если WordPress расположен в папке 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. Тема по умолчанию

В WordPress тема по умолчанию — 20ХХ. Теперь это Twenty Seventeen. Если что-то случится с активной темой, то загрузится тема по умолчанию. Чтобы сменить тему по умолчанию, добавьте данные строки в wp-config:

4. Ревизии записей, автосохранение и корзина

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

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

Если вы планируете в полном объеме отключить ревизии, замените 5 на false:

По умолчанию WordPress делает авто-сохранение каждые 60 секунд, если вы планируете настроить интервал автосохранения, укажите время в секундах:

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

Если вы хотели бы в полном объеме отключить Корзину — поставьте 0, тогда содержимое будет удаляться сразу же без помещения в Корзину.

5. Собственные таблицы user и usermeta

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

Измените clients и clientsmeta на название. Перед тем как делать изменения, прочитайте описание возможностей в кодексе WordPress.

6. Увеличение лимита PHP памяти

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

7. WordPress Мультисайт

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

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

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

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

8. Отключение редактирования файлов в админке WordPress

В обычной или Мультисайт установке можно отключить функция редактировать файлы тем и плагинов:

Или отключить функция посетителям устанавливать или обновлять темы и плагины:

Функцию DISALLOW_FILE_MODS также отключает редактирование файлов в админке.

9. Параметра режима отладки

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

Если вы хотите модифицировать css или js, включите данные режимы:

По умолчанию скрипты объединены в один файл и минифицированы. Файлы объединяются для ускорения загрузки, — один объединенный файл скачается быстрее, чем 20 по отдельности. При минификации из кода страницы убираются пробелы, переносы строк и комментарии. Как это выглядит можно без проблем посмотреть здесь. Данные два способа ускоряют загрузку страниц.

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

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

Логи событий будут сохраняться в файл debug.log в папке wp-content .

Также вы можете без проблем включить сохранение sql запросов, которые WordPress делает к базе данных. Добавьте эту возможность в wp-config.php :

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

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

10. Параметра cron расписания

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

В Вордпрессе некоторые задачи в крон расписании выполняются не в точно назначенное время, а в зависимости от посещений веб-сайта. К примеру, если какая-то задача назначена на 12.00, то она выполнится когда на веб-сайт зайдет первый пользователь, к примеру, в 12.30.

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

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

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

11. Использование SSL на странице логина и в админке

В документации wp-config.php есть 2 возможности, которые могут использовать SSL. FORCE_SSL_LOGIN имеет использование SSL на страницах авторизации, но не в админке WordPress. Это добавляет защиты и не замедляет работу в админке.

FORCE_SSL_ADMIN имеет SSL на страницах логина и в админке WordPress.

Если вы будете использовать FORCE_SSL_ADMIN , то FORCE_SSL_LOGIN можно удалить из правила.

12. Автообновление WordPress

Начиная с версии WordPress 3.7 минорные обновления устанавливаются автоматом. Для безопасности рекомендуется оставить автообновление ядра включенным.

Если вы планируете выключить автообновление, добавьте эту строку:

Или используйте возможность WP_AUTO_UPDATE_CORE :

  • Ручное и Автоматическое обновление WordPress, плагинов, тем и переводов
  • Почему у вас должна быть последняя версия WordPress

13. Оптимизация базы данных

В Вордпресе 2.9 появилась функцию оптимизации и восстановления базы данных. Добавьте:

Сохраните файл и наберите адрес: http://www.ваш-сайт.ru/wp-admin/maint/repair.php

Восстановление и оптимизация базы данных
Встроенная в WordPress оптимизация базы данных

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

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

Заключение

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

Для защиты этого файла от хакеров дайте ему права доступа 400 . Если веб-сайт стал недоступен, дайте 440 . Это зависит от параметров сервера.

  • Права доступа к файлам и папкам

Для усиления защиты вы можете без труда перенести wp-config на один уровень вверх. Никаких параметров делать не необходимо.

Или вы можете запретить доступ к данному файлу, если добавите это правило в .htaccess

  • Редактирование .htaccess для безопасности WordPress

***

По данной ссылке находится крутейший генератор снипетов для wp-config.php .

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

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

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

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

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