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

<channel>
	<title>C3M Digital &#124; WordPress Development &#38; Consulting</title>
	<atom:link href="http://c3mdigital.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://c3mdigital.com</link>
	<description>WordPress webdesign and development  in Houston Texas</description>
	<lastBuildDate>Sun, 15 Jan 2012 03:38:21 +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" />
		<item>
		<title>Adding Git to your WordPress development workflow &#8211; an introduction</title>
		<link>http://c3mdigital.com/2011/08/23/adding-git-to-your-wordpress-development-workflow/</link>
		<comments>http://c3mdigital.com/2011/08/23/adding-git-to-your-wordpress-development-workflow/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 07:37:15 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Development]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=1326</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2011/08/23/adding-git-to-your-wordpress-development-workflow/">Adding Git to your WordPress development workflow &#8211; an introduction</a> </p><p>The purpose of this guide is to show you how you can add Git to your WordPress development workflow and will include the basics of securely installing Git on a remote server, using your local machine for development and deploying your changes to a live production server using SSH.</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2011/08/23/adding-git-to-your-wordpress-development-workflow/">Adding Git to your WordPress development workflow &#8211; an introduction</a> </p><p>WordPress lead developer, Mark Jaquith, recently gave a talk at WordCamp San Francisco on&nbsp;<strong>Scaling, Servers, and Deploys </strong>that including some great advice on professional WordPress development using Git. &nbsp;Git is a&nbsp;<strong>free &amp; open source, distributed version control system</strong>&nbsp;designed to handle everything from small to very large projects with speed and efficiency.</p>
<p><strong>The session from WordCamp San Francisco:</strong><br />
<embed type="application/x-shockwave-flash" src="http://s0.videopress.com/player.swf?v=1.03" width="600" height="340" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=LqJ002Pq&amp;isDynamicSeeking=true"></embed></p>
<p>The purpose of this guide is to show you how you can add Git to your WordPress development workflow and will include the basics of securely installing Git on a remote server, using your local machine for development and deploying your changes to a live production server using SSH.</p>
<p>This article assumes:</p>
<ul>
<li>You have SSH access to a remote server running Debian or Ubuntu (The shell commands will be slightly different for other distros)</li>
<li>Your using a Mac with a local development environment already set up.</li>
<li>Your comfortable using the command line and able to access your remote server using SSH keys.</li>
</ul>
<p><strong>Step 1: Installing Git on the remote server</strong></p>
<p>Install Git:</p>
<pre class="brush: plain; title: ; notranslate">

