ВНИМАНИЕ: Прочтите перед редактированием этой страницы.

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

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

Этот файл, wp-config.php , не содержится в скачиваемой копии WordPress; вам потребуется его создать. В качестве примера можно использовать файл wp-config-sample.php . Ниже представлены расширенные настройки и примеры.

Для изменения файла wp-config.php вам потребуется следующая информация:

Имя базы данных Имя базы данных для WordPress Имя пользователя базы данных Имя пользователя для доступа к базе данных Пароль к базе данных Пароль пользователя для доступа к базе данных Сервер базы данных Имя сервера базы данных

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

Настройка базы данных

Важно: никогда не используйте текстовые редакторы вроде Microsoft Word для изменения файлов WordPress!

Найдите в корневом каталоге WordPress файл и откройте его в .

Исходный wp-config-sample.php

ЗАМЕЧАНИЕ: It won"t change the Database value though, and the url will revert to the old database value if this line is removed from wp-config. to change the siteurl value in the database.

If WordPress is installed into a directory called "wordpress" for the domain example.com, define WP_SITEURL like this:

Define("WP_SITEURL", "http://example.com/wordpress");

Dynamically set WP_SITEURL based on $_SERVER["HTTP_HOST"]

Define("WP_SITEURL", "http://" . $_SERVER["HTTP_HOST"] . "/path/to/wordpressp");

ЗАМЕЧАНИЕ: A safer alternative for some installations would be to use the server-generated SERVER_NAME instead of the php/user-generated HTTP_HOST which is created dynamically by php based on the value of the HTTP HOST Header in the request, thus possibly allowing for file inclusion vulnerabilities. SERVER_NAME is set by the server configuration and is static.

Dynamically set WP_SITEURL based on $_SERVER["SERVER_NAME"]

Define("WP_SITEURL", "http://" . $_SERVER["SERVER_NAME"] . "/path/to/wordpressp");

Адрес блога (URL)

WP_HOME is another wp-config.php option added in WordPress . Similar to WP_SITEURL, WP_HOME overrides the value for home but does not change it permanently. home is the address you want people to type in their browser to reach your WordPress blog. It should include the http:// part and should not have a slash "/ " at the end.

Define("WP_HOME", "http://example.com/wordpress");

В WordPress версии 2.5, установка WP_DEBUG в true также поднимает уровень сообщений об ошибках на E_ALL и активирует предупреждения, когда устаревшие функции или файлы используются; в противном случае, WordPress устанавливает уровень сообщений об ошибках в E_ALL ^ E_NOTICE ^ E_USER_NOTICE .

Отключить Javascript присоединение

Чтобы результатам заканчиваться более быстрой административной областью, все файлы Javascript являются присоединёнными в один URL. Если Javascript не в состоянии работать в вашей административной области, вы можете попробовать отключить эту функцию:

Define("CONCATENATE_SCRIPTS", false);

Настройка лога ошибок

Because wp-config.php is loaded for every page view not loaded from a cache file, it is an excellent location to set php ini settings that control your php installation. This is useful if you don"t have access to a php.ini file, or if you just want to change some settings on the fly.

Here is an example that turns php error_logging on and logs them to a specific file. If WP_DEBUG is defined to true, the errors will also be saved to this file. Just place this above any require_once or include commands.

@ini_set("log_errors","On"); @ini_set("display_errors","Off"); @ini_set("error_log","/home/example.com/logs/php_error.log"); /* That"s all, stop editing! Happy blogging. */

Another example of logging errors, as suggested by Mike Little on the wp-hackers email list :

/** * This will log all errors notices and warnings to a file called debug.log in * wp-content (if Apache does not have write permission, you may need to create * the file first and set the appropriate permissions (i.e. use 666)) */ define("WP_DEBUG", true); define("WP_DEBUG_LOG", true); define("WP_DEBUG_DISPLAY", false); @ini_set("display_errors",0);

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

define("FS_CHMOD_DIR", (0755 & ~ umask())); define("FS_CHMOD_FILE", (0644 & ~ umask()));

Константы для обновления WordPress

You should define as few of the below constants needed to correct your update issues.

The most common causes of needing to define these are:

  • Host running with a special installation setup involving Symlinks, You may need to define the path-related constants (FTP_BASE, FTP_CONTENT_DIR, and FTP_PLUGIN_DIR), Often defining simply the base will be enough.
  • Certain PHP installations shiped with a PHP FTP Extension which is incompatible with certain FTP Servers, under these rare situations, you may need to define FTP_METHOD to "ftpsockets"

