Редактируем wp-config.php — файл конфигурации WordPress.

Оптимизация и некоторые дополнительные функции CMS WP.

wordpress-configuration-file-extends
Рассмотрим подробнее файл wp-config.php, с его помощью можно расширить функционал и улучшить безопасность CMS WordPress.
Находится он, по умолчанию, в корне сайта. Получить доступ к нему можно по FTP через ftp-клиент (filezilla – один из самых популярных). А для редактирования воспользоваться редактором Notepad++. Изменения в конфигурацию WordPress вносятся путем простого добавления или редактирования существующих строк.
Добавлять строки можно в любое место, но чтобы было легче найти собственные изменения, лучше это делать в одном месте, например в начале файла, после вступительных комментариев.

Итак, вот полезные параметры:

  • Начиная с версии 2.6 CMS WP можно переместить этот файл на один уровень выше корня сайта, повысив тем самым безопасность.

    хостинг/директория с CMS/wp-config.php
    хостинг/wp-config.php

    CMS самостоятельно найдет файл конфигурации на один уровень выше директории установки. Никаких дополнительных действий с вашей стороны не потребуется.

  • Имеется поддержка SSL-шифрования для работы в админ-панели:
    define ('FORCE_SSL_ADMIN', True);

    или только для формы Логина login.php

    define(‘FORCE_SSL_LOGIN’, true);

    А также, можно включить SSL для всего сайта, т.е. пользователи будут работать c WordPress через протокол HTTPS. Возможно, вам потребуется подписанный сертификат безопасности (неподписанные, так называемые «самоподписанные» или «самоизданные» сертификаты требуют подтверждения согласия пользователя для работы, чем могут отпугнуть потенциальных посетителей сайта).

  • В файле wp-config.php хранятся записи для взаимодействия CMS и базы данных, здесь вы можете легко изменить пароль для пользователя БД и его имя, имя сервера.
    define('DB_NAME', 'database-name');
    define('DB_USER', 'database-username');
    define('DB_PASSWORD', 'database-password');
    define('DB_HOST', 'localhost');
  • Здесь же Вы можете изменить набор SecretKey для WP, сделав недействительными cookies пользователей.
  • Сменить язык CMS, указав путь к файлам перевода:
    * Измените этот параметр, чтобы настроить локализацию. Соответствующий MO-файл
    * для выбранного языка должен быть установлен в wp-content/languages. Например,
    * чтобы включить поддержку русского языка, скопируйте ru_RU.mo в wp-content/languages
    * и присвойте WPLANG значение 'ru_RU'.
    
    define('WPLANG', '**');
    define('LANGDIR', '**');
  • Изменить правила отображения для URL-адресов сайта можно в строках:
    define('WP_SITEURL', 'http://mydomain.com/wordpress_folder');

    Также можно менять URL динамически:

    define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/хостинг/ wordpress');

    Переменная $_SERVER будет отвечать за динамическое изменение URL. По соображениям безопасности, в качестве аргумента используйте “SERVER_NAME”, ибо за данное значение отвечает веб-сервер.
    А так можно поменять адрес домашней страницы блога на WordPress по умолчанию:

    define('WP_HOME', 'http://example.com');
  • Если вы занимаетесь допиливанием движка WordPress или пишете свой Плагин, не лишней будет любезно предусмотренная функция Дебаггинга (отображение ошибок «на лету»). По умолчанию она отключена. Включить WordPress Debugging можно в строках:
    define('WP_DEBUG', true);

    Включаем сохранение всех запросов к БД WordPress:

    define('SAVEQUERIES', true);

    А для того чтобы увидеть их в браузере, необходимо добавить в файл темы (footer.php, header.php, index.php – в зависимости от того, где вы хотите увидеть запросы) следующие строки:

    if (current_user_can('level_10')) {
        global $wpdb;
        echo "<рre>";
        print_r($wpdb->queries);
        echo "</рre>";
    }

    Теги «pre», как вы уже догадались, предназначены для предотвращения обработки браузером стека запросов. 10 левел пользователя гарантирует (если вы ещё не все сломали) вывод строк только для Администраторов. Не забудьте отключить всё это после отладки.

  • WordPress по умолчанию сохраняет изменения ваших статей в базу данных, засоряя её ненужным мусором, который уже никогда не пригодится. Избежать этого просто:
    1. Устанавливаем интервал автосохранения (в секундах):
      define('AUTOSAVE_INTERVAL', 500);

      — каждые 500 секунд редактируемые статьи будут сохраняться.

    2. Задаём количество хранимых изменений статьи
      define('WP_POST_REVISIONS', 3);

      Можно отключить эту функцию полностью:

      define('WP_POST_REVISIONS', false)
    3. Заодно, настроим авто-удаление статей из корзины WP (мусор будет храниться в корзине 5 дней)
      define('EMPTY_TRASH_DAYS', 5);
    4. Все ревизии статей, которые вы делали до внесения изменений в wp-config.php, останутся в Базе Данных. Чтобы избавиться от них можно воспользоваться сторонним плагином, или выполнить в phpMyAdmin (Веб-интерфейс управления базой данных) следующий запрос:

      DELETE a,b,c
      FROM wp_posts a
      LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
      LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
      WHERE a.post_type = 'revision'</li>
  • Привелегии и полномочия для FTP/SSH.
    Если вы работаете по FTP напрямую из админ-панели WordPress, могут пригодиться возможности для определения метода работы, не забудьте корректно указать пути до директорий на веб-сервере.

    define('FS_METHOD', 'ftpext');
    define('FTP_BASE', '/ путь/до/wordpress/');
    define('FTP_CONTENT_DIR', '/путь/до/wordpress/wp-content/');
    define('FTP_PLUGIN_DIR ', '/ путь/до/wordpress/wp-content/plugins/');
    //путь к SSH public key
    define('FTP_PUBKEY', '/*/*/.ssh/id_rsa.pub');
    //путь к SSH private key
    define('FTP_PRIVKEY', '/*/*/.ssh/id_rsa');
    //Имя пользователя и пароль
    define('FTP_USER', 'пользователь');
    //password for FTP_USER username
    define('FTP_PASS', 'пароль');
    //Сервер:порт FTP/SSH
    define('FTP_HOST', 'ftp.example.com:21');

    Можно включить «прямой» метод работы FTP, но ваш хостинг может не поддерживать эту функцию

    define('FS_METHOD', 'direct');
  • В случае если таблицы БД повреждены и вы не можете даже залогиниться, попробовать восстановить базу данных WordPress можно стандартной функцией (вариант работает не всегда):
    define('WP_ALLOW_REPAIR', true);

    После этого необходимо открыть в браузере страницу

    Ваш-домен/wp-admin/maint/repair.php
  • Хорошая возможность для улучшения безопасности – использование собственных названий для таблиц пользователей:
    define('CUSTOM_USER_TABLE', $префикс.'Ваше-название');
    define('CUSTOM_USER_META_TABLE', $префикс.'Ваше-название');
  • Используя собственный хостинг под сайт с высокой посещаемостью, вам возможно будет необходимо увеличить Предел выделяемой для WordPress оперативной памяти сервера. Если вы часто видите на сайте ошибки типа «memory exhausted» (память исчерпана) попробуйте прописать в wp-config.php следующее:
    define('WP_MEMORY_LIMIT', '128M');

    Устанавливает предел памяти для скриптов CMS WP в 128 Мегабайт.

  • Есть возможность отключить редактирование файлов темы и плагинов WordPress из административной панели.
    define('DISALLOW_FILE_EDIT', TRUE);

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

backup

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

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