<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xavisys&#187; WordPress Performance</title>
	<atom:link href="http://xavisys.com/tag/wordpress-performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://xavisys.com</link>
	<description>WordPress Plugins and Custom WordPress Development</description>
	<lastBuildDate>Wed, 16 Nov 2011 20:45:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<atom:link rel='hub' href='http://xavisys.com/?pushpress=hub'/>
		<item>
		<title>News About WordPress 2.9</title>
		<link>http://xavisys.com/news-wordpress-29/</link>
		<comments>http://xavisys.com/news-wordpress-29/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 15:16:28 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[wordpress development]]></category>
		<category><![CDATA[Upcoming WordPress Release]]></category>
		<category><![CDATA[WordPress 2.9]]></category>
		<category><![CDATA[WordPress News]]></category>
		<category><![CDATA[WordPress Performance]]></category>

		<guid isPermaLink="false">http://wpinformer.com/?p=81</guid>
		<description><![CDATA[There was a meeting in IRC for WordPress developers yesterday. A release date for WordPress 2.8 was chosen, and they made some great decisions regarding WordPress 2.9 as well. Here&#8217;s a quick summary of the things I found important. For WordPress 2.9, they&#8217;ve decided to raise the version of MySQL supported from 4.0 to 4.1.2! [...]]]></description>
			<content:encoded><![CDATA[<p>There was a <a href="http://wordpress.org/development/2009/06/summary-of-wordpress-dev-irc-meetup-for-20090603/">meeting in IRC for WordPress developers</a> yesterday.  A <a href="http://wpinformer.com/wordpress-2-8-release-date/">release date for WordPress 2.8</a> was chosen, and they made some great decisions regarding WordPress 2.9 as well.  Here&#8217;s a quick summary of the things I found important.</p>
<p>For WordPress 2.9, they&#8217;ve decided to raise the version of MySQL supported from 4.0 to 4.1.2!  That may not seem like much to those of us out there using the latest versions of everything, since version 5.1 is out, 5.4 is in beta, and even 6.0 is under development (and because 4.1.2 was released in May of 2004).  However, the big thing that sticks out to me is that 4.1 support subqueries and unicode.  Unicode should help for people that are using WordPress in non-English languages, and subqueries should help to greatly simplify queries.  Also in 4.1 MySQL added support for the &#8216;INSERT &#8230; ON DUPLICATE KEY UPDATE&#8217; syntax which will insert a new row unless that would cause a duplicate primary or unique key, in which case it updates the existing row.</p>
<p><span id="more-81"></span></p>
<p>I&#8217;m looking forward to the next few versions of WordPress, which I predict will get considerably faster (and the codebase will probably lean out a little too) simply because of the additional MySQL functionality.  Just remember that there&#8217;s a lot to do and not every query will be updated in 2.9 to take advantage of the new versions.  Also, for those that are worried, they plan to add a check to the automatic upgrader to keep people from upgrading to 2.9 if they don&#8217;t have a new enough version of MySQL.</p>
<p>Which brings me to the next big decision.  While WordPress is <strong>not</strong> going to require PHP 5, they <strong>are</strong> going to suggest it.  If someone is still running PHP 4, the WordPress upgrader will suggest that they switch to PHP 5, and will even link to a Codex page describing how to do it for various hosts!  As someone who&#8217;s been a huge proponent of moving the PHP requirements up to PHP 5, this is a big step in the right direction.  According to Matt Mullenweg at WordCamp San Francisco 2009, over 80% of WordPress.org users are already on PHP 5+.  If a notice like this could raise that percentage enough to make it reasonable to require PHP 5+, the codebase will see some huge improvements.</p>
<p>Overall, the meeting (which I unfortunately missed) took some great steps toward serious improvements of WordPress both in 2.9 and the versions to follow.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/wordpress-29/' title='Looking forward to WordPress 2.9'>Looking forward to WordPress 2.9</a></li>
<li><a href='http://xavisys.com/wordpress-2-8-release-date/' title='WordPress 2.8 Release Date'>WordPress 2.8 Release Date</a></li>
<li><a href='http://xavisys.com/wordpress-weekly-podcast/' title='WordPress Weekly Podcast'>WordPress Weekly Podcast</a></li>
<li><a href='http://xavisys.com/improve-performance-of-your-wordpress-theme-in-5-minutes/' title='Improve Performance of Your WordPress Theme in 5 Minutes'>Improve Performance of Your WordPress Theme in 5 Minutes</a></li>
<li><a href='http://xavisys.com/drag-drop-widgets-wordpress-2-8/' title='WordPress 2.8 Brings Back Drag and Drop Widget Management'>WordPress 2.8 Brings Back Drag and Drop Widget Management</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/news-wordpress-29/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Improve Performance of Your WordPress Theme in 5 Minutes</title>
		<link>http://xavisys.com/improve-performance-of-your-wordpress-theme-in-5-minutes/</link>
		<comments>http://xavisys.com/improve-performance-of-your-wordpress-theme-in-5-minutes/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 13:00:00 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[WordPress Themes]]></category>
		<category><![CDATA[WordPress Performance]]></category>

		<guid isPermaLink="false">http://wpinformer.com/?p=40</guid>
		<description><![CDATA[There&#8217;s a quick and relatively simple way to increase the performance of your WordPress theme while reducing overall server load. The problem is that most themes are written to be as portable as possible. This comes in handy because you can just drop in a theme and it works with no editing at all. Unfortunately, [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a quick and relatively simple way to increase the performance of your WordPress theme while reducing overall server load.  The problem is that most themes are written to be as portable as possible.  This comes in handy because you can just drop in a theme and it works with no editing at all.  Unfortunately, it means that a lot of information that never changes is queried from the database anyway.  If you want to speed your theme up, you can customize it to your site and reduce database queries.  All in about 5 minutes.</p>
<p><span id="more-40"></span></p>
<p>In order to simplify the post, I&#8217;m combining the header.php and footer.php into one file.  You should make sure to check both, and maybe even check other files in your theme.  Your theme&#8217;s header.php and footer.php files probably look something like this:</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &lt;?php language_attributes(); ?&gt;&gt;

&lt;head profile=&quot;http://gmpg.org/xfn/11&quot;&gt;
	&lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;/title&gt;
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?php bloginfo('html_type'); ?&gt;; charset=&lt;?php bloginfo('charset'); ?&gt;&quot; /&gt;

	&lt;?php wp_head(); ?&gt;

	&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_url'); ?&gt;?20090112&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
	&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;RSS Feed&quot; href=&quot;&lt;?php bloginfo('rss2_url'); ?&gt;&quot; /&gt;
	&lt;link rel=&quot;pingback&quot; href=&quot;&lt;?php bloginfo('pingback_url'); ?&gt;&quot; /&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div id=&quot;page&quot;&gt;

&lt;div id=&quot;header&quot;&gt;

	&lt;h2&gt;&lt;a href=&quot;&lt;?php bloginfo('url'); ?&gt;&quot;&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/a&gt;&lt;/h2&gt;
	&lt;h3 id=&quot;blog-description&quot;&gt;&lt;?php bloginfo('description'); ?&gt;&lt;/h3&gt;

	&lt;ul&gt;
		&lt;li class=&quot;page_item &lt;?php echo ( is_home() )? 'current_page_item':''; ?&gt;&quot;&gt;
			&lt;a href=&quot;&lt;?php bloginfo('url'); ?&gt;&quot;&gt;Home&lt;/a&gt;
		&lt;/li&gt;
		&lt;?php wp_list_pages('title_li=&amp;depth=1'); ?&gt;
	&lt;/ul&gt;
	&lt;div id=&quot;wpinformer-rss&quot;&gt;
		&lt;p&gt;&lt;a href=&quot;&lt;?php bloginfo('rss2_url'); ?&gt;&quot;&gt;Subscribe via RSS&lt;/a&gt;&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;

&lt;/div&gt;&lt;!-- end header --&gt;
&lt;/div&gt;&lt;!-- end page --&gt;

&lt;div id=&quot;footer-wrap&quot;&gt;

	&lt;div id=&quot;footer&quot;&gt;
		&lt;p&gt;
			&lt;a href=&quot;&lt;?php bloginfo('rss2_url'); ?&gt;&quot;&gt;Entries (RSS)&lt;/a&gt; and
			&lt;a href=&quot;&lt;?php bloginfo('comments_rss2_url'); ?&gt;&quot;&gt;Comments (RSS)&lt;/a&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;a href=&quot;&lt;?php bloginfo('url'); ?&gt;&quot;&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/a&gt; is powered by &lt;a href=&quot;http://wordpress.org&quot;&gt;WordPress&lt;/a&gt;.
		&lt;/p&gt;

		&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
	&lt;/div&gt;

&lt;/div&gt;&lt;!-- end footer-wrap --&gt;
&lt;?php wp_footer(); ?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>In the above, you can easily remove language_attributes() on line 2, the bloginfo() calls on lines 6, 10, 11, 12, 21, 22, 26, 31, 42, 43, and 46.  In order to find out what to replace them with, simply visit your site and view the (X)HTML source.  Find the sections in the code where the functions you want to replace are, and copy the content to your theme.  The above files change to this:</p>
<pre class="brush: php; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; dir=&quot;ltr&quot; lang=&quot;en-US&quot;&gt;

&lt;head profile=&quot;http://gmpg.org/xfn/11&quot;&gt;
	&lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;/title&gt;
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;

	&lt;?php wp_head(); ?&gt;

	&lt;link rel=&quot;stylesheet&quot; href=&quot;/wp-content/themes/wpinformer/style.css?20090112&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
	&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;RSS Feed&quot; href=&quot;/feed/&quot; /&gt;
	&lt;link rel=&quot;pingback&quot; href=&quot;http://wpinformer.com/xmlrpc.php&quot; /&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div id=&quot;page&quot;&gt;

&lt;div id=&quot;header&quot;&gt;

	&lt;h2&gt;&lt;a href=&quot;http://wpinformer.com/&quot;&gt;WordPress &lt;span&gt;Informer&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
	&lt;h3 id=&quot;blog-description&quot;&gt;WordPress News and Resources&lt;/h3&gt;

	&lt;ul&gt;
		&lt;li class=&quot;page_item &lt;?php echo ( is_home() )? 'current_page_item':''; ?&gt;&quot;&gt;
			&lt;a href=&quot;http://wpinformer.com/&quot;&gt;Home&lt;/a&gt;
		&lt;/li&gt;
		&lt;?php wp_list_pages('title_li=&amp;depth=1'); ?&gt;
	&lt;/ul&gt;
	&lt;div id=&quot;wpinformer-rss&quot;&gt;
		&lt;p&gt;&lt;a href=&quot;/feed/&quot;&gt;Subscribe via RSS&lt;/a&gt;&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;

&lt;/div&gt;&lt;!-- end header --&gt;
&lt;/div&gt;&lt;!-- end page --&gt;

&lt;div id=&quot;footer-wrap&quot;&gt;

	&lt;div id=&quot;footer&quot;&gt;
		&lt;p&gt;
			&lt;a href=&quot;http://wpinformer.com/feed/&quot;&gt;Entries (RSS)&lt;/a&gt; and
			&lt;a href=&quot;http://wpinformer.com/comments/feed/&quot;&gt;Comments (RSS)&lt;/a&gt;
		&lt;/p&gt;
		&lt;p&gt;
			&lt;a href=&quot;http://wpinformer.com&quot;&gt;WordPress Informer&lt;/a&gt; is powered by &lt;a href=&quot;http://wordpress.org&quot;&gt;WordPress&lt;/a&gt;.
		&lt;/p&gt;

		&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
	&lt;/div&gt;

&lt;/div&gt;&lt;!-- end footer-wrap --&gt;
&lt;?php wp_footer(); ?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>As you can see, all the functions that return static content have been replaced.  What did this gain?  I went from 29 queries taking 1.391 seconds to 24 queries taking 0.868 seconds.  Taking five minutes to fix my theme has eliminated five queries from every page load of my site, and sped up the home page query time by roughly 35-40%.  It&#8217;s a quick easy fix with a huge return.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/gpl-themes-love-plugins-suffer/' title='GPL Themes Get Some Love, Plugins Suffer?'>GPL Themes Get Some Love, Plugins Suffer?</a></li>
<li><a href='http://xavisys.com/news-wordpress-29/' title='News About WordPress 2.9'>News About WordPress 2.9</a></li>
<li><a href='http://xavisys.com/free-template-minimalist/' title='Free Template: Minimalist'>Free Template: Minimalist</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/improve-performance-of-your-wordpress-theme-in-5-minutes/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

