Заметка про то, какие действия предпринять для оптимизации сайта на WordPress. Т.е. то, что нужен нормальный хостинг, оптимизировать картинки и настраивать файл .htaccess — это понятно и отдельная тема. Разберем где и что заменить, чтобы уменьшить количество запросов к базе данных, к серверу. Например, в шаблонах есть конструкции которые выводят автоматизированно тот или иной элемент через какую-то функцию, а можно заменить уже готовым html.
Оптимизация WordPress
1. Чтобы сократить количество загружаемых ненужных языковых настроек в WordPress только до нужных, В корне сайта, в файле wp-config.php меняем строку
1 2 3 4 5 6 7 8 9 |
define ('WPLANG', 'ru_RU'); НА if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU'); else define ('WPLANG', 'ru_RU_lite'); |
2. В теме WordPress’а нужно найти код который выводит файл стилей (style.css). В папке темы находим файл header.php и меняем строку
1 2 3 4 5 6 7 8 9 |
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" /> НА <link media="screen" type="text/css" href="http://адрессайт.ru/wp-content/themes/названиетемы/style.css" rel="stylesheet"> |
3. Меняем код пингбэков:
1 2 3 4 5 6 7 8 9 |
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> НА <link href="http://вашсайт.ru/xmlrpc.php" rel="pingback"/> |
4. Замена кода RSS-ленты:
1 2 3 4 5 6 7 8 9 |
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" /> НА <link href="http://вашсайт.ru/feed" title="Название вашего сайта RSS Feed" type="application/rss+xml" rel="alternate"/> |
5. В некоторых шаблонах тем внизу в футере выводится название сайта, тем самым создавая лишние запросы к базе данных. Стоить заменить или может быть удалить если вам оно не нужно. Код:
1 2 3 4 5 6 7 8 9 |
<?php get_bloginfo('name') ?> НА НАЗВАНИЕ ВАШЕГО САЙТА |
6. Если на сайте не используются комментарии, то не нужно использовать плагины, а просто удалить код:
1 2 3 4 5 |
<?php comments_template(); ?> |
7. В header находится много разных запросов. Чаще всего отвечает за вывод файл header.php.
1 2 3 4 5 6 7 8 9 |
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> На <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
7.1 Удалить код вывода версии WordPress:
1 2 3 4 5 |
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> |
7.2 Заменить строку с путем к фавикону:
1 2 3 4 5 |
<link rel="shortcut icon" type="image/ico" href="<?php bloginfo('template_directory'); ?>/favicon.ico" /> |
7.3 В шапке сайта можно заменить два кода вывода названия и описания сайта:
1 2 3 4 5 6 |
<?php bloginfo('name'); ?> <?php bloginfo('description'); ?> |
8. В файле footer.php можно найти код вывода инфы о защищённых правах и заменить:
1 2 3 4 5 6 7 8 9 |
<p class="alignleft">© <?php echo date("Y"); ?> <?php bloginfo('name'); ?> Все права защищены <br /> НА пример <div class="description">© WpCraft.ru, 2018-2020 | Все права защищены</div> |
! Как узнать чем заменять код? Открываем htmlкод страницы сайта в браузере (в контекстном меню ПКМ выбрать что-то типа «Посмотреть исходный код страницы») и там смотреть, что выводит тот или иной код. Чтобы искать было легче можно использовать поиск по странице в браузере (нажать Ctrl + F).
9. Если используется Яндекс.Метрика, то стоит отключить в настройках счетчика Вебвизор, т.к. он сильно может замедлять загрузку сайта.
8. Проверьте и удалите ненужные плагины, даже деактивированные.
9. Не все плагины нужно держать активированными. Например, Плагин по оптимизации БД или плагин измерения нагрузки плагинов P3, нужно деактивировать и активировать только на время использования.
10. Рекомендую поставить плагин кэширования LiteSpeed Cache. В настройках «Page Optimization» => вкладка «Media Setting» включить ленивую загрузку изображений Lazy Load Images (т.е. изображения подгружаются по мере прокрутки экрана).
11. Можно определить количество запросов на той или иной странице и потом смотреть что можно убрать из шаблона.