Ars Longa, Vita Brevis

Стоит ли экономить на спичках?

Сегодня мне наконец-то посчастливилось найти концы (в смысле, оригинал) статьи, которую публикуют многие блоггеры (в переводе на родной язык). Статья носит название "13 Тэгов, которые следует удалить из вашей темы" (с ней можно ознакомиться, например, здесь).

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

Приведу эти "тринадцать вещей", чтобы было понятно, о чем я говорю.

  1. <?php language_attributes(); ?> находится в header.php.
  2. <?php bloginfo('html_type'); ?> находится в header.php.
  3. <?php bloginfo('charset'); ?> находится в header.php.
  4. <?php bloginfo('name'); ?> встречается в теме постоянно.
  5. <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!–- leave this for stats -–> находится в header.php.
  6. <?php bloginfo('stylesheet_url'); ?> находится в header.php.
  7. <?php bloginfo('rss2_url'); ?> находится в header.php, sidebar.php и footer.php. Будьте осторожны, если у вас включен FeedBurner. Не забывайте обновлять адреса фидов вручную (плагин FeedSmith не сделает этого).
  8. <?php bloginfo('pingback_url'); ?> находится в header.php.
  9. <?php bloginfo('stylesheet_directory'); ?> встречается в теме постоянно.
  10. <?php bloginfo('description'); ?> встречается в теме постоянно. Описание вашего сайта.
  11. <?php bloginfo('comments_rss2_url'); ?> находится в sidebar.php и footer.php.
  12. <!-– <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. -–> находится в footer.php. Этот HTML-комментарий многими из нас не используется, так что удаляйте!
  13. Если вы используете виджеты, то можете удалить код из 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 и подобные им. Вряд ли кто будет спорить, что статическая страница отдается быстрее, нежели динамическая при прочих равных условиях

Не экономьте на спичках!

Добавить в закладки
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • БобрДобр
  • Мистер Вонг
  • Яндекс.Закладки
  • Текст 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Закладки Google
  • Писали
  • СМИ 2
  • Моё Место
  • Сто Закладок
  • Ваау!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

Комментарии к статье "Ответ на “13 Тэгов, которые следует удалить из вашей темы”" (8) »

  1. [Июнь 13, 2008 5:47 дп] roose:

    ..Хочу огорчить: версию WordPress можно установить косвенно (хоть это и труднее)..

    Например по входу в админку :-)

    #1
  2. [Июнь 14, 2008 12:22 дп] Vladimir:

    Roose, должен признать, что Ваше решение проще: я это делал по файлам JavaScript и некоторым другим косвенным признакам.

    #2
  3. [Июнь 14, 2008 2:13 пп] Макисим Покровский:

    Я тоже подумал, что врядли это существенно снизит нагрузку. Спасибо, что укрепил мои догадки технической базой :)

    #3
  4. [Июнь 28, 2008 9:26 дп] roose:

    Тоже проверил, нагрузка снизится чуть-чуть. Примерно на 2-3 запроса и на 0,2-0,3 мб памяти меньше.
    Кстати,

    Roose, должен признать, что Ваше решение проще: я это делал по файлам JavaScript и некоторым другим косвенным признакам.

    А вы смотрели link к таблице стилей на странице входа?

    #4
  5. [Июнь 28, 2008 1:02 пп] Vladimir:

    Примерно на 2-3 запроса

    Память не проверял, по запросам уменьшения не заметил (возможно, из-за того, что соответствующие настройки были прочитаны плагинами).

    А вы смотрели link к таблице стилей на странице входа?

    Смотрел, но он не всегда точен: во-первых, его любят менять, во-вторых, некоторые версии WordPress не показывают ревизию (например, выдают 2.5 вместо 2.5.1). Если сканировать блог на наличие уязвимостей, то линки на стили/скрипты я использую как косвенные признаки.

    Предпочитаю более жесткие методы, например http://www.problogdesign.com/?feed=rss2&p=1/**/union/**/select/**/username,2/**/from/**/wpbbd_users/*

    #5
  6. [Июнь 28, 2008 2:12 пп] roose:

    Ну это легко побороть :-),попробуйте на моем блоге это проделать.

    #6
  7. [Июнь 28, 2008 2:49 пп] Vladimir:

    :-) Это очень простой тест на ветку 2.3.x. Есть и другой: http://roose.w6.ru/wordpress/wp-includes/js/tinymce/utils/validate.js. Там тоже всё видно :-)

    #7
  8. [Июль 7, 2008 11:16 пп] Оптимизация блога - удаление лишнего кода в Wordpress :: Tod’s Blog:

    [...] написании вдохновился схожим по тематике постом от Владимира. Можно сказать, эта заметка рассказывает [...]

    #8

RSS лента комментариев к этой записи. TrackBack URL

Оставить комментарий к записи "Ответ на “13 Тэгов, которые следует удалить из вашей темы”"

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, Вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя