Оптимизация активной темы WordPress
2013-12-14В прошлой статье мы начали обсуждать тему нагрузки сайта на сервер хостинга. Этот немаловажный вопрос становится все более актуальным с ростом популярности вашего ресурса и увеличением его посещаемости. Поэтому, пока сайт не отключился за превышение лимитов, пока от хостинга не пришло “радостное” письмо с предложением снизить ресурсоемкость сайта или перейти на более дорогой тариф, желательно определить нагрузку сайта на хостинг и предпринять возможные меры по ее снижению.
Одним из первых шагов должна стать оптимизация активной темы WordPress. Не секрет, что каждая страница построенного на этом движке сайта не является статичной, а динамически генерируется для каждого посетителя. В связи с этим возникает огромное количество запросов к базе данных, что создает нагрузку на хостинг.
В рамках оптимизации темы WordPress следует сократить число запросов к базе данных, заменив некоторые из них на статичные данные кода.
Для этого давайте откроем на редактирование файл header.php. Для этого в административной панели сайта перейдем на вкладку Внешний вид -> Редактор. Выделим из списка файл Заголовок (header.php). Именно в этом файле находится большинство запросов к базе данных. Чтобы узнать какие из них можно поменять на статичный код, надо открыть страницу вашего сайта в браузере и, щелкнув на ней правой кнопкой мыши, выбрать “Просмотреть исходный код страницы”. В браузере мы видим уже сформированный нужным образом запрос, а значит, можем заменить обращение к базе данных на него.
Итак, код вида
1 2 |
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> |
в файле header.php, отвечающий за распознавание кодировки страницы, нужно заменить на готовый код:
1 |
<meta charset="UTF-8"/> |
Достаточно просто скопировать код из исходника и вставить его взамен соответствущего участка кода файла header.php.
Далее находим запрос относительно расположения файла иконки фавикон:
1 |
<link rel="shortcut icon" href="<?php bloginfo('template_url'); ?>/favicon.ico" type="image/x-icon" /> |
Меняем на:
1 |
<link rel="shortcut icon" href="https://webpro.lillajaya.ru//wp-content/themes/web/favicon1.ico" type="image/x-icon" /> |
При этом вместо webpro.bosyatka.ru, конечно же, должен быть прописан адрес вашего сайта.
Следующий запрос о расположении файла стилей
1 |
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" /> |
меняем так же на строчку с готовым адресом сайта, например:
1 |
<link rel="stylesheet" href="https://webpro.lillajaya.ru//wp-content/themes/web/style.css" type="text/css"/> |
Запрос о расположении rss-ленты сайта
1 |
<link rel=”alternate” type=”application/rss+xml” title=” RSS Feed” href=”" /> |
меняем на, в моем случае
1 |
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/webprodelki"/> |
Аналогично заменяем код до Pingback
1 |
<link rel=”pingback” href=”" /> |
на свой:
1 |
<link rel="pingback" href="http://www.webpro.bosyatka.ru/xmlrpc.php"/> |
Для полной оптимизации активной темы WordPress, кроме уже проделанного, следует найти в файле header.php код
1 |
<?php bloginfo(‘name’); ?> |
и заменить его на название вашего блога. А код
1 |
<?php bloginfo(‘description’); ?> |
на его краткое описание.
Кстати говоря, в header.php довольно часто бывает совершенно не нужный запрос, сообщающий используемую версию движка WordPress
1 |
<meta NAME="generator" content="WordPress <?php bloginfo('version'); ?>" /> |
Его нужно просто удалить, ведь вы знаете ее из админпанели, а посторонним эти сведения вообще лучше не сообщать.
Далее, если у вас в теме заголовок содержит верхнее меню, следует изменить все ссылки в нем на статические, например:
1 |
<a href="https://webpro.lillajaya.ru//category/ustanovka-wordpress">Установка WordPress</a> |
Чтобы сделать оптимизацию темы совершенно полной, желательно также проделать работу по замене динамических ссылок на изображения на статические, то есть следует в коде
1 |
<img src="<?php bloginfo ('template_url'); ?>/img/logo.jpg" alt="Web Проделки - заметки о вебдизайне и сайтостроении" width="600" height="200" /></a> |
заменить часть <?php bloginfo ('template_url'); ?> на полный путь к картинке, например:
1 |
<img src="https://webpro.lillajaya.ru//wp-content/themes/web/img/logo.jpg" alt="Web Проделки - заметки о вебдизайне и сайтостроении" width="600" height="200" /></a> |
Такую замену следует произвести для всех картинок во всех файлах шаблона темы. Это позволит снизить нагрузку на базу данных и добиться скорейшей загрузки страниц вашего сайта.
Итак, мы неплохо почистили код файла header.php и поменяли путь к картинкам. Вышеперечисленные меры помогли нам избавиться от лишних запросов к базе данных, но для существенного снижения нагрузки на сервер хостинга этого недостаточно, а значит, будем двигаться дальше и в следующей статье рассмотрим другие способы справиться с этой задачей.