<?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/"
xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Yoast &#187; Site Speed</title> <atom:link href="http://yoast.com/tag/site-speed/feed/" rel="self" type="application/rss+xml" /><link>http://yoast.com</link> <description>Tweaking Websites</description> <lastBuildDate>Mon, 21 May 2012 18:33:54 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.4-beta4-20825</generator> <image><title>Yoast</title> <url>http://yoast.com/wp-content/themes/yoast-v2/images/yoast-logo-rss.png</url><link>http://yoast.com</link> <width>144</width> <height>103</height> <description>Tweaking Websites</description> </image> <item><title>Site Speed tracking in Google Analytics</title><link>http://yoast.com/site-speed-tracking-in-google-analytics/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=site-speed-tracking-in-google-analytics</link> <comments>http://yoast.com/site-speed-tracking-in-google-analytics/#comments</comments> <pubDate>Mon, 09 May 2011 12:38:25 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Analytics]]></category> <category><![CDATA[WordPress]]></category> <category><![CDATA[Google Analytics]]></category> <category><![CDATA[Site Speed]]></category> <category><![CDATA[WordPress Plugins]]></category><guid
isPermaLink="false">http://yoast.com/?p=4164</guid> <description><![CDATA[<p>Just a quickie: I just updated my Google Analytics for WordPress plugin to incorporate the new Site Speed tracking feature that Google announced last week. The feature is on by default and can be disabled in the advanced section of the settings. As you can see from the announcement post, this new feature helps you [...]</p><p><a
href="http://yoast.com/site-speed-tracking-in-google-analytics/">Site Speed tracking in Google Analytics</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p><a
href="http://yoast.com/wordpress/google-analytics/"><img
src="http://cdn3.yoast.com/wp-content/uploads/2007/09/GAfW-565-161-300x74.png" alt="Google Analytics for WordPress" title="Google Analytics for WordPress" width="300" height="74" class="alignright size-medium wp-image-2966" /></a>Just a quickie: I just updated my <a
href="http://yoast.com/wordpress/google-analytics/">Google Analytics for WordPress</a> plugin to incorporate the new Site Speed tracking feature that <a
href="http://analytics.blogspot.com/2011/05/measure-page-load-time-with-site-speed.html">Google announced</a> last week. The feature is on by default and can be disabled in the advanced section of the settings.</p><p>As you can see from the announcement post, this new feature helps you determine questions like:</p><ul><li>Which landing pages are slowest?</li><li>How does page load time vary across geographies?</li><li>Does your site load faster or slower for different browsers?</li></ul><p><img
alt="Site Speed report in Google Analytics" src="http://4.bp.blogspot.com/-RoXO31TXnJE/TcCHhjJbQuI/AAAAAAAABNk/So-Ra5CM6Dc/s400/galt_blog.png" title="Site Speed report in Google Analytics" class="aligncenter" width="400" height="246" /></p><p>You'll be able to find the results from this tracking under Content &rarr; Site Speed in Google Analytics. This release also fixes the slight error with the custom code option, that's now properly stripped from slashes.</p><p><a
href="http://yoast.com/site-speed-tracking-in-google-analytics/">Site Speed tracking in Google Analytics</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/site-speed-tracking-in-google-analytics/feed/</wfw:commentRss> <slash:comments>23</slash:comments> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2007/09/GAfW-565-161-125x125.png" /> <media:content url="http://cdn2.yoast.com/wp-content/uploads/2007/09/GAfW-565-161.png" medium="image"> <media:title type="html">Google Analytics for WordPress</media:title> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2007/09/GAfW-565-161-125x125.png" /> </media:content> <media:content url="http://4.bp.blogspot.com/-RoXO31TXnJE/TcCHhjJbQuI/AAAAAAAABNk/So-Ra5CM6Dc/s400/galt_blog.png" medium="image"> <media:title type="html">Site Speed report in Google Analytics</media:title> </media:content> </item> <item><title>Killer Performance Tips from the Expert</title><link>http://yoast.com/expert-web-performance-tips/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=expert-web-performance-tips</link> <comments>http://yoast.com/expert-web-performance-tips/#comments</comments> <pubDate>Mon, 07 Feb 2011 19:56:12 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[WordPress]]></category> <category><![CDATA[Site Speed]]></category> <category><![CDATA[WordPress podcast]]></category> <category><![CDATA[WordPress Widgets]]></category><guid
isPermaLink="false">http://yoast.com/?p=3831</guid> <description><![CDATA[<p>My business &#38; podcast partner Frederick Townes, who also happens to be the CTO @ Mashable.com, has finally finished a long awaited (by me at least) post covering lots of the performance tips he's applied at Mashable (I hope you've seen their awesome redesign) and in other projects to make the sites faster despite having [...]</p><p><a
href="http://yoast.com/expert-web-performance-tips/">Killer Performance Tips from the Expert</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>My business &amp; podcast partner <a
href="http://yoast.com/author/frederick/">Frederick Townes</a>, who also happens to be the CTO @ <a
rel="no follow external" href="http://mashable.com/">Mashable.com</a>, has finally finished a <a
href="http://www.w3-edge.com/weblog/2011/02/optimize-social-media-button-performance/">long awaited (by me at least) post</a> covering lots of the performance tips he's applied at <a
href="http://mashable.com">Mashable</a> (I hope you've seen their awesome redesign) and in other projects to make the sites faster despite having lots of widgets etc.</p><p>His tips in particular are useful for optimizing the performance of social media buttons and ads etc, but keep in mind there are lots of aspects of WordPress to optimize, like <a
href="http://yoast.com/articles/wordpress-seo/">SEO</a>, <a
href="http://yoast.com/wordpress-performance-optimization/">database performance</a> and <a
href="http://yoast.com/40-wordpress-optimisation-tips/">more</a>.</p><p><a
href="http://yoast.com/expert-web-performance-tips/">Killer Performance Tips from the Expert</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/expert-web-performance-tips/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Site Speed is now  a Ranking Factor</title><link>http://yoast.com/site-speed-ranking-factor/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=site-speed-ranking-factor</link> <comments>http://yoast.com/site-speed-ranking-factor/#comments</comments> <pubDate>Sat, 10 Apr 2010 20:51:41 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[SEO]]></category> <category><![CDATA[Site Speed]]></category> <category><![CDATA[WordPress Hosting]]></category> <category><![CDATA[WordPress optimization]]></category><guid
isPermaLink="false">http://yoast.com/?p=2190</guid> <description><![CDATA[<p>Just wanted to jot down a quick blog post with my thoughts about two blog posts about speed. Matt Cutts has been writing both on his own blog and on the official Google Webmaster Central Blog to tell everyone what we knew was coming: site speed is now an official ranking factor. Now I want [...]</p><p><a
href="http://yoast.com/site-speed-ranking-factor/">Site Speed is now  a Ranking Factor</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p><img
class="alignright size-full wp-image-2191" title="london-tube-speed" src="http://cdn3.yoast.com/wp-content/uploads/2010/04/london-tube-speed.jpg" alt="" width="250" height="188" />Just wanted to jot down a quick blog post with my thoughts about two blog posts about speed. Matt Cutts has been writing both <a
href="http://www.mattcutts.com/blog/site-speed/">on his own blog</a> and <a
href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html">on the official Google Webmaster Central Blog</a> to tell everyone what we knew was coming: site speed is now an official ranking factor.</p><p>Now I want to remind you that I've been writing about site speed for quite a while. I wrote about <a
href="http://yoast.com/speed-up-wordpress/">WordPress template optimization</a> (a quite dated post now, btw) back in january 2008. And even in april 2007 I wrote about the effect a slow server could have on <a
href="http://yoast.com/how-to-get-google-to-crawl-your-site-faster/">how Google spiders your site</a>.</p><p>Now of course I do a <a
href="http://yoast.com/wordpress-podcast-listen/">weekly WordPress podcast</a> together with Frederick Townes, who is the creator of the awesome plugin <a
href="http://www.w3-edge.com/wordpress-plugins/w3-total-cache/">W3 Total Cache</a>, so I talk about speed a lot, and I've talked more than once about getting <a
href="http://yoast.com/articles/wordpress-hosting/">proper WordPress hosting</a>. And that is leading to what I wanted to tell you in this post: the fact that Google now officially has made site speed one of the (over 200) ranking factors, means that there can be no more excuses; you have to get proper hosting. <strong>Now</strong>.</p><p>Having said that, I should probably tell you that I recently switched to an even better CDN, which has made my site even faster. I'm now on <a
title="CDN for WordPress: using MaxCDN" href="http://yoast.com/articles/cdn-wordpress-maxcdn/">MaxCDN</a>, as well as still being hosted on a <a
href="http://yoast.com/out/vps/">VPS.net</a> VPS itself. My site now loads, depending on where you are in the world, in somewhere between 1 and 2,5 seconds. Am I finished? Of course not, there's always room for improvement. Has this speed helped my rankings? Probably. I do know one thing: I've had several clients whose sites were too slow, and who, after being properly optimized for speed, got better rankings.</p><p>And heck, if it's a ranking factor, this is one of the easiest ones to get right. There can be no discussion about it: 10 seconds is slow, 1 second is fast. Of course there's grey areas, but why settle when your site is still loading in more than say 2 seconds? There are several pieces of research that show that decreasing load times on pages leads to an increase in sales, pageviews and other desired actions. Of course it does. A fast site is nicer to hang around on. Nicer to purchase stuff on. Nicer to subscribe to. In short: a faster site is more likely to make you money.</p><p>Do I need to say it again? Make your site load as fast as you can. Install W3 Total Cache if you're on WordPress and you haven't done it yet. Get proper hosting if it's still slow after that (test with <a
href="http://tools.pingdom.com/">Pingdom</a>, f/i), and yes, I urge you to try <a
href="http://yoast.com/out/vps/">VPS.net</a> in that case. Go do it. Now!!!</p><p><a
href="http://yoast.com/site-speed-ranking-factor/">Site Speed is now  a Ranking Factor</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/site-speed-ranking-factor/feed/</wfw:commentRss> <slash:comments>56</slash:comments> <media:thumbnail url="http://cdn2.yoast.com/wp-content/uploads/2010/04/london-tube-speed-125x125.jpg" /> <media:content url="http://cdn3.yoast.com/wp-content/uploads/2010/04/london-tube-speed.jpg" medium="image"> <media:title type="html">london-tube-speed</media:title> <media:thumbnail url="http://cdn2.yoast.com/wp-content/uploads/2010/04/london-tube-speed-125x125.jpg" /> </media:content> </item> <item><title>CSS Image Replacement, what&#8217;s up Matt?</title><link>http://yoast.com/google-speed-sprites/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-speed-sprites</link> <comments>http://yoast.com/google-speed-sprites/#comments</comments> <pubDate>Thu, 25 Jun 2009 21:41:09 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[SEO]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Site Speed]]></category><guid
isPermaLink="false">http://yoast.com/?p=1502</guid> <description><![CDATA[<p>So I'm a big fan of CSS image replacement, for several reasons, most importantly because it allows for a semantically correct page while having some text replaced with images, but also because I love sprites and I love using them well. I've also always been in favor of the use of CSS Image Replacement for [...]</p><p><a
href="http://yoast.com/google-speed-sprites/">CSS Image Replacement, what&#8217;s up Matt?</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>So I'm a big fan of CSS image replacement, for several reasons, most importantly because it allows for a semantically correct page while having some text replaced with images, but also because I love sprites and I love using them well.</p><p>I've also always been in favor of the use of CSS Image Replacement for headings, while not wanting to fake the search engines, I've kept a simple rule: if you OCR the page, it should be <em>exactly</em> the same as when you read the HTML.</p><p>I've <a
href="http://www.davidnaylor.co.uk/replacing-h1-tags-with-images.html#comment-5843">said so</a> on Dave's blog back in January '08, and then, Matt Cutts <a
href="http://www.davidnaylor.co.uk/replacing-h1-tags-with-images.html#comment-5842">agreed with me</a>. Well, Dave pinged me today, <a
href="http://www.davidnaylor.co.uk/should-i-include-my-logo-text-using-alt-or-css.html">and blogged it too</a>, because in a video today on Youtube, <a
href="http://www.mattcutts.com/blog/">Matt</a> said something else:</p><p><a
href="http://yoast.com/google-speed-sprites/"><em>Click here to view the embedded video.</em></a></p><p>Now Matt, how would you go about doing something like my menu, here on <a
href="http://yoast.com">Yoast.com</a>, without doing CSS Image Replacement? You know that thing, <a
href="http://code.google.com/speed/">Speed</a> that your colleagues are going for? Well so am I. My navigation looks like this (when shrunk heavily:)</p><p><img
title="Navigation" src="http://cdn3.yoast.com/wp-content/themes/yoast-v2/img/nav.gif" alt="Navigation" width="580" /></p><p>And the HTML for it looks like this:</p><pre class="brush: xml; title: ; notranslate">&lt;ul id=&quot;nav&quot;&gt;
  &lt;li id=&quot;a1&quot;&gt;&lt;a href=&quot;http://yoast.com/wordpress/&quot;&gt;WordPress&lt;/a&gt;&lt;/li&gt;
  &lt;li id=&quot;a2&quot;&gt;&lt;a href=&quot;http://yoast.com/articles/&quot;&gt;Articles&lt;/a&gt;&lt;/li&gt;
  &lt;li id=&quot;a3&quot;&gt;&lt;a href=&quot;http://yoast.com/tools/&quot;&gt;Tools&lt;/a&gt;&lt;/li&gt;
  &lt;li id=&quot;a4&quot;&gt;&lt;a href=&quot;http://yoast.com/hire-me/&quot;&gt;Hire Me&lt;/a&gt;&lt;/li&gt;
  &lt;li id=&quot;u1&quot;&gt;&lt;a href=&quot;http://yoast.com/advertise-here/&quot;&gt;Advertise&lt;/a&gt;&lt;/li&gt;
  &lt;li id=&quot;u2&quot;&gt;&lt;a href=&quot;http://yoast.com/sitemap/&quot;&gt;Sitemap&lt;/a&gt;&lt;/li&gt;
  &lt;li id=&quot;u3&quot;&gt;&lt;a href=&quot;http://yoast.com/contact/&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
  &lt;li id=&quot;u4&quot;&gt;&lt;a href=&quot;http://yoast.com/speaking/&quot;&gt;Speaking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre><p>I think that's a pretty cool use of CSS, HTML and the possibilities it offers to mark up websites in clean, semantic code, with a great look, while going for speed. I mean, how would you do that with alt tags?</p><p>I hope you agree Matt, because otherwise you're contradicting yourself... <span