The following are valid constants for WordPress updates:

  • FS_METHOD forces the filesystem method. It should only be "direct", "ssh", "ftpext", or "ftpsockets". Generally, You should only change this if you are experiencing update problems, If you change it, and it doesnt help change it back/remove it , Under most circumstances, setting it to "ftpsockets" will work if the automatically chosen method does not.
    • (Primary Preference) "Direct" forces it to use Direct File I/O requests from within PHP, this is fraught with opening up security issues on poorly configured hosts, This is chosen automatically when appropriate.
    • (Secondary Preference) "ssh" is to force the usage of the SSH PHP Extension.
    • (3rd Preference) "ftpext" is to force the usage of the FTP PHP Extension for FTP Access, and finally
    • (4th Preference) "ftpsockets" utilises the PHP Sockets Class for FTP Access.
  • FTP_BASE is the full path to the "base"(ABSPATH) folder of the WordPress installation.
  • FTP_CONTENT_DIR is the full path to the wp-content folder of the WordPress installation.
  • FTP_PLUGIN_DIR is the full path to the plugins folder of the WordPress installation.
  • FTP_PUBKEY is the full path to your SSH public key.
  • FTP_PRIKEY is the full path to your SSH private key.
  • FTP_USER is either user FTP or SSH username. Most likely these are the same, but use the appropriate one for the type of update you wish to do.
  • FTP_PASS is the password for the username entered for FTP_USER . If you are using SSH public key authentication this can be omitted.
  • FTP_HOST is the hostname:port combination for your SSH/FTP server. The default FTP port is 21 and the default SSH port is 22, These do not need to be mentioned.
  • FTP_SSL TRUE for SSL-connection if supported by the underlying transport , Not available on all servers. This is for "Secure FTP" not for SSH SFTP.
define("FS_METHOD", "ftpext"); define("FTP_BASE", "/path/to/wordpress/"); define("FTP_CONTENT_DIR", "/path/to/wordpress/wp-content/"); define("FTP_PLUGIN_DIR ", "/path/to/wordpress/wp-content/plugins/"); define("FTP_PUBKEY", "/home/username/.ssh/id_rsa.pub"); define("FTP_PRIKEY", "/home/username/.ssh/id_rsa"); define("FTP_USER", "username"); define("FTP_PASS", "password"); define("FTP_HOST", "ftp.example.org"); define("FTP_SSL", false);

Включение SSH Обновление доступа

To enable SSH2 as an upgrade option you will need to install the pecl SSH2 extension. To install this library you will need to issue a command similar to the following or talk to your web hosting provider to get this installed:

Pecl install ssh2

After installing the pecl ssh2 extension you will need to modify your php configuration to automatically load this extension.

pecl is provided by the pear package in most linux distributions. To install pecl in Redhat/Fedora/CentOS:

Yum -y install php-pear

To install pecl in Debian/Ubuntu:

Apt-get install php-pear

It is recommended to use a private key that is not pass-phrase protected. There have been numerous reports that pass phrase protected private keys do not work properly. If you decide to try a pass phrase protected private key you will need to enter the pass phrase for the private key as FTP_PASS, or entering it in the "Password" field in the presented credential field when installing updates.

If you"re still not clear on how to use SSH for upgrading or installing WordPress/plugins, read through this tutorial .

Альтернатива Cron

Use this, for example, if scheduled posts are not getting published. According to Otto"s forum explanation , "this alternate method uses a redirection approach, which makes the users browser get a redirect when the cron needs to run, so that they come back to the site immediately while cron continues to run in the connection they just dropped. This method is a bit iffy sometimes, which is why it"s not the default."

Define("ALTERNATE_WP_CRON", true);

Дополнительно задаваемые константы

Here are additional constants that can be defined, but probably shouldn"t be. The Cookie definitions are particularly useful if you have an unusual domain setup.

Define("COOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("home") . "/")); define("SITECOOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("siteurl") . "/")); define("ADMIN_COOKIE_PATH", SITECOOKIEPATH . "wp-admin"); define("PLUGINS_COOKIE_PATH", preg_replace("|https?://[^/]+|i", "", WP_PLUGIN_URL)); define("TEMPLATEPATH", get_template_directory()); define("STYLESHEETPATH", get_stylesheet_directory()); define("DISABLE_WP_CRON", true);

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

