Комплексная установка WordPress, хотя и проста в изготовлении, часто требует нескольких шагов, многие из которых могут быть случайно опущены. Сколько раз вы забыли настроить структуру постоянных ссылок? Как насчет добавления в плагин карты сайта? Как насчет изменения вашего часового пояса? Если вы установили WordPress более одного раза, скорее всего, вы что-то пропустили. Сделайте следующие шаги, и вы никогда больше ничего не пропустите.
Шаг 1: Получить WordPress из SVN
Ошибка номер один для гибкой установки WordPress происходит с самого начала. Я видел множество разработчиков, которые загружали, распаковывали и загружали WordPress вручную на их сайт. Это не только пустая трата времени, но и снижает гибкость.
Если вы загружаете WordPress из SVN, все, что вам нужно сделать, это запустить в командной строке следующее:
| 1 | svn co http://core.svn.wordpress.org/tags/3.0 . | 
Может быть, вы хотите последнюю версию для разработчиков. Это еще проще:
| 1 | svn co http://core.svn.wordpress.org/trunk/ . | 
Почему это так полезно? Для начала все, что нужно, это одна команда. Взгляд на WordPress в долгосрочной перспективе показывает, что SVN также предоставляет самый простой и простой способ обновления до новой стабильной версии (или даже перехода на более раннюю версию). Например, допустим, вы хотите обновить версию 3.0. Все, что вам нужно сделать, это запустить команду переключения SVN:
| 1 | svn sw http://core.svn.wordpress.org/tags/3.0/ . | 
Насколько это было легко? Обратите внимание, что если вы используете версию разработчика, обновление еще проще:
| 1 | svn up | 
Это все, что нужно. Если вам когда-нибудь понадобится URL-адрес нового стабильного хранилища версий, посетите Кодекс WordPress . Вы также можете найти полные инструкции по использованию SVN там.
«Взгляд на WordPress в долгосрочной перспективе показывает, что SVN также предоставляет самый простой и удобный способ обновления до новой стабильной версии (или даже перехода на более раннюю версию)».
Шаг 2: Безопасные каталоги .svn

Теперь, когда вы используете SVN, вы должны убедиться, что ваши каталоги .svn защищены от публичного доступа. Одна из основных причин заключается в файле .svn / records, который может выдавать злоумышленникам конфиденциальную информацию. Для получения дополнительной информации по этому вопросу, пожалуйста, ознакомьтесь со статьей Smashing Magazine о проблеме администратора сервера SVN .
Чтобы защитить каталоги .svn с помощью .htaccess, просто примените следующее правило перенаправления:
| 1 | RewriteRule ^(.*/)?.svn/ — [F,L] | 
Шаг 3: Создайте wp-config.php
Как указано в известной 5-минутной установке WordPress , вам нужно переименовать wp-config-sample.php в wp-config.php и добавить информацию о вашей базе данных.
Шаг 4: Добавьте уникальный префикс базы данных и ключи аутентификации

Оставление файла wp-config.php только с информацией о базе данных и без других настроек является проблемой безопасности . Обязательно создайте ключи аутентификации, как указано в комментариях. Для этого перейдите на страницу https://api.wordpress.org/secret-key/1.1/salt/ и скопируйте случайно созданные ключи в файл.
 Обратите внимание, что вы также должны изменить префикс таблицы базы данных WordPress по умолчанию.  Это необходимо для защиты вашей установки от взломов, таких как недавняя вспышка Pharma Hack .  Посетите random.org, чтобы сгенерировать случайную строку префикса, которую вам нужно установить как $table_prefix в wp-config.php.  Кроме того, обязательно добавьте подчеркивание в конце префикса. 