class="strike">And that even violates my own guidelines... It says "Google" in the text (notice the quotes?) and Google on the image (notice the lack of quotes?).</span><sup>*</sup> And by the way, the Google Webmaster blog <a
href="http://googlewebmastercentral.blogspot.com/2008/05/design-patterns-for-accessible.html">said something else</a> as well.</p><p>Maybe you were trying to be friendly to people and not make it too hard on them, or you didn't feel like telling the complete story because that confuses people. But please, please, please, be aware that there are some SEO's out there who actually trust what you tell them, like I do, and who don't like to be disappointed twice in a month.</p><p>You took away PageRank sculpting as a valid technique, which was a technique you said had its merits, although it was only used by a few, now you're going to take away CSS image replacement? A technique used by just about ANY decent web designer out there? I think a bit of clarification is needed here.</p><p>Otherwise I just might have to go with what <a
href="http://demib.dk/">Mikkel</a> said on this one as well... He said this, on a post of yours <a
href="http://www.mattcutts.com/blog/seo-advice-use-text/#comment-19798">back in '06</a> about using text:</p><blockquote><p><em>Matt, you know I allways use tons of text. Real text. All over my cloaked pages – and it works really well, thanks</em></p></blockquote><p><sup>*</sup> <strong>Update:</strong> as noted by <a
href="http://www.broes.nl/">Thijs</a> in the comments, the quotes are added by Safari's web inspector, they're not in the source.</p><p><a
href="http://yoast.com/google-speed-sprites/">CSS Image Replacement, what&#8217;s up Matt?</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/google-speed-sprites/feed/</wfw:commentRss> <slash:comments>52</slash:comments> <media:content url="http://www.youtube-nocookie.com/v/fBLvn_WkDJ4" duration="53"> <media:player url="http://www.youtube-nocookie.com/v/fBLvn_WkDJ4" /> <media:title type="html">CSS Image Replacement, what&#039;s up Matt? &#8226; Yoast</media:title> <media:description type="html">So I&#039;m a big fan of CSS image replacement, for several reasons, most importantly because it allows for a semantically correct page while having some text replaced with images, but also because I love sprites and I love using them well. I&#039;ve also always been in favor of the use of CSS Image Replaceme</media:description> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2012/01/css-image-replacement-whats-up-matt-8226-yoast-300x225.jpg" /> <media:keywords>CSS,Site Speed</media:keywords> </media:content> <media:thumbnail url="http://cdn3.yoast.com/wp-content/themes/yoast-v2/img/nav.gif" /> <media:content url="http://cdn3.yoast.com/wp-content/themes/yoast-v2/img/nav.gif" medium="image"> <media:title type="html">Navigation</media:title> </media:content> </item> <item><title>Magento performance hosting</title><link>http://yoast.com/magento-performance-hosting/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=magento-performance-hosting</link> <comments>http://yoast.com/magento-performance-hosting/#comments</comments> <pubDate>Fri, 12 Jun 2009 07:40:54 +0000</pubDate> <dc:creator>Joachim Houtman</dc:creator> <category><![CDATA[Magento]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Site Speed]]></category><guid
isPermaLink="false">http://yoast.com/?p=1489</guid> <description><![CDATA[<p>The system requirements of Magento are quite extensive, it requires at least PHP 5.2.0 extended with mcrypt, PDO_MySql and simplexml. For the database Magento needs at least MySQL 4.1.20 with InnoDB storage engine. At MagentoCommerce.com you can find a complete list of requirements. But how do you know if your server meets these system requirements? [...]</p><p><a
href="http://yoast.com/magento-performance-hosting/">Magento performance hosting</a> is a post by <a
rel="author" href="http://yoast.com/author/joachim/">Joachim Houtman</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>The system requirements of Magento are quite extensive, it requires at least PHP 5.2.0 extended with mcrypt, PDO_MySql and simplexml. For the database Magento needs at least MySQL 4.1.20 with InnoDB storage engine. At <a
href="http://www.magentocommerce.com/system-requirements">MagentoCommerce.com</a> you can find a complete list of requirements. But how do you know if your server meets these system requirements? <a
href="http://www.magentocommerce.com/knowledge-base/entry/how-do-i-know-if-my-server-is-compatible-with-magento">Check this</a> and follow these three steps.</p><h2>How to get the most out your Magento install?</h2><p>Magento is notorious for it speed and performance. But isn't necessary to have a killer web server to get very reasonable performance, it is all about the configuration of your server and the code of your template. However, after the 1.3 release there are some performance improvements, like <a
href="http://www.magentocommerce.com/blog/comments/magento-version-130-is-now-available/">Frontend Flat Catalog</a>, and people measure reduction of loading times up to 40%. Another recent development is the <a
href="http://www.magentocommerce.com/extension/1359/magento-compiler">Magento Compiler this module</a> compiles all Magento files. From tests this module gave between 25% to 50% better performance. This module is still in beta and should not be used in a production environment for now.</p><p>The question is, what else can you do to speed up your Magento install?</p><h4>Optimize your template for speed</h4><p>More information can be found at the <a
href="http://yoast.com/articles/magento-seo/#speed">Magento SEO</a> article.</p><h4>Enable compression of your files</h4><p>Mod_deflate allows output from your server to be compressed. To enable it for Magento edit your .htaccess, around line 74, in Magento root directory.</p><pre class="brush: plain; title: ; notranslate">&lt;ifmodule mod_deflate.c&gt;
############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
&lt;/ifmodule&gt;</pre><h4>Apache Module mod_expires</h4><p>mod_expires controls the setting of the Expires HTTP header and the max-age directive of the Cache-Control HTTP header in server responses. To enable Expires HTTP header for Magento you had to change the code underat your .htaccess to.</p><pre class="brush: plain; title: ; notranslate">&lt;ifmodule mod_expires.c&gt;
ExpiresActive On
ExpiresDefault &quot;access plus 1 month&quot;
&lt;/ifmodule&gt;</pre><h4>Use PHP Accelerator</h4><p>Install a PHP opcode cacher such as <a
href="http://www.magentocommerce.com/boards/viewthread/9882/">APC</a> or <a
href="http://xcache.lighttpd.net/">XCache</a>. This seems to deliver rather large improvement in the responsive of the Magento install. Some people note a reduce of loading time up to 70%.</p><h4>Tune your MySQL configuration</h4><p>You can modify the configuration of the MySQL server to take advantage of the server's RAM. The efficiency of this step are different, it seems to depends mainly on the number of products. When you have only 100 products, difference will be hardly to notice (below 100ms). But for shops with over 50.000 products there is a huge reduction of the loading time. To give an idea about the settings, for shops with only a limit number of products a query_cache_limit of 1MB will be enough. For larger stores the optimal query cache value can be 64MB. To get the optimal value you really need some testing. A good start point for your <a
href="http://dev.mysql.com/doc/refman/5.0/en/query-cache-configuration.html">Query Cache configuration</a> can be found here.</p><h4>Speed up your Cache files</h4><p>Magento makes extensive use of file-based storage for caching and session storage. The slowest component in a server is the hard drive, so if you use a memory-based file system such as tmpfs, you can save all those extra disk IO cycles by storing these temporary files in memory instead of storing them on your slow hard drive.</p><h5>Let´s do this with tmpfs</h5><p>Let's say your Magento install is at <code>/var/www/domain.com/</code> so your cache and session directories are <code>/var/www/domain.com/var/cache/</code> and <code>/var/www/domain.com/var/session/</code> For cache we will allocate a max of 256MB RAM and for sessions 64MB RAM. It is important to give access to everyone (e.g your webserver Apache)</p><pre class="brush: plain; title: ; notranslate">mount -t tmpfs -o size=256M,mode=0744 tmpfs /var/www/domain.com/var/cache/
mount -t tmpfs -o size=64M,mode=0744 tmpfs /var/www/domain.com/var/session/</pre><p>Now it might be a good idea to restore these volumes each time your server boots. Just add the following lines to your <code>/etc/fstab</code>:</p><pre class="brush: plain; title: ; notranslate">tmpfs /var/www/domain.com/var/cache/ tmpfs size=256,mode=0744 0 0
tmpfs /var/www/domain.com/var/session/ tmpfs size=64,mode=0744 0 0</pre><p>Please note, your tmpfs is temporary in the sense that nothing will be created on your hard drive. If you reboot, everything in tmpfs will be lost.</p><h5>Save the sessions in your database</h5><p>Another option for the sessions is to save them in your database. Magento supports this very well and it is one small step to make this work. Just edit <code>app/etc/local.xml</code>and set</p><pre class="brush: plain; title: ; notranslate">&lt;session_save&gt;&lt;![CDATA[files]]&gt;&lt;/session_save&gt;</pre><p>to</p><pre class="brush: plain; title: ; notranslate">&lt;session_save&gt;&lt;![CDATA[db]]&gt;&lt;/session_save&gt;</pre><p>it will then save all sessions in the database which is a much quicker access than the filesystem. When you use a cluster enviroment you had to use this option.</p><h4>Enable Apache KeepAlives</h4><p>Enable Apache KeepAlives, this allows persistent connections. These long-lived HTTP sessions allow multiple requests to be send over the same TCP connection, this can result in an almost 50% speedup in latency times for HTML documents with lots of images. An example setting can be:</p><pre class="brush: plain; title: ; notranslate">KeepAlive On
KeepAliveTimeout 2</pre><h3>Need more Magento Performance?</h3><p>Ok, you are a very successful online retailer and it is time to cluster, no problem. This means that one single-server doesn't have enough power to keep your customers happy and so you need a clustered environment with two or more servers. A first step can be to start using a Content Delivery Network (CDN).</p><p>The most easy to start is using an separate media server, e.g. media.domain.com. Magento has native support for this. You can configure 'Base Media URL' secure and unsecure under web configurations. This allow you to serve media form one server without the needs to synchronize any directory. Another option is to start using a Content Delivery Network (CDN) for delivering the static files like images. <a
class="aff clicky_log_outbound" href="http://yoast.com/out/maxcdn/">MaxCDN</a> has some options for Magento that are quite nice.</p><p>Another option is to use more than one database servers this tactic is called "database replication". One database will be the "master" and all others will be called "slaves". The master is the only database that accepts any sort of write-base queries. These write queries are then replicated to any of the slave servers in real-time. A post at the <a
href="http://www.magentocommerce.com/blog/comments/performance-is-key-notes-on-magentos-performance/">Magento blog</a> will get you on the right track.</p><h4>To summarize, 5 quick wins</h4><ul><li>move the the rules in the .htaccess files from the directories to <a
href="http://www.magentocommerce.com/boards/viewthread/36225/P0/#i9/">virtualhost configuration directives</a></li><li>install Xcache or APC PHP cache accelerator</li><li>clean up your template and layout</li><li>make sure Apache KeepAlives is enabled</li><li>use a memory-based file system for Magento's <code>var/cache/</code> and <code>var/session/</code> directory</li></ul><h3>Conclusion</h3><p>This article give a introduction how to improve your Magento site performance, none of these tips are revolutionary. Because every website's scenario is different, when you really want to get the most out of your Magento install you need to hire a professional. The only way to discover the optimal server configuration is testing, a really great tool to use is <a
href="http://browsermob.com/load-testing">Browsermob</a>, load testing with real web browsers so you will able to put even the Magento checkout process under load testing.</p><p>Now, all of the above you can’t do on your average host, you need a VPS that provides you full control of your server environment. Check out WestHost’s sister company, <a
href="http://yoast.com/out/vpsnet">VPS.net</a>, for a VPS environment that would give you full control.</p><p><a
href="http://yoast.com/magento-performance-hosting/">Magento performance hosting</a> is a post by <a
rel="author" href="http://yoast.com/author/joachim/">Joachim Houtman</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/magento-performance-hosting/feed/</wfw:commentRss> <slash:comments>39</slash:comments> </item> <item><title>Optimizing WordPress database performance</title><link>http://yoast.com/wordpress-performance-optimization/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-performance-optimization</link> <comments>http://yoast.com/wordpress-performance-optimization/#comments</comments> <pubDate>Mon, 30 Mar 2009 19:26:45 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[WordPress]]></category> <category><![CDATA[Blogging]]></category> <category><![CDATA[Site Speed]]></category> <category><![CDATA[WordPress Plugins]]></category> <category><![CDATA[WordPress Themes]]></category><guid
isPermaLink="false">http://yoast.com/?p=1471</guid> <description><![CDATA[<p>I've been working with a plugin that was mentioned on the wp-hackers list last week, called debug queries, to optimize the performance on some of my sites, including this one. The plugin was pretty easy to use, and I've improved a bit on it. I've sent the patch to Frank, who authored the original plugin, [...]</p><p><a
href="http://yoast.com/wordpress-performance-optimization/">Optimizing WordPress database performance</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>I've been working with a plugin that was mentioned on the wp-hackers list last week, called <a
href="http://wordpress.org/extend/plugins/debug-queries/">debug queries</a>, to optimize the performance on some of my sites, including this one. The plugin was pretty easy to use, and I've improved a bit on it. I've sent the patch to Frank, who authored the original plugin, and he was kind enough to immediately update the plugin.</p><p>When you're logged in as an admin, this plugin now shows the following info in an HTML comment tag in the footer of your pages:</p><ul><li>the query that was executed</li><li>the time it took to execute that query</li><li>the function path that led to this query, with the last function being the most likely to have created the query</li></ul><p>I've written down some of the things I encountered that you may encounter as well are the following:</p><h2>Empty options</h2><p>A lot of WordPress internal settings and plugin settings are stored in the options table. Values in this table take two forms: those which are autoloaded (which is the default) and those which are not. One of the first queries to the database that WordPress does once it starts loading a page, is the query that loads all options with autoload set to "yes". Hence, any call the an option after that, that happens on multiple pages, is weird. So when I saw this type of query happen a lot:</p><pre class="brush: sql; title: ; notranslate">SELECT option_value FROM wp_options
  WHERE option_name = 'headspace_global' LIMIT 1</pre><p>I was wondering what was happening. It turned out that that headspace_global option simply didn't exist, so it can't be autoloaded. This wasn't happening with just this option, but with several options. The solution is pretty simple: just add the option as an empty option to your database. This might break some plugins though, and if it does, you should contact the plugin author...</p><p>This is actually something plugin authors have to take note of: doing a <code>get_option</code> to check whether a certain option is set or not, is actually more expensive than just setting the option and leaving it empty...</p><p>Adding an option to the database is done like this in your MySQL database:</p><pre class="brush: sql; title: ; notranslate">insert into wp_options ( option_id, option_name, autoload)
  values ( '0', 'test', 'yes')</pre><p>It should be noted that I've emailed John Godley, who has built and maintains <a