В данной статье мы собираемся помочь вам узнать больше о этом важном файле для Joomla. Вы узнаете:

  • Где можно найти ваш файл configuration.php .
  • Как влияет каждый параметр на работу сайта.

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

Расположение файла configuration.php

На рисунке показано местоположение файла с помощью FileZilla. В данном случае, сайт находится в подкаталоге "Joomla".

Файл configuration.php находится в корневом каталоге Joomla. Если сайт установлен в основной каталог хостинга (public_html), то путь к нему будет выглядеть следующим образом:

  • /home/username/public_html/configuration.php
Сделайте резервную копию рабочего файла, прежде чем делать что-либо с ним. Изменения попробуйте сначала сделать на тестовом сайте.

Параметры сайта

  • $offline : при значении "0" сайт работает, если установить "1", то сайт выключается.
  • $offline_message : сообщение, которое выводится посетителям когда сайт выключен.
  • $sitename : имя сайта, которое показывается в title.
  • $editor : редактор, который установлен по умолчанию.
  • $list_limit : длина списков в админке для всех пользователей. По умолчанию установлен равный 20.
  • $access : уровень доступа к сайту. "1" - открытый доступ, "2" - только для зарегистрированных, "3" - специальный доступ.

Параметры отладки

  • $debug : "0" режим отладки выключен, "1" - включен.
  • $debug_lang : "0" - выключен. "1" - включен.

Примечания:

$debug : это параметр включает режим отладки Joomla. Если установлено значение "1", этот инструмент будет предоставлять различную техническую информацию о работе системы. Она будет отображаться в нижней части каждой страницы.

$debug_lang : это параметр включает отладку индикаторов (* ... *) или (?...?) в языковых файлах Joomla.

Параметры базы данных

  • $dbtype : "mysqli" или "mysql". Тип используемой базы данных.
  • $host : в большинстве случаев "localhost", но не всегда. Эту информацию можно узнать у хостера.
  • $user : имя пользователя базы данных.
  • $password : пароль для пользователя базы данных.
  • $db : имя базы данных.
  • $dbprefix : префикс для таблиц Joomla, например, jos или j17

Дополнительные настройки

  • $live_site : фактический адрес сайта, например - http://yourdomain.com
  • $secret : НЕ ИЗМЕНЯТЬ
  • $gzip : "0" - выключен, "1" - включен.
  • $error_reporting : уровень подробности отчета об ошибках.
  • $helpurl : страница помощи по сайту. По умолчанию указана официальная страница помощи по Joomla.

Примечания

$live_site : В последних версиях здесь не должно быть указано какое-либо значение. Используется в случаях создания перенаправлений или копии сайта для тестирования.

$secret : значение генерируется при установке Joomla ​​и не может быть изменено. Оно используется в Joomla в целях безопасности.

$error_reporting : устанавливает соответствующий уровень отчета о ошибках. По умолчанию, System Default.

$helpurl : открывает поиск справочной информации при нажатии на кнопку Справка (её можно видеть на некоторых страницах административной панели).

$ftp_host : 127.0.0.1 - это IP адрес локального хоста FTP. Сервер хостера может иметь другое значение.
$ftp_port : номер порта для FTP. По умолчанию, 21. Сервер хостера может иметь другое значение.
$ftp_user : логин FTP-пользователя.
$ftp_pass : ваш пароль к FTP
$ftp_root : путь к корневой папке, обычно /home/username/public_html
$ftp_enable : этот параметр указывает Joomla! использовать встроенные FTP-функции, а не обрабатывать через PHP.

Настройка часового пояса

  • $offset : этот параметр устанавливает текущую дату и время . Установленное время должно соответствовать времени сервера, но котором сайта находится. По умолчанию UTC.
  • $offset_user : время для пользователей, по умолчанию UTC.