apt-get install git-core
</pre>
<p>Adding the git user.  (You will be asked to enter a password for the git user.  We won&#8217;t be using it but remember what it is just in case.)</p>
<pre class="brush: plain; title: ; notranslate">

adduser git
</pre>
<p>Setup SSH keys for the new git user.  If you still have access to the public key you use to access your server you can add it to /home/git/.ssh/authorized_keys. If not you will need to generate a new public/private key pair and add the public key to your server. See my previous article <a href="http://c3mdigital.com/2011/07/22/wordpress-performance-server/3/">WordPress Performance Server – Debian “squeeze” with Nginx, APC and PHP from the Dotdeb repos</a> for more info on setting up SSH keys on your server.  You can also use the ssh-keygen tutorial on <a href="http://help.github.com/mac-set-up-git/">GitHub</a>.</p>
<pre class="brush: plain; title: ; notranslate">
su git
cd /home/git
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
cat id_dsa.pub &gt;&gt; authorized_keys
exit
</pre>
<p>If you need to switch back to your normal user to add your public key make sure you chown the /home/git/.ssh back to the git user by running:
<pre class="brush: plain; title: ; notranslate">chown git:git /home/git/ -R</pre>
<p>Now lets test our SSH connection using the git username on the remote server.  If you use lots of different SSH keys for different servers it helps if you add instructions to your config file to identify the right key to use when logging in.</p>
<p>On your local machine create if needed and open the file ~/.ssh/config</p>
<pre class="brush: plain; title: ; notranslate">
Host remote_server_domain.com
Hostname remote_server_domain.com
IdentityFile ~/.ssh/id_dsa //Your private key that matches the public key we installed on the server
User git
</pre>
<p>Now lets test our connection to the remote server</p>
<pre class="brush: plain; title: ; notranslate">
ssh git@remote_server_domain.com
</pre>
<p>If your able to connect let&#8217;s go ahead and create and initialize our remote Git repository. We&#8217;re calling this repo &#8220;project1&#8243;.</p>
<pre class="brush: plain; title: ; notranslate">
cd /home/git
mkdir project1
cd project1
git --bare init
exit
</pre>
<p>You just created your first remote Git repository!</p>
<p>For security we are going to restrict shell access for the git user.  This will allow you to share development with other users by giving them SSH access to the repo without giving them shell access to your server.<br />
SSH back into your server with the user with su privileges.</p>
<pre class="brush: plain; title: ; notranslate">
nano /etc/passwd
</pre>
<p>When you open the file find the line for the new git user we just added and change the end of the line from /bin/bash to /usr/bin/git-shell. (Do not change the user Id or group ID).  It should look like this when your done:</p>
<pre class="brush: plain; title: ; notranslate">
git:x:1001:1001:Git,,,:/home/git:/usr/bin/git-shell
</pre>
<p>Test the new config by exiting and trying again to SSH into the server with the git user:</p>
<pre class="brush: plain; title: ; notranslate">
ssh git@remote_server_domain.com

fatal: What do you think I am? A shell?
connection to [remote_server_domain.com] closed.
</pre>
<p>Now we have a secure remote repository.</p>
<p><strong>Step 2: Installing Git and setting up your local machine</strong></p>
<p><a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3">Download and install the latest version for Mac </a>(For Lion or Snow Leopard choose: Git Installer 1.7.6 &#8211; OS X &#8211; Snow Leopard &#8211; x86_64)</p>
<p><strong>Making your first commit.</strong><br />
Now that we have our remote repo setup and Git installed on our local machine let&#8217;s make our first commit.</p>
<pre class="brush: plain; title: ; notranslate">
mkdir project1
cd project1
git init
touch readme.txt
git add .
git commit -m &quot;Initial commit - added readme.txt&quot;
</pre>
<p>The first time we use our new repo we need to tell Git where to find it.</p>
<pre class="brush: plain; title: ; notranslate">
git remote add origin ssh://git@remote_server_domain.com/home/git/project1
git push origin master
</pre>
<p>Now we are going to delete the project1 directory we created on our local machine and check out the repo so we can start doing some WordPress development. I use the ~/sites directory for my local development so lets check the new project out into that directory. If you haven&#8217;t set up your local environment using hostname aliases in the ~/sites directory check out this tutorial on WPCandy: <a href="http://wpcandy.com/teaches/how-to-improve-local-wordpress-development-on-a-mac">How to improve local WordPress development on a Mac</a></p>
<pre class="brush: plain; title: ; notranslate">
rm -rf project1
mkdir ~/sites/wp.dev
cd wp.dev
git clone ssh://git@remote_server_domain.com/home/git/project1
</pre>
<p>We now have checked out the latest version of our repo (currently only containing the readme.txt file) and are ready to start working but first we need to decide our version control strategy.</p>
<p><strong>Next Page &#8211; Step 3: Setting up your repo for WordPress theme and plugin development</strong></p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2011/08/23/adding-git-to-your-wordpress-development-workflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Performance Server &#8211; Debian “squeeze” with Nginx, APC and PHP from the Dotdeb repos</title>
		<link>http://c3mdigital.com/2011/07/22/wordpress-performance-server/</link>
		<comments>http://c3mdigital.com/2011/07/22/wordpress-performance-server/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 09:43:01 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=1194</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2011/07/22/wordpress-performance-server/">WordPress Performance Server &#8211; Debian “squeeze” with Nginx, APC and PHP from the Dotdeb repos</a> </p><p>Step by step guide on how to set up your own unmanaged server or vps to run as a WordPress Performance server environment. &#160;Using this setup you will have the ability to host a large WordPress Multisite set up or numerous single installs.</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2011/07/22/wordpress-performance-server/">WordPress Performance Server &#8211; Debian “squeeze” with Nginx, APC and PHP from the Dotdeb repos</a> </p><p><a href="http://c3mdigital.com/files/2011/07/nginx-wordpress1-300x84-copy.png"><img class="size-full wp-image-1359 aligncenter" title="nginx-wordpress1-300x84 copy" src="http://c3mdigital.com/files/2011/07/nginx-wordpress1-300x84-copy.png" alt="" width="300" height="84" /></a></p>
<p>This is a step by step guide on how to set up your own unmanaged server or vps to run as a WordPress Performance server environment.  Using this setup you will have the ability to host a large WordPress Multisite set up or numerous single installs.  This guide assumes you have a basic understanding of using SSH via the Mac Terminal app or Putty for Windows and requires an unmanaged dedicated server or VPS hosting account with either the 32 or 64 bit Debian kernal available.</p>
<p>In my last guide I touted a <a href="http://wp-performance.com/2010/10/nginx-reverse-proxy-cache-wordpress-apache/">Nginx reverse proxy cache with WordPress and Apache</a> as the ultimate WordPress performance stack but since then I have found that there is really no reason to use Apache unless you have a specific need for it.  Nginx has matured and works great with the WordPress rewrite engine and even W3 Total Cache now includes Nginx rewrite rules for page cache, minify and browser caching.</p>
<p><strong>Choosing a web host with Debian &#8220;squeeze&#8221; images available</strong></p>
<p><a href="http://www.debian.org/releases/stable/">Debian 6 aka &#8220;squeeze&#8221;</a> is considered the grandfather of Linux distors and Debian is known for relatively strict adherence to the <a title="Unix philosophy" href="http://en.wikipedia.org/wiki/Unix_philosophy">Unix</a> and <a title="Free software" href="http://en.wikipedia.org/wiki/Free_software">free software</a> philosophies.  Debian is also distributed with access to repositories containing thousands of software packages ready for installation and use.</p>
<p>Most of the large <a href="http://bit.ly/c3mGator">managed hosting companies</a> don&#8217;t give you the option of choosing your Linux distro so your going to need to find one that does.  The reason for this is that it&#8217;s much easier for a hosting company to provide support using cPanel or <a href="http://www.parallels.com/products/pvc46/">Parallels Virtuozzo</a> VPS virtualization.  Virtuozzo allows them to squeeze many more VPSs on a box and control the resources and your limited to guess what &#8211; Cent OS.</p>
<p>Your going to need a provider that offers <a href="http://xen.org/">Xen virtualization</a>.  Xen is a powerful open source virtualization platform that supports a wide range of guest operating systems including Linux &#8211; Debian, Ubuntu, Free BSD, Cent OS, Fedora and more.  When you set up your account have your provider load the <a href="http://www.debian.org/releases/stable/">Debian 6 aka &#8220;squeeze&#8221;</a> image on your VPS or install it on your dedicated server.  If you have over 2GB memory go for the 64 bit version.</p>
<p>I use <a href="http://www.softlayer.com/">Softlayer (formally The Planet)</a> for my dedicated server because of the state of the art data centers and major broadband backbone it&#8217;s connected to.  It also has a very powerful back end portal and allows you to connect to your box over a private VPN.  <a href="http://www.linode.com/">Linode</a>, <a href="http://www.slicehost.com/">Slicehost</a>, and <a href="http://www.vps.net/">VPS.net</a>  are also very good choices.  I would stay away from Media Temple and Rackspace as I&#8217;ve had problems with both and they&#8217;ve had well documented  <a href="http://michaeltorbert.com/blog/media-temple-hacked/">security vulnerabilities</a> in the past.</p>
<p><strong>Next Page: Connecting to your server the first time.</strong></p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2011/07/22/wordpress-performance-server/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Response to &quot;Open Source Motivations&quot;</title>
		<link>http://c3mdigital.com/2010/12/01/open-source-motivations/</link>
		<comments>http://c3mdigital.com/2010/12/01/open-source-motivations/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 22:25:51 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Community Support]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=1004</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/12/01/open-source-motivations/">Response to &quot;Open Source Motivations&quot;</a> </p><p>In the article Alex answers some tough questions about the motivations, financial gain (or lack of), and indirect financial benefits of writing, maintaining and supporting "free" WordPress Plugins.</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/12/01/open-source-motivations/">Response to &quot;Open Source Motivations&quot;</a> </p><p>This post is in response to a  write up entitled <a href="http://alexking.org/blog/2010/12/01/open-source-motivations">&#8220;Open Source Motivations&#8221;</a> by long time WordPress developer, contributor and plugin author, <a href="http://alexking.org/">Alex King</a>.</p>
<p>Alex runs a successful and well known software and development consultancy firm, <a href="http://crowdfavorite.com/">Crowd Favorite</a>, along with <a href="http://wphelpcenter.com/">WordPress Help Center</a>, a specialized WordPress support center.</p>
<p>In the article Alex answers some tough questions about the motivations, financial gain (or lack of), and indirect financial benefits of writing, maintaining and supporting &#8220;free&#8221; WordPress Plugins.  Alex&#8217;s response to the questions along with some of the reactions on Twitter suggest that the current situation is unsustainable for developers.</p>
<p><strong>I disagree with this</strong></p>
<p><span id="more-1004"></span></p>
<blockquote><p>I actually feel strongly that the current situation is unsustainable. Unless the WordPress community at large starts to better recognize and reward the developers that create the tools that they use and rely on, the developers wonâ€™t/canâ€™t continue to provide as they have.</p></blockquote>
<p>Why it might not be financially beneficial for large shops like his to continue developing and supporting free themes and plugins, it is very beneficial to individual developers like myself, and others whose release of free plugins and themes have brought them great financial gain.</p>
<p><strong>How do you think developers like Alex and others got to where they are today?</strong></p>
<p>I strongly believe that part of the success of Crowd Favorite was due to the contributions that were made to b2 and to the WordPress community.  Others like Jason Schuller, Brian Gardner and Cory Miller  attributed part of the success of their Premium Theme businesses to releasing free themes to the community.  You can listen to the interviews and discussion about this very topic on Jeff Chandler&#8217;s <a href="http://www.wptavern.com/wpweekly-episode-94-%E2%80%93-commercial-themes">WordPress Weekly episode 94</a>.</p>
<p><strong>Contributing to the WordPress community is a way for smaller developers to make a name for themselves, get experience and prove to potential clients that they know what their doing.</strong></p>
<p>WordPress.org gives you the opportunity to put your product in front of millions of people.  Currently I have only released one plugin, <a href="http://wordpress.org/extend/plugins/wp-coda-slider/">WP Coda Slider</a>,  on WordPress.org.   My plugin is pretty simple and the only options available for it have to be put inside of a shortcode or through the use of a template tag but the response I have gotten has been great.   Hosting the demo of and providing support for the plugin on WP-Performance gets me around 250 &#8211; 500 visitors a day.</p>
<p><strong>In fact my simple little plugin has brought 8,267 visitors to my site since I released it back in September.</strong></p>
<p><a class="selector" href="http://c3mdigital.com/files/2010/12/wporg.png"><img src="http://c3mdigital.com/files/2010/12/wporg-450x117.png" alt="" width="450" height="117" class="aligncenter size-medium wp-image-1005" /></a></p>
<p>Website traffic may not be that big of a deal for the well known players in the WordPress development community but it has offered me the opportunity to expose my WordPress support and development services to a great number of people.  In the last three months I have gotten around 4 or 5 new really good clients who found me through my plugin.  I also find it very rewarding to help others and I am amazed that people are actually using software I created on their websites.</p>
<p><strong>One of the most troubling parts of Alex&#8217;s article is his sentiment towards the users of his products:</strong></p>
<blockquote><p>In talking with other plugin developers, it seems fairly universal that the reward for a successful plugin is a deluge of support email that includes the worst kind of sense of entitlement, rudeness and ignorance. The community as a whole seems to expect to be able to pay nothing, yet received expert and individual help and support for free.</p></blockquote>
<p><strong>I completely disagree that the community as a whole has this type of entitlement.</strong></p>
<p>I am sure there are those out there who don&#8217;t understand how much work and effort developers like Alex put into a free product but I have found that a majority of the community is very appreciative and also very polite when it comes to getting support for a free plugin.  Any time I have offered free help or support to other WordPress uses it has been a very pleasurable experience.  See for yourself on my <a href="http://wp-performance.com/wp-coda-slider/">plugins support page</a>.  Almost every single request contains a thank you and is very polite.  The same is true when I answer questions in the <a href="http://wordpress.org/support/profile/c3mdigital">WordPress.org support forums</a> or on Stack Exchanges <a href="http://wordpress.stackexchange.com/users/251/chris-o">WordPress Answers site</a>.</p>
<blockquote><p>I used to get about $100-200/month in the way of donations through my website. Unfortunately due to changes in the way plugins are presented on WordPress.org that has dried up to about $5/month.</p></blockquote>
<p>Ask any Plugin author about the &#8220;donations&#8221; they have received for their work and they will laugh because donations for WordPress Plugins have almost always been non existent.  If your counting on donations to make it or to feel appreciated then the &#8220;FREE&#8221; Plugin business is not for you.  This is not the fault of WordPress.org&#8217;s new plugin page design this is how it will always be.</p>
<p>It is very understandable that busy dev shops with payrolls to make and lots of clients to keep them busy don&#8217;t have the time, energy, resources or find it rewarding enough to contribute then thats fine.  There are plenty others who do and are thankful for the opportunity to contribute and without an open source community like WordPress none of you would be in business today.</p>
<p>Thanks for taking the time to read this and I welcome your thoughts and comments below.</p>
<p>UPDATE: There has been a lot of discussion on this topic including a <a href="http://weblogtoolscollection.com/archives/2010/12/02/open-source-motivations-whats-yours/">great post by Jeff Chandler</a></p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/12/01/open-source-motivations/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Reduce Page Loading Time by 300% With W3 Total Cache</title>
		<link>http://c3mdigital.com/2010/09/24/reduce-page-loading-time-w3-total-cache/</link>
		<comments>http://c3mdigital.com/2010/09/24/reduce-page-loading-time-w3-total-cache/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 22:35:51 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=822</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/09/24/reduce-page-loading-time-w3-total-cache/">Reduce Page Loading Time by 300% With W3 Total Cache</a> </p><p>Not all WordPress users are able to host their blog or website on a private server or VPS and need a way to speed up their websites.  There are a few great WordPress caching plugins like WP Super Cache and W3 Total Cache.</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/09/24/reduce-page-loading-time-w3-total-cache/">Reduce Page Loading Time by 300% With W3 Total Cache</a> </p><p>I recently answered a question over at <a href="http://wordpress.stackexchange.com/">WordPress Answers</a>, Stack Exchanges new WordPress question and answer site, about <a href="http://wordpress.stackexchange.com/questions/2213/what-are-the-best-practices-for-using-a-caching-plugin-on-a-shared-host">best practices for using a caching plugin with a shared host</a>.</p>
<p>Not all WordPress users are able to host their blog or website on a private server or VPS and need a way to speed up their websites.  There are a few great WordPress caching plugins like WP Super Cache and W3 Total Cache.  Both plugins are very popular, well supported by their authors and do a good job of caching.<br />
<span id="more-822"></span><br />
WP Super Cache is developed and supported by <a href="http://ocaoimh.ie/">Donncha O Caoimh</a> who is a member of the <a href="http://automattic.com/about/">Automattic </a> team and a core WordPress contributor.</p>
<p>W3 Total Cache was originally developed for<a href="http://mashable.com/"> Mashable.com </a> by their CTO, <a href="http://www.w3-edge.com/">Frederick Townes </a>.</p>
<p>W3 Total Cache is much more than a caching plugin.  Along with page caching, W3 also does object caching, database caching, minifies and combines css and js files and also has built in CDN (Content Delivery Network) support.  This is the only plugin available that tackles all the best practices of <a href="http://www.stevesouders.com/blog/">High Performance Websites</a></p>
<h5>On shared hosting plans your caching options are limited.</h5>
<p>You will only be able to statically cache the html output from your pages.  This is the fastest way to serve pages but you loose the dynamic aspects of WordPress like making comments and seeing the latest comments on posts.</p>
<p>There are disk caching options available in W3 Total Cache for objects and database but for object caching you will only see gains if your host is running fast drives and most sites have far too many queries per page (due to poorly written plugins) to see any advantage from database disk caching.</p>
<p>When the plugin is first activated the recommended settings will already be in place.</p>
<h5>How to Configure the plugin for best performance on a shared hosting plan</h5>
<p>This article will go through all the steps of setting up the plugin to get the best performance gains on a shared host.  If your on a VPS or private server you will have a lot more features to work with like using a PHP opcode cache and caching database queries in memory.</p>
<h5>Page Cache Settings</h5>
<p>Check all the options for page cache<img src="http://c3mdigital.com/files/2010/09/pagecache-e1285364652655.jpg" alt="page cache settings" width="500" height="362" class="aligncenter no-border size-full wp-image-823" /></p>
<h5>Cache Preload</h5>
<p>Turn this on and set the update interval at what ever is appropriate for your site.  This will rebuild the page cache at the given interval.<img src="http://c3mdigital.com/files/2010/09/cache-preload-e1285365004810.jpg" alt="cache preload settings" width="450" height="284" class="aligncenter no-border size-full wp-image-824" /></p>
<h5>Minify Settings</h5>
<p>Select Rewrite url structure and if your going to use the CDN check the auto upload so newly minified files will automatically get uploaded to the CDN. <img src="http://c3mdigital.com/files/2010/09/minify-e1285365153726.jpg" alt="minify settings" width="500" height="275" class="aligncenter no-border size-full wp-image-825" /></p>
<h5>Minify HTML Settings</h5>
<p>Enable and check remove line breaks, inline js and css minification.  If your using adsense or another service that uses comment stems enter them here to avoid having them minified.  <img src="http://c3mdigital.com/files/2010/09/minifyhtml.jpg" alt="minify html settings" width="467" height="333" class="aligncenter no-border size-full wp-image-826" /></p>
<h5>CSS and Javascript Minify Settings</h5>
<p>In the file management choose your theme and add any css files you want combined and minified.  There is also a help wizard that will search all your templates and add the suggested files for you.</p>
<h5>Using The Help Wizard</h5>
<p>W3 Total includes a tool that goes through your theme templates and finds Javascript and CSS files that are used and provides recommended settings.  First try theses settings and if problems are encountered go back and modify as needed.  Any files highlighted in red are files you have already included to be minified.</p>
<p>The minify settings give you the option of placing the minified files in different locations.   After &lt;head&gt;, after &lt;body&gt;   and before &lt;/body&gt;.  It is best to put as many as you can before &lt;/body&gt;.  If any plugins add inline js you won&#8217;t be able to use before &lt;/body&gt; for jquery or the plugins js because it will need to load before any inline &lt;script&gt; tags.  You can include any combinations of files in each location and for each template.  For instance you can set your comment-reply.js to only load on single.php<br />
<img src="http://c3mdigital.com/files/2010/09/minify-wizard.png" alt="minify wizard" width="460" height="486" class="aligncenter size-full wp-image-840" /></p>
<h5>Browser Cache Settings</h5>
<p>This is the most important one to get right.  If you properly cache your static content in your users browsers you can drastically reduce page load times and reduce bandwidth usage.</p>
<h5>General</h5>
<p>Check everything. Make sure and check &#8220;do not process 404 errors for static objects&#8221;.  browser cache settings is a big win for shared hosting because invoking PHP and returning 404 pages to bots etc is a big drain on resources and this feature prevents that.<br />
<img src="http://c3mdigital.com/files/2010/09/browser-cache-settings.png" alt="browser-cache settings" width="500" height="484" class="aligncenter no-border size-full wp-image-835" /></p>
<h5>CSS and Javascript Browser Cache Settings</h5>
<p>Check everything and set expires header lifetime to far future.  31536000 seconds is 1 year and what <a href="http://developer.yahoo.com/yslow/">yslow</a> recommends.  If you make changes to your css or javascript you have to change the file names to prevent users from using the old version.  If your using minify you won&#8217;t have to worry about serving outdated content because W3 takes care of changing the name of the minified file for you.</p>
<p>Set your cache Control policy to cache with max age.<br />
<img src="http://c3mdigital.com/files/2010/09/browser-cache-files.png" alt="browser cache file settings" width="500" height="333" class="aligncenter no-border size-full wp-image-836" /></p>
<p>There are two more browser cache setting sections.  HTMl and Images.  For Images use the same settings as CSS and JS.</p>
<p>For HTML don&#8217;t set expires unless your site is mainly static.  You can use short lifetimes if you want (180 seconds) but I wouldn&#8217;t go higher.  Enable gzip and you can check &#8220;set W3 Headers&#8221; so you can check the response headers to make sure they are working.<br />
<img src="http://c3mdigital.com/files/2010/09/browser-cache-html.png" alt="browser cache html settings" width="500" height="353" class="aligncenter no-border size-full wp-image-837" /></p>
<h5>CDN Settings</h5>
<p>CDN is one of the largest performance wins for any hosting scenario even if self-hosted.  W3 Total has built in support for popular origin pull and origin push CDN&#8217;s and a robust self hosted option that requires you to set up subdomains and cnames.  Note: Do not check force override unless new files are being overwritten.  Force override will constantly re-upload files even if they already exist.  This wastes bandwidth and resources.<br />
<img src="http://c3mdigital.com/files/2010/09/cdn-general.png" alt="cdn general settings" width="500" height="395" class="aligncenter no-border size-full wp-image-838" /></p>
<p>Self hosted CDN will let you take advantage of pipelining.  Browsers can only download a few files at once, only 4 in some cases. Pipelining is a technique whereby aliases (subdomains for example) of your server are used to allow your browser to increase the practical limit of files that can be downloaded in parallel. Doing so maximizes the throughput of the your internet connection and allows the browser to render a page faster. W3TC takes care of managing these files transparently once DNS CNAMEs (aliases) and subdomains are properly configured.<br />
<img src="http://c3mdigital.com/files/2010/09/cdn-hostname-settings.png" alt="cdn hostname settings" width="500" height="367" class="aligncenter no-border size-full wp-image-839" /></p>
<h5>Support</h5>
<p>W3 Total Cache is one of the best supported plugins on the WordPress.org plugin repository.  The author responds to all questions <a href="http://wordpress.org/tags/w3-total-cache">tagged w3-total-cache </a> and a support tab is also included in the plugin to use for reporting bugs.</p>
<h5>Testing</h5>
<p>You should always test your results and tweak your settings accordingly.  I like to use <a href="http://www.webpagetest.org/">WebPageTest.org</a>.  To compare my results and identify any potential problems.</p>
<h5>How much can you increase your performance using W3 Total Cache on WordPress with shared hosting?</h5>
<p>I recently helped a client reduce his page load times from almost 10 seconds to 3 seconds by implementing these settings on his WordPress blog.</p>
<h5>Before:</h5>
<p><img src="http://c3mdigital.com/files/2010/09/before-e1285366518625.jpg" alt="results before w3 total cache" width="500" height="532" class="aligncenter no-border size-full wp-image-832" /></p>
<p>As you can see by the waterfall image he was loading javascript before css which causes a blocking condition.  Blocking is when the loading of a script or file makes all other requests wait until it is fully downloaded.  He also had 50 external file requests and some 404 errors.</p>
<h5>After installing and configuring W3 Total Cache</h5>
<p><img src="http://c3mdigital.com/files/2010/09/after-e1285366746269.jpg" alt="after installing w3 total cache" width="500" height="451" class="aligncenter no-border size-full wp-image-833" /></p>
<p>These results are not perfect but they are a dramatic improvement over what they were.  We reduced the total time to load the page from 10 seconds to 3 seconds.  By combining and removing the javascript to the bottom we reduced the Start Render time from 3.5 seconds to .45 seconds.  The start render time is very important because it indicates when the page starts becoming viewable in the browser.  This progressive rendering effect gives the illusion of instant page loads because the user doesn&#8217;t notice there are still files being loaded in the background below the fold.</p>
<h5>Conclusion</h5>
<p>W3 Total Cache is the best choice for a caching plugin because it has so many more features than just caching.  What has your experience been with W3 Total Cache or other web performance solutions?  I would love to hear some of your best practice tips lets discuss this further in the comments.</p>
<h5>Other Performance Resources</h5>
<p><a href="http://c3mdigital.com/2010/08/optimizing-wordpress-performance-wordcamp-houston/">Optimizing WordPress for Performance</a>, my WordCamp Houston presentation.<br />
<a href="http://c3mdigital.com/2010/08/add-re-tweet-button-iframe-faster-page-loads/">How to add a re tweet button in an Iframe after the page loads for better performance</a><br />
<a href="http://www.w3-edge.com/weblog/2009/12/the-quest-for-speed/">The Quest for Speed </a>&nbsp; by Frederick Townes</p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/09/24/reduce-page-loading-time-w3-total-cache/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Add a Re-Tweet Button in an Iframe for Faster Page Loads</title>
		<link>http://c3mdigital.com/2010/08/10/add-re-tweet-button-iframe-faster-page-loads/</link>
		<comments>http://c3mdigital.com/2010/08/10/add-re-tweet-button-iframe-faster-page-loads/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 00:27:33 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=794</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/08/10/add-re-tweet-button-iframe-faster-page-loads/">Add a Re-Tweet Button in an Iframe for Faster Page Loads</a> </p><p>One of the topics discussed in my WordCamp Houston Presentation, Optimizing For Performance, was putting social media share buttons in an iframe to improve page rendering. I thought it would be helpful to describe in more detail how to accomplish this. Since Facebook already does a pretty good job of putting their widget code in [...]</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/08/10/add-re-tweet-button-iframe-faster-page-loads/">Add a Re-Tweet Button in an Iframe for Faster Page Loads</a> </p><p>One of the topics discussed in my WordCamp Houston Presentation, Optimizing For Performance, was putting social media share buttons in an iframe to improve page rendering.  I thought it would be helpful to describe in more detail how to accomplish this.</p>
<p><span id="more-794"></span><br />
Since Facebook already does a pretty good job of putting their widget code in an iframe we will use the TweetMeMe Re-Tweet button for this example.  If you were to just put the code directly in an iframe it wouldn&#8217;t help much because Javascript embedded in an iframe will block the rest of the page from loading until it was complete.</p>
<p>To accomplish our goal of progressive page rendering we will need to start with a div placeholder for our iframe code and write a short Javascript function to add the iframe code to our placeholder div once the page has completely loaded.  This is the same method Fredrick Townes, creator of the <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3-Total Cache</a> plugin and CTO of Mashable.com, uses to place the buttons on Mashable.</p>
<p>First we need to add our div placeholder to our template files where we want the Tweetmeme button to appear.  In this case we will use div id=&#8221;tm_box&#8221; then close the div.</p>
<p>Next we will need to build our iframe src variable.</p>
<p>1. Start with the button.js url that Tweetmeme provides in their embed code:<br />
<code>http://api.tweetmeme.com/button.js</code><br />
2. Add <code>?url=</code> followed by the page url (for now we will add URL as a placeholder because we will want the url to be whatever page the button is placed on).<br />
3. Add <code>&amp;style=</code> followed by what button style you will want to use.  Either normal or compact.<br />
4. Add <code>&amp;source=</code> followed by your Twitter username.<br />
5. Add <code>&amp;service=</code> followed by a URL shortening service for ease of use we will use the bit.ly service see the Tweetmeme api reference on how to add other services.</p>
<p>Your completed src variable will look something like this:<br />
<code>http://api.tweetmeme.com/button.js?url=URL&amp;style=normal&amp;source=Chris_Olbekson&amp;service=bit.ly</code></p>
<p>Now we will set the width and height attributes:</p>
<p>For the normal style button: <code>width="50" height="61"</code><br />
For the compact style button <code>width="90" height="20"</code></p>
<p>Now that we have all our variable our iframe code will look something like this:<br />
<code>
<pre>&lt;iframe src="http://api.tweetmeme.com/button.js?url=URL&amp;style=normal&amp;source=Chris_Olbekson&amp;service=bit.ly" scrolling="no" frameborder="0" width="50" height="61" &gt;&lt;/iframe&gt;</pre>
<p></code></p>
<p>Now to convert your iframe code from html to JavaScript you can use this simple online <a href="http://www.accessify.com/tools-and-wizards/developer-tools/html-javascript-convertor/">HTML to JavaScript Converter</a><br />
<a href="http://c3mdigital.com/files/2010/08/html-java-e1281484904301.png"><img src="http://c3mdigital.com/files/2010/08/html-java-e1281484904301.png" alt="" width="350" height="318" class="aligncenter size-full wp-image-795" /></a></p>
<p>Next we need a JavaScript function get the current page url.  We will use the <code>escape()</code> function just like TweetMeme uses in its button.js and we will add <code>window.onload = tweetMemeButton</code> which will fire the code after the page is completely loaded.</p>
<p>Here is our completed JavaScript which we can save as an external file and call it in header.php or footer.php (It won&#8217;t matter where we call it because it won&#8217;t fire till the page is loaded).</p>
<p><code>
<pre>
function tweetMemeButton() {
	if (document.getElementById("tm_box")) {
		var iframeCode= "";
iframeCode += "&lt;iframe src="http://api.tweetmeme.com/button.js?url=" + escape(document.URL) + "&amp;style=normal&amp;source=chris_olbekson &amp;service=bit.ly" scrolling="no" frameborder="0" width="50" height="61" &gt;";

		document.getElementById("tm_box").innerHTML = iframeCode;
	}
}

window.onload = tweetMemeButton;
</pre>
<p></code></p>
<p><del datetime="2010-08-18T02:25:16+00:00">This code is used to add the TweetMeMe Re-Tweet button at the end of this post.</del></p>
<p>**Update: 08/12/2020<br />
Twitter just announced the release of their new tweet button.  I will be evaluating the performance over the next few days.</p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/08/10/add-re-tweet-button-iframe-faster-page-loads/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Optimizing WordPress for Performance WordCamp Houston</title>
		<link>http://c3mdigital.com/2010/08/07/optimizing-wordpress-performance-wordcamp-houston/</link>
		<comments>http://c3mdigital.com/2010/08/07/optimizing-wordpress-performance-wordcamp-houston/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 19:56:36 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=793</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/08/07/optimizing-wordpress-performance-wordcamp-houston/">Optimizing WordPress for Performance WordCamp Houston</a> </p><p>Optimizing WordPress for Performance &#8211; WordCamp Houston View more presentations from Chris Olbekson.</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/08/07/optimizing-wordpress-performance-wordcamp-houston/">Optimizing WordPress for Performance WordCamp Houston</a> </p><div style="width:425px" id="__ss_4921472"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/c3mdigital/optimizing-wordpress-for-performance-wordcamp-houston" title="Optimizing WordPress for Performance - WordCamp Houston">Optimizing WordPress for Performance &#8211; WordCamp Houston</a></strong><object id="__sse4921472" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=optimizingforperformance-100807194004-phpapp01&#038;rel=0&#038;stripped_title=optimizing-wordpress-for-performance-wordcamp-houston&#038;userName=c3mdigital" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4921472" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=optimizingforperformance-100807194004-phpapp01&#038;rel=0&#038;stripped_title=optimizing-wordpress-for-performance-wordcamp-houston&#038;userName=c3mdigital" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/c3mdigital">Chris Olbekson</a>.</div>
</div>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/08/07/optimizing-wordpress-performance-wordcamp-houston/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordCamp Houston</title>
		<link>http://c3mdigital.com/2010/07/30/wordcamp-houston/</link>
		<comments>http://c3mdigital.com/2010/07/30/wordcamp-houston/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 10:19:22 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=782</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/07/30/wordcamp-houston/">WordCamp Houston</a> </p><p>My topic will be "Optimizing for Performance" - How to make your WordPress Blog Faster and Scalable.  The discussion will include tips for installing and configuring the W3 Total Cache plugin and how to take advantage of APC, X-Cache, or eAccelerator opcode caching...</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/07/30/wordcamp-houston/">WordCamp Houston</a> </p><p><a href="http://www.wordcamphouston.com/"><img src="http://c3mdigital.com/files/2010/07/WCH-Speaker-e1280483017479.jpg" alt="" width="100" height="133" class="alignleft size-full wp-image-781" /></a>I will be speaking at Houston&#8217;s first WordCamp, a one day camp dedicated to serving beginner to advanced, businesses to bloggers, and everyone in between.</p>
<p>My topic will be &#8220;Optimizing for Performance&#8221; &#8211; How to make your WordPress Blog Faster and Scalable.  The discussion will include tips for installing and configuring the W3 Total Cache plugin and how to take advantage of APC, X-Cache, or eAccelerator opcode caching, using efficient CSS selectors and theme files, and how to maximize your MySql database for performance.</p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/07/30/wordcamp-houston/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 New Features</title>
		<link>http://c3mdigital.com/2010/06/11/wordpress-3-new-features/</link>
		<comments>http://c3mdigital.com/2010/06/11/wordpress-3-new-features/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 07:46:47 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=636</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/06/11/wordpress-3-new-features/">WordPress 3.0 New Features</a> </p><p>WordPress Version 3.0&#160; is set to be released in the next week or so and contains some exciting new enhancements and improvements over previous versions. I have been working with the beta and release candidate versions over the past few weeks to develop a client project. I had to make the decision early on to [...]</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/06/11/wordpress-3-new-features/">WordPress 3.0 New Features</a> </p><p><a href="http://c3mdigital.com/files/2010/06/wordpress-logo-stacked-rgb.png"><img src="http://c3mdigital.com/files/2010/06/wordpress-logo-stacked-rgb-350x217.png" alt="" width="350" height="217" class="aligncenter no-border size-medium wp-image-637" /></a></p>
<p><strong>WordPress Version 3.0&nbsp;</strong> is set to be released in the next week or so and contains some exciting new enhancements and improvements over previous versions.</p>
<p>I have been working with the beta and release candidate versions over the past few weeks to develop a client project.  I had to make the decision early on to use WordPress 3.  My choice was to develop it with the older version and be safe or take a chance with the new version and the possibilities of things going wrong along the way.</p>
<p>Luckily everything turned out great and I only encountered a few minor issues along the way.</p>
<p>I made it a point to keep up with the nightly builds and back up the database daily before every update.  I benefited by becoming an expert in custom post types and taxonomies and I want to share some of this knowledge and will be writing a series of articles and tutorials on everything from the new built in menu system, custom post types, custom taxonomies, customizing the login page and admin interface and much more.</p>
<p>This post will serve as a starting point and will list many of the enhancements, fixes, and new features in Version 3.0.</p>
<p><strong>Will the new version break my theme or cause any conflicts?</strong><br />
No everything will still work when you install WordPress 3.0.</p>
<p><strong>Can I start using the new features right away?</strong><br />
Most of the new features including menus and custom post types require theme support via functions.php.</p>
<h2>User Enhancements</h2>
<ul>
<li>New default theme 2010</li>
<li>New menu management user interface</li>
<li>Custom backgrounds for themes</li>
<li>Custom header images for themes</li>
<li>New admin color scheme</li>
<li>Enhanced media upload interface</li>
<li>Ability to add theme css classes to post editor</li>
<li>Category to tag and tag to category converter</li>
<li>More secure install process (removes default admin username</li>
</ul>
<h2>Developer, Theme and Plugin Enhancements</h2>
<ul>
<li>Custom post types with built in UI</li>
<li>Custom taxonomies for any post type with built in UI</li>
<li>New template files: front-page.php, single-{post_type}.php, author-{nickname or ID}.php, taxonomy.php, taxonomy-{taxonomy}.php, taxonomy-{taxonomy-term}.php</li>
<li>New template tags and functions see <a href="http://codex.wordpress.org/Version_3.0">Codex Version 3.0</a></li>
<li>JQuery updated to 1.4.2 and JQuery UI to 1.7.2</li>
<li>add_theme_support function call to include the new features</li>
<li>Built in multi site built in via: WP_ALLOW_MULTISITE in config-php</li>
<li>wp-ajax.php file to use for front end and plugin ajax support</li>
</ul>
<p>As a developer and web designer, I am very happy with WordPress 3.0.  It moves it more to being a full fledged content management system than it was before and opens up more options for the theme developer, plugin developer, web designer and end user.</p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/06/11/wordpress-3-new-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Global Quality Imports</title>
		<link>http://c3mdigital.com/2010/06/03/global-quality-imports/</link>
		<comments>http://c3mdigital.com/2010/06/03/global-quality-imports/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 22:20:29 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=619</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/06/03/global-quality-imports/">Global Quality Imports</a> </p><p></p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/06/03/global-quality-imports/">Global Quality Imports</a> </p><p><a href="http://c3mdigital.com/files/2010/06/globalfront.jpg"><img src="http://c3mdigital.com/files/2010/06/globalfront-e1280513652658.jpg" alt="" width="410" height="210" class="aligncenter size-full wp-image-622" /></a></p>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/06/03/global-quality-imports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coming Soon Landing Page Options</title>
		<link>http://c3mdigital.com/2010/05/14/coming-soon-landing-page-options/</link>
		<comments>http://c3mdigital.com/2010/05/14/coming-soon-landing-page-options/#comments</comments>
		<pubDate>Fri, 14 May 2010 10:37:06 +0000</pubDate>
		<dc:creator>Chris Olbekson</dc:creator>
				<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://c3mdigital.com/?p=853</guid>
		<description><![CDATA[<p><p>Continue reading: <a href="http://c3mdigital.com/2010/05/14/coming-soon-landing-page-options/">Coming Soon Landing Page Options</a> </p><p>Help &#8220;Crowd Source&#8221; the coming soon landing page design for a Southern California start up construction management company. The chosen design will also be incorporated into the final site.</p></p><p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></description>
			<content:encoded><![CDATA[<p>Continue reading: <a href="http://c3mdigital.com/2010/05/14/coming-soon-landing-page-options/">Coming Soon Landing Page Options</a> </p><p>Help &#8220;Crowd Source&#8221; the coming soon landing page design for a Southern California start up construction management company.  The chosen design will also be incorporated into the final site.</p>
<p><span id="more-853"></span></p>
<div>
<ul class="portfolio">
<li><a class="selector" href="http://socalspectrum.com/wp-content/uploads/2010/10/option2.jpg"><img src="http://c3mdigital.com/files/2010/10/socal1-125x125.png" alt="" width="125" height="125" class="no-border" /></a>
</li>
<li><a class="selector" href="http://socalspectrum.com/wp-content/uploads/2010/10/option4.jpg"><img src="http://c3mdigital.com/files/2010/10/socal2-125x125.png" alt="" width="125" height="125" class="no-border" /></a>
</li>
<li><a class="selector" href="http://socalspectrum.com/wp-content/uploads/2010/10/option3.jpg"><img src="http://c3mdigital.com/files/2010/10/socal3-125x125.png" alt="" width="125" height="125" class="no-border" /></a>
</li>
<li><a class="selector" href="http://c3mdigital.com/files/2010/10/socalcurrent-1024x649.png"><img src="http://c3mdigital.com/files/2010/10/socal4-125x125.png" alt="" width="125" height="125" class="no-border" /></a>
</li>
</ul>
</div>
<div class="clear"></div>
<p>If your reading this anywhere other than <a href="http://c3mdigital.com">C3MDigital.com</a>, Facebook or an RSS reader then your using an un authorized source.  

<a href="http://c3mdigital.com">C3M Digital | WordPress Development &amp; Consulting - WordPress webdesign and development  in Houston Texas</a></p>]]></content:encoded>
			<wfw:commentRss>http://c3mdigital.com/2010/05/14/coming-soon-landing-page-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</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 5/39 queries in 0.025 seconds using memcached
Object Caching 1290/1363 objects using apc

Served from: star.c3mserver.us @ 2012-02-06 09:45:59 -->