href="http://urbangiraffe.com/plugins/headspace2/">HeadSpace2</a>, and this'll be fixed in the next release.</p><h2>Non cached queries</h2><p>This happens, of course. If you see a certain query being performed more than once during the pageload, that's something to optimize. Check what is causing the queries, and then either solve them, or email the responsible plugin or theme author with what you've seen (be sure to copy <em>all</em> the queries you see).</p><h2>Checking whether the blog is installed</h2><p>The very first query WordPress does is a query to check whether the blog is installed, it's a pretty useless query if your blog is up and running, so I wanted to get rid of it. There's no pretty fix to this, so we'll do it in the not so pretty way:</p><ol><li>open up <em>wp-includes/functions.php</em></li><li>find the function <code>is_blog_installed()</code></li><li>add <code>return true;</code> as the first line of the function, and you're done!</li></ol><h2>"Heavy" plugins</h2><p>It turns out, that of the 16 queries my site now still does for a single post page, 7 are for the related posts plugin I'm using, <a
href="http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/">YARPP</a>, and if you're wondering: yes that's making me reconsider the plugin. I'm going to try a couple other plugins and see how good they do in both relevance and (database) performance.</p><h2>Your experiences with WordPress performance optimization?</h2><p>Have any experience in optimizing your WordPress performance by tweaking database calls yourself? Any cases I've missed? Let me know in the comments!!</p><p><a
href="http://yoast.com/wordpress-performance-optimization/">Optimizing WordPress database performance</a> is a post by <a
rel="author" href="http://yoast.com/author/joost/">Joost de Valk</a> on <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/wordpress-performance-optimization/feed/</wfw:commentRss> <slash:comments>71</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching 3/17 queries in 0.005 seconds using apc
Object Caching 1406/1476 objects using apc
Content Delivery Network via cdn.yoast.com

Served from: yoast.com @ 2012-05-23 17:58:12 -->
