Оптимизация блога – удаление лишнего кода в WordPress
Monday, 07 Jul 08 в 23:09
Если вы занимались редактированием собственной WordPress темы, то, наверное, уже видели множество тэгов, выполняющих тривиальные задачи, например: вывод названия блога, кодировки сайта и т.п. Все эти данные можно задать непосредственно в самом шаблоне без вызова специальных функций. Бытует мнение, что за счет сокращения обращений к базе данных вы можете выиграть в производительности блога в целом. Правда, практические испытания некоторых блоггеров, показали, что сокращение времени загрузки ресурса незначительное. Тем не менее, считаю, данную оптимизацию полезной вещью – скорость вполне может ощущаться при слабых каналах связи или высокой посещаемости проекта.
Тема не один раз затрагивалась в рунете, но подробного описания я так и не заметил. Считаю, для тех, кто только начинает разбираться в WordPress нужно более глубокое рассмотрение данного вопроса. Собственно, поэтому и был создан данный пост. Продвинутые пользователи системы могут лишь проверить наличие ненужных php вставок у себя, пояснения можно не читать.
При написании вдохновился схожим по тематике постом от Владимира. Можно сказать, эта заметка рассказывает о том же, но с пояснениями и реальными примерами (с моего блога). Кроме того, думаю, не все мои читатели знакомы с рассматриваемой темой, поэтому, как говорится, приступим:
<?php language_attributes();?> – отвечает за вывод данных о языке сайта и стране, где он располагается. Строка находится в header.php.
Было: <html xmlns=”http://www.w3.org/1999/xhtml” <?php language_attributes(); ?>>
Стало: <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”ru” lang=”ru-UA”>
В данном случае запись lang=”ru-UA” означает, что текст сайта на русском, а сам находится в Украине.
<?php bloginfo(‘html_type’); ?> и <?php bloginfo(‘charset’); ?> – первая часть кода задает значение параметра, заданного с помощью name или http-equiv, вторая определяет кодировку HTML документа. Находятся в header.php. Чтобы понятнее было посмотрим пример:
Было: <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″ />
<?php bloginfo(‘name’); ?> – выводит имя блога (в настройках админки поле Blog Title), встречается в шаблоне достаточно часто. Кстати, если вы используете плагин All in One SEO Pack, то он автоматически переписывает заголовки title, поэтому можете убирать из этого тэга весь код.
<?php bloginfo(‘version’); ?> – версия системы, находится в header.php. Можно написать значение вашей версии вручную, указать любое другое, дабы запутать злоумышленника, или вовсе удалить строку.
Было: <meta name=”generator” content=”WordPress <?php bloginfo(‘version’); ?>” />
Стало: <meta name=”generator” content=”WordPress 2.5.1″ />
Кстати, скрытие версии системы является одним из способов защиты блога, хотя ее и можно определить косвенно.
<?php bloginfo(‘stylesheet_url’); ?> – указывает файл стилей, находится в header.php.
Было: <style type=”text/css” media=”screen”>@import url( <?php bloginfo(‘stylesheet_url’); ?> );</style>
Стало: <link rel=”stylesheet” href=”http://tods-blog.com.ua/wp-content/themes/minyx-20-lite/style.css” type=”text/css” media=”screen” />
<?php bloginfo(‘rss2_url’); ?> – задает адрес RSS фида, может находиться в файлах header.php, sidebar.php и footer.php. Если вы используете FeedBurner, то пишите адрес именно от сервиса, а не стандартный.
Было: <link rel=”alternate” type=”application/rss+xml” title=”<?php bloginfo(‘name’); ?> RSS Feed” href=”<?php bloginfo(‘rss2_url’); ?>” />
Стало: <link rel=”alternate” type=”application/rss+xml” title=”Tod’s Blog. Моё видение интернета RSS Feed” href=”http://feeds.feedburner.com/TodsBlog” />
<?php bloginfo(‘pingback_url’); ?> – пусть к XML-RPC файлу, который отвечает за оповещение авторов других блогов, что вы на них ссылались. Находится в header.php.
Было: <link rel=”pingback” href=”<?php bloginfo(‘pingback_url’); ?>” />
Стало: <link rel=”pingback” href=”http://tods-blog.com.ua/xmlrpc.php” />
<?php bloginfo(‘stylesheet_directory’); ?> – говорят, встречается в теме постоянно, хотя у себя не видел. Видимо, отвечает за путь к файлу стилей.
<?php bloginfo(‘description’); ?> – задает описание сайта (в настройках админки поле Tagline), встречается в теме постоянно. Можно просто заменить на нужный вам текст.
<?php bloginfo(‘comments_rss2_url’); ?> – адрес фида (RSS потока) для комментариев, чаще всего встречается в sidebar.php и footer.php.
<!– <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. –> – находится в footer.php, выводит количество запросов и время их выполнения. В принципе, особой необходимости в этом нет, поэтому можно смело удалять.
Код между строчками <?php /* Widgetized sidebar, if you have the plugin installed. */
if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar() ) : ?> и <?php endif; ?> в файле sidebar.php используется, когда в вашем блоге отключены виджеты. Если вам это не грозит – закомментируйте его или удалите.
Не исключено, что в темах (шаблонах) вы можете встретить многие другие php вставки с вызовом функций. Некоторые из них, думаю, можно будет спокойно заменить. Но для этого нужно понимать, что и как делает та или иная строка кода, иначе последствия могут быть не очень хорошие. Для подтверждения догадок можете смотреть результат выполнения функций прямо на страницах своего сайта, делая определенные выводы.
P.S. Меня не будет в Интернете ближайшие 4 дня, поэтому на все письма, комментарии в блоге и сообщение по icq отвечу в пятницу (11.07). Один пост будет автоматически опубликован в среду вечером, я расскажу о результатах эксперимента с привлечением трафика из новостных социальных сайтов.
Не пропустите! До скорых встреч.
Спасибо спонсорам:
Сегодня предлагаю поговорить об одном достаточно интересном и весьма серьезном способе заработка в Интернете – о фрилансе (freelance). Это механизм работы, при котором исполнитель и заказчик находятся далеко друг от друга. Общение при этом производится по телефону или с использованием различных электронных механизмов коммуникации (email. аська и т.п.). Еще несколько лет назад фриланс был диковинкой для рынка, лишь немногие «рисковые» люди занимались этим, собственно, как и заказчики доверяли выполнение работы удаленном сотруднику. Сейчас все намного проще, как мне кажется. Рынок понемногу сформировался, есть множество литературы на русском языке, людей, которые делятся опытом, а также ошибок, на которых можно поучиться. Начинать сейчас менее рискованно.
Вот уже второй месяц подряд удается заканчивать на мажорной ноте. Хотя вы уже, наверное, догадались об этом по названию. Кто-то, конечно, может сказать, что деньги не такие уж и большие, тем не менее, я смотрю на это философски – есть стимул и возможность развивать блог дальше. С одной стороны – радовать читателей новыми заметками (в предварительных записях накопилось достаточное количество классного материала), с другой – работать над продвижением ресурса (пробую нестандартные способы для привлечения трафика, использую социальные сети, собираюсь серьезно заняться оптимизацией блога под поисковики).

