Многие меня спрашивают, с чего начинается оптимизация блога для сокращения нагрузки и увеличения скорости работы. Я всегда отвечаю – с сокращения количества обращений к базе данных. И в первую очередь нужно сократить запросы к базе данных, создаваемые используемой темой.
В погоне за универсальностью разработчики тем используют универсальные конструкции, которые подойдут к любому блогу – они заменяют абсолютные пути, указывающие на файлы или папки, на функции, извлекающие эти пути из базы данных. Да, это универсально – при любом раскладе будет указана правильная папка, в которой находится, например, файл functions.php, сколько бы раз вы сменили домен. Однако за универсальность нужно расплачиваться – каждая такая функция создает как минимум одно обращение к базе данных, из которой она выуживает необходимые данные. А если учесть, что страниц в блоге, на которых выполняются эти функции, может быть несколько тысяч, и некоторые из них просматриваются не по одному разу ежедневно, то из-за использования этих универсальных функций возникает заметная нагрузка.
Если вы не собираетесь менять домен, то эти функции можно заменить прямыми путями, и тем самым убрать несколько лишних обращений к базе данных, которые возникают при загрузке посетителем всего лишь одной страницы. Что же это за функции такие? Наверняка вы все их встречали в коде темы.
Имя блога
<title></title>
Эта функция берет из базы данных название блога, которое вы ввели в настройках. Вы можете безболезненно избавиться от нее, заменив на название блога.
<title>Блог о WordPress</title>
Ссылка на сайт
</pre> <p>Эта функция возвращает прямую ссылку на главную страницу сайта. Ее можно заменить на саму ссылку:</p> <pre>https://n-wp.ru/
или даже на ее относительный вид, который автоматически трансформируется в текущий домен:
/
Папка, в которой находится style.css
Наверняка вы встречали подобную функцию:
</pre> <p>Она возвращает из базы данных абсолютный путь к папке, в которой находится файл стилей style.css. Эту функцию, как и в предыдущем случае, можно заменить на абсолютный, а лучше – на относительный путь к этой папке:</p> <pre>/wp-content/themes/mytheme/
Папка используемой темы
/include/metabox.php ?>
Если вы не собираетесь менять тему и настройки, с ней связанные, то можете вместо функции, извлекающей из базы данных абсолютный путь к папке с текущей темой использовать относительный путь к этой папке:
/wp-content/themes/mytheme/include/metabox.php
Вот так вот, почти играючи, практически еще и не начиная серьезную оптимизацию, можно сократить сразу четыре лишних обращения к базе данных.
Изучив код всех файлов используемой темы и заменив в них подобные функции на прямые данные, можно сократить количество обращений к базе данных в несколько раз, что положительно скажется как на быстродействии (ведь блогу не нужно будет копаться в базе данных для получения нужных данных – вы предоставляете ему их в явном виде), так и на снижении нагрузки.
так можно было сократить четыре лишних обращений в более ранних версиях
в последних версиях ВП все автолоад опции получаются из БД одним запросом
В wordpress гораздо больше лишних тегов, которые можно заменить.
здесь можно посмотреть большой перечень.
Нужный материал, я сейчас как раз занимаюсь ускорением блога и воспользуюсь вашими советами, спасибо!