Что нужно сделать после установки Wordpress

Опубликовано: 2022-02-26

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

Руководство по оптимизации 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, работающего на вашем сервере, можно легко узнать, просмотрев заголовок исходного кода.

 <meta name="generator" content="WordPress 4.1" />

Эта информация является хорошей подсказкой для хакеров WordPress, которые ищут блоги, использующие более старые и менее безопасные версии программного обеспечения WordPress. Чтобы полностью удалить номер версии и другие несущественные метаданные из заголовка WordPress, добавьте этот фрагмент в файл functions.php, который находится в папке тем 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 страниц вашего блога с помощью <link> . метатег. Если вы просто хотите опубликовать свой основной 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 фида своим собственным.

 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC] RewriteRule ^feed/?.*$ http://feeds.labnol.org/labnol [L,NC,R=301] </IfModule>

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. Добавьте фавикон и сенсорные значки

Ваша тема WordPress может даже не содержать ссылок на фавикон (favicon.ico) или сенсорные значки Apple, но веб-браузеры и программы чтения каналов могут по-прежнему запрашивать их с вашего сервера. Всегда лучше отдать файл, чем вернуть 404.

Сначала создайте файл favicon.ico 16x16 и файл apple-touch.png размером 144x144 и загрузите их в домашний каталог вашего блога. Затем добавьте эту строку в свой .htaccess, чтобы перенаправить все запросы значков касания Apple в этот конкретный файл.

 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-карты сайта от поисковых систем

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

 <IfModule mod_rewrite.c> <Files sitemap.xml> Header set X-Robots-Tag "noindex" </Files> </IfModule>

16. Не используйте поиск WordPress

Убедитесь, что поиск по вашему сайту осуществляется с помощью пользовательского поиска Google, и не используйте встроенную функцию поиска WordPress. Поиск WordPress возвращает менее релевантные результаты, а другое преимущество заключается в том, что он снижает нагрузку на ваш сервер/базу данных WordPress, поскольку поисковые запросы будут обрабатываться через Google.

В качестве альтернативы, если вы планируете использовать встроенный поиск WordPress, используйте плагин Nice Search. Он создает лучшие постоянные ссылки для ваших поисковых страниц WordPress (/search/tutorials вместо /?s=tutorials).

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, не будут часто меняться, поэтому вы можете установить для них заголовки с истекающим сроком действия, чтобы файлы кэшировались в браузере пользователя. Таким образом, при последующих посещениях ваш сайт будет загружаться относительно быстрее, так как файлы 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. Удалите лишние параметры запроса из URL-адресов.

Если веб-адрес вашего сайта WordPress — abc.com, люди все равно смогут попасть на ваш сайт, если добавят несколько параметров запроса к URL-адресу. Например, abc.com/?utm=ga или abc.com/?ref=feedly — это, с технической точки зрения, совершенно разные URL-адреса, но они будут работать нормально.

Это плохо, потому что снижает ссылочный вес (SEO), и в идеальной ситуации вы хотели бы, чтобы все URL-адреса указывали на каноническую версию. Добавьте этот небольшой фрагмент в ваш файл .htaccess, и он удалит ненужные параметры запроса из всех входящих запросов.

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} !="" RewriteCond %{QUERY_STRING} !^p=.* RewriteCond %{QUERY_STRING} !^s=.* RewriteCond %{REQUEST_URI} !^/wp-admin.* RewriteRule ^(.*)$ /$1? [R=301,L] </IfModule>

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 .= "<hr><a href='blog_url'><img src='logo_url'/></a>"; } return $content; } add_filter('the_content', 'add_rss_logo'); add_filter('the_excerpt_rss', 'add_rss_logo');

29. Установите основные плагины

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

30. Оставайтесь в системе дольше

Если вы отметите опцию «Запомнить меня», WordPress будет держать вас в системе в течение 2 недель. Если вы входите в WordPress только с персонального компьютера, вы можете легко продлить срок действия файла cookie для авторизации, добавив его в свой файл functions.php.

 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 теперь вставляет файлы, связанные с эмодзи, в заголовок вашего веб-сайта. Если вы не планируете использовать смайлики и эмодзи в своем блоге, вы можете легко избавиться от этих дополнительных файлов, добавив следующие строки в файл functions.php:

 remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );

32. Отслеживайте свои напечатанные страницы

Вы можете использовать Google Analytics для отслеживания использования печати на вашем веб-сайте. Когда посетитель распечатывает любую страницу на вашем веб-сайте, событие будет зарегистрировано в Analytics, и вы будете знать, какой контент отправляется на принтер. Точно так же вы также можете добавить QR-код на печатные страницы, и люди могут легко найти исходный URL-адрес, отсканировав код с помощью своего мобильного телефона.

Также см.: Команды Linux для WordPress.