<?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>DQuinn.net &#187; content delivery network</title>
	<atom:link href="http://www.dquinn.net/tags/content-delivery-network/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dquinn.net</link>
	<description>Daniel J. Quinn&#039;s journal of WordPress, electronic publishing, and general geek culture.</description>
	<lastBuildDate>Thu, 22 Jul 2010 23:46:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Speed Up Your WordPress: Mastering Yahoo!&#8217;s Thirteen Performance Rules</title>
		<link>http://www.dquinn.net/mastering-yahoos-13-performance-rules/</link>
		<comments>http://www.dquinn.net/mastering-yahoos-13-performance-rules/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 12:39:53 +0000</pubDate>
		<dc:creator>Daniel Quinn</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[cache-control headers]]></category>
		<category><![CDATA[content delivery network]]></category>
		<category><![CDATA[dns lookups]]></category>
		<category><![CDATA[etags]]></category>
		<category><![CDATA[expires header]]></category>
		<category><![CDATA[facelift plugin]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gzip components]]></category>
		<category><![CDATA[http requests]]></category>
		<category><![CDATA[mediatemple]]></category>
		<category><![CDATA[minify]]></category>
		<category><![CDATA[wp super cache]]></category>
		<category><![CDATA[yslow]]></category>

		<guid isPermaLink="false">http://www.dquinn.net/?p=1439</guid>
		<description><![CDATA[The problem is that while the info is definitely out there, it's not all in one place (at least as far as I've browsed). Moreover, there are a couple of specific applications of the speed tricks that haven't been clearly laid out before (particularly, applying Cache-Control headers to dynamic images generated by the WordPress Facelift plugin, or the ideal .htaccess settings if your host is MediaTemple). In the interest of time (and laziness, our one true virtue), I've compiled an easy-to-apply series on YSlow that will get your WordPress sped up in no time.]]></description>
			<content:encoded><![CDATA[<p>All right guys, I know there are already countless articles about speeding up WordPress all over the Google. We've all vied for speed when it comes to preventing our fatass blogs from choking our readers' browsers. The problem is that while the info is definitely out there, it's not all in one place (at least as far as I've browsed). Moreover, there are a couple of specific applications of the speed tricks that haven't been clearly laid out before (particularly, applying cache-control headers to dynamic images generated by the WordPress Facelift plugin, or the ideal .htaccess settings if your host is MediaTemple). In the interest of time (and laziness, our one true virtue), I've compiled an easy-to-apply series on YSlow that will get your WordPress sped up in no time.</p>
<p>First thing's first:</p>
<p>Download <a href="https://addons.mozilla.org/en-US/firefox/addon/5369">YSlow for Firebug</a> if you haven't already, then skim over <a href="http://developer.yahoo.com/performance/rules.html">Yahoo!'s article</a> about the thirteen best practices for speeding up your website:</p>
<ol>
<li><strong>Minimize HTTP Requests</strong> - (<em>Don't make me download a lot of crap</em>.)</li>
<li><strong>Use a Content Delivery Network</strong> (<em>Have someone else serve your shit</em>.)</li>
<li><strong>Add an Expires or Cache-Control Header</strong> (<em>Stale bread is best for french toast. Really</em>.)</li>
<li><strong>GZip Components </strong>(<em>Zip it up!</em>)</li>
<li><strong>Put Stylesheets at the Top </strong>(<em>I need to see your site before I click on stuff, dumbass</em>.)</li>
<li><strong>Put Scripts at the Bottom </strong>(<em>See above</em>.)</li>
<li><del>Avoid CSS Expressions</del> (<em>Who uses them anyway?</em>)</li>
<li><del>Make Javascript and CSS External</del> (<em>Duh.</em>)</li>
<li><strong>Reduce DNS Lookups</strong> (<em>Don't be a social media slut</em>.)</li>
<li><strong>Minify Javascript and CSS </strong>(<em>Nobody wants to see your whitespace</em>.)</li>
<li><del>Avoid Redirects</del> (<em>I came to your site, not theirs.</em>)</li>
<li><del>Remove Duplicate Scripts</del> (<em>Duh</em>.)</li>
<li><strong>Configure ETags</strong> (<em>Yeah, I didn't know what these were either.</em>)</li>
</ol>
<p>I also recommend setting up WP Super Cache after all is said and done. So here we go:</p>
<ul>
<li><a href="http://www.dquinn.net/dont-make-me-download-a-lot-of-crap-yslow">The Unavoidables: Don't Make Me Download a Lot of Crap; or, Sometimes You Just Deserve an F From YSlow, You Shameless Self-Promoter</a></li>
<li><a href="http://www.dquinn.net/htaccess-adding-etags-gzip-expires-headers">Three Sexy Performance Rules for .htaccess on WordPress: Configure ETags, Gzip Compression, and Expires Headers</a></li>
<li><a href="minify-css-javascript-yui-compressor">Nobody Wants to See Your Whitespace: Minify CSS and Javascript using Yahoo!’s UI Compressor</a></li>
</ul>
<p>*<em> Full disclosure</em>: Where do I stand? My front page gets a big fat B (88%) for making you download a lot of crap:</p>
<div id="attachment_1441" class="wp-caption aligncenter" style="width: 404px"><img class="size-full wp-image-1441" title="YSlow Score: DQuinn.net" src="http://www.dquinn.net/images/yslow-rating.gif" alt="YSlow Score: DQuinn.net Home Page" width="394" height="396" /><p class="wp-caption-text">YSlow Score: DQuinn.net Home Page</p></div>
<p>YSlow gleefully reports that 32 CSS background images is downright <em>sinful</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dquinn.net/mastering-yahoos-13-performance-rules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Unavoidables: Don’t Make Me Download a Lot of Crap; or, Sometimes You Just Deserve an F From YSlow, You Shameless Self-Promoter</title>
		<link>http://www.dquinn.net/dont-make-me-download-a-lot-of-crap-yslow/</link>
		<comments>http://www.dquinn.net/dont-make-me-download-a-lot-of-crap-yslow/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 12:39:26 +0000</pubDate>
		<dc:creator>Daniel Quinn</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[content delivery network]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[lastfm]]></category>
		<category><![CDATA[minified]]></category>
		<category><![CDATA[minimize http requests]]></category>
		<category><![CDATA[netflix]]></category>
		<category><![CDATA[picasa]]></category>
		<category><![CDATA[stylesheets]]></category>
		<category><![CDATA[viacom]]></category>
		<category><![CDATA[yslow]]></category>

		<guid isPermaLink="false">http://www.dquinn.net/?p=1445</guid>
		<description><![CDATA[In all seriousness, however, Yahoo! recommends some (semi-doable) solutions. One idea is to combine all your CSS background images into one enormously fat image, and then use background-position to display portions of that image in different visual areas of the page.]]></description>
			<content:encoded><![CDATA[<p>Rule #1: <strong>Minimize HTTP Requests</strong> (<em>Don't make me download a lot of crap.</em>)</p>
<p>I'm guilty of this one, I admit: I get a nasty F from YSlow for this trespass. On my front page (we shall not speak of the horror that goes on behind the scenes, once you leave my front page), I make you download 32 CSS background images in order to see all the graphics on my website. Is there a better way to go about doing this? Absolutely! Am I too damned lazy to redesign my graphics to appease Rule #1? You bet!</p>
<p>In all seriousness, however, Yahoo! recommends some (semi-doable) solutions. One idea is to combine all your CSS background images into one enormously fat image, and then use background-position to display portions of that image in different visual areas of the page.</p>
<p>Quite frankly, this is an insane suggestion for a site with any degree of design complexity, but it can be done. You just have to be crazy enough.</p>
<p>Another way is to merge your stylesheets into a single .css file. Same for your scripts (you <a href="http://www.ejeliot.com/blog/72"><em>can</em> use a server-side language to combine them on the fly</a>, for example). Really, you shouldn't need to apply multiple stylesheets to a small-scale blog (or even a medium-sized website). The argument is that, if you can get your reader to download and cache all your styles up front (<a href="http://www.dquinn.net/minify-css-javascript-yui-compressor">minified and compressed</a>), her browsing experience across your entire site will be breezier, since that single CSS file encompasses all your selectors. If she's a good girl she doesn't empty her cache often, and we <a href="http://www.dquinn.net/htaccess-adding-etags-gzip-expires-headers">tell her browser to do so on a weekly or monthly basis</a>.</p>
<p>Closing recommendations:</p>
<ul>
<li>Use 1 stylesheet for the whole site. Minify and compress it.</li>
<li>Merge as many of your javascripts into one file as you can, then minify and compress that file. Some of them can be tricky to merge, due to the way they need to load on a page (such as Shadowbox or prototype setups), but if you can turn 5 scripts calls into 2, it's better than doing nothing at all.</li>
</ul>
<h2>Rule #2: I am my own CDN, goddamn it!</h2>
<p>Well, the truth is simply that if we weren't all talentless self-promoting hacks, we'd have the cash to shell out for our very own CDN (Content Delivery Network) and ace YSlow's number two performance rule: Use a Content Delivery Network. Too bad we subsist on Frosted Flakes and other people's half-baked marketing schemes. Rule #2 is an "unavoidable," yet another grim reminder that YSlow is just better than us, and there's nothing we can do about it.</p>
<p>Except cheat, of course. To "ace" rule #2, simply tell Firefox that your server is in fact a CDN, and YSlow will be none the wiser.</p>
<ol>
<li>Type about:config into Firefox.</li>
<li>Type "cdn" into the Filter search field.</li>
<li>You'll see extensions.firebug.yslow.cdnHostnames pop up; double-click on the Value field and then add your domain "mydomain.com" to the list. If there's domains in the list, separate them with commas and put a space before each domain: dquinn.net, mydomain.com, lame.com; etc.</li>
</ol>
<p>Refresh a lot, close Firefox, reboot your computer, take a shower, mow the lawn. Eventually YSlow will begrudgingly concede that your server counts as a CDN and give you much-deserved praise.</p>
<h2>Rule #9: Don't be a social media slut: Reduce DNS Lookups</h2>
<p>This one classifies among the unavoidables because, well, if you really want to integrate social media with your site, you're going to increase DNS lookups. Every lookup for a resource on a server that's not where your website is causes parallel downloading, which in turn slows everything down. On some pages, for example, I hook up with Google's Picasa, various investors' Netflix, and Viacom's Lastfm simultaneously to insert feed data into my pages (scandalous!).</p>
<p>My benefit is that these services help manage my activity so that <em>I</em> don't have to (yes, I realize that sounds very Orwellian), but the problem is that I'm passing <em>my</em> laziness off on <em>your</em> browser.</p>
<p><strong>Conclusion</strong>: Some sacrifices must be made. Try to connect to social media on inner pages, rather than landing pages, so as to speed up load times and reduce your bounce rate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dquinn.net/dont-make-me-download-a-lot-of-crap-yslow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