Настройки электронной почты

  • $mailer : устанавливаем "mail" когда используем функцию PHP для работы с почтой; "sendmail" - когда используем сервер SMTP.
  • $mailfrom : email-адрес, который использует Joomla! для отправки почты.
  • $sendmail : путь, по которому располагается программа Sendmail. Этот параметр используется только если параметр $mailer имеет значение "sendmail".
  • $smtpauth : если на сервере SMTP требуется аутентификация, то нужно установить значение "1". Этот параметр используется только если $mailer имеет значение "sendmail".
  • $smtpuser : имя пользователя для доступа к серверу SMTP. Этот параметр используется только если $mailer имеет значение "sendmail".
  • $smtppass : пароль для доступа к серверу SMTP. Этот параметр используется только если $mailer имеет значение "sendmail".
  • $smtphost : адрес SMTP сервера. Этот параметр используется только если $mailer имеет значение "sendmail".
  • $smtpsecure : модель безопасности на сервере SMTP. Возможные значения "SSL" и "TTL".
  • $smtpport : порт SMTP. Большинство серверов для незащищенного соединения используют порт 25, а для защищенного - порт 465. Этот параметр можно узнать у хостера.

Настройки логов

  • $log_path : путь, по которому хранятся логи Joomla!
  • $tmp_path : путь, по которому хранятся временные файлы системы. Не правильное указание этого значения может привести к многочисленным ошибкам в работе сайта.

Настройки кэширования

  • $caching : "0" - выключено, "1" - консервативное кэширование; "2" - прогрессивное кэширование.
  • $cache_handler : "file" - полное кэширование; "cachelite" - простое кэширование.
  • $cachetime : время (в минутах) хранения кэша до его обновления.

Настройки Мета-тегов

  • $MetaDesc : текстовое описание сайта для целей SEO. Этот текст будет выводиться в мета-теге description.
  • $MetaKeys : ключевые слова, разделенные запятой. Этот текст будет выводиться в мета-теге keywords.
  • $MetaAuthor : "0" - прятать мета-тег author; "1" - показывать этот тег.

SEO-настройки (Search Engine Optimization)

  • $sef : "0" - отключено, "1" - включено. Изменение URL-адресов в "человекопонятный" вид (ЧПУ). Например, адрес www.example.com/index.php?option=com_content&view=etc... преобразуется в www.example.com/псевдоним .
  • $sef_rewrite : "0" - отключено, "1" - включено. Использовать установки mod_rewrite сервера Apache для создания "человекопонятных" URL.
  • $sef_suffix : "0" - отключено, "1" - включено. Добавление расширения в конец адреса URL, например, .html или.php.
  • $unicodeslugs : "0" - отключено, "1" - включено. Выбор между форматом псевдонимов в транслитерации или юникоде.
  • $feed_limit : ограничение на количество фидов. По умолчанию равно 10, может быть использовано любое целое число.

Настройки сессий

  • $lifetime : устанавливает длительность сессии в минутах.
  • $session_handler : "database" или "none". Определяет обработку сессии после подключения пользователя.
Перевод статьи с www.ostraining.com

Если у Вас возникли вопросы, то для скорейшего получения ответа рекомендуем воспользоваться нашим

Рассмотрим подробнее файл 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");
  • Здесь же Вы можете сделав недействительными 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 ""; }

    Теги «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"
  • Привелегии и полномочия для 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 для тех лиц (и скриптов), от которых вы ждёте неадекватных действий.

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

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

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

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

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

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

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

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

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

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

Папка 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 . Для увеличения безопасности можно использовать таблицы с произвольным именем, вы можете их создать с помощью этого кода:

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

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

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

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

Заключение

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

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

Файл configuration.php расположен в корневой папке вашей установки Joomla. Если Joomla не была установлена в субдиректорию, то обычно путь выглядит так:

/home/username/public_html/configuration.php

Если Joomla была установлена в субдиректорию, то соответственно:

/home/username/public_html/subdirectory/configuration.php

Например, на локальном компьютере (используя XAMPP в качестве примера):

C:\xampp\htdocs\j25\configuration.php

Обзор configuration.php

Хочется в очередной раз напомнить – не забывайте делать резервную копию файла перед тем, как вы будете вносить в него изменения.

Мы пройдемся по всему файлу, создавая небольшую справку к каждой строке, с некоторыми дополнительными примечаниями там, где необходимо большее пояснение. За основу взят файл с настройками по умолчанию для Joomla! 2.5.8.

Настройки сайта

public $offline = "0"; public $offline_message = "Сайт закрыт на техническое обслуживание.
Пожалуйста, зайдите позже."; public $display_offline_message = "1"; public $offline_image = ""; public $sitename = "J25 Демо"; public $editor = "tinymce"; public $captcha = "0"; public $list_limit = "20"; public $access = "1";

