Трюки в wp config php, которые ты может и не знал

Привет дорогой друг! И я продолжаю серию статей по внутренней оптимизации WordPress и сегодня я расскажу вам некоторые трюки которые вы может быть и не знаете в файле Wp-config.php, но перед тем как узнать все фишки этого сайта подпишись на мою Rss-ку, так сказать поблагодари меня за крапотливый труд;)

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

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

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

Установка wordpress

Установка wordpress

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

Установка wordpress part2

Установка wordpress part2

Затем вы вводите ключевую информацию. Подключаете к блогу базу данных. Всё что вы ведете, занесется в настройки WP-config.php как:

define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');

Один из самых крутых трюков в WP-config.php был опубликован в WordPress Codex, это способность автоматически обнаруживать сервер базы данных.

DEFINE ('DB_HOST', $ _ENV {DATABASE_SERVER});

Безопасные ключи (Security keys)


Security keys в wordpress представляют собой набор случайных величин, которые улучшают шифрование информации хранящийся в куках пользователя. До wordpress 3.0 нужно было устанавливать это вручную в wp-config.php. А вот в wordpress 3.0 и выше Security keys автоматически добавляются в wp-config.php при установке, а так же в предыдущих версиях было всего 4 ключа безопасности, но в 3.0 уже стало 8.

Security keys добавляются в wp-config.php вот таким кодом:

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', 'разместить уникальную фразу здесь');

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

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

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

$ Table_prefix = 'wp_';

Я рекомендую использовать нечто иное, чем wp_, дабы усложнить работу хакерам. Однако если у вас уже установлен wordpress, то не просто будет изменить префикс.

Язык конфигурации

По умолчанию, английский является локализованным языком WordPress, но он может быть изменен на любой друг язык

DEFINE ('WPLANG','');
DEFINE ('LANGDIR','');

Языковой файл перевода (.мо) должен быть помещён по умолчанию в папку, которая должна быть по адресу wp-content/language, а затем wp-include/language. Но исходя из функции выше вы можете определить свой собственный каталог.

Отладка wordpress

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

define(‘WP_DEBUG’, false); // отключить режим отладки по умолчанию
define(‘WP_DEBUG’, true); // включить режим отладки

Адрес сайта

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