Шаг 5. Установка с помощью wp-admin / install.php
Как обычно, зайдите в ваш браузер wp-admin / install.php и следуйте инструкциям. При заполнении формы измените имя пользователя по умолчанию («admin») для повышения безопасности. Обратите внимание, что большинство злоумышленников нацеливаются на установку WordPress с настройками по умолчанию. Таким образом, изменение этого имени пользователя является обязательным.
«Обратите внимание, что большинство злоумышленников нацеливаются на установку WordPress с настройками по умолчанию».
Шаг 6: Удалите wp-admin / install.php
Это обычно пропускаемый шаг, выполнение которого занимает всего несколько секунд. Просто удалите скрипт wp-admin / install.php после установки WordPress для дальнейшей безопасности.
Шаг 7: Войдите в панель управления и заполните профиль пользователя.
Войдите в свою установку WordPress по адресу http://example.com/wp-admin , щелкните свое имя пользователя в правом верхнем углу и заполните свой профиль пользователя.
Шаг 8: Редактировать слоган и часовой пояс

На вкладке «Настройки»> «Общие» обязательно измените временную шкалу вашего блога и часовой пояс.
Шаг 9. Просмотр настроек записи, чтения и обсуждения
Хотя вам, возможно, и не нужно ничего менять, лучше посмотреть «Настройки»> «Запись», «Настройки»> «Чтение» и «Настройки»> «Обсуждение». Убедитесь, что конфигурация соответствует вашим стандартам.
Шаг 10. Изменение структуры постоянной ссылки.

Установка WordPress по умолчанию идет с постоянными ссылками строки запроса, которые выглядят как http://example.com/?p=1 для каждой статьи. Мало того, что это не дружественный для поисковых систем, но это также даже не дружественный для человека. Измените это на постоянную структуру, которая содержит заголовок сообщения (% postname%, если вы используете пользовательскую конфигурацию).
Шаг 11: Добавьте правила .htaccess
Файл .htaccess необходим для правильной работы вашего сайта WordPress. Для начала включите RewriteEngine:
| 1 | RewriteEngine On | 
Отключить списки каталогов в целях безопасности:
| 1 | Options -Indexes | 
Добавьте / удалите www, чтобы предотвратить дублирование контента (замените example.com вашим доменом):
| 1 2 3 | # Add www (change www.example.com to example.com to remove www) RewriteCond %{HTTP_HOST} !^www.example.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] | 
WordPress требует, чтобы вы перенаправили все не-файлы и каталоги в index.php:
| 1 2 3 | RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . | 
Отключить ETag:
| 1 2 | Header unset ETag FileETag None | 
Подавить ошибки PHP (обратите внимание, что это может работать не на всех хостах):
| 1 2 3 4 5 | php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_value docref_root 0 php_value docref_ext 0 | 
Управляйте кэшированием файлов, чтобы ускорить ваш сайт:
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | ExpiresActive On ExpiresDefault A0 <FilesMatch «.(gif|jpg|jpeg|png|swf)$»> # 2 weeks ExpiresDefault A1209600 Header append Cache-Control «public» </FilesMatch> <FilesMatch «.(xml|txt|html)$»> # 2 hours ExpiresDefault A7200 Header append Cache-Control «proxy-revalidate» </FilesMatch> <FilesMatch «.(js|css)$»> # 3 days ExpiresDefault A259200 Header append Cache-Control «proxy-revalidate» </FilesMatch> | 
Защитите файл .htaccess:
| 1 2 3 4 | <Files .htaccess>  Order Allow,Deny  Deny from all </Files> | 
Защитите файл wp-config.php:
| 1 2 3 4 | <Files wp-config.php>  Order Deny,Allow  Deny from all </Files> | 
Безопасные каталоги .svn, как описано в шаге № 2:
| 1 | RewriteRule ^(.*/)?.svn/ — [F,L] | 
Если вы хотите добавить дополнительную конфигурацию для своего веб-сайта и ищете общий учебник, рассмотрите Ultimate Guide по доступу к файлам Nettuts или глупые хитрости htaccess на скоропортящихся прессах.
Шаг 12: Используйте gzip