$offline: сайт выключен (offline). Если установлено "0", то сайт включен. Если установлено "1", то сайт выключен.
$offline_message: сообщение при выключенном сайте.
$display_offline_message: показывать offline-сообщение. "0" - выключено. "1" - включено (пользовательское сообщение). "2" - по умолчанию (из языкового файла). По умолчанию - "1".
$offline_image: путь до изображения при выключенном сайте.
$sitename: название сайта, которое отображается в заголовках.
$editor: редактор, который выбран в общих настройках сайта. Значение по умолчанию "tinymce".
$captcha: защита от спам-ботов. По умолчанию "0".
$list_limit: длина списков в панели управления для всех пользователей. По умолчанию установлено в "20".
$access: уровень доступа к сайту. "1" – публичный доступ; "2" – для зарегистрированных; "3" – специальный. По умолчанию - "1".

Настройки отладки

public $debug = "0"; public $debug_lang = "0";

$debug: "0" - выключено. "1" - включено.
$debug_lang: "0" - выключено. "1" - включено.

Примечания

$debug: Включает систему отладки Joomla. Когда включено, то этот инструмент предоставит диагностическую информацию, языковые переводы и информацию о SQL запросах. Эта информация отображается внизу страницы, как на самом сайте, так и в панели управления. По умолчанию "0" - выключено.

$debug_lang: Включает индикаторы отладки (*...*) илиr (?...?) для языковых файлов Joomla. Отладка языка работает и с выключенной отладкой сайта. Но в таком случае она не предоставит дополнительной справочной информации, которая могла бы помочь в исправлении ошибок. По умолчанию "0" - выключено.

Настройки базы данных

public $dbtype = "mysqli"; public $host = "localhost"; public $user = "user"; public $password = "pass"; public $db = "demo_j25"; public $dbprefix = "fonza_";

$dbtype: тип базы данных - "mysqli" или "mysql".
$host: "localhost" на большинстве серверах, но не на всех.
$user: имя пользователя базы данных, который имеет к ней доступ.
$password: пароль, ассоциированный с именем пользователя. Это не ваш админский пароль или пароль от FTP.
$db: имя базы данных, которую вы создали для установки Joomla.
$dbprefix: как минимум три символа с нижнем подчеркиванием в конце (прописывается при установке Joomla).

Примечания

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

Дополнительные возможности

public $live_site = ""; public $secret = "pUExyeiSuQRTVVCr"; public $gzip = "0"; public $error_reporting = "default"; public $helpurl = "http://help.joomla.org/proxy/index.php?option=com_help&keyref=Help{major}{minor}:{keyref}";

$live_site: фактический URL сайта, например - http://yourdomain.com (если конечно ваш сайт не находится в субдиректории).
$secret: НЕ ИЗМЕНЯТЬ
$gzip: gzip-сжатие страниц. "0" - выключено; "1" - включено. По умолчанию "0".
$error_reporting: сообщения об ошибках. "default" - по умолчанию.
$helpurl: справка Joomla по умолчанию.

Примечания

$live_site: В новых версиях Joomla не должно иметь значения. Но могут быть случаи, при которых необходимо заполнить это значение. Например, если вы перенаправляете url, то необходимо внести фактический url сайта. Или если вы создаете копию сайта для тестирования. Скажем, у вас есть тестовый сайт "http://yourdomain.com.com/testsite", который является копией вашего основного сайта. Тогда в тестовой копии необходимо внести изменения и установить значение в "http://yourdomain.com.com/testsite", иначе вы получите ошибку «страница не найдена». Тоже самое касается и переноса копии на субдомен.

$secret: Значение генерируется при первой установке Joomla и неизменяемо. Используется самой Joomla для безопасности.

$error_reporting: Устанавливает подходящий уровень отчета об ошибках: "default" - по умолчанию для системы, "none" - нет, "simple" - простой, "maximum" - максимум, "development" - для разработчиков (все ошибки PHP). Могут случаться ошибки, которые не влияют на работу сайта. Нет необходимости логировать все сообщения, если только вы не занимаетесь какой-то отладкой.

$helpurl: Адрес, по которому Joomla обращается за справочной информацией, когда вы кликаете на кнопку "Справка". По умолчанию используется основной сайт Joomla, но вы можете установить и свой.

