Вы можете установить WordPress в 2 простых шагах, но рекомендуется настроить некоторые настройки по умолчанию для оптимизации производительности, а также улучшить безопасность вашего веб-сайта WordPress.
Оптимизируйте установку WordPress
Эти предложения применимы только к самостоятельным сайтам WordPress.org, но не к блогам WordPress.com. Кроме того, я предполагаю, что вы используете WordPress на Apache под Linux. Руководство обновлено для WordPress 4.2. Давайте начнем:
1 . Переместить папку загрузки мультимедиа
WordPress хранит все загруженные вами изображения и файлы в папке wp-content / uploads. Однако вам следует переместить эту папку за пределы основной папки WordPress, предпочтительно в поддомен. Таким образом, ваши резервные копии WordPress станут более управляемыми (загруженные файлы и темы могут быть скопированы отдельно), и, что наиболее важно, обслуживание изображений из другого домена позволит параллельные загрузки в браузере, что сокращает время загрузки страницы.
Откройте файл wp-config.php и добавьте следующие строки, чтобы изменить расположение папки wp-content. Вы также можете отменить выбор опции — «Организовать мои загрузки в папки по месяцам и годам».
define( 'WP_CONTENT_URL', 'http://files.domain.com/media' );
define( 'WP_CONTENT_DIR', $_SERVER['HOME']. '/files.domain.com/media' );
2 . Удалите ненужные метатеги из заголовка WordPress
Если вы посмотрите исходный HTML-код своего сайта WordPress, вы найдете пару метатегов в заголовке, которые на самом деле не требуются. Например, версию программного обеспечения WordPress, работающую на вашем сервере, можно легко найти, просмотрев заголовок исходного кода.
Эта информация является хорошей подсказкой для хакеров WordPress, которые стремятся к целевым блогам, которые используют более старые и менее безопасные версии программного обеспечения WordPress. Чтобы полностью удалить номер версии и другие несущественные мета-данные из вашего заголовка WordPress, добавьте этот фрагмент в файл functions.php, найденный в папке Themes WordPress.
remove_action( 'wp_head', 'wp_generator' ) ;
remove_action( 'wp_head', 'wlwmanifest_link' ) ;
remove_action( 'wp_head', 'rsd_link' ) ;
3 . Запретить людям просматривать ваши папки
Поскольку вы не хотите, чтобы кто-либо просматривал ваши файлы и папки WordPress, используя вид проводника в веб-браузерах, добавьте следующую строку в свой файл.htaccess, который существует в каталоге установки WordPress.
Options All -Indexes
Также убедитесь, что в папках wp-content / themes и wp-content / plugins вашего каталога WordPress есть пустой index.php.
4 . Отключить HTML в комментариях WordPress
Поле комментариев в WordPress позволяет комментаторам использовать HTML-теги и даже добавлять гиперссылки в свои комментарии. Комментарии имеют rel=nofollow, но если вы хотите полностью запретить HTML в комментариях WordPress, добавьте этот фрагмент в свой файл functions.php.
add_filter( 'pre_comment_content', 'esc_html' );
Обновление: заменено wp_specialchars на esc_html , поскольку первое устарело, начиная с WordPress 2.8+.
5 . Отключить редактирование сообщений в WordPress
WordPress включает полезную функцию редактирования документов, которая поможет вам отслеживать изменения в редактировании сообщений, а также вы можете вернуться к любой предыдущей версии сообщений в блоге. Однако редакции сообщений увеличивают размер вашей таблицы WordPress wp_posts, поскольку каждая редакция означает дополнительную строку.
Чтобы отключить редактирование сообщений в WordPress, откройте файл wp-config.php в каталоге WordPress и добавьте следующую строку:
define( 'WP_POST_REVISIONS', false);
В качестве альтернативы, если вы хотите сохранить функциональность редакций сообщений, вы можете просто ограничить количество редакций сообщений, которые WordPress хранит в базе данных MySQL. Добавьте эту строку в файл wp-config, чтобы сохранить только 3 последних изменения.
define( 'WP_POST_REVISIONS', 3);
6 . Изменить интервал автосохранения публикации
Когда вы редактируете сообщение в блоге в редакторе WordPress, он автоматически сохраняет ваши черновики по мере их ввода, и это поможет восстановить вашу работу в случае сбоя браузера. Черновики сохраняются каждую минуту, но вы можете изменить продолжительность по умолчанию на 120 секунд (или 2 минуты), добавив строку в файл wp-config.php.
define( 'AUTOSAVE_INTERVAL', 120 );
7 . Скрыть несущественные RSS-каналы WordPress
Ваша установка WordPress генерирует несколько RSS-каналов — канал блога, каналы статей, канал комментариев, каналы категорий, каналы архива и т. Д. — и они обнаруживаются автоматически, поскольку они включены в заголовок HTML страниц вашего блога с помощью метатега . Если вы просто хотите опубликовать свой основной RSS-канал и удалить другие каналы из него, добавьте строку в свой файл functions.php:
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
8 . Поддерживать единый RSS-канал, перенаправлять другие
На предыдущем шаге мы просто удалили RSS-каналы из печати внутри заголовка сайта, но RSS-каналы все еще существуют. Если вы хотите, чтобы через FeedBurner обслуживался только один RSS-канал, и отключите все остальные каналы, добавьте его в свой файл.htaccess. Не забудьте заменить URL-адрес канала своим собственным.
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT}!^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ http://feeds.labnol.org/labnol [L, NC, R=301]
9 . Отключить подсказки входа в WordPress
Когда вы вводите несуществующее имя пользователя или неправильный пароль при входе в WordPress, будет предоставлено очень подробное сообщение об ошибке, в котором вы точно укажете, неверно ли ваше имя пользователя или пароль не совпадает. Это может послужить подсказкой для людей, которые пытаются взломать ваш блог WordPress, но, к счастью, мы можем отключить предупреждения о входе в систему.
function no_wordpress_errors(){
return 'GET OFF MY LAWN!! RIGHT NOW!!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
10 . Включить двухфакторную аутентификацию
Это настоятельно рекомендуется. Если кто-то получит ваши учетные данные WordPress, ему все равно понадобится ваш мобильный телефон, чтобы войти в вашу панель управления WordPress.
В отличие от Dropbox или Google, двухэтапная аутентификация не является частью WordPress, но вы всегда можете использовать плагин Authy, чтобы включить двухфакторную аутентификацию.
11 . Изменить структуру постоянной ссылки
Не используйте стандартную структуру постоянных ссылок WordPress, поскольку это плохо для SEO. Перейдите в Параметры -> Постоянные ссылки на панели инструментов WordPress и измените структуру постоянных ссылок WordPress на что-то вроде:
Option 1. /%post_id%/%postname%
Option 2. /%category%/%postname%/%post_id%/
12 . Добавить Favicon и Touch Icons
Ваша тема WordPress может даже не содержать ссылок на значок (favicon.ico) или сенсорные значки Apple, но веб-браузеры и программы чтения каналов по-прежнему могут запрашивать их с вашего сервера. Всегда лучше обслуживать файл, чем возвращать 404.
Сначала создайте файлы favicon.ico размером 16×16 и apple-touch.png размером 144×144 и загрузите их в домашний каталог своего блога. Затем добавьте эту строку в свой.htaccess, чтобы перенаправить все запросы значков Apple Touch в этот конкретный файл.
RedirectMatch 301 /apple-touch-icon(.*)?.png http://example.com/apple-touch.png
13 . Запретить индексирование скриптов WordPress
Вы хотите, чтобы Google и другие поисковые системы сканировали и индексировали страницы вашего блога, но не различные файлы PHP вашей установки WordPress. Откройте файл robots.txt в домашнем каталоге WordPress и добавьте эти строки, чтобы запретить ботам индексировать серверную часть WordPress.
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /feed/
Disallow: */feed/
14 . Сделать администратора подписчиком
Если ваше имя пользователя WordPress «admin», создайте нового пользователя и предоставьте ему права администратора. Теперь выйдите из WordPress, войдите в систему как новый пользователь и измените права пользователя «admin» с «Администратора» на «Подписчик».
Вы можете даже подумать об удалении пользователя «admin» и передать все существующие сообщения / страницы новому пользователю. Это важно по соображениям безопасности, потому что вы не хотите, чтобы кто-либо угадал имя пользователя, имеющего права администратора для вашей установки WordPress.
15 . Скрыть XML-файлы Sitemap от поисковых систем
XML-файлы Sitemap помогут поисковым системам лучше сканировать ваш сайт, но вы не хотите, чтобы поисковые системы действительно отображали вашу карту сайта на страницах результатов поиска. Добавьте это в свой.htaccess, чтобы предотвратить индексацию карт сайта XML.
Header set X-Robots-Tag "noindex"
16 . Не использовать поиск WordPress
Убедитесь, что поиск по вашему сайту основан на системе пользовательского поиска Google и не используйте встроенную функцию поиска WordPress. Поиск WordPress возвращает менее релевантные результаты, а другое преимущество заключается в том, что он снижает нагрузку на ваш сервер / базу данных WordPress, поскольку поисковые запросы будут обрабатываться через Google.
В качестве альтернативы, если вы планируете продолжить встроенный поиск WordPress, используйте хороший плагин поиска. Это создает лучшие постоянные ссылки для ваших страниц поиска WordPress (/ Search / Tutorials VS /? S=Учебники).
17 . Пароль защищать каталог wp-admin
Вы можете легко добавить еще один уровень безопасности к своей установке WordPress, защитив паролем каталог wp-admin. Однако вам необходимо запомнить два набора учетных данных для входа в WordPress — ваш пароль WordPress и пароль, защищающий каталог wp-admin.
18 . Регистрировать ошибки 404 в Google Analytics
Ошибка 404 — это упущенная возможность. Вы можете использовать события в Google Analytics, чтобы регистрировать свои ошибки 404, включая сведения о ссылающемся сайте, который указывает на эту страницу 404 вашего сайта. Добавьте этот фрагмент в свой файл 404.php.
if (is_404()) {?>
_gaq.push(['_trackEvent', '404',
document.location.pathname + document.location.search,
document.referrer, 0, true]);
}?>
19 . Удалить неиспользуемые темы и плагины WordPress
Неиспользуемые плагины и темы не повлияют на производительность вашего веб-сайта WordPress, но цель должна заключаться в том, чтобы на нашем сервере было как можно меньше исполняемого кода . Таким образом отключите и удалите то, что вам больше не нужно.
20 . Запретить WordPress угадывать URL
WordPress имеет странную привычку угадывать URL-адреса и в большинстве случаев делает ошибки. Позволь мне объяснить. Если пользователь запрашивает URL labnol.org/hello, но эта страница не существует, WordPress может перенаправить этого пользователя на labnol.org/hello-world только потому, что в URL есть общие слова.
Если вы хотите, чтобы WordPress перестал угадывать URL-адреса и вместо этого выдавал ошибку 404 Not Found для отсутствующих страниц, поместите этот фрагмент в файл functions.php:
add_filter('redirect_canonical', 'stop_guessing');
function stop_guessing($url) {
if (is_404()) {
return false;
}
return $url;
}
21 . Установить заголовки срока действия для статического содержимого
Статические файлы, размещенные на вашем веб-сайте WordPress, такие как изображения, CSS и JavaScript, не будут часто меняться, поэтому вы можете установить для них Expire Headers, чтобы файлы кэшировались в браузере пользователя. Таким образом, при последующих посещениях ваш сайт будет загружаться относительно быстрее, поскольку файлы JS и CSS будут извлекаться из локального кеша.
Подробную информацию о настройке заголовков срока действия и сжатия для повышения производительности см. В шаблоне HTML5. Если вы используете плагин кеширования, такой как W3 Total Cache, управление кешем осуществляется самим плагином.
ExpiresActive On
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
23 . Повышение безопасности WordPress
Я подробно обсуждал безопасность WordPress ранее. Суть в том, что вы должны добавить секретные ключи в файл wp_config.php, установить плагин для мониторинга файлов (например, Sucuri или WordFence), изменить префикс таблицы WordPress, а также ограничить попытки входа в систему для предотвращения атак грубой силы.
24 . Отключить редактирование файлов внутри WordPress
Когда вы вошли в свою панель управления WordPress как администратор, вы можете легко редактировать любые файлы PHP, связанные с вашими плагинами и темами WordPress. Если вы хотите удалить функцию редактирования файлов (одна отсутствующая точка с запятой может закрыть ваш сайт WordPress), добавьте эту строку в свой файл wp-config.php:
define( 'DISALLOW_FILE_EDIT', true );
25 . Удалить дополнительные параметры запроса от URLS
Если веб-адрес вашего сайта WordPress — abc.com, люди все равно смогут получить доступ к вашему сайту, если добавят в URL несколько параметров запроса. Например, abc.com/?utm=ga или abc.com/?ref=feedly, технически говоря, являются совершенно разными URL-адресами, но будут работать нормально.
Это плохо, потому что это снижает ваш ссылочный вес (SEO), и в идеальной ситуации вы бы хотели, чтобы все URL-адреса указывали на каноническую версию. Добавьте этот небольшой фрагмент в свой файл.htaccess, и он удалит ненужные параметры запроса из всех входящих запросов.
RewriteEngine On
RewriteCond %{QUERY_STRING}!=""
RewriteCond %{QUERY_STRING}!^p=.*
RewriteCond %{QUERY_STRING}!^s=.*
RewriteCond %{REQUEST_URI}!^/wp-admin.*
RewriteRule ^(.*)$ /$1? [R=301, L]
26 . Удалить панель администратора
Это раздражающая особенность WordPress — он добавляет панель администратора поверх всех страниц, которая видна всем пользователям, которые вошли в свои учетные записи WordPress.com. Однако это можно удалить, добавив строку в файл functions.php.
add_filter('show_admin_bar', '__return_false');
27 . Как бороться с блокировщиками рекламы
Некоторые из читателей вашего блога могут использовать программное обеспечение для блокировки рекламы, чтобы заблокировать показ рекламы с вашего сайта. Вы можете использовать альтернативный контент, например список ваших популярных сообщений WordPress, или вместо этого встроить видео YouTube.
28 . Вставьте брендинг в свой RSS-канал
Вы можете легко добавить логотип своего бренда ко всем статьям в RSS-ленте. А поскольку они обслуживаются с вашего сервера, вы можете использовать другое изображение для сайтов, которые плагиатируют ваш контент, повторно публикуя свой канал. Добавьте это в свой файл functions.php.
function add_rss_logo($content) {
if(is_feed()) {
$content.= "
";
}
return $content;
}
add_filter('the_content', 'add_rss_logo');
add_filter('the_excerpt_rss', 'add_rss_logo');
29 . Установите необходимые плагины
Вот полный список плагинов WordPress, которые я использую и рекомендую.
30 . Оставайтесь в системе дольше
Если вы проверяете опцию «Запомнить меня», WordPress будет держать вас в системе в систему за 2 недели. Если вы входите в систему только в WordPress с персонального компьютера, вы можете легко расширить дату срока действия авторизации входа в систему, добавив это в файл функций.
add_filter( 'auth_cookie_expiration', 'stay_logged_in_for_1_year' );
function stay_logged_in_for_1_year( $expire ) {
return 31556926; // 1 year in seconds
}
31 . Удалить эмодзи WordPress
Начиная с версии 4.2, WordPress теперь вставляет файлы, связанные с Emoji, в заголовок вашего сайта. Если вы не планируете использовать смайлики и смайлики в своем блоге, вы можете легко избавиться от этих дополнительных файлов, добавив следующие строки в свой файл functions.php:
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
32 . Отслеживайте наши печатные страницы
Вы можете использовать Google Analytics для отслеживания использования печати вашего сайта. Когда посетитель печатает любую страницу на вашем сайте, событие будет войти в аналитику, и вы узнаете, какой контент отправляется на принтер. Точно так же вы также можете добавить QR-код на напечатанные страницы, и люди могут легко найти исходный URL, сканируя код с помощью своего мобильного телефона.
См. Также: Команды Linux для WordPress.