Применение gzip может сжимать текстовые файлы до 80% и значительно экономить пропускную способность. Чтобы сделать его активным на вашем сайте, требуется только файл PHP и немного .htaccess. Обратите внимание, что на следующий код ссылается учебник gzip по боковому коду.
PHP (gzip.php):
| 1 2 3 4 5 6 | <?php     if( isset( $_SERVER[‘HTTP_ACCEPT_ENCODING’] ) && substr_count( $_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’ ) && !preg_match( ‘/(load-styles|load-scripts).php/’, $_SERVER[ ‘SCRIPT_NAME’ ] ) )         ob_start( ‘ob_gzhandler’ );     else         ob_start(); ?> | 
  Поначалу это может показаться немного сложным, но на самом деле это не так уж и плохо.  Большое логическое выражение проверяет, доступен ли gzip и, если да, то применяется.  К сожалению, я обнаружил, что этот метод gzip не работает с WordPress ‘load-styles.php и load-scripts.php.  В результате preg_match используется для их исключения. 
.htaccess:
| 01 02 03 04 05 06 07 08 09 10 11 12 13 | <FilesMatch «.js$»> AddHandler application/x-httpd-php .js php_value default_mimetype «text/javascript» </FilesMatch> <FilesMatch «.css$»> AddHandler application/x-httpd-php .css php_value default_mimetype «text/css» </FilesMatch> <FilesMatch «.(htm|html|shtml)$»> AddHandler application/x-httpd-php .html php_value default_mimetype «text/html» </FilesMatch> php_value auto_prepend_file /absolute/path/to/gzip.php | 
Этот фрагмент добавляет обработчик php в файлы .html, .css и .js, чтобы их можно было распаковать. Также добавляется ранее упомянутый файл gzip.php. Обязательно измените /absolute/path/to/gzip.php на правильный путь.
Шаг 13: Примените черный список 4G
Черный список 4G Perishable Press предотвратит многочисленные атаки на ваш сайт через .htaccess. Я включил код ниже (отредактированный для WordPress). Вы можете узнать о том, как это работает, прочитав статью о скоропортящейся прессе :
| 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | ### PERISHABLE PRESS 4G BLACKLIST ### # ESSENTIALS RewriteEngine on ServerSignature Off Options All -Indexes Options +FollowSymLinks # FILTER REQUEST METHODS <IfModule mod_rewrite.c>  RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK) [NC]  RewriteRule ^(.*)$ — [F,L] </IfModule> # BLACKLIST CANDIDATES <Limit GET POST PUT>  Order Allow,Deny  Allow from all  Deny from 75.126.85.215 «# blacklist candidate 2008-01-02 = admin-ajax.php attack «  Deny from 128.111.48.138 «# blacklist candidate 2008-02-10 = cryptic character strings «  Deny from 87.248.163.54 «# blacklist candidate 2008-03-09 = block administrative attacks «  Deny from 84.122.143.99 «# blacklist candidate 2008-04-27 = block clam store loser «  Deny from 210.210.119.145 «# blacklist candidate 2008-05-31 = block _vpi.xml attacks «  Deny from 66.74.199.125 «# blacklist candidate 2008-10-19 = block mindless spider running «  Deny from 203.55.231.100 «# 1048 attacks in 60 minutes»  Deny from 24.19.202.10 «# 1629 attacks in 90 minutes» </Limit> # QUERY STRING EXPLOITS <IfModule mod_rewrite.c>  RewriteCond %{QUERY_STRING} ../ [NC,OR]  RewriteCond %{QUERY_STRING} boot.ini [NC,OR]  RewriteCond %{QUERY_STRING} tag= [NC,OR]  RewriteCond %{QUERY_STRING} ftp: [NC,OR]  RewriteCond %{QUERY_STRING} http: [NC,OR]  RewriteCond %{QUERY_STRING} https: [NC,OR]  RewriteCond %{QUERY_STRING} mosConfig [NC,OR] # RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|’|»|;|?|*).* [NC,OR] # RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]  RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]  RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]  RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]  RewriteRule ^(.*)$ — [F,L] </IfModule> # CHARACTER STRINGS <IfModule mod_alias.c>  # BASIC CHARACTERS  RedirectMatch 403 ,  RedirectMatch 403 :  RedirectMatch 403 ; # RedirectMatch 403 =  RedirectMatch 403 @  RedirectMatch 403 [  RedirectMatch 403 ]  RedirectMatch 403 ^  RedirectMatch 403 `  RedirectMatch 403 {  RedirectMatch 403 }  RedirectMatch 403 ~  RedirectMatch 403 «  RedirectMatch 403 $  RedirectMatch 403 <  RedirectMatch 403 >  RedirectMatch 403 |  RedirectMatch 403 .. # RedirectMatch 403 //  RedirectMatch 403 %0  RedirectMatch 403 %A  RedirectMatch 403 %B  RedirectMatch 403 %C  RedirectMatch 403 %D  RedirectMatch 403 %E  RedirectMatch 403 %F  RedirectMatch 403 %22  RedirectMatch 403 %27  RedirectMatch 403 %28  RedirectMatch 403 %29  RedirectMatch 403 %3C  RedirectMatch 403 %3E # RedirectMatch 403 %3F  RedirectMatch 403 %5B  RedirectMatch 403 %5C  RedirectMatch 403 %5D  RedirectMatch 403 %7B  RedirectMatch 403 %7C  RedirectMatch 403 %7D  # COMMON PATTERNS  Redirectmatch 403 _vpi  RedirectMatch 403 .inc  Redirectmatch 403 xAou6  Redirectmatch 403 db_name  Redirectmatch 403 select(  Redirectmatch 403 convert(  Redirectmatch 403 /query/  RedirectMatch 403 ImpEvData  Redirectmatch 403 .XMLHTTP  Redirectmatch 403 proxydeny  RedirectMatch 403 function.  Redirectmatch 403 remoteFile  Redirectmatch 403 servername  Redirectmatch 403 &rptmode=  Redirectmatch 403 sys_cpanel  RedirectMatch 403 db_connect  RedirectMatch 403 doeditconfig  RedirectMatch 403 check_proxy  Redirectmatch 403 system_user  Redirectmatch 403 /(null)/  Redirectmatch 403 clientrequest  Redirectmatch 403 option_value  RedirectMatch 403 ref.outcontrol  # SPECIFIC EXPLOITS  RedirectMatch 403 errors. # RedirectMatch 403 config.  RedirectMatch 403 include.  RedirectMatch 403 display.  RedirectMatch 403 register.  Redirectmatch 403 password.  RedirectMatch 403 maincore.  RedirectMatch 403 authorize.  Redirectmatch 403 macromates.  RedirectMatch 403 head_auth.  RedirectMatch 403 submit_links.  RedirectMatch 403 change_action.  Redirectmatch 403 com_facileforms/  RedirectMatch 403 admin_db_utilities.  RedirectMatch 403 admin.webring.docs.  Redirectmatch 403 Table/Latest/index. </IfModule> | 
Некоторые из этих правил закомментированы или отредактированы, потому что они мешают WordPress. Если у вас возникают проблемы с определенными URL-адресами, исправьте их, добавив «#» (комментарий) к соответствующему правилу.
Шаг 14: Активировать Акисмет
«Активация Akismet необходима для предотвращения спама в комментариях».
Активация Akismet является обязательной для предотвращения спама в комментариях. Сделайте это, зарегистрировавшись на ключ API на akismet.com . Обратите внимание, что ключ API учетной записи WordPress.com также будет работать.
Получив ключ, зайдите в Плагины> Конфигурация Akismet на своей панели и вставьте его в соответствующее поле.
Шаг 15: Скачать плагины