Настройки FTP

public $ftp_host = "127.0.0.1"; public $ftp_port = "21"; public $ftp_user = ""; public $ftp_pass = ""; public $ftp_root = ""; public $ftp_enable = "0";

$ftp_host: "127.0.0.1" – это IP по умолчанию для localhost.
$ftp_port: "21" является нормальным по умолчанию. Но не все серверы настроены одинаково.
$ftp_user: ваше FTP имя пользователя
$ftp_pass: ваш FTP пароль
$ftp_root: обычно путь типа "/home/username/public_html" (без последнего слэша)
$ftp_enable: эта настройка говорит Joomla использовать встроенную FTP функцию, вместо процесса, используемого PHP. "0" - выключено; "1" – включено.

Настройки временной зоны

public $offset = "UTC";

$offset: часовой пояс сервера

Примечания

$offset: Устанавливает текущую дату и время. Должно быть установлено в значение, где расположен сервер. По умолчанию Всемирное время, Coordinated (UTC 00:00). Вот пример смещения, если сервер находится в Москве - $offset = "Europe/Moscow";

Настройки электронной почты

public $mailer = "mail"; public $mailfrom = "admin yourdomain.com"; public $fromname = "J25 Демо"; public $sendmail = "/usr/sbin/sendmail"; public $smtpauth = "0"; public $smtpuser = ""; public $smtppass = ""; public $smtphost = "localhost"; public $smtpsecure = "none"; public $smtpport = "25";

$mailer: "mail" использует функцию mail PHP; "sendmail" использует SMTP почту на сервере.
$mailfrom: адрес From. Адрес электронной почты, который использует Joomla для отправки почты с сайта.
$sendmail: путь, по которому распложена программа Sendmail. Используется, если $mailer установлено в Sendmail.
$smtpauth: если SMTP сервер требует аутентификацию для отправки почты, то устанавливается в "1". Иначе "0". Используется, если $mailer установлено в Sendmail.
$smtpuser: имя пользователя для доступа к SMTP серверу. Используется, если $mailer установлено в Sendmail.
$smtppass: пароль для доступа к SMTP серверу. Используется, если $mailer установлено в Sendmail.
$smtphost: SMTP хост. Адрес SMTP сервера при отсылке почты. Используется, если $mailer установлено в Sendmail.
$smtpsecure: выберите модель безопасности, которую использует ваш SMTP сервер: SSL или TLS. По умолчанию выключено. Используется, если $mailer установлено в Sendmail.
$smtpport: SMTP порт. Наименее защищенные серверы используют порт 25, а более защищенные обычно используют порт 465.

Настройки кэша

public $caching = "0"; public $cache_handler = "file"; public $cachetime = "15";

$caching: "0" - выключено; "1" стандартная настройка; "2" прогрессивная настройка. По умолчанию "0".
$cache_handler: обработчик кэша.
$cachetime: время кэша.

Примечания

$cache_handler: позволяет выбрать доступные на сервере обработчики кэша. Если на сервере не установлены обработчики кэша, то по умолчанию доступен только один вариант - "file".

$cachetime: устанавливает максимальное количество времени (в минутах) для хранения файлов кэша, по истечении которого они обновляются. По умолчанию равно 15 минутам.

Настройки метаданных

public $MetaDesc = ""; public $MetaKeys = ""; public $MetaTitle = "1"; public $MetaAuthor = "1"; public $MetaVersion = "0"; public $robots = "";

$MetaDesc: описание сайта для SEO. Это описание сайта, которое индексируется поисковиками.
$MetaKeys: ключевые слова сайта (через запятую). Эти ключевые слова описывают сайт и являются базой для индексации сайта.
$MetaTitle: отображать или нет мета-тег title. "0" - выключено; "1" – включено. На данный момент используется только в компоненте Weblinks. По умолчанию "1".
$MetaAuthor: Показывать или нет мета-тег author. "0" - выключено; "1" – включено. По умолчанию "1".
$MetaVersion: Показывать или нет версию Joomla в мета-теге generator. "0" - выключено; "1" – включено. По умолчанию "0".
$robots: инструкции для роботов поисковых систем.

Настройки SEO (Search Engine Optimization)