DEFINE ('WP_HOME', 'http://jonyit.ru);
DEFINE ('WP_SITEURL', 'http://jonyit.ru);

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

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

DEFINE ('FS_CHMOD_FILE', 0755);
DEFINE ('FS_CHMOD_DIR', 0644);

Сообщение Пересмотры


В последних версиях wordpress появилась удивительная функция auto-save. Она автоматически сохраняет ваш пост если вы его ещё не закончили писать, к примеру у вас завис браузер или вы случайно закрыли его или вырубили свет. Так же она позволяет восстанавливать предыдущие версии постов, мало ли что вы в них писали. Многие из нас обожают эту функцию, но некоторые просто ненавидят её. Функция auto-save имеет множество конфигурации, так что вы можете натсроить е под себя.

Auto-Save Configuration

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

DEFINE ('AUTOSAVE_INTERVAL', 120); / / в секундах

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

DEFINE ('WP_POST_REVISIONS, false);

Корзина в WordPress (Trash)

Начиная с версии 2.9 в ядро была добавлена новая функция Корзина “Trash”. Она предназначена для того чтобы не удалять навсегда не дописанные или случайно удалённые посты. Плохая сторона этой функции заключается в том что мы должны чистить корзину регулярно так как мусор восстанавливается из корзины каждые 30 дней. Вы можете изменить это значения используя следующую функцию:

DEFINE ('EMPTY_TRASH_DAYS', 7); / / целое количество дней
Если вам не нравится эта функция, то ее можно отключить:
DEFINE ('EMPTY_TRASH_DAYS', 0);

Но помните, если вы держите значение 0, то WordPress не будет запрашивать подтверждение при нажатии на кнопку “Удалить навсегда”. Любой случайное нажатие может стоить вам поста.

Авто оптимизация базы данных

В WordPress 2.9, была добавлена функция, которая называется Automatic Database Optimization. Чтобы включить эту функцию, вы должны вставить следующий код в wp-config.php:

DEFINE ('WP_ALLOW_REPAIR, правда);

После активации, вы можете увидеть настройки на этой странице:

http://www.yoursite.com/wp-admin/maint/repair.php
databaseoptimizer

databaseoptimizer

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

WordPress Error Log

Блогеру полезно иметь журнал ошибок. Так вы сможете узнавать причину поломки или глюка блога. Сначала создайте файл с названием “php_error.log” и поместить его в каталог по выбору. Затем изменить путь в третьей строке следующего кода:

@ini_set('log_errors','On');
@ini_set('display_errors','Off');
@ini_set('error_log','/home/path/domain/logs/php_error.log');

Custom User / UserMeta Таблицы

По умолчанию WordPress сохраняет все пользовательские данные в таблицах wp_users и wp_usermeta. При использовании функции ниже, вы можете указать таблицу, где Вы хотите, чтобы wordpress хранил ваши данные .

DEFINE ('CUSTOM_USER_TABLE', $ table_prefix 'my_users.);
DEFINE ('CUSTOM_USER_META_TABLE', $ table_prefix 'my_usermeta.);

Включить WPMU

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

DEFINE ('WP_ALLOW_MULTISITE, true);

После добавления этого кода у вас появиться новая страницы в вашем wp-admin которая называется “Сеть” (network) расположенная в инструментах.

Обеспечение безопасности файлу WP-config.php


Как вы видите файл WP-config.php очень важный и поэтому он нуждается в дополнительно безопасности. По умолчанию он находиться в корневой папке WordPress, но вы можете его переместить. Он может быть перемещён за пределы public_html каталога, поэтому пользователи не смогут получить к нему доступ. WordPress умеет по умолчанию искать этот файл в других каталогах, если файлы не найдены в корневой папке wordpress. Вы так же можете использовать .Htacces файл, чтобы ограничить доступ к этому файлу

Добавьте следующий код:

# protect wpconfig.php
 
order allow,deny
deny from all

P.S.
Ну вот и всё дорогой друг. Если вдруг у тебя есть свои советы, фишки или трюки с файлом wp-config.php, то рассказывай их в комментариях и я добавлю их в пост с ссылкой на твой блог в знак благодарности;)

Не забудь подписаться на мою Rss-ку, а то пропустите следующую мою статью “Как вывести популярные статьи с миниатюрой“, а так же продолжить настройку блога и начать с настройки  wp-login.php.

 

Разработка сайта
Мы не используем платные CMS и за счет этого мы привлекаем низкой ценой клиентов. Не используем шаблоны у нас только уникальный дизайн. В подарок мы делаем SEO оптимизацию сайта и настройку контекстной рекламы.
Заказать
Продвижение сайта
Частный оптимизатор выходит гораздо дешевле web-студии. Я помогу вам вывести cайт в ТОП-3 и настроить автоматические продажи. В стоимость услуг входит аудит, техническая и seo оптимизация сайта.
Заказать
БЛОГ под КЛЮЧ
Сэкономьте годы возни на созданием и продвижением своего блога. Отдайте это дело блоггеру с пятилетним стажем. В услугу уже входит SEO оптимизация блога. В подарок вы получаете видео-курс «Мой авторитетный блог»
Заказать




48 комментариев
  1. Вообще то лазить в конфиг довольно таки опасно.

    Ответить на комментарий →
    • Антон Краморов 14 сентября, 2011 в 02:52

      а ты сохрани резерв и лазей на здоровье)

      Ответить на комментарий →
      • Антон,
        >а ты сохрани резерв
        при сохранении резерва сохраняются
        данные сайта и базы данных ?
        Вопросы, если позволите ;-))
        1.Какие плагины лучше использовать
        для резервного копирования.
        2. Как восстанавливать копию на тот же сайт.
        3. Как восстанавливать копию на другой сайт,
        какие параметры надо перенастроить.
        Успехов и здоровья ;-))

        Ответить на комментарий →
  2. Хорошая и полезная статья! Много че не знал) Буду ковыряться)

    Ответить на комментарий →
  3. Я же говорил есть что почитать полезного)

    Ответить на комментарий →
  4. Не знада про корзину, что мусор восстанавливается. спасибо за информацию.

    Ответить на комментарий →
  5. Зачем ограничивать доступ в htaccess к WP-config.php? :)

    Ответить на комментарий →
  6. Виктор Викторович 16 сентября, 2011 в 01:31

    Интересная статья.

    Ответить на комментарий →
  7. Вот вы говорите добавить следующий код:

    # protect wpconfig.php

    order allow,deny
    deny from all

    А куда добавить так и не сказали? В .htaccess или wp-config.php ?

    Ответить на комментарий →
    • Антон Краморов 18 сентября, 2011 в 03:48

      Прошу прощения если я что то недоходчиво объяснил!
      в .htaccess конечно же.

      Подписывана Rss

      Ответить на комментарий →
      • А обязательно при этом перемещать файл wp-config.php из корня в другое место?

        Ответить на комментарий →
        • Антон Краморов 15 октября, 2011 в 04:18

          его перемещать вообще не стоит )

          Ответить на комментарий →
          • Цитата из вашей статьи:

            “Как вы видите файл WP-config.php очень важный и поэтому он нуждается в дополнительно безопасности. По умолчанию он находиться в корневой папке WordPress, но вы можете его переместить. Он может быть перемещён за пределы public_html каталога, поэтому пользователи не смогут получить к нему доступ. WordPress умеет по умолчанию искать этот файл в других каталогах, если файлы не найдены в корневой папке wordpress. Вы так же можете использовать .Htacces файл, чтобы ограничить доступ к этому файлу”

            И потом вы мне отвечаете “его перемещать вообще не стоит )”

            Так вы определитесь в мыслях в своём “блоге” или мне навсегда забыть о вас как о некомпетентном дилетанте?

            Требую развёрнутый ответ, что, куда, зачем и почему!

            Ответить на комментарий →
          • Антон Краморов 15 октября, 2011 в 08:12

            Если у вас бешеная посещаемость и вы боитесь что ваш блог взломают, то можете его перенести. Даже если вас и взломают, доступ к ftp у вас всегда есть, так что это не так страшно.

            Можете считать меня некомпетентным дилетантом, я не против;)

            Ответить на комментарий →
          • всё с вами понятно =)))

            Ответить на комментарий →
          • Антон,
            >Требую развёрнутый ответ, что,
            >куда, зачем и почему!
            для таких конкретных посетителей,
            рекомендуется сделать приватный доступ,
            за чисто символическую денежку в у.е.
            обеспечить им первоочередную поддержку
            в режиме он-лайн ;-))

            Ответить на комментарий →
  8. Спасибо.Даже и не представляла,что в config.php прописано столько возможностей.Корзину и автосохранение ревизий отключила)

    Ответить на комментарий →
  9. А вот фишка про включение WPMU – я про нее даже не знал. Спасибо.

    Ответить на комментарий →
  10. А я то думал, что неправильно настроил WP, что у меня из корзины все через 30 дней назад лезет =)

    Ответить на комментарий →
  11. Андрей Серебряков 11 октября, 2011 в 05:08

    Ни чего себе!) А я то думал что все знаю.
    Спасибо)

    Ответить на комментарий →
  12. еррор логи кроме средств апача не словить?

    Ответить на комментарий →
  13. WPMU вошла в ядро wordpress. Для включения многопользовательского режима wordpress, вам необходимо вставить следующий код:

    1

    DEFINE (‘WP_ALLOW_MULTISITE, true); В каком месте вставляем??? Ну не все соображают в PHP прописании, неужели такие нужные темы, и нельзя прописать от и до .

    Ответить на комментарий →
    • Антон Краморов 09 ноября, 2011 в 04:47

      Вписываем практически в конце.
      В конце увидите следующее:

      define(‘WP_DEBUG’, false);
      define(‘AUTOSAVE_INTERVAL’, 500 ); // seconds
      define(‘WP_POST_REVISIONS’, false );
      сюда же добавьте желаемый код
      DEFINE (‘WP_ALLOW_MULTISITE, true)

      Ответить на комментарий →
  14. jonyit А вот тут уже и пять баллов поставить не грех! Я имею в виду оперативность с ответом на комментарий.
    Cразу по ходу – искали подсказку по вопросу:
    куда вставить код define(‘FS_METHOD’, ‘direct’); при внесении корректировок в файле wp_config.php WordPress.
    Если контакт будет налажен, подпишусь, так как темы нужные. Всё лишь за обьяснениями, где будет непонятно! С уважением Александр.

    Ответить на комментарий →
    • Антон Краморов 10 ноября, 2011 в 12:01

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

      Подписывайтесь, рад буду служить)

      Ответить на комментарий →
  15. Повторился приход темы по новой, думаю пора задать вопрос. jonyit ! Я безуспешно пробовал найти нечто подобное по следующему: При установке фото (картинки) в тему с начала обработки выкидывает в окно входа в W.P. админ. Ввожу пользователя, пароль и попадаю на вопрос “Повторить попытку” после снова в “обзор” и тогда загружает.
    2. Пишу пост. Начинает ни с чего при переходах на обновление скидывать написанный текст. И это при переключении с “HTML” или “визуально” – без разницы.Вот хотел услышать мнение спеца, так как ничего подобного найти в И-нете (пока) не смог. С уважением Александр.

    Ответить на комментарий →
    • Антон Краморов 15 ноября, 2011 в 12:22

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

      Ответить на комментарий →
  16. jonyit! Спасибо за подсказку – попробую со вторым, а уж после и с первым. Успехов, Александр.

    Ответить на комментарий →
  17. Огромное СПАСИБО! Поменял -включил “Отладка wordpress”А где я могу увидеть изменения или результаты этой отладки?

    Ответить на комментарий →
  18. Подскажите, пожалуйста, можно ли в WP сделать страницы с окончанием .php? Если можно, то как это сделать?

    Заранее спасибо!

    Ответить на комментарий →
    • Антон Краморов 26 декабря, 2011 в 06:40

      Не пробовал, но я думаю можно.
      А с какой целью так делатЬ?
      поисковой трафик от этого не увеличиться

      Ответить на комментарий →
  19. Лариса, это сделать достаточно просто с одним небольшим “Но”.

    Наиболее благоприятный для подобных изменений вариант – это новый сайт на базе wordpress. Все дело в том, что если уже много постов написано, то вненсение описанных ниже изменений может затронуть уже опубликованные записи, что в свою очередь приведет к ошибке и недоступности последних по старым адресам. Для исправления – придется возиться с правилами редиректа в уже небезъизвестном нам файле .htaccess . Это – что касается “Но”.

    !!! Перед тем, как вы начнете что-то делать, пожалуйста, прочитайте до конца!!!

    Однако, предположим, что сайт новый – постов мало – а значит мелкие огрехи (постоянные ссылки) лего поправляемы: можно зайти в каждый из них (опубликованных постов) и исправить вручную в случае необходимости.

    Заходим в админку WordPress. Идем в меню “ПАРАМЕТРЫ” (не знаю, руссифицирована у вас админка или нет – я буду писать для русской версии). Далее ищем подменю “Постоянные Ссылки” (Permalinks). Ставим чекпоинт рядом с пунктом “Произвольно:” (Custom) и вписываем в поле рядом примерно следующую конструкцию:

    /%postname%.php

    Написать нужно как показано выше (в начале – да, есть слеш и никаких пробелов НИ ДО, НИ ПОСЛЕ)

    В этом случаем все НОВЫЕ посты на вашем сайте будут иметь окончание “.php”. Например новая статья под названием “Вокруг света” будет выглядеть так: ваш_сайт.ru/vokrug-sveta.php

    Естественно, что можно поиграться и с др. структурой адреса. На то она и ручная настройка. Я например на своем сайте использую несколько др. структуру – у меня в адресе фигурирует еще и название раздела. Но тут уж на вкус и цвет как говорится…

    И, еще одно. Чтобы избежать в данном случае в адресе сайта кириллицы лучше использовать плагин rus-to-lat – он заменяет русские символы на латиницу.

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

    Удачных экспериментов! :))

    Ответить на комментарий →
  20. Ого, реально трюки, я даже не в курсе был, Спасибо Антон:) 

    Ответить на комментарий →
  21. вах, интересные фишки. Не знал, не знал

    Ответить на комментарий →
  22. бред – DEFINE (‘WP_ALLOW_REPAIR, правда);
    исправьте

    Ответить на комментарий →
  23. Секреты Интернета 05 июня, 2012 в 09:17

    Интересно. Что то уже есть, а что то не мешает попробовать.. 8)

    Ответить на комментарий →
  24. Галина Грабовая 20 ноября, 2012 в 07:54

    Интересные факты.Но я про них не слышала раньше.

    Ответить на комментарий →
  25. Петр Балашов 20 ноября, 2012 в 08:00

    Лишнее ставить, блог грузить.Не стоит.

    Ответить на комментарий →
  26. Антон,
    спасибо за отличную статью, она не только познавательная, но и содержит много полезного.
    Для меня один вопрос, вот внесли все эти изменения на блог, как обновлять WP до новой версии. Ручками ? Или есть возможность как-то сохранять настройки и экспортировать в обновленный блог.
    Юрий

    Ответить на комментарий →
  27. Антон Краморов 22 ноября, 2012 в 03:13

    Juri, постоянно обновляю свой блог и настройки сделанные мной ранее не пропадают

    Ответить на комментарий →
  28. Антон, смотрю, что вы очень оперативно отвечаете на вопросы своих читателей. Вот и я сегодня решила “подправить” свой файлик WP-config после чего благополучно потеряла доступ к сайту. Не хочу пока хостеров трогать, может быть можно что-то сделать и вернуть его?

    Ответить на комментарий →
  29. Антон Краморов 23 декабря, 2012 в 04:53

    Елена, скачайте дистрибутив wordpress, вытащите стандартный WP-config и настройте в нём доступ к базе данных. Далее залейте его на хостинг и сайт снова заработает

    Ответить на комментарий →
  30. Александр Василенко 25 мая, 2013 в 07:51

    Про перемещение файла не знал, нужно будет попробовать. Спасибо.

    Ответить на комментарий →
  31. Очень хорощая статья, с фишками о которых я не знал. Посмотрю и настрою wp config. А как отразится на работе блога наличие папок:
    wp-config-sample.php
    wp-config.WPTunerOrig.php
    wp-config.php
    Может это отразится на нагрузку хостинга?
    Спасибо [good]

    Ответить на комментарий →
  32. Антон Краморов 13 декабря, 2013 в 04:59

    Анатолий, нет, это ни как не отразиться на нагрузки вашего хостинга.

    Ответить на комментарий →
  33. Здравствуйте, у Вас в некоторых кодах знак “‘” осутствует.

    Ответить на комментарий →
Оставь свой первый комментарий и получи:
:) :-D ;-) :-| [star] [good] [present] [flower] [:-))] [:))] [:--_)] [:-|]