Следующие плагины очень помогают любому блогу WordPress:
Для дополнительной безопасности эти плагины, на которые ссылается статья DigWP о блокировке WordPress , также важны:
Чтобы упростить установку, вы можете запустить в командной строке следующее в каталоге плагинов:
| 1 2 3 4 5 6 7 8 | wget http://downloads.wordpress.org/plugin/all-in-one-seo-pack.zip wget http://downloads.wordpress.org/plugin/google-sitemap-generator.3.2.4.zip wget http://downloads.wordpress.org/plugin/wordpress-file-monitor.2.3.3.zip wget http://downloads.wordpress.org/plugin/wp-security-scan.zip wget http://downloads.wordpress.org/plugin/ultimate-security-check.1.2.zip wget http://downloads.wordpress.org/plugin/secure-wordpress.zip find . rm *.zip | 
Это позволит получить zip-файлы для плагинов, распаковать их и удалить .zips
Эти ссылки для скачивания могут быть не правильными позже из-за обновлений плагина. В результате вы можете посетить страницы плагинов wordpress.org, перечисленные выше, чтобы найти обновленные ссылки.
После того, как вы закончите установку плагинов, обязательно включите их через панель управления WordPress.
Шаг 16. Настройте все в одном пакете SEO
Прежде чем все в одном SEO Pack станет активным, вам нужно его настроить. Перейдите в Настройки> Все в одном SEO, чтобы сделать это. Обязательно отметьте «включенный» переключатель. Кроме того, добавьте в название дома, описание и ключевые слова. Наконец, установите остальные параметры по своему вкусу.
Шаг 17: создать карту сайта
Перейдите в «Настройки»> «XML-карта сайта», чтобы создать свой первый файл сайта, который будет отправлен поисковым системам. Прежде чем сделать это, убедитесь, что параметры на странице соответствуют вашим желаниям. Например, я часто редактирую частоты изменений, так как мои сообщения изменяются довольно часто.
Когда вы будете готовы, прокрутите страницу вверх и нажмите на ссылку сборки («Нажмите здесь»). Возможно, вам придется создать два пустых файла — sitemap.xml и sitemap.xml.gz — в корневом каталоге в зависимости от разрешений каталога. Тем не менее, как только вы закончите сборку в первый раз, он должен автоматически обновляться, если у вас установлен флажок «Перестроить карту сайта, если вы измените содержимое своего блога».
Шаг 18: добавь безопасность