public $sef = "1"; public $sef_rewrite = "0"; public $sef_suffix = "0"; public $unicodeslugs = "0"; public $feed_limit = "10";

$sef: "0" - выключено; "1" – включено.
$sef_rewrite: "0" - выключено; "1" – включено.
$sef_suffix: "0" - выключено; "1" – включено.
$unicodeslugs: "0" - выключено; "1" – включено.
$feed_limit: ограничение ленты новостей, по умолчанию "10".

Примечания

$sef: контролирует Search Engine Friendly (ЧПУ) URL-адреса. Когда установлено в "1", то URL-адреса переписываются в более дружелюбный для поисковых систем формат. Например, www.example.com/index.php?option=com_content&view=blabla, будет переделано в www.example.com/alias. У большинства элементов в Joomla есть специальное поле "Алиас" для создания сокращенного URL-адреса. По умолчанию "1" - включено.

$sef_rewrite: Когда установлено в "1", Joomla для создания ЧПУ ссылок будет использовать mod_rewrite модуль Apache. Обратите внимание на то, что не рекомендуется изменять файл.htaccess без понимания того, как это работает. Вам необходимо использовать файл.htaccess предоставленный вместе с Joomla. Для использования этого файла, переименуйте файл htaccess.txt (находится в корневой папке установки Joomla) в.htaccess. Если вы используете сервер IIS, то переименуте файл web.config.txt (находится в корневой папке установки Joomla) в web.config и убедитесь в том, что у вас установлен модуль URL Rewrite для IIS. По умолчанию "0" - выключено.

$sef_suffix: Когда установлено в "1", Joomla будет добавлять к URL-адресам специальный суффикс в зависимости от типа документа. По умолчанию "0" - выключено.

$unicodeslugs: Режим создания Алиасов. Выберите между транслитерацией и хранением в кодировке Unicode. По умолчанию "0" - транслитерация.

Настройки логов и папки временных файлов

public $log_path = "/home/username/public_html/logs"; public $tmp_path = "/home/username/public_html/tmp";

$log_path: путь до логов.
$tmp_path: путь до папки временных файлов.

Примечания

$log_path: Путь, по которому будут сохраняться логи. Установщик Joomla! должен автоматически заполнить это значение. Не критично для сайта и если путь неверен, то узнать это можно, только лишь проверив логи.

$tmp_path: Это очень важная настройка и должна быть заполнена правильно. Довольно много проблем возникает при неверно заполненном значении. Особенно часто это встречается при переносе сайта, когда Joomla пытается использовать старую папку временных файлов.

Настройки сессии

public $lifetime = "15"; public $session_handler = "database";

$lifetime: время жизни сессии (целое число в минутах).
$session_handler: обработчик сессии - "database" или "none".

Примечания

$lifetime: Устанавливает, как долго длится сессия и как долго пользователь остается залогиненным. По умолчанию 15 минут.

$session_handler: Устанавливает, каким образом будет обработана сессия как только пользователь зайдет на сайт или выполнит вход (залогинится). По умолчанию установлено в "database" (база данных).

Другие настройки

public $MetaRights = ""; public $sitename_pagetitles = "0"; public $force_ssl = "0"; public $feed_email = "author"; public $cookie_domain = ""; public $cookie_path = "";

$MetaRights: описание авторских прав.
$sitename_pagetitles: включать название сайта в заголовок страницы. "0" - нет, "1" - до, "2" - после. По умолчанию "0".
$force_ssl: включить SSL. "0" - выключено; "1" – включено. Рекомендуется не включать эту настройку, только если вы точно уверены, что SSL доступен на сервере. По умолчанию "0".
$feed_email: определяет, какой e-mail будет показан в лентах новостей: "author" - e-mail автора (по умолчанию), "site" - e-mail сайта.
$cookie_domain: cookie домена.
$cookie_path: путь для cookie.

Примечания

$cookie_domain: Домен, для которого значение cookie действительно. Для того, чтобы разрешить cookie для всех поддоменов, домен должен начинаться с "." Например - ".yourdomain.com". По умолчанию используется доменное имя, на котором была выполнена установка Joomla.

$cookie_path: Путь на сервере по которому для которого действительно значение cookie. Например, если установлено в /test/, то cookie будет действительно только внутри директории /test/ и всех субдиректорий (например /test/dir/) домена. По умолчанию cookie действительно для всего домена, на котором была выполнена установка Joomla.