Стоит ли экономить на спичках?
Сегодня мне наконец-то посчастливилось найти концы (в смысле, оригинал) статьи, которую публикуют многие блоггеры (в переводе на родной язык). Статья носит название "13 Тэгов, которые следует удалить из вашей темы" (с ней можно ознакомиться, например, здесь).
В переводе меня смутило то, что автор, на мой взгляд, "экономил на спичках", вместо того, чтобы использовать что-либо стоящее, поэтому я решил обратиться к оригиналу, в надежде на то, что автор хоть как-нибудь обосновал свою точку зрения.
Приведу эти "тринадцать вещей", чтобы было понятно, о чем я говорю.
<?php language_attributes(); ?>
находится в header.php.<?php bloginfo('html_type'); ?>
находится в header.php.<?php bloginfo('charset'); ?>
находится в header.php.<?php bloginfo('name'); ?>
встречается в теме постоянно.<meta name="generator" content="WordPress
<?php bloginfo('version'); ?>
" /><!–- leave this for stats -–>
находится в header.php.<?php bloginfo('stylesheet_url'); ?>
находится в header.php.<?php bloginfo('rss2_url'); ?>
находится в header.php, sidebar.php и footer.php. Будьте осторожны, если у вас включен FeedBurner. Не забывайте обновлять адреса фидов вручную (плагин FeedSmith не сделает этого).<?php bloginfo('pingback_url'); ?>
находится в header.php.<?php bloginfo('stylesheet_directory'); ?>
встречается в теме постоянно.<?php bloginfo('description'); ?>
встречается в теме постоянно. Описание вашего сайта.<?php bloginfo('comments_rss2_url'); ?>
находится в sidebar.php и footer.php.<!-–
находится в footer.php. Этот HTML-комментарий многими из нас не используется, так что удаляйте!<?php echo get_num_queries(); ?>
queries.<?php timer_stop(1); ?>
seconds. -–>- Если вы используете виджеты, то можете удалить код из sidebar.php между строчками
<?php /* Widgetized sidebar, if you have the plugin installed. */
и
if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?><?php endif; ?>
.
Контент между двумя этими строчками используется только тогда, когда виджеты отключены. Если Вы уверены, что будете продолжать использовать виджеты, то можно выделить это как неиспользуемый код, а к строке можно оставить комментарий "Этот контент используется, если отключены виджеты", чтобы не забыть о назначении этого куска кода).
Как утверждает сам автор, …the theme uses PHP tags to get the information. However, it has to use these tags every time a page is loaded. As most of the information never changes, you can delete these tags from your theme, and replace them with normal text. That way, your server has less to process next time around.
Конечно, в логике отказать автору трудно: если заменить вызовы функций их результатом, то интерпретатору не придется вызывать эти функции, на чем, собственно, и происходит экономия. Однако, как показали замеры, выигрыш ничтожен — сотые доли секунды (в среднем; при этом я тестировал на довольно слабом компьютере). Конечно, если блог посещает несколько сотен посетителей в секунду, то даже эти милисекунды могут хоть немного помочь. Но для среднестатистического блога такие оптимизации что слону дробина.
Пункты 12 и 13 что есть, что нет — лично я не смог заметить изменений.
Пункт 5 — это, наверное, в целях безопасности. Хочу огорчить: версию WordPress можно установить косвенно (хоть это и труднее).
Вызовы blog_info()
и get_feed_link()
сводятся (в конечном итоге) к get_option()
. А get_option()
достает требуемые значения из кэша — запрос к базе данных не производится.
Аргументация в комментариях сводится к тому, что интерпретатору придется выполнять меньше инструкций. Но в этом случае, на мой взгляд, оптимизацию нужно начинать не с темы.
Вообще, если не экономить на спичках, лучших результатов можно достигнуть, использую специальные плагины — Super Cache, Hyper Cache и подобные им. Вряд ли кто будет спорить, что статическая страница отдается быстрее, нежели динамическая при прочих равных условиях
Не экономьте на спичках!
..Хочу огорчить: версию WordPress можно установить косвенно (хоть это и труднее)..
Например по входу в админку
Roose, должен признать, что Ваше решение проще: я это делал по файлам JavaScript и некоторым другим косвенным признакам.
Я тоже подумал, что врядли это существенно снизит нагрузку. Спасибо, что укрепил мои догадки технической базой
Тоже проверил, нагрузка снизится чуть-чуть. Примерно на 2-3 запроса и на 0,2-0,3 мб памяти меньше.
Кстати,
А вы смотрели link к таблице стилей на странице входа?
Память не проверял, по запросам уменьшения не заметил (возможно, из-за того, что соответствующие настройки были прочитаны плагинами).
Смотрел, но он не всегда точен: во-первых, его любят менять, во-вторых, некоторые версии WordPress не показывают ревизию (например, выдают 2.5 вместо 2.5.1). Если сканировать блог на наличие уязвимостей, то линки на стили/скрипты я использую как косвенные признаки.
Предпочитаю более жесткие методы, например
http://www.problogdesign.com/?feed=rss2&p=1/**/union/**/select/**/username,2/**/from/**/wpbbd_users/*
Ну это легко побороть :-),попробуйте на моем блоге это проделать.
http://roose.w6.ru/wordpress/wp-includes/js/tinymce/utils/validate.js
. Там тоже всё видно[...] написании вдохновился схожим по тематике постом от Владимира. Можно сказать, эта заметка рассказывает [...]