На данный момент вы уже установили четыре плагина безопасности. Теперь вы должны использовать их.
Зайдите в «Настройки»> «Монитор файлов WordPress» и добавьте wp-контент / загрузки в путь исключения. Измените другую информацию, если это необходимо. Обратите внимание, что этот плагин будет информировать вас всякий раз, когда он замечает изменения в вашей файловой системе.
В разделе «Настройки»> «Безопасный WP» проверьте сообщения об ошибках и Windows Live Writer для дополнительной защиты.
Обратите внимание, что есть новая вкладка «Безопасность», созданная WP Security Scan. Исправьте элементы красного цвета в разделе «Безопасность»> «Безопасность»> «Сканер». Когда вы заходите в раздел «Безопасность»> «Сканер», убедитесь, что все ваши отдельные плагины также изменены с 755. Кроме того, вы можете использовать инструмент для создания надежного пароля.
Наконец, исправьте ошибки в разделе Инструменты> Проверка окончательной безопасности и убедитесь, что ваш сайт получает А.
Шаг 19: настроить тему и боковую панель
Теперь, когда вы настроили гибкую и безопасную установку WordPress, вам нужно сделать ее всеобъемлющей, настроив тему и боковую панель в соответствии с потребностями вашего сайта. Конечно, не существует заданного метода для этого; Каждый сайт по-своему уникален. Создайте тему, которая понравится вам и вашим читателям.
Шаг 20: Написать контент

Все, что осталось сейчас, — это написать подлинный контент, который привлекает вашу базу пользователей. Теперь у вас есть гибкая, безопасная и комплексная установка WordPress. Использовать его мудро.
Поздравляем! Теперь у вас есть гибкая, безопасная и комплексная установка WordPress. Использовать его мудро!
Дополнительные ресурсы
Если вы новичок в разработке WordPress, вас также может заинтересовать наша информация по установке WordPress Theme в Envato Studio, где у нас также есть широкий спектр ресурсов WordPress.
