<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.w3-edge.com/~d/styles/itemcontent.css"?><rss 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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>W3 EDGE</title>
	
	<link>http://www.w3-edge.com</link>
	<description>Innovation Redefined</description>
	<lastBuildDate>Sun, 06 May 2012 18:13:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.w3-edge.com/W3EDGE" /><feedburner:info uri="w3edge" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://superfeedr.com/hubbub" /><creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license><feedburner:emailServiceId>W3EDGE</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.w3-edge.com%2FW3EDGE" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.w3-edge.com%2FW3EDGE" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.w3-edge.com%2FW3EDGE" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.w3-edge.com%2FW3EDGE" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><item>
		<title>The Magic of Brand Building: Cultivating 3rd Party Credibility</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/2fKM3LtVHUk/</link>
		<comments>http://www.w3-edge.com/weblog/2012/04/driving-brand-lift/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 16:33:47 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[Business Development / Strategy]]></category>
		<category><![CDATA[brand lift]]></category>
		<category><![CDATA[internet marketing]]></category>
		<category><![CDATA[product market fit]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=1577</guid>
		<description><![CDATA[Lots of the activities we often do as marketers when applied correctly can pay dividends in the future if we properly work towards building credibility around our brand.]]></description>
			<content:encoded><![CDATA[<p>We take a holistic approach to internet marketing and while the recipes may change a bit year-to-year, the ingredients largely remain unchanged. It&#8217;s for that reason that I wanted to take look at some common tactics for driving traffic and converting it by creating brand trust / confidence. That is, common activities that marketers take when creating successful sites that drive traffic also work well in creating a memorable brand in the marketplace.</p>
<p>Growing a business is a balancing act of striking a balance between market relevance, market opportunity and market fit. Once you&#8217;ve reached that balance one of the key objectives is to have prospective customers associate your brand with the solution to their needs.</p>
<p align="center"><a href="http://www.w3-edge.com/?attachment_id=1576" rel="attachment wp-att-1576"><img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/04/product-market-fit.png?7983b6" alt="" title="Market Relevance, Market Opportunity, Market Fit" width="500" height="455" class="aligncenter size-full wp-image-1576" /></a></p>
<p>In terms of 3<sup>rd</sup> party credibility, I&#8217;m talking about all the various ways we as marketers can cultivate word of mouth, which is the single most effective way to develop customers and communities.</p>
<p align="center"><a href="http://www.w3-edge.com/?attachment_id=1575" rel="attachment wp-att-1575"><img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/04/creating-trust.png?7983b6" alt="" title="Creating Trust &amp; Credibility" width="500" height="496" class="aligncenter size-full wp-image-1575" /></a></p>
<p>Everyone is familiar with countless examples of 3rd party credibility at work directly or indirectly, let&#8217;s take a look at some:</p>
<p><strong>Link Building</strong><br />
Search Engines provide millions of recommendations every day, all of these referrals are hinged on the link juice that flows from one credible site to another online (otherwise known as Page Rank). Of the more than 200 ranking factors that Google uses and the countless filters that search engines apply in an effort to fight spam, back links remain one of the most significant signals that a site is worthy of appearing in search engine result pages (SERPs).</p>
<p><strong>Content Marketing Strategy</strong><br />
Every successful site today needs to have a healthy content strategy, among the numerous techniques to create engaging content whether evergreen (timelessly relevant) or seasonal etc, one of the most common ways to create or drive brand credibility is by having your company&#8217;s experts contribute to content other authoritative sites in your niche.</p>
<p><strong>Testimonials / Client List</strong><br />
Today&#8217;s testimonials may take shape in a number of ways, not the least of which is badges clients can sport on their sites indicating their support of your brand. Customers may also pen a short inspirational sentence or two talking about their experience with your brand and the value your product(s) or service(s) created for them.</p>
<p><strong>Reviews / Case Studies</strong><br />
When publications that your customers trust choose to provide an in depth review of your company and it&#8217;s offerings, you&#8217;re definitely on your way to creating a strong brand. By the same token, case studies are an opportunity share an in depth look at the “before and after” results clients realized in working with you. Since case studies normally require a blessing from the client, this approach is helpful for prospective customers who may relate to the story or otherwise discover more about how your product(s) or service(s) can be used.</p>
<p><strong>Brand Associations / Partnerships</strong><br />
Offline or on, creating close proximity of your brand with others your target market trusts is often a very good thing. In cases where you can create an offer by working together with a brand that compliments yours, not only does this save time and hopefully money for your customers, but it also creates an even more profound brand experience. Associations and partnerships can take numerous forms, however the primary goal here is to generate brand lift – awareness about your brand and your value proposition in the marketplace.</p>
<p>So what are the keys to growing brand recognition, trust and creating brand lift? Well it depends on your business a bit, but in essence we need to think through a strategy to apply the principles above in an engaging way without sacrificing any opportunity to create value while differentiating your business from the competition. The following matrix provides a good framework to think about how to create the credibility that grows brand equity:</p>
<p align="center"><a href="http://www.w3-edge.com/?attachment_id=1574" rel="attachment wp-att-1574"><img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/04/creating-credibility.png?7983b6" alt="" title="Creating Credibility" width="500" height="405" class="aligncenter size-full wp-image-1574" /></a></p>
<p>Have any great examples of companies that are doing a great job of creating brand equity online today via their efforts? Share by leaving a comment.</p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=2fKM3LtVHUk:gJ4YB8btkIo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=2fKM3LtVHUk:gJ4YB8btkIo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=2fKM3LtVHUk:gJ4YB8btkIo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=2fKM3LtVHUk:gJ4YB8btkIo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=2fKM3LtVHUk:gJ4YB8btkIo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=2fKM3LtVHUk:gJ4YB8btkIo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=2fKM3LtVHUk:gJ4YB8btkIo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=2fKM3LtVHUk:gJ4YB8btkIo:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/2fKM3LtVHUk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2012/04/driving-brand-lift/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2012/04/driving-brand-lift/</feedburner:origLink></item>
		<item>
		<title>How to integrate a CDN with W3 Total Cache</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/aAvdFAPCTIg/</link>
		<comments>http://www.w3-edge.com/weblog/2012/03/how-to-integrate-a-cdn-with-w3-total-cache/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 13:00:14 +0000</pubDate>
		<dc:creator>Willie Jackson</dc:creator>
				<category><![CDATA[W3 Total Cache]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=1369</guid>
		<description><![CDATA[The integration of a Content Delivery Network (CDN) into your website remains one of the easiest and most cost-effective ways to improve web performance. W3 Total Cache supports several CDN types (self-hosted, origin pull, and origin push) and makes the integration into WordPress simple. In this post, I&#8217;ll show you how to integrate MaxCDN&#8217;s origin [...]]]></description>
			<content:encoded><![CDATA[<p>The integration of a Content Delivery Network (CDN) into your website remains one of the easiest and most cost-effective ways to improve web performance. W3 Total Cache supports several CDN types (self-hosted, origin pull, and origin push) and makes the integration into WordPress simple.</p>
<p>In this post, I&#8217;ll show you how to integrate MaxCDN&#8217;s origin pull CDN product into W3TC. <a href="http://bit.ly/pXZ4t1">MaxCDN&#8217;s product</a> remains one of the most commonly used CDNs in W3TC because it&#8217;s both affordable, simple to set up, and requires virtually no maintenance once integrated.</p>
<h2><strong>MaxCDN configuration steps</strong></h2>
<p>First, <a href="http://bit.ly/pXZ4t1">create MaxCDN account</a> if you haven&#8217;t already. When you log in, click &#8220;Manage Zones&#8221;<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/click-manage-zones1.png?7983b6" alt="" title="click-manage-zones" width="710" height="566" class="aligncenter size-full wp-image-1541" /><br />
Then click &#8220;Create Pull Zone&#8221;<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/create-pull-zone1-710x459.png?7983b6" alt="" title="create-pull-zone" width="710" height="459" class="aligncenter size-large wp-image-1527" /><br />
Configure your new Pull Zone and then click &#8220;Create&#8221;<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/click-create.png?7983b6" alt="" title="click-create" width="710" height="329" class="aligncenter size-full wp-image-1543" /><br />
Make a note of your CDN URL, which we&#8217;ll use in a moment<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/pull-zone-created1.png?7983b6" alt="" title="pull-zone-created" width="710" height="378" class="aligncenter size-full wp-image-1545" /></p>
<p>We could technically integrate our CDN now, but W3TC can communicate with the MaxCDN (allowing purge requests to be sent directly from WordPress) if we set up the API connection.</p>
<p>Click &#8220;my settings&#8221; in the top-right corner<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/click-settings.png.png?7983b6" alt="" title="click-settings" width="390" height="38" class="aligncenter size-full wp-image-1529" /><br />
Click &#8220;API&#8221; in the sub-menu that appears<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/click-api1-710x26.png?7983b6" alt="" title="click-api" width="710" height="26" class="aligncenter size-large wp-image-1530" /><br />
You&#8217;ll notice that we don&#8217;t have any API Keys configured. Click &#8220;Add Key&#8221;<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/click-add-key1-710x214.png?7983b6" alt="" title="click-add-key" width="710" height="214" class="aligncenter size-large wp-image-1532" /><br />
Add a description if you&#8217;d like and then click &#8220;Save&#8221;<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/add-api-key-710x211.png?7983b6" alt="" title="add-api-key" width="710" height="211" class="aligncenter size-large wp-image-1473" /><br />
Your API ID and Key will appear here, I&#8217;ve removed my Key from the screenshot<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/key-and-id-710x84.png?7983b6" alt="" title="key-and-id" width="710" height="84" class="aligncenter size-large wp-image-1474" /></p>
<p>That&#8217;s all we need to do in MaxCDN right now. In the next section, we&#8217;ll configure W3 Total Cache using the pull zone we just created.</p>
<p><strong><br />
<h2>W3 Total Cache configuration steps:</h2>
<p></strong><br />
Once logged into WordPress, navigate to the W3 Total Cache by clicking on the &#8220;Performance&#8221; tab towards the bottom of your Dashboard sidebar. From the General Setting page, ensure that CDN is <strong>disabled</strong> and select &#8220;NetDNA / MaxCDN&#8221; from dropdown menu<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/w3tc-select-maxcdn3-710x210.png?7983b6" alt="" title="w3tc-select-maxcdn" width="710" height="210" class="aligncenter size-large wp-image-1486" /><br />
Navigate to the CDN Settings. Enter your API ID and Key, your CDN URL, and click &#8220;Test NetDNA&#8221;<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/test-passed-710x345.png?7983b6" alt="" title="test-passed" width="710" height="345" class="aligncenter size-large wp-image-1487" /></p>
<p>You should see &#8220;Test passed&#8221; in green if you&#8217;ve done everything correctly. Save your settings and then navigate back to the General Settings page. Enable the CDN by clicking the check box and saving your settings. </p>
<p><strong>Power user tip #1:</strong> Configure a subdomain like <code>cdn.yourdomain.com</code> so we can get rid of long MaxCDN URL. W3 Total Cache lets you configure multiple CDN subdomains, so we&#8217;ll go ahead and configure a few.</p>
<p>Log back into MaxCDN and from the dashboard, click &#8220;Manage&#8221; next to the Pull Zone you created:<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/click-manage-710x119.png?7983b6" alt="" title="click-manage" width="710" height="119" class="aligncenter size-large wp-image-1515" /><br />
Then click &#8220;Settings&#8221; right above the Zone Configuration<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/cdn-settings1.png?7983b6" alt="" title="cdn-settings" width="393" height="52" class="aligncenter size-full wp-image-1533" /><br />
You&#8217;re presented with an overview of your Pull Zone settings<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/cdn-settings.png?7983b6" alt="" title="cdn-settings" width="480" height="595" class="aligncenter size-full wp-image-1517" /><br />
The section we want is labeled Custom Domains. Click &#8220;Edit&#8221; and enter your desired subdomains<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/custom-subdomains.png?7983b6" alt="" title="custom-subdomains" width="477" height="333" class="aligncenter size-full wp-image-1519" /><br />
Click &#8220;Update&#8221; and then navigate to your DNS control panel. Create a CNAME entry for every subdomain that you entered in MaxCDN, and alias them to your MaxCDN URL<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/cname-aliases-710x125.png?7983b6" alt="" title="cname-aliases" width="710" height="125" class="aligncenter size-large wp-image-1520" /><br />
Once <a target="_blank" href="http://hosting.intermedia.net/support/kb/?id=797">DNS propagates</a>, you can update W3TC with the subdomains and replace the long CDN URL with the new, custom ones<br />
<img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2012/01/subdomains-integrated-710x368.png?7983b6" alt="" title="subdomains-integrated" width="710" height="368" class="aligncenter size-large wp-image-1521" /></p>
<p><strong>Power user tip #2:</strong> We can further improve page loads speeds by using a completely different domain for the CDN, ensuring that the domain is <a target="_blank" href="http://developer.yahoo.com/performance/rules.html#cookie_free">cookie-free</a>. So if your site is <code>www.domain.com</code>, you could set <code>domain.<strong>net</strong></code> as the domain to use with your CDN. <em>Note: this assumes that you own <code>domain.net</code> and have access to its DNS control panel.</em><br />
That&#8217;s it! If you have any issues getting it working, <a href="http://www.w3-edge.com/contact/">drop us a line</a>. If you&#8217;d like us to set this up for you, we&#8217;re <a href="http://www.w3-edge.com/wordpress-plugins/w3-total-cache/#form">happy to help</a>. </p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=aAvdFAPCTIg:DffZEdDbGOQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=aAvdFAPCTIg:DffZEdDbGOQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=aAvdFAPCTIg:DffZEdDbGOQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=aAvdFAPCTIg:DffZEdDbGOQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=aAvdFAPCTIg:DffZEdDbGOQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=aAvdFAPCTIg:DffZEdDbGOQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=aAvdFAPCTIg:DffZEdDbGOQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=aAvdFAPCTIg:DffZEdDbGOQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/aAvdFAPCTIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2012/03/how-to-integrate-a-cdn-with-w3-total-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2012/03/how-to-integrate-a-cdn-with-w3-total-cache/</feedburner:origLink></item>
		<item>
		<title>How to configure W3 Total Cache to work with HTTPS and SSL</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/amgAo0bE390/</link>
		<comments>http://www.w3-edge.com/weblog/2011/11/how-to-w3tc-https-ssl/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 21:42:47 +0000</pubDate>
		<dc:creator>Anthony Somerset</dc:creator>
				<category><![CDATA[CSS / Markup / Code]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[http transactions]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[w3 total cache]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=1321</guid>
		<description><![CDATA[We&#8217;ve worked with a few sites recently that use HTTPS to secure certain parts of there site. Some of the pages are SSL protected due to the data captured (pages processing registration or financial information, for example). When using a CDN in conjunction with HTTPS / SSL, customers often find that the CDN product they [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve worked with a few sites recently that use <abbr title="Hypertext Transfer Protocol Secure">HTTPS</abbr> to secure  certain parts of there site. Some of the pages are <abbr title="Secure Sockets Layer">SSL</abbr> protected due to the data captured (pages processing registration or financial information, for example).</p>
<p>When using a <abbr title="Content Delivery Network">CDN</abbr> in conjunction with <abbr title="Hypertext Transfer Protocol Secure">HTTPS</abbr> / <abbr title="Secure Sockets Layer">SSL</abbr>, customers often find that the <abbr title="Content Delivery Network">CDN</abbr> product they use  lacks an <abbr title="Hypertext Transfer Protocol Secure">HTTPS</abbr> endpoint, or the one provided is different from the standard, non-<abbr title="Hypertext Transfer Protocol Secure">HTTPS</abbr> one.</p>
<p>One simple solution to this would be to force the loading of your <abbr title="Content Delivery Network">CDN</abbr> assets via <abbr title="Hypertext Transfer Protocol">HTTP</abbr> like so:</p>
<p><img class="alignnone size-full wp-image-1322" src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-11-at-19.50.27.jpg?7983b6" alt="" width="649" height="198" /></p>
<p>This leads to one other issue, however&#8230;</p>
<h2>Why dont I see the Blue/Green Bar?</h2>
<p><img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2011/11/https.jpg?7983b6" alt="" title="https" width="310" height="35" class="alignnone size-full wp-image-1340" /><br />
When a page and all of its assets are served over HTTPS, modern web browsers provide a visual indicator—usually in green or blue. This is designed to provide visitors with the confidence to shop or register on your site.</p>
<p>When your HTTPS pages are served with &#8220;mixed content&#8221; (as it sounds, this is a situation in which HTTPS and HTTP assets are both being loaded on a single page, this indicator does not appear. This could happen for any number of reasons — all beyond the scope of this article — but there&#8217;s a simple solution for addressing this with only a few short lines of code.</p>
<h2>Disabling CDN on HTTPS pages only</h2>
<p>W3 Total Cache ships with documentation (Performance > FAQ) that provides instructions on disabling each of the caching types. Combined with a simple PHP function and WordPress hook, we&#8217;re able to conditionally disable the CDN for pages that utilize HTTPS.</p>
<p>Add the following code snippet to your theme&#8217;s functions.php file:</p>
<pre class="brush: plain; title: ; notranslate">add_action('wp_head','nocdn_on_ssl_page');
function nocdn_on_ssl_page() {
if ($_SERVER['HTTPS'] == &quot;on&quot;) {
define('DONOTCDN', true);
}
}</pre>
<p>This of course assumes that you have W3 Total Cache active and that the only assets being served over HTTP are originating from your CDN (otherwise, you might need something like <a href="http://wordpress.org/extend/plugins/wordpress-https/">this</a>). When you reload a page being served over HTTPS, you should notice that the familiar green / blue indicator appears in your address bar. </p>
<p><em>Note: we&#8217;ve found that <a href="http://tracking.maxcdn.com/c/15753/3982/378">MaxCDN</a>&#8216;s SSL support and easy integration with W3 Total Cache provides a solid solution for many customers.</em></p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=amgAo0bE390:JIz8qPvOWpY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=amgAo0bE390:JIz8qPvOWpY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=amgAo0bE390:JIz8qPvOWpY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=amgAo0bE390:JIz8qPvOWpY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=amgAo0bE390:JIz8qPvOWpY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=amgAo0bE390:JIz8qPvOWpY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=amgAo0bE390:JIz8qPvOWpY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=amgAo0bE390:JIz8qPvOWpY:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/amgAo0bE390" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2011/11/how-to-w3tc-https-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2011/11/how-to-w3tc-https-ssl/</feedburner:origLink></item>
		<item>
		<title>Security Alert for W3 Total Cache</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/fW00ncmChiI/</link>
		<comments>http://www.w3-edge.com/weblog/2011/06/security-alert-w3-total-cache/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 22:56:16 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[w3 total cache]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=1284</guid>
		<description><![CDATA[On the heels of a post by Matt Mullenweg, I thought it best to also make a post here to put any confusion that may ensue to rest: Suspicious activity in wordpress.org plugin was noticed and a few plugins were found to be compromised. Malicious code was added to these plugins creating backdoor access to [...]]]></description>
			<content:encoded><![CDATA[<p>On the heels of a post by <a href="http://wordpress.org/news/2011/06/passwords-reset/">Matt Mullenweg</a>, I  thought it best to also make a post here to put any confusion that may ensue to  rest:</p>
<p>Suspicious activity in wordpress.org plugin was noticed and  a <a href="http://www.addthis.com/blog/2011/06/21/security-alert-for-addthis-wordpress-plugin/">few</a> <a href="http://www.bravenewcode.com/2011/06/important-security-update-wptouch-1-9/">plugins</a> were found to be compromised. Malicious code was added to these plugins  creating backdoor access to the web server. You would only be affected if you  downloaded an update of the plugin today.</p>
<p>Once we were notified of the issue, we made sure that the  current stable release (0.9.2.2) was restored to normal in addition to  releasing the current development version as (0.9.2.3) allowing users to get an  upgrade notification in WordPress Admin.</p>
<p>Needless to say, if you haven’t already upgraded, we  encourage you to do so straight away via the WordPress Admin’s plugins page, it  just takes a minute. If you did not upgrade today, you site should be secure,  however we encourage you to update so that your site can take advantage of the  additional performance optimizations included with each release.</p>
<p>  As many of you have learned from working with us, W3TC seeks  to improve the search engine ranking, conversion rates and user experience of  web sites for free. We welcome you to submit a bug submission form from the  support tab of the plugin to help us identify issues in new features and old  features as the performance framework is used in more and more cases.</p>
<p>As always, thanks for your understanding and participation.</p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=fW00ncmChiI:kmeEO_e9wsQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=fW00ncmChiI:kmeEO_e9wsQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=fW00ncmChiI:kmeEO_e9wsQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=fW00ncmChiI:kmeEO_e9wsQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=fW00ncmChiI:kmeEO_e9wsQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=fW00ncmChiI:kmeEO_e9wsQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=fW00ncmChiI:kmeEO_e9wsQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=fW00ncmChiI:kmeEO_e9wsQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/fW00ncmChiI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2011/06/security-alert-w3-total-cache/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2011/06/security-alert-w3-total-cache/</feedburner:origLink></item>
		<item>
		<title>Optimize the Performance of Widgets, Buttons &amp; More</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/D8S9gY2WmME/</link>
		<comments>http://www.w3-edge.com/weblog/2011/02/optimize-social-media-button-performance/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 19:08:59 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[Usability]]></category>
		<category><![CDATA[User Interface / Experience]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[start render]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=1207</guid>
		<description><![CDATA[Too much 3rd Party content can slow down the growth of your site, reduce engagement, conversions and more. Learn how you can still incorporate widgets, plugins etc and still have a site that does not force your visitors to leave and never return.]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.stevesouders.com/blog/2010/09/30/render-first-js-second/">recent  post</a> by web site performance thought leader (and user experience expert as  a result) Steve Souders reminds me of a vital nuance that&#8217;s not even clearly  expressed in the popular Yahoo! <a href="http://developer.yahoo.com/performance/rules.html">performance rules</a>;  namely render the page first, THEN add JavaScript. One of the largest  challenges with this objective is addressing the performance of <a href="http://www.stevesouders.com/blog/2010/02/17/performance-of-3rd-party-content/">3rd  party resources</a>. With social media demanding more widgets, plugins, badges  and buttons etc available every day and a lack of awareness on the part of  developers about how to make sure that their buttons are as effective and  valuable as possible, sometimes performance concerns are overlooked.</p>
<p>Ask  yourself, what is the value of lost visitors due to a slow loading web site?  There are literally page views &#8220;locked&#8221; away in those slow loading pages of  your web site that can be &#8220;unlocked&#8221; with a few quick changes. Simply put, having  numerous 3rd party elements in your site can ultimately be its  downfall.</p>
<p>For  example, simply adding the <a href="http://developers.facebook.com/docs/plugins/">Facebook fan box</a> will dramatically  slow a page in many cases, slow down the browsers due to large memory usage and  usually lots of additional download time making the page &#8220;not ready&#8221; until  everything is downloaded. So if your goal is to optimize your site for social  media and make sure that your bounce rates are low, time on site is high, page  views per visit grows and Google has 1 less reason to rank your site poorly,  keep reading.</p>
<p>So,  let&#8217;s take a look at the implementations you need for your site that make sure  your visitors see your content before your widgets. From an idealistic point of  view the &#8220;start render time,&#8221; or when the browser actually starts to paint  the page, these tips will not bring this value as close to zero as I would  like, however they will definitely improve user experience. Keep in mind that  there are numerous other steps to be taken or possibilities, but we&#8217;re focusing  on reducing the negative impact of widgets characterized above. What follows is  HTML5 code for various cases:</p>
<p><strong><a href="http://about.digg.com/downloads/button/smart">Digg</a>:<br />
</strong>After working with Digg on some their latest  improvements, I&#8217;m happy to share an implementation that is much more  user-centric; if you have multiple buttons per page, this is especially  valuable:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a class=&quot;DiggThisButton DiggThisButtonMedium&quot;
        href=&quot;http://digg.com/submit?url=http://domain.com/&amp;amp;title=Post%20Title&quot;
        rel=&quot;nofollow external&quot;&gt;&lt;img src=&quot;http://widgets.digg.com/img/button/diggThisMedium.png&quot;
        width=&quot;50&quot; height=&quot;61&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
</pre>
<p>Then, before &lt;/body&gt; embed the following only once and multiple buttons will  still work in a single page:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;http://widgets.digg.com/buttons.js&quot;&gt;&lt;/script&gt;
</pre>
<p>This  implementation allows the page to render and then draws the buttons later.</p>
<p><strong><a href="http://www.stumbleupon.com/badges/landing/">StumbleUpon</a>:<br />
</strong>SU, has recently updated their buttons, which is  good, but what follows is not truly asynchronous and definitely not as optimal  as the Digg button above because of the multiple JS embeddings per page, at  least this implementation won&#8217;t block the page render. First position the  button with a unique ID wherever you wish:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;id&quot;&gt;&lt;/div&gt;
</pre>
<p>Then  for each button make sure that an embedding exists above &lt;/body&gt; so the  button will be rendered in the location:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;http://www.stumbleupon.com/hostedbadge.php?s=5&amp;r=http%3A%2F%2Fdomain.com%2F&amp;a=1&amp;d=id&quot;&gt;&lt;/script&gt;
</pre>
<p><strong><a href="http://www.linkedin.com/publishers">LinkedIn</a>:</strong><br />
The LinkedIn button implementation is also not perfect, but a carries a smaller  total payload than the StumbleUpon buttons when there are multiple buttons per  page:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;in/share&quot; data-counter=&quot;top&quot;&gt;&lt;/script&gt;
</pre>
<p>Then  at the bottom of the page a single JS embedding with power all of the buttons:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;http://platform.linkedin.com/in.js&quot;&gt;&lt;/script&gt;
&lt;/body&gt;
</pre>
<p><strong><a href="http://tweetmeme.com/about/retweet_button">Tweetmeme</a>:<br />
</strong>I still recommend this service because it also  generates a usable button for feeds you may syndicate, while the official  twitter button still does not. The best way to use this widget is via &lt;iframe&gt;  as iframes do not block the render of a page, too many though can still slow  down a page render or cause other anomalies in some browsers. Anyway, here&#8217;s what  that implementation looks like:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;iframe scrolling=&quot;no&quot; height=&quot;61&quot; width=&quot;50&quot; frameborder=&quot;0&quot;
        src=&quot;http://api.tweetmeme.com/widget.js?url=http://yoururl.com/&amp;amp;style=normal&amp;amp;source=yoururl&amp;amp;service=bit.ly&quot;&gt;&lt;/iframe&gt;
</pre>
<p><strong><a href="http://twitter.com/goodies/tweetbutton">Twitter</a>:<br />
</strong>The official twitter button works pretty well,  it doesn&#8217;t have retweet data for everything ever shared on your site as they  only started gathering that data when they launched the button (so use  tweetmeme for those older stories if you can), but it does have a reliable  sharing experience for users, just make sure that if you use the following  implementation:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;iframe class=&quot;twitter-share-button&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;
        src=&quot;http://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%domain.com%2F&amp;amp;via=twitterhandle&amp;amp;text=Post%20Title&amp;amp;count=vertical&quot;
        width=&quot;55&quot; height=&quot;63&quot;&gt;&lt;/iframe&gt;
</pre>
<p>You  can of course use a technique similar to LinkedIn or Digg, but the JS will  actually create an &lt;iframe&gt; anyway, so this approach is more performance  as it won&#8217;t block the page render and yields the same net result. For those  using <a href="http://dev.twitter.com/anywhere/begin">@anywhere</a> to add  hovercards and other twitter functionality to their sites, the technique that  apples for Diff of LinkedIn can be applied.</p>
<p><strong><a href="http://help.sharethis.com/">ShareThis</a>:</strong><br />
Among the most popular buttons available, their implementation has dramatically  improved as the total payload for JavaScript has been reduced, although the  script loads synchronously still unfortunately. On the positive side, the  buttons are decoupled from the scripts that embed them. The instructions  recommend adding the scripts to the &lt;head&gt;, but I recommend adding them  before &lt;/body&gt; or after &lt;body&gt; if you&#8217;re having any problems.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;span class=&quot;st_sharethis&quot;&gt;&lt;/span&gt;
&lt;script&gt;
        var __st_loadLate=true; // if __st_loadLate is defined then the widget will not load on domcontent ready
        stLight.options({
                publisher:'12345',
                tracking:'google',
                embeds:'true'
        });
&lt;/script&gt;
</pre>
<p>And  of course, activate the button after the content is displayed by placing the  script that powers the widgets on the page as shown:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;http://w.sharethis.com/button/buttons.js&quot;&gt;&lt;/script&gt;
&lt;/body&gt;
</pre>
<p><strong><a href="http://www.google.com/buzz/api/admin/configPostWidget">Google Buzz</a>:</strong><br />
Implementing the Buzz button like many others that are reasonably well done  allow for a single JS embed to support multiple button instances in a single  page:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;http://www.google.com/buzz/post&quot; class=&quot;google-buzz-button&quot; title=&quot;Google Buzz&quot;
        data-message=&quot;Here's Buzz!&quot; data-url=&quot;http://www.google.com/buzz&quot; data-locale=&quot;en&quot;
        data-button-style=&quot;normal-count&quot;&gt;&lt;/a&gt;
</pre>
<p>Although  not asynchronous the JS embed can still be placed above the &lt;/body&gt; tag  as shown:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;http://www.google.com/buzz/api/button.js&quot;&gt;&lt;/script&gt;
</pre>
<p><strong><a href="http://www.google.com/friendconnect/">Google  Friend Connect</a> (AdSense &amp; Gadgets):</strong><br />
It&#8217;s critical to remember that you only need to embed the Friend Connect JS  library once per page. If you&#8217;re minifying the file be sure to make sure your  cache is frequently updated as the code is changed quite often and an old cache  may cause anomalies on your site. The reason why this tip is notable is that  this implementation supports AdSense as well as all of the other Gadgets with a  single embed, so if you have multiple AdSense placements in a page, this is the  way to go:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;body&gt;
&lt;script src=&quot;http://www.google.com/friendconnect/script/friendconnect.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Specify where the placement will appear using a div with a unique ID:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;id&quot;&gt;&lt;/div&gt;
&lt;script&gt;
google.friendconnect.container.setParentUrl('/' /* location of rpc_relay.html and canvas.html */);
google.friendconnect.container.renderAdsGadget({
        id: 'id',
        height: 90,
        site: 'XXXXXXXXXXXXXXX','prefs':{&quot;google_ad_client&quot;:&quot;ca-pub-XXXXXXXXXXXXXXX&quot;,
                &quot;google_ad_host&quot;:&quot;pub-XXXXXXXXXXXXXXX&quot;,&quot;google_ad_slot&quot;:&quot;XXXXXXXXXX&quot;,&quot;google_ad_format&quot;:&quot;728x90&quot;}
});
&lt;/script&gt;
</pre>
<p>Then you can obviously embed numerous other placements or gadgets all powered by a single JS embedding. Unfortunately the JS embedding is not asynchronous, but at least it&#8217;s better than having lots of AdSense JS calls throughout a page or even additional calls for your gadgets.</p>
<p><strong>Facebook Share / Facebook Like / Other <a href="http://developers.facebook.com/docs/plugins/">Facebook plugins</a>:<br />
</strong>Use the XFBML implementation described on the  various plugin pages; this implementation does interfere with page render and  positioning it after the &lt;body&gt; tag means that each of the plugins used  in a given page will load at the same time as soon as the scripts have loaded.  No need for multiple scripts, which have to be downloaded repeatedly and slow  down the page render etc etc.</p>
<p>Add  support of the XFBML markup to the document:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; dir=&quot;ltr&quot; lang=&quot;en-US&quot;
        xmlns:x2=&quot;http://www.w3.org/2002/06/xhtml2&quot;
        xmlns:fb=&quot;http://www.facebook.com/2008/fbml&quot;&gt;
&lt;head&gt;
</pre>
<p>The embed itself:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;body&gt;
&lt;div id=&quot;fb-embed&quot;&gt;&lt;/div&gt;
&lt;script&gt;
window.fbAsyncInit = function() { FB.init({appId: 'XXXXXXXXXXXXXXX', status: true, cookie: true, xfbml: true}); };
(function() {
	var e = document.createElement('script'); e.async = true;
	e.src = document.location.protocol +
	'//connect.facebook.net/en_US/all.js';
	document.getElementById('fb-embed').appendChild(e);
	}());
&lt;/script&gt;
</pre>
<p>Then place the Like Box itself where you desired:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;fb:like profile_id=&quot;XXXXXXXXXXXX&quot; href=&quot;http://domain.com/&quot; width=&quot;450&quot;&gt;&lt;/fb:like&gt;
</pre>
<p><strong><a href="http://www.meebo.com/websites/">Meebo  Bar</a>:<br />
</strong>Meebo has actually taken a <a href="https://bar.meebo.com/media/img/bar-performance.pdf">number of strides</a> (with the consult of Steve Souders as well) to improve the performance of their  meebo bar; still it&#8217;s something more for users to download and more JavaScript  to be run in your visitor&#8217;s browser, but I can now actually recommend this for  publishers looking to increase engagement and create new monetization opportunities  for their site. Their implementation is fully asynchronous and has a number of  optimizations compared to earlier version. The latest implementation  documentation at their site is the best reference.</p>
<p><strong><a href="http://www.openx.org/">OpenX</a>:<br />
</strong>The OpenX team has promised some an asynchronous  embedding code for their single page call (SPC) implementation, which basically  means that multiple ads in a given page can be requested without blocking the  page render and are requested at once instead of sequentially, however for the  moment, this is the best implementation I can recommend. It also uses iframes  to alleviate render-blocking issues as well some:</p>
<p>I  recommend adding this 1.3K of (<a href="http://closure-compiler.appspot.com/">closure  compiler</a> optimized) code directly in the &lt;head&gt; of the page to power  the widgets. It&#8217;s small enough that it is faster than making another HTTP  transaction (DNS lookup, connect, download, execute etc) for this purpose, the  original file is <a href="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2011/02/script.js?7983b6">here</a>:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script&gt;var adPositions=[];function writeAdDiv(a,b,c){document.write('&lt;div class=&quot;banner&quot; id=&quot;'+a+'&quot; style=&quot;width:'+b+&quot;px; height:&quot;+c+&quot;px; line-height:&quot;+c+'px;&quot;&gt;&amp;nbsp;&lt;/div&gt;');adPositions[a]=a}function OpenX_findPosX(a){var b=0;if(a.offsetParent)for(;a.offsetParent;){b+=a.offsetLeft;a=a.offsetParent}else if(a.x)b+=a.x;return b}function OpenX_findPosY(a){var b=0;if(a.offsetParent)for(;a.offsetParent;){b+=a.offsetTop;a=a.offsetParent}else if(a.y)b+=a.y;return b} function OpenX_moveAbove(a,b){var c=0;if(a.offsetHeight)c=a.offsetHeight;else if(a.clip&amp;&amp;a.clip.height)c=a.clip.height;else if(a.style&amp;&amp;a.style.pixelHeight)c=a.style.pixelHeight;if(window.XMLHttpRequest)if(!document.all){b.style.paddingTop=&quot;0px&quot;;b.style.paddingBottom=&quot;0px&quot;}if(c&gt;0)b.style.height=c+&quot;px&quot;;a.style.left=OpenX_findPosX(b)+&quot;px&quot;;a.style.top=OpenX_findPosY(b)+&quot;px&quot;} function OpenX_positionDivs(){for(var a in adPositions){var b=a+&quot;-Hidden&quot;;if(document.getElementById){targetZoneDivID=document.getElementById(a);sourceZoneDivID=document.getElementById(b)}else if(document.all){targetZoneDivID=document.all[a];sourceZoneDivID=document.all[b]}else if(document.layers){targetZoneDivID=document.layers[a];sourceZoneDivID=document.layers[b]}targetZoneDivID!=null&amp;&amp;sourceZoneDivID!=null&amp;&amp;OpenX_moveAbove(sourceZoneDivID,targetZoneDivID)}}window.onresize=function(){OpenX_positionDivs()};&lt;/script&gt;
</pre>
<p>The  SPC implementation is vital in making sure that the execution and transaction  times are as small as possible. So create the slot(s) in the page as follows:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;body&gt;
&lt;script&gt;var OA_zones = {&quot;728x90_Leaderboard&quot; : 1}&lt;/script&gt;
&lt;script src=&quot;http://openx-server.com/spcjs.php?id=1&quot;&gt;&lt;/script&gt;
</pre>
<p>Then place the slots in your HTML as appropriate:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script&gt;&lt;!--//&lt;![CDATA[
	writeAdDiv('button1', 728, 90);
//]]&gt;--&gt;&lt;/script&gt;
</pre>
<p>And finally, in the footer of the document, make the call to draw the ad in the appropriate slot:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;button1-Hidden&quot; style=&quot;position:absolute;left:-1000px;top:-1000px;&quot;&gt;
	&lt;script&gt;OA_show(&quot;728x90_Leaderboard&quot;);&lt;/script&gt;
&lt;/div&gt;
&lt;/body&gt;
</pre>
<p>Because  of the various use cases and implementations supported I do recommend OpenX,  but depending on the size and needs of your site/organization Google&#8217;s  offerings are far more robust and will eventually perform better than they do  now.</p>
<p><strong><a href="http://www.google.com/dfp/sb">Google  DoubleClick for Publishers</a> (formerly Google Ad manager):<br />
</strong>If your site is monetized with AdSense as well  as various types of ad formats or networks, Google DFP is a great solution,  however for now, it actually creates a negative experience for users depending  on the quantity and type of ads being displayed. Instead of embedding the  snippet in the &lt;head&gt; of the page, instead embed it after &lt;body&gt;  and make sure note that this implementation uses the single request command to  make the render more responsive:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;body&gt;
&lt;script src=&quot;http://partner.googleadservices.com/gampad/google_service.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;GS_googleAddAdSenseService(&quot;ca-pub-XXXXXXXXXXXXXXXXX&quot;);GS_googleEnableAllServices();&lt;/script&gt;
&lt;script&gt;GA_googleAddSlot(&quot;ca-pub- XXXXXXXXXXXXXXXXX &quot;, &quot;slot-name&quot;);&lt;/script&gt;
&lt;script&gt;GA_googleUseSyncSRARendering();GA_googleFetchAds();&lt;/script&gt;
</pre>
<p>Then  place your ad slots as you normally would in your page template. I&#8217;m definitely  looking forward better performing implementation for Google DFP, ads are not  optional for many publishers today and ironically they are actually causing  publishers to <strong>lose</strong> money.</p>
<p><strong><a href="http://buysellads.com/">BuySellAds</a>:</strong><br />
If you monetize your site using BSA, and still have not switched to their <a href="http://blog.buysellads.com/2010/02/new-feature-non-blocking-asynchronous-ad-code/">asynchronous  embed code</a>, make sure you do, your users will appreciate seeing the content  they&#8217;re after without delay.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script&gt;
(function(){
  var bsa = document.createElement('script');
     bsa.type = 'text/javascript';
     bsa.async = true;
     bsa.src = '//s3.buysellads.com/ac/bsa.js';
  (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(bsa);
})();
&lt;/script&gt;
</pre>
<p>If  you don&#8217;t already use the asynchronous snippet, make sure you do!</p>
<p><strong><a href="http://www.google.com/analytics/">Google  Analytics</a>:</strong><br />
Google&#8217;s asynchronous tracking code has been out for some time, I recommend it  for lots of reasons, like:</p>
<ul>
<li>More accurate stats</li>
<li>Non-blocking user experience</li>
<li>Simplified implementation and optimized  execution</li>
<li>Capture partial page views</li>
</ul>
<p>So this is what the implementation looks like:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script&gt;
var _gaq = _gaq || [];
_gaq.push(
	['_setAccount', 'UA-XXXXX-X'],
	['_setDomainName', 'domain.com'],
	['_trackPageview'] );
(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);})();
&lt;/script&gt;
&lt;/head&gt;
</pre>
<p><strong><a href="http://www.woopra.com/">Woopra</a>:</strong><br />
Woopra Analytics not only has a decent WordPress plugin, they also now have an  asynchronous tracking code implementation (which is not yet available in the  WordPress plugin at the time of this writing). Being that it&#8217;s actually asynchronous,  I recommend embedding it in the &lt;head&gt; of the page manually if you want to  capture partial page views:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script&gt;
(function(){
	var wsc=document.createElement('script');
	wsc.type='text/javascript';
	wsc.src=document.location.protocol+'//static.woopra.com/js/woopra.js';
	wsc.async=true;
	var ssc = document.getElementsByTagName('script')[0];
	ssc.parentNode.insertBefore(wsc, ssc);
})();
&lt;/script&gt;
&lt;/head&gt;
</pre>
<p><strong>Wrapping Up:<br />
</strong>For those buttons, widgets, services etc not  covered one of the last remaining rules of thumb (within the scope of this  discussion) is to put all scripts that are not essential for functionality of  the site (like navigation, but hopefully that&#8217;s not the case) above  &lt;/body&gt; so that they&#8217;re not directly interfering with page render. Remember  all of the CSS and JS files that exist in &lt;head&gt; must be downloaded and  executed before the page can start to render. Note: your mileage may vary, but  it&#8217;s possible to realize asynchronous performance of some scripts by adding the  attribute async to the &lt;script&gt; tag with the value true. Keep in mind  that this make break a script so test for yourself.</p>
<p>There  are numerous other widgets, advertising networks, statistics and analytics  services available, if you don&#8217;t see a tip above for the one you use, then  reach out to them and find out if they have any performance tips (like  asynchronous JavaScript code). Also, don&#8217;t forget that if you are able to  minify scripts to reduce HTTP transactions, which will be a huge performance  win for scripts that support it.</p>
<p><strong>Bonus Tips for WordPress Users:</strong><br />
  <a href="http://jquery.com/">jQuery</a> is used in countless plugins and  themes. It&#8217;s often out-of-date and every new release includes bug fixes and more  importantly performance improvements. The following snippet is useful for your  header.php file, it will make sure that your site is always using the latest  version of jQuery without having to modify your theme. You&#8217;ll also benefit from  Google&#8217;s content delivery network and using a hostname other than your domain  name, meaning that the file will be pipelined (downloaded in parallel) with the  other files in the &lt;head&gt; of the page which is faster:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');
wp_enqueue_script('jquery');
?&gt;
</pre>
<p>Similarly,  if you have extensive use of <a href="http://code.google.com/p/swfobject/">swfobject</a> in your theme/plugins, a similar optimization can be applied thusly:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
wp_deregister_script('swfobject');
wp_register_script('swfobject', 'http://ajax.googleapis.com/ajax/libs/swfobject/2/swfobject.js');
wp_enqueue_script('swfobject');
?&gt;
</pre>
<p>So  again, until jQuery reaches version 2 or swfobject reaches version 3, you will  never have to modify this code!</p>
<p>Have  a tip I didn&#8217;t mention? Let me know in the comments!</p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=D8S9gY2WmME:qdSUS2InmRU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=D8S9gY2WmME:qdSUS2InmRU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=D8S9gY2WmME:qdSUS2InmRU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=D8S9gY2WmME:qdSUS2InmRU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=D8S9gY2WmME:qdSUS2InmRU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=D8S9gY2WmME:qdSUS2InmRU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=D8S9gY2WmME:qdSUS2InmRU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=D8S9gY2WmME:qdSUS2InmRU:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/D8S9gY2WmME" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2011/02/optimize-social-media-button-performance/feed/</wfw:commentRss>
		<slash:comments>92</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2011/02/optimize-social-media-button-performance/</feedburner:origLink></item>
		<item>
		<title>Apple iPad, One Geeks Reaction</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/KWICWCByriE/</link>
		<comments>http://www.w3-edge.com/weblog/2010/02/apple-ipad-reaction/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 13:26:48 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[product development]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=651</guid>
		<description><![CDATA[Companies today have a fine line to walk. Creating products that appeal to the lowest common denominator in terms of use cases (and consumer appeal) is the fundamental foothold upon which innovation stands. Apple has mastered that approach and we need to remember that their steps are conscientiously made.]]></description>
			<content:encoded><![CDATA[<p>I think Mashable&#8217;s Ben Parr made some solid points about <a href="http://mashable.com/2010/01/27/ipad/" rel="external nofollow">how Apple  introduces new products</a> into the marketplace. One thing he does not address is his opinion of the specific hardware spec&#8217;s that a hardcore geek would need to  see in an <a href="http://www.apple.com/ipad/" rel="external nofollow">Apple tablet</a>. After getting  over the fact that the development ecosystem is closed, the <a href="http://mashable.com/2010/01/07/apple-touchscreen-patent/" rel="external nofollow">Apple interface</a>, <a href="http://www.apple.com/itunes/" rel="external nofollow">iTunes</a> and the <a href="http://www.apple.com/iphone/iphone-3gs/app-store.html" rel="external nofollow">App&#8217; Store</a> are  essential pieces of the overall product value, that make it worth of attention.</p>
<p align="center"><img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2010/02/hardware-01-20100127-710x439.jpg?7983b6" alt="" title="iPad" width="710" height="439" class="aligncenter size-large wp-image-662" style="border:0;" /></p>
<p>So what did I actually want to see  in terms of hardware? Let&#8217;s take a look:</p>
<ol>
<li>Albeit less essential (relatively speaking) <strong>wireless charging</strong> would certainly be a welcome feature. I don&#8217;t  mean that recent technology that <a href="http://www.ted.com/talks/eric_giler_demos_wireless_electricity.html" rel="external nofollow">powers  devices at a distance</a>, instead I&#8217;m referring to those pads that you put  your devices on that charges them. I&#8217;d like to invest in a <a href="http://www.powermat.com/us/mats/home-and-office-mat.html" rel="external nofollow">couple of those</a> and leave them around the house to keep devices juiced.</li>
<li>There are some truly <a href="http://www.emolabs.com/emoproducts/index.html" rel="external nofollow">innovative products</a> out there to provide much better audio without increasing weight or complexity  in devices. The iPad has a seemingly <strong>tiny mono speaker</strong>, that I&#8217;m confident is  going to leave me disappointed, whether giving a presentation or trying to  watch some <a href="http://www.ted.com/" rel="external nofollow">TED</a> videos.</li>
<li><strong>No camera</strong>?  That&#8217;s a good way to keep this from being a gift for non-tech savvy relatives  and being a living room fixture that actually stood a  chance of replacing the use of the mobile and landline phones (<a href="http://www.engadget.com/2010/01/27/apple-lifts-voip-over-cellular-restrictions-in-new-iphone-sdk/" rel="external nofollow">now  the Skype can make calls over 3G</a> or even <a href="http://about.skype.com/press/2010/01/new_era_in_face_to_face.html" rel="external nofollow">cumbersome  TVs</a>). No doubt that this is coming soon, but I think this was definitely a  foolish sacrifice for the first generation. Likely to be able to make the  battery life claims that are made without having to do too much research and  development or delaying release.</li>
<li><strong>HDMI</strong>,  without better audio, higher quality video etc, how am I going to enjoy the  videos etc that I happen to download or want to share on my iPad? So I can&#8217;t  pop over to a friend&#8217;s house and with a single cable pour out high definition  content into the flat screen TV that hangs on their wall? This is a real use  case even in business today. Not even a thought of this scenario? For shame.</li>
<li>I know the &#8220;<strong>stylus</strong>&#8221;  concept is a bit passé at this point, but not when it records what you&#8217;re  hearing while you make your notes, which are subsequently converted from  handwriting into actual documents. After all, <a title="unlock iphone 5" href="http://iphonefiveinfo.com/">apple</a> called this device the iPad right? This use case takes shape in nearly every  way you can imagine, and unlike <a href="http://www.livescribe.com/smartpen/index.html" rel="external nofollow">other products</a> that  exist, the data is already stored in a device (or easily synced) in such a way  that you can manipulate it easily.</li>
<li>The mobile landscape is changing with the  proliferation of free WIFI in communities and businesses, but the roll out of <strong>4G</strong> is also on the horizon by many service  providers as well. Granted, some mobile companies are admittedly removing the  bottlenecks from their 3G networks, but mobile standards must be backwards  compatible, so why not give a device that cannot be upgraded more longevity?</li>
<li>Only 802.11n support? What about the new &#8220;hub-less&#8221;  WIFI technology that allows <a href="http://www.engadget.com/2009/04/13/bluetooth-3-0-to-use-wifi-for-high-speed-file-transfers/" rel="external nofollow">wireless  devices to directly discover and interface with each other</a> at high speed?  Not having forward thinking features makes me think that this device is  supposed to be disposed of annually, I mean upgraded. And not the healthy upgrades  like swapping out modems or memory or disk, unhealthy ones where the entire  unit is tossed or sold on eBay if I somehow find the time.</li>
<li><strong>Bluetooth  3</strong>, where is that? There are already devices with the standard and most of  us gadget lovers already know that we still have a pairing and performance  issues with our Bluetooth networks as it is, even with the enhanced data rate  devices that are available now.</li>
<li>Video is actually key here, where is the <strong>1080p</strong>? Even <a href="http://www.youtube.com/" rel="external nofollow">youtube.com</a>, <a href="http://www.vimeo.com/" rel="external nofollow">vimeo.com</a> etc supports this standard now, how can this be missing today. The Simpson&#8217;s is  finally widescreen after 20 years, let&#8217;s keep taking steps forward.</li>
<li>One of my use cases is using the device for  travel, this includes in a car. However, I can&#8217;t use this for turn-by-turn  directions without a decent speaker, so I guess I will have to look at the  screen in that case? A bit dangerous. I guess this thing is going to remain in its  specially designed Apple carry case anyway since there&#8217;s <strong>no active GPS</strong>. <a href="http://www.garmin.com/garmin/cms/site/us/ontheroad/" rel="external nofollow">Garmin</a> can breath a sigh of relief.</li>
<li>The battery life is impressive, but at the  compromise (no doubt) of <strong>multi-tasking  support</strong>. So after completing that thought, the battery life is NOT  impressive. So where is multi-tasking support? Even my RIM BlackBerry 8800  could manage that even with its rubbish interface.</li>
</ol>
<p>For completeness I should mention that the lack of Flash  support is not a concern of mine, all of the <a href="http://youtube-global.blogspot.com/2010/01/introducing-youtube-html5-supported.html" rel="external nofollow">largest  videos sites</a> are supporting <a href="http://news.cnet.com/8301-27076_3-10439048-248.html?part=rss&amp;subj=news&amp;tag=2547-1_3-0-20" rel="external nofollow">HTML 5</a> as are the browsers that I love.</p>
<p>If having these features means that I have to spend more, I certainly  will. Knowing that subsequent operating system updates with richen my  productivity and allow for greater innovation in the app&#8217;s that are developed.  But what I won&#8217;t do is make compromises on these points unless I can find a  reason to compromise my use cases as well: presentations, travel, business  tasks, conferences/seminars etc. All of these uses cases (and more) demand a  device of the description I&#8217;ve made. We&#8217;ll see if Apple will ever cater to such  a small sector of their market, the hardcore.</p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=KWICWCByriE:hOAXAVyZZJ0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=KWICWCByriE:hOAXAVyZZJ0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=KWICWCByriE:hOAXAVyZZJ0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=KWICWCByriE:hOAXAVyZZJ0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=KWICWCByriE:hOAXAVyZZJ0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=KWICWCByriE:hOAXAVyZZJ0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=KWICWCByriE:hOAXAVyZZJ0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=KWICWCByriE:hOAXAVyZZJ0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/KWICWCByriE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2010/02/apple-ipad-reaction/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2010/02/apple-ipad-reaction/</feedburner:origLink></item>
		<item>
		<title>The Quest for Speed</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/ti6dx-ayFkg/</link>
		<comments>http://www.w3-edge.com/weblog/2009/12/the-quest-for-speed/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 10:52:40 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[User Interface / Experience]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[google ranking]]></category>
		<category><![CDATA[http transactions]]></category>
		<category><![CDATA[progressive render]]></category>
		<category><![CDATA[sprites]]></category>
		<category><![CDATA[steve souders]]></category>
		<category><![CDATA[web site optimization]]></category>
		<category><![CDATA[wordpress performance]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/weblog/2009/12/622/</guid>
		<description><![CDATA[More than a trend, web application performance, user experience and performance optimization are finally being recognized as the building blocks of successful sites. Google is taking a leading role today in increasing awareness about the role of speed in improving user experience and driving revenue.]]></description>
			<content:encoded><![CDATA[<p><img src="http://w3e.fredericktest.netdna-cdn.com/wp-content/uploads/2009/12/iStock_000003253552Large.jpg?7983b6" alt="iStock_000003253552Large" title="iStock_000003253552Large" width="400" height="266" class="alignright size-full wp-image-629" />For web applications today speed is not just about bragging rights, instead speed is a deciding factor in: reducing the learning curve of applications for end users, increasing the adoption rate, improving conversion rates, growing time on site and numerous other metrics for web sites.</p>
<p>Historically, search engine companies (Google, Yahoo!, Bing etc) are among the original innovating web application developers and their success has afforded them with the resources to learn how to scale applications. In particular, Google has been <a href="http://code.google.com/speed/articles/" rel="external">working diligently</a> (as does <a href="http://developer.yahoo.com/performance/rules.html" rel="external">Yahoo</a>) to contribute to the web developer community, increasing awareness and providing research about creating good experiences with web content. Today they&#8217;ve even released their solution to the performance issues surround Domain Name Service (DNS) and with their <a href="http://googleblog.blogspot.com/2009/12/introducing-google-public-dns.html" rel="external">Google Public DNS</a> project. DNS is the process by which your browser determines which server to query for the pages you request.</p>
<p>It has probably always played a role in the background in some way, but is now a talking point &mdash; the speed of a web site is instrumental in how Google determines the rank of your site in search engine result pages. While there may be <a href="http://mashable.com/2009/11/15/google-ranking-speed/" rel="external">numerous opinions</a> on the topic, the fact remains that speed is vital to a positive user experience and a healthy eco-system, so those facts make any opinions quite moot. You can now find Google&#8217;s opinion on the speed of your web site in Webmaster Tools, in <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&#038;answer=158541" rel="external">the site performance</a> section (currently still a labs feature). Take a look and see how your site compares to the rest of the web.</p>
<p>WordPress is an extremely popular open source content management system and publishing tool. I contribute to the performance of WordPress via <a href="http://wordpress.org/extend/plugins/w3-total-cache/" rel="external">W3 Total Cache</a>, which (from a bird&#8217;s eye view) accomplishes a number of goals:</p>
<ul>
<li>Make servers more green by reducing the resource demands in delivering dynamic content</li>
<li>Reduce load time of sites, thereby providing the benefits stated above</li>
<li>Allow bloggers and other WordPress plugin developers to continue to focus on producing content and easy-to-deploy functionality for WordPress without having to worry about performance penalties / implementation issues or keep an eye on their WordPress installation.</li>
</ul>
<p>The action items to implement the largest performance wins for web applications traditionally include the following:</p>
<ul>
<li><strong>Progressive render: </strong>It&#8217;s imperative that CSS and JavaScript are properly embedded into web pages to ensure that the user begins to see content displaying as quickly as possible. The term progressive render literally implies that the web site loads instantly with a water fall effect rather than showing users a white page for several seconds and drawing the entire page at once. Proper use of this technique is realized through careful placement and embedding of CSS and JavaScript in the head of the page. As well as loading JavaScript near the end of the page in addition to using pipelining techniques to overcome download limitations in some browsers.</li>
<li><strong>Reduce HTTP Transactions:</strong> This technique takes shape in 3 ways:
<p>    HTTP Compression: the smaller the file, the faster it can be generated, sent and rendered or executed. Gzip or deflate compression is supported by modern browsers and is one of the most fundamental performance wins in web development.</p>
<p>    Minification: the staple technique of Yahoo.com, Google.com and Bing.com for years and instrumental in the &#8220;1 second page loads&#8221; they appear to have. Combining CSS and JavaScripts respectively, removing white space, comments, line breaks and even inserting CSS and JavaScript inline in the document, (if also compressed) ensures that the least amount of data is sent to the browser.</p>
<p>    <a href="http://spriteme.org/" rel="external">Image Sprites</a>: combining multiple images into a single file and using CSS to manipulate them on the page. Since your browser will download a larger image faster (in practice) than numerous <a href="http://www.gracepointafterfive.com/punypng" rel="external">smaller images</a>, this is a real performance win when coupled with browser-side caching.</p>
<p>    These methods make sure that there are fewer &#8220;calls&#8221; to a web server to deliver a page. When it comes to performance, less is more.</li>
<li><strong>Caching:</strong> Cache everything and cache often! Words to that effect are the mantra of hard core web developers. This technique includes setting expiration time for CSS, JavaScript, and images etc that are downloaded from your site. It also includes, caching pages, database queries, RSS feeds and so forth so that your web server spends time sending content instead of generating it. Don&#8217;t forget that Content Delivery Networks are also a very important type of cache that significantly reduce the latency of content intended for a global audience.</li>
</ul>
<p>Will it ever be enough? Doubtful. And there&#8217;s much more to it than the few items I listed. Google is already more than kicking tires on their new take on <a href="http://blog.chromium.org/2009/11/2x-faster-web.html" rel="external">how web enabled devices should communicate</a>. A very ambitious endeavor, but for Google who is bold enough to deploy HTML5 on their main property (Google.com), I&#8217;d have to say that they&#8217;ve got the resources to see it through. And as always it&#8217;s easy to see the wake of <a href="http://stevesouders.com/" rel="external">Steve Souders&#8217;</a> contributions to web application performance – no doubt a vital contributor at Google (the <a href="http://code.google.com/speed/page-speed/download.html" rel="external">page speed Firefox plugin</a>?), formerly of Yahoo fame.</p>
<p>The takeaway is this, on the horizon, there will be more talk about the performance of your site and that in turn will raise the bar and awareness in the open source community about how to make high performance applications, the reasons to do it and with which tools to measure those results.</p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=ti6dx-ayFkg:-7xtsX0Kvtg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=ti6dx-ayFkg:-7xtsX0Kvtg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=ti6dx-ayFkg:-7xtsX0Kvtg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=ti6dx-ayFkg:-7xtsX0Kvtg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=ti6dx-ayFkg:-7xtsX0Kvtg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=ti6dx-ayFkg:-7xtsX0Kvtg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=ti6dx-ayFkg:-7xtsX0Kvtg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=ti6dx-ayFkg:-7xtsX0Kvtg:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/ti6dx-ayFkg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2009/12/the-quest-for-speed/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2009/12/the-quest-for-speed/</feedburner:origLink></item>
		<item>
		<title>PressThis on WebmasterRadio.fm</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/Idsj_tCH2vQ/</link>
		<comments>http://www.w3-edge.com/weblog/2009/08/pressthis-on-webmasterradio-fm/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 21:09:09 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[joost de valk]]></category>
		<category><![CDATA[mashable]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugins]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=306</guid>
		<description><![CDATA[I was fortunate enough to discuss WordPress usability with one of the industries most well-recognized personalities Joost de Valk.]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/yoast" rel="nofollow external twitter">Joost de Valk</a> is a well known blogger, WordPress developer, speaker and marketer and has started a great show on Webmaster Radio focused on WordPress tips and the like. I was fortunate enough to be invited to share in the discussion as Mashable&#8217;s CTO discussing usability from various perspectives including design, WordPress optimization as well as a few upcoming plugins. The podcast is available on Joost&#8217;s site <a href="http://yoast.com/press-this/wordpress-usability/" rel="nofollow external">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=Idsj_tCH2vQ:XAFOEWJV5E8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=Idsj_tCH2vQ:XAFOEWJV5E8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=Idsj_tCH2vQ:XAFOEWJV5E8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=Idsj_tCH2vQ:XAFOEWJV5E8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=Idsj_tCH2vQ:XAFOEWJV5E8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=Idsj_tCH2vQ:XAFOEWJV5E8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=Idsj_tCH2vQ:XAFOEWJV5E8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=Idsj_tCH2vQ:XAFOEWJV5E8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/Idsj_tCH2vQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2009/08/pressthis-on-webmasterradio-fm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2009/08/pressthis-on-webmasterradio-fm/</feedburner:origLink></item>
		<item>
		<title>Do’s and Don’ts to Improve Google Ranking</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/sqK7hlj4Gew/</link>
		<comments>http://www.w3-edge.com/weblog/2009/03/dos-and-donts-to-improve-google-ranking/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 15:19:54 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[search marketing]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ranking factors]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=288</guid>
		<description><![CDATA[Google Ranking Factors, The Good and the Bad. There are lots of opinions on how Google actually ranks your web site in the search result pages &#8212; take a closer look at what matters and why.]]></description>
			<content:encoded><![CDATA[<p>Among SEO professionals, there isn&#8217;t always consensus on precisely which and to what degree site factors contribute or detract from rankings on Google because the factors actually vary by industry. There are indeed, a number of contentious issues: markup and content quality, use of title tags, site organization and even arguments that Google Analytics data factors in to site rankings. Not likely (yet), but certainly up for debate among SEO professionals.</p>
<p>However, there are some Google ranking factors that most professionals agree affect site positioning on Google SERPs. However, these are opinions, find out for yourself how these apply to projects you&#8217;re working on.</p>
<p><strong>Recommended Steps to Improve Google Ranking</strong></p>
<p><strong>1. Use keywords in HTML title tags. </strong>Probably the most significant factor for a site regardless of the competitive landscape, the title tag must be consistent with content in the page for best results. The more keywords in your title, the less effective this factor, be judicious.</p>
<p><strong>2. Create quality anchor text for inbound links. </strong>At one time, according to some SEO professionals, quality anchor text was an essential component of a well-ranked site. After all, this is the text the user opted to see by clicking a link on another site. Most SEOs still contend that quality anchor text is a highly significant, positive ranking factor. If not for spiders, for visitors clicking in as well. Obviously the text should be relevant to the destination page for best results; that&#8217;s where your on page optimization comes in to play.</p>
<p><strong>3. Increase link popularity.</strong> Link popularity takes into account the number of inbound links present. Link authority has less relevance, though it is still a factor depending on the competitive landscape. Link popularity is based on a global count of links from all sites. However, quality links are still critical to creating site authority; authority means ranking for more phrases than you intentionally target.</p>
<p><strong>4.</strong> <strong>Hang in there. </strong> The age of a site is an important positive weighting factor according to many SEO professionals. It&#8217;s certainly a reasonable assumption. Failed sites are dropped as soon as the hosting subscription ends. If a site has been around for 10 years, the owners must be dong something right, especially if link popularity is steady developed over the years. Unfortunately for site owners, there&#8217;s no way to speed up the aging process &ndash; except hanging in there.</p>
<p><strong>5. Increase the popularity of internal links.</strong> These links direct visitors to helpful, related content. They&#8217;re important in providing visitors with a positive on-site experience. Search engines view on-site link popularity as a sign that visitors like what they see and want to learn more.</p>
<p><strong>7. Build deep links. </strong>Deep links are relevant to the topicality of the target page or keyword. The relevance of these inbound links matters to a site&#8217;s Google ranking. However, please note point 3. The sheer number of inbound links is a factor as well. Quality deep links carry more weight and add credibility to a site.</p>
<p><strong>8. Connect with sites selling to the same demographic. </strong>Create a number of links with sites within your topical community. This helps visitors further their searches &ndash; something Google likes very much.</p>
<p><strong>9. Keep old links. </strong>Google looks for web stability. The older the link, the more trust it has. It indicates a happy relationship with the site owner linking in who recognizes the value of sending visitors off-site. Google watchers suggest a three to four month time window for spiders to determine that this is a well-established, long-term link that has value to visitors of both sites.</p>
<p><strong>10. Use keywords in body text. </strong>Make sure that keywords receive prominent display in headlines, headers, sub-heads. It&#8217;s important that the keywords used in HTML text on page match with keywords used in the site&#8217;s meta data and title tags.</p>
<p><strong>Not Recommended</strong></p>
<p><strong>1. Don&#8217;t use session IDs in URLs. </strong>It sounds like a good idea on the surface, an easy way to track customer information, but here&#8217;s the problem. Each time a spider crawls the site, a new URL with session ID is created. The spider now has two, or three or more URLs all showing duplicate content. Go back to Go, do not collect $200. Don&#8217;t confuse this with pages that may have a couple GET variables in them; avoid that when you can, but just avoid having your pages containing session IDs.</p>
<p><strong>2. Choose a reputable web host. </strong>The most potent negative ranking factor is server accessibility. If your server, located in Timbuktu, is inaccessible to spiders, it&#8217;s inaccessible to visitors. Down time soon becomes down and out time.</p>
<p><strong>3. Avoid duplicate content. </strong>Googlebots employ filters to detect duplicate content. Now, if you opt to post some syndicated articles, you&#8217;re providing a service to visitors. However, a bot will recognize that content (it&#8217;s already appeared on 400 sites) and you&#8217;ll see a drop in traffic rank.</p>
<p><strong>4. Jettison low-quality links. </strong>Google assesses the character of your site by the company you keep so keep good company by unlinking from (1) links farms, (2) sites with absolutely no quality content and (3) otherwise low-quality sites; e.g. FFA (free for all) sites.</p>
<p><strong>5. Avoid any kind of links deception. </strong>Googlebots aren&#8217;t smart, but they can detect some paid links and a variety of links scams, including generated links. If a Googlebot suspects links fraud, your site may be penalized and sent to the basement or banned altogether.</p>
<p><strong>6. Avoid a log-in before visitors and bots access &ldquo;the good stuff.&rdquo; </strong>Log-ins can easily confuse a bot who won&#8217;t be able to access quality content hidden behind a log in. Even though users with Google toolbars will be unknowingly suggesting new URLs to be crawled as they surf about, having teasers for the content your monetizing by subscription will help your SEO.</p>
<p><strong>7. Avoid using frames. </strong>Horizontal and vertical framesets frameset are commonly used by designers to present more than one page of a site on the screen at the same time. However, frames are also bot traps. They can get in but they can&#8217;t get out, making it impossible for them to index a site &ndash; at all! Tell your developer to look at using iframes if possible or absolutely necessary.</p>
<p><strong>8. Avoid duplicate title/meta tags. </strong>Title/meta tags are a valuable resource for site owners to expand access points to a site. Using title tags ensures that more pages are indexed and listed in Google&#8217;s SERPs as distinct links. All good. Unfortunately, too many duplicate title tags on pages in which the content topic hasn&#8217;t changed, is redundant and a waste of the bots time. Use tag your pages uniquely and judiciously.</p>
<p><strong>9. </strong> <strong>Do not keyword stuff.</strong> Even though search engines no longer give much weight to keyword tags, keyword stuffing continues. Select 20 to 30 keywords &ndash; top-tier and long-tail &ndash; and focus on them. Keep keyword density in body text at no more than 3%. The old 5% rule still led to on-site gibberish &ndash; obviously these figures vary by competitive landscape.</p>
<p><strong>10. Do not let quality slip &ndash; even for a day. </strong>Spiders crawl sites with greater frequency and sophistication and index updates are common as changes to a site are implemented. During periods of construction, be sure to keep spiders out of staging areas that have yet to be completed nofollow or block with robots. These works-in-progress may cost you points in the ranking sweepstakes.</p>
<p>Google controls 46% of all searches. Doesn&#8217;t it make sense to give this search engine exactly what it wants and delete what it doesn&#8217;t want?</p>
<p>Rhetorical question.</p>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=sqK7hlj4Gew:awE-BMgcxRw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=sqK7hlj4Gew:awE-BMgcxRw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=sqK7hlj4Gew:awE-BMgcxRw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=sqK7hlj4Gew:awE-BMgcxRw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=sqK7hlj4Gew:awE-BMgcxRw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=sqK7hlj4Gew:awE-BMgcxRw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=sqK7hlj4Gew:awE-BMgcxRw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=sqK7hlj4Gew:awE-BMgcxRw:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/sqK7hlj4Gew" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2009/03/dos-and-donts-to-improve-google-ranking/feed/</wfw:commentRss>
		<slash:comments>71</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2009/03/dos-and-donts-to-improve-google-ranking/</feedburner:origLink></item>
		<item>
		<title>Yoast Launched!</title>
		<link>http://feeds.w3-edge.com/~r/W3EDGE/~3/edjOwftgUek/</link>
		<comments>http://www.w3-edge.com/weblog/2009/03/yoast-launched/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 17:34:47 +0000</pubDate>
		<dc:creator>Frederick Townes</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[re-design]]></category>
		<category><![CDATA[web site optimization]]></category>

		<guid isPermaLink="false">http://www.w3-edge.com/?p=291</guid>
		<description><![CDATA[One of the harbingers of progress in the WordPress community allowed us to contribute a custom redesign including the latest in social media elements and custom illustrations.]]></description>
			<content:encoded><![CDATA[<p>Tweaking Web Sites is what <a href="/work/yoast-com">Yoast.com</a> is all about. Joost de Valk has been a prolific WordPress plugin developer for some time now and among our goals for the project was to call out featured plugins, featured posts and make sure that the site was engaging from a social media standpoint.</p>
<p>Above and beyond the design we also worked to optimize the site’s load and render performance as well as making the server stand up the traffic demands that yoast.com generates.</p>
<p>Hand drawn illustrations, advanced CSS and completely unique styling make this re-design project one we’re very proud of.</p>
<p>This project has been showcased quite a bit on the various design galleries and received numerous mentions from around the blogosphere including:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/04/02/10-impressive-simple-design-techniques/" rel="external nofollow">10 Simple and Impressive Design Techniques</a></li>
<li><a href="http://www.webdesignerdepot.com/2009/10/blog-headers-20-great-examples-and-best-practices/" rel="external nofollow">Blog Headers: 20 Great Examples and Best Practices</a></li>
<li><a href="http://www.webmaster-source.com/2009/04/10/design-spotlight-yoast/" rel="external nofollow">Design Spotlight: Yoast</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=edjOwftgUek:3OVvDt7D3Yk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=edjOwftgUek:3OVvDt7D3Yk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=edjOwftgUek:3OVvDt7D3Yk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=edjOwftgUek:3OVvDt7D3Yk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=edjOwftgUek:3OVvDt7D3Yk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=edjOwftgUek:3OVvDt7D3Yk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/W3EDGE?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.w3-edge.com/~ff/W3EDGE?a=edjOwftgUek:3OVvDt7D3Yk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/W3EDGE?i=edjOwftgUek:3OVvDt7D3Yk:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/W3EDGE/~4/edjOwftgUek" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.w3-edge.com/weblog/2009/03/yoast-launched/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.w3-edge.com/weblog/2009/03/yoast-launched/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 2/50 queries in 0.181 seconds using apc
Object Caching 1238/1380 objects using apc
Content Delivery Network via w3e.fredericktest.netdna-cdn.com

Served from: www.w3-edge.com @ 2012-05-16 01:24:25 -->

