<?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>mattgadient.com &#187; Webmaster</title>
	<atom:link href="http://mattgadient.com/category/webmaster/feed/" rel="self" type="application/rss+xml" />
	<link>http://mattgadient.com</link>
	<description>Informational blogging by Matthew Gadient.</description>
	<lastBuildDate>Tue, 20 Jul 2010 23:08:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8230;and here I thought ValueClick was the problem.</title>
		<link>http://mattgadient.com/2009/11/01/and-here-i-thought-valueclick-was-the-problem/</link>
		<comments>http://mattgadient.com/2009/11/01/and-here-i-thought-valueclick-was-the-problem/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 07:27:34 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/2009/11/01/and-here-i-thought-valueclick-was-the-problem/</guid>
		<description><![CDATA[A couple CPM advertisers I&#8217;ve run on the Warcraft-Maps site were Burst and ValueClick. I ran a few others as well although they were lesser-known names and I dropped them because not only did they not pay well, but they ran some questionable ads.
Last year I had a little surprise in that Warcraft-Maps.com was listed [...]]]></description>
			<content:encoded><![CDATA[<p>A couple CPM advertisers I&#8217;ve run on the Warcraft-Maps site were Burst and ValueClick. I ran a few others as well although they were lesser-known names and I dropped them because not only did they not pay well, but they ran some questionable ads.</p>
<p>Last year I had a little surprise in that Warcraft-Maps.com was listed as an attack site. Turned out that either Burst or ValueClick were running some not-so-nice ads and got the site flagged. It did eventually un-flag, but I wasn&#8217;t thrilled.</p>
<p>I always thought ValueClick was the problem. They&#8217;ve got a huge amount of ads running on their network, and they don&#8217;t seem as selective as Burst!. You can imagine my surprise a few minutes ago though, when Kaspersky did the little &#8220;violin&#8221; when I visited my site. Turned out Burst doesn&#8217;t behave so well after all.<span id="more-725"></span></p>
<p>-</p>
<p>Last month, I dumped ValueClick &#8211; I was only serving Burst! Media ads, and Google ads.</p>
<p>Well, time to say goodbye to Burst. It&#8217;s rather unfortunate that one of the &#8220;better&#8221; providers has gone downhill in this way.</p>
<p>-</p>
<p>The reason I originally ran CPM ads to begin with was because the bandwidth that Warcraft-Maps.com used was the big part in upgrading hosting packages over the last 3 years. It used more than all the other sites combined, and effectively cost the most to run.</p>
<p>If you&#8217;ve ever wondered why &#8220;download&#8221; sites bombard you with ads, popups, pop-unders, and everything else, it&#8217;s because that bandwidth isn&#8217;t free &#8211; it&#8217;s got to be paid for somehow. As much as I despise pop-unders, I&#8217;ll admit I did have them running on the Warcraft-Maps site for quite some time.</p>
<p>And yes, running pop-unders on one of my sites did leave me with a dirty feeling inside &#8211; I&#8217;m still recovering.</p>
<p>-</p>
<p>However, that&#8217;s all in the past now. I have to give a big thanks to HostGator actually. Their unlimited hosting has allowed me to throw all the bandwidth-intensive stuff on there at a cost of under $10/month. How unlimited is unlimited? Well, Brent from HostGator recently <a href="http://www.webhostingtalk.com/showpost.php?p=6472727&amp;postcount=47">posted</a> on WHT, mentioning that he regularly comes across accounts using over 5TB of bandwidth per month. I&#8217;m way under that.</p>
<p><a href='http://secure.hostgator.com/cgi-bin/affiliates/clickthru.cgi?id=mgadient' target='_blank'><img src='http://www.hostgator.com/affiliates/banners/190x60.gif' /></a></p>
<p>In any case, Warcraft-Maps.com is now running only Adsense stuff, which has generally shown to be safe to viewers.</p>
<p>Goodbye Burst&#8230; and here I thought ValueClick was the problem. Turns out you both were.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/11/01/and-here-i-thought-valueclick-was-the-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing a broken contact form on a Joomla site</title>
		<link>http://mattgadient.com/2009/10/18/fixing-a-broken-contact-form-on-a-joomla-site/</link>
		<comments>http://mattgadient.com/2009/10/18/fixing-a-broken-contact-form-on-a-joomla-site/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 08:20:19 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/2009/10/18/fixing-a-broken-contact-form-on-a-joomla-site/</guid>
		<description><![CDATA[Recently, I switched most of my sites to another server.
After about a week of not receiving any messages through the contact form on one of them, I suddenly realized&#8230; &#8220;ya know&#8230; it&#8217;s been a while&#8221;. I tried sending myself a test message through the contact form, and never received it. Sending from another email account [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I switched most of my sites to another server.</p>
<p>After about a week of not receiving any messages through the contact form on one of them, I suddenly realized&#8230; &#8220;ya know&#8230; it&#8217;s been a while&#8221;. I tried sending myself a test message through the contact form, and never received it. Sending from another email account worked though. Strange&#8230;..</p>
<p>Before going any further it&#8217;s worth noting that I&#8217;m using Google Apps on the aforementioned site for mail (gmail for domains).</p>
<p>To narrow down <span id="more-716"></span>the cause, I did a couple things. First, I came across a little script on the Joomla forums (thanks to &#8220;ChiefGoFor&#8221;). It basically tests the PHP mail function (which Joomla uses by default) and looks like this:</p>
<blockquote><p>&lt;?php<br />
mail(&#8220;youremail@domain.com&#8221;, &#8220;Testing PHP mail&#8221;, &#8220;Email sent successfully&#8221;);<br />
echo &#8220;script complete.&#8221;;<br />
?&gt;</p></blockquote>
<p>I made a file called &#8220;testmail.php&#8221;, plunked that code in, changed the email address to a hotmail one that I own, and opened in in my web browser. It worked.</p>
<p>&#8212;&#8212;</p>
<p>Next I tried changing the email address it sends to from within the Joomla site, again, pointing it to the hotmail one I tried above.</p>
<p>It worked!</p>
<p>Problem was obviously either Google not accepting messages from the server, or the server not sending to Google for some reason.</p>
<p>I popped open WHM, and ran the &#8220;Mail Troubleshooter&#8221; (under the &#8220;Email&#8221; section in WHM). When I typed in the address hosted through Google Apps, it spit out the following message:</p>
<blockquote><p><em>virtual_aliases via virtual_aliases router</em> forced address failure</p></blockquote>
<p>Fun.</p>
<p>I tried entering a hotmail address, and it showed the proper MX lookups through Hotmail.</p>
<p>Now all the pieces were falling together.</p>
<p>&#8212;&#8212;</p>
<p>Here&#8217;s what was happening&#8230;.</p>
<ul>
<li>The DNS isn&#8217;t hosted on the web server in my case. It&#8217;s hosted elsewhere. It&#8217;s properly set up (MX records and all).</li>
<li>The web server however <strong>doesn&#8217;t look</strong> at the DNS server for a site contained on the web server. After all, why would it spend the time to look itself up?</li>
<li>In short, while MX records were properly set up on the DNS server, they also have to be set up on the web server if it ever sends mail to an email address that reflects a domain on the server which is hosted elsewhere.</li>
</ul>
<p>I&#8217;ll draw a little picture to explain it a little better.</p>
<p><img class="alignnone size-full wp-image-715" title="web-server-dns-email-process-google-apps" src="http://mattgadient.com/wp-content/uploads/2009/10/web-server-dns-email-process-google-apps.png" alt="web-server-dns-email-process-google-apps" width="400" height="400" /></p>
<p>As you can see from my wonderful drawing, if your mail is hosted somewhere else, it won&#8217;t matter that your separately-hosted DNS server was set up correctly &#8211; you&#8217;ll still have to add the MX entries to the web server (otherwise it&#8217;ll just look at itself).</p>
<p>The good news is that for those who self-host their DNS, WHM/CPanel will pick up the MX entries when you add them to the zone file.</p>
<p>For everyone else, MX entries can be added easily in CPanel&#8217;s &#8220;MX Entry&#8221; section.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/18/fixing-a-broken-contact-form-on-a-joomla-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Removing mootools.js and caption.js from Joomla</title>
		<link>http://mattgadient.com/2009/10/16/removing-mootools-js-and-caption-js-from-joomla/</link>
		<comments>http://mattgadient.com/2009/10/16/removing-mootools-js-and-caption-js-from-joomla/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 23:08:55 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/2009/10/16/removing-mootools-js-and-caption-js-from-joomla/</guid>
		<description><![CDATA[If you&#8217;ve tried to clean up your Joomla template, something may have perplexed you at one point or another. There&#8217;s no mention of mootools or caption.js in the template file, yet these 2 things end up in the HEAD section of all your pages anyway.
If your site is pretty basic, you probably don&#8217;t need them, [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve tried to clean up your Joomla template, something may have perplexed you at one point or another. There&#8217;s no mention of mootools or caption.js in the template file, yet these 2 things end up in the HEAD section of all your pages anyway.</p>
<p>If your site is pretty basic, you probably don&#8217;t need them, and having them load every time just makes it that much more painful for your dial-up viewers. Heck, mootools.js alone is 74 kb !</p>
<p>So how do you get rid of mootools? It&#8217;s pretty simple code that you throw in your template&#8217;s HTML fi<span id="more-714"></span>le. Hopefully, you know where the template is, but if not, you can find it one of two ways (you may want to back up first just in case!):</p>
<ul>
<li>Browse to (and edit) the <strong>/templates/your-template-name/index.php</strong> file (located in the directory your website is in); or,</li>
<li>From within Joomla&#8217;s administrator panel, choose <strong>Extensions</strong> / <strong>Template Manager</strong> , then click on your template (probably the one with a star beside it), then choose &#8220;<strong>Edit HTML</strong>&#8220;.</li>
</ul>
<p>Depending on how the permissions are set up on your server, one method may be easier than the other. Here&#8217;s the code you&#8217;re going to put in the template:</p>
<blockquote><p>&lt;?php<br />
//remove mootools.js and caption.js<br />
$headerstuff=$this-&gt;getHeadData();<br />
reset($headerstuff['scripts']);<br />
foreach($headerstuff['scripts'] as $key=&gt;$value){<br />
unset($headerstuff['scripts'][$key]);<br />
}<br />
$this-&gt;setHeadData($headerstuff);<br />
?&gt;</p></blockquote>
<p>Note that this goes near the top, right AFTER this:</p>
<blockquote><p>&lt;?php<br />
// Prevent direct access sans Joomla!:<br />
defined( &#8216;_JEXEC&#8217; ) or die( &#8216;Restricted access&#8217; );<br />
?&gt;</p></blockquote>
<p>So once you&#8217;re done, the first few lines are probably going to look something like this (the <strong><span style="color: #000080;">blue</span></strong> is the stuff you&#8217;re <strong><span style="color: #000080;">adding</span></strong>):</p>
<blockquote><p>&lt;?php<br />
// Prevent direct access sans Joomla!:<br />
defined( &#8216;_JEXEC&#8217; ) or die( &#8216;Restricted access&#8217; );<br />
?&gt;</p>
<p><span style="color: #000080;">&lt;?php<br />
//remove mootools.js and caption.js<br />
$headerstuff=$this-&gt;getHeadData();<br />
reset($headerstuff['scripts']);<br />
foreach($headerstuff['scripts'] as $key=&gt;$value){<br />
unset($headerstuff['scripts'][$key]);<br />
}<br />
$this-&gt;setHeadData($headerstuff);<br />
?&gt;</span></p>
<p>&lt;!DOCTYPE html PUBL&#8230;&#8230;..</p></blockquote>
<p>That&#8217;s it! Save, load up your website, make sure to hit refresh once (F5), and view the source &#8211; no more mootools or caption.js! Your website should load faster, and dial-up users can save their tears for another site.</p>
<p>&#8212;&#8212;</p>
<p>A couple final things to note:</p>
<ol>
<li>Some Joomla templates (usually just the really fancy ones) may need mootools.js to operate properly. Make sure to check  your template&#8217;s functionality afterwards.</li>
<li>There are a few Joomla plugins/modules/components that require mootools as well. Many lightbox modules do for example, and you may find that many image/photo/video galleries do as well.</li>
</ol>
<p>If you have any issues, just remove that bit of code from your template and you should be good to go again.</p>
<p>&#8212;&#8212;</p>
<p>Finally, as much as I&#8217;d like to take credit for the above, credit goes to someone on the Joomla forums who posted it long ago (I don&#8217;t recall who it was, or who came up with it in the first place).</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/16/removing-mootools-js-and-caption-js-from-joomla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Host CPU speed test &#8211; HostGator vs VPSLink vs WiredTree</title>
		<link>http://mattgadient.com/2009/10/08/host-cpu-speed-test-hostgator-vs-vpslink-vs-wiredtree/</link>
		<comments>http://mattgadient.com/2009/10/08/host-cpu-speed-test-hostgator-vs-vpslink-vs-wiredtree/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 01:41:22 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/2009/10/08/host-cpu-speed-test-hostgator-vs-vpslink-vs-wiredtree/</guid>
		<description><![CDATA[While reading through WHT, I came across a neat little tidbit.
It&#8217;s a bit of PHP code that can be used to get an idea as to how fast the processor is on the machine your websites are hosted on &#8211; or at least the speed you have available to you. A thanks to &#8220;webpan&#8221; of [...]]]></description>
			<content:encoded><![CDATA[<p>While reading through WHT, I came across a <a href="http://www.webhostingtalk.com/showthread.php?t=895413">neat little tidbit</a>.</p>
<p>It&#8217;s a bit of PHP code that can be used to get an idea as to how fast the processor is on the machine your websites are hosted on &#8211; or at least the speed you have available to you. A thanks to &#8220;webpan&#8221; of the WHT forums for putting up the code he used for his LiquidWeb test.</p>
<p>Basically, you create a php file that looks like this:</p>
<blockquote><p>&lt;?php<br />
$startTime = microtime(true);<br />
for ($i=0;$i&lt;500;$i++) {<br />
$j++;<br />
for ($k=0;$k&lt;10000;$k++) {<br />
$j++;}<br />
}<br />
$endTime = microtime(true);<br />
$delta = $endTime &#8211; $startTime;</p>
<p>echo &#8220;total time: $delta seconds.\n&#8221;;</p>
<p>//phpinfo();<br />
?&gt;</p></blockquote>
<p>Call it &#8220;test.php&#8221; or something, and put it somewhere on your webserver &#8211; then browse and run it. You <em>could</em> modify it to do some more stressful math, but don&#8217;t go crazy.</p>
<p>I tried it on 3 hosts, and here were my results:</p>
<div id="attachment_705" class="wp-caption alignnone" style="width: 411px"><img class="size-full wp-image-705" title="HostGator vs VPSLink vs WiredTree speed test" src="http://mattgadient.com/wp-content/uploads/2009/10/speedtest.PNG" alt="time in seconds" width="401" height="387" /><p class="wp-caption-text">time in seconds - lower is better</p></div>
<p>Each test was run at 3 different time periods during the day. To make things a <span id="more-706"></span>little more readable the times for each run are only shown to 2 decimal points. The variance here is the sum of the deviations from the average of all 3 tests.</p>
<p>You&#8217;ll notice the following:</p>
<ul>
<li>WiredTree came out on top, and VPSLink wasn&#8217;t far behind. HostGator was the slowest.</li>
<li>Each run was *very* similar. There was almost no variance, indicating that none of the host machines seem to suffer from high CPU loads at certain points of the day.</li>
</ul>
<p>&#8212;</p>
<p><strong>But what does it all mean, Basil? </strong>(obligatory Austin Powers quote)</p>
<p>Well, as far as processor-intensive PHP tasks go, the WiredTree and VPSLink VPS&#8217;s are likely to be quicker, and pump out the results faster. In all likelihood they&#8217;re simply using faster processors than HostGator. There could very well be other reasons that HostGator came behind, but the fact of the matter is that there&#8217;s more processor speed/power available to both VPS scripts.</p>
<p>&#8212;</p>
<p><strong>Does this mean that HostGator&#8217;s slow/bad?</strong></p>
<p>Not at all.</p>
<p>There are so many factors that come into play, that you can&#8217;t base a host decision on one type of test. HostGator&#8217;s got a lot of servers, and I can guarantee you they&#8217;re not all the same. The same probably holds true of the VPS providers. If someone gets a brand-spanking-new machine, it&#8217;ll be faster than the old machines. It&#8217;s a &#8220;luck of the draw&#8221; thing as far as which machine you&#8217;re put on.</p>
<p>You also have to consider that there are many other things that come into play when you&#8217;re looking at how long it takes for a page to load somewhere. There are many things that go into tuning a server. A server that&#8217;s strapped for RAM, a poorly tuned MySQL database, a server that&#8217;s always waiting on IO, a server connected to the network with a 10Mbps port that&#8217;s being maxed out, the server location, and the datacenter&#8217;s connectivity are just a few examples of things that can really affect how long it takes for a page to load on the viewer&#8217;s end.</p>
<p>&#8212;</p>
<p><strong>The test subjects (aka &#8220;You Rigged the Test!&#8221;)</strong></p>
<p>I&#8217;ll be the first to admit that these weren&#8217;t necessarily level playing fields. Here were the candidates:</p>
<p><span style="text-decoration: underline;">HostGator</span><br />
Shared hosting plan<br />
Apache/FCGI/SuExec</p>
<p><span style="text-decoration: underline;">VPSLink</span><br />
Link-4 VPS &#8211; Xen<br />
Apache/SuPHP/SuExec</p>
<p><span style="text-decoration: underline;">WiredTree</span><br />
1024 VPS &#8211; Virtuozzo<br />
LiteSpeed/LSAPI/SuExec</p>
<p>The way it typically works for PHP speed is this:<br />
DSO &gt; FastCGI &gt;SuPHP<br />
Litespeed&#8217;s PHP server&#8217;s a little tough to put in there although most of the info out there seems to indicate it may be faster than all the above. I have no way of knowing whether the speed of the above test is affected much by the engine serving up the PHP, although I&#8217;d expect the effect to be marginal in a test like this.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/08/host-cpu-speed-test-hostgator-vs-vpslink-vs-wiredtree/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SimpleCDN vs Amazon CloudFront</title>
		<link>http://mattgadient.com/2009/10/07/simplecdn-vs-amazon-cloudfront/</link>
		<comments>http://mattgadient.com/2009/10/07/simplecdn-vs-amazon-cloudfront/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 08:17:40 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/2009/10/07/simplecdn-vs-amazon-cloudfront/</guid>
		<description><![CDATA[I recently started up an account at SimpleCDN to help offload a webserver a little bit by putting static images there.  After a couple days, I decided to give Amazon&#8217;s CloudFront a try as well.
I&#8217;ll start off by saying this was originally going to be primarily about the performance differences. However, after a few hours [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started up an account at SimpleCDN to help offload a webserver a little bit by putting static images there.  After a couple days, I decided to give Amazon&#8217;s CloudFront a try as well.</p>
<p>I&#8217;ll start off by saying this was originally going to be primarily about the performance differences. However, after a few hours of testing, I found there&#8217;s not enough of a difference to be worth mentioning &#8211; neither was consistently better than the other. Performance-wise, for the most part it really boiled down to how close each test location was to the nearest respective edge server. This was relatively small-scale testing with a site that pulled about 12 images per page (and thus pulled 12 items from each CDN), but I concluded that neither&#8217;s going to make a lick of difference performance-wise&#8230; at least, not for the typical individual who&#8217;s looking at these two for solutions.</p>
<p>That said, time to take a look at the merits of each at a basic level:<span id="more-704"></span></p>
<table border="0">
<tbody>
<tr>
<td></td>
<td><strong>SimpleCDN</strong></td>
<td><strong>Amazon CloudFront</strong></td>
</tr>
<tr>
<td>Upload Buckets</td>
<td><span style="color: #008000;">Yes (ftp upload)</span></td>
<td>Yes (through Amazon S3)</td>
</tr>
<tr>
<td>Mirror Buckets</td>
<td><span style="color: #008000;">Yes</span></td>
<td>No</td>
</tr>
<tr>
<td>CNAME support</td>
<td>Yes ($5 per CNAME)</td>
<td><span style="color: #008000;">Yes (free &#8211; up to 10 CNAMES per distribution)</span></td>
</tr>
<tr>
<td>Peering/Edge locations</td>
<td>13</td>
<td><span style="color: #008000;">14</span></td>
</tr>
<tr>
<td>Set Expires Header</td>
<td><span style="color: #008000;">Yes</span></td>
<td>Difficult but possible</td>
</tr>
<tr>
<td>Set Gzip Encoding</td>
<td><span style="color: #008000;">Yes</span></td>
<td>Difficult but possible</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Payment frequency</td>
<td>Pay-as-you-go. Start with $15 free. Minimum $50 top-ups.</td>
<td>Pay-as-you-go. Billed at end of month.</td>
</tr>
<tr>
<td>Minimum monthly fee/cost</td>
<td>None</td>
<td>None</td>
</tr>
<tr>
<td>Starting Price per GB of transfer</td>
<td><span style="color: #008000;">3.9 cents</span></td>
<td>17 cents (more for non-US locations) + transfer cost to/from S3</td>
</tr>
<tr>
<td>Storage cost per GB / month</td>
<td>75 cents</td>
<td><span style="color: #008000;">15 cents (Amazon S3)</span></td>
</tr>
<tr>
<td>Starting cost per 10,000 GET requests</td>
<td><span style="color: #008000;">free</span></td>
<td>1 cent</td>
</tr>
</tbody>
</table>
<p><strong>Preface:</strong><br />
SimpleCDN was designed straight-up as a CDN, and meant to be simple (hence the name). CloudFront on the other hand is built upon the structure of the other Amazon services, and can be thought of as more of a &#8220;bolt-on&#8221;. In fact, CloudFront uses (and requires) the Amazon S3 service for hosting the files &#8211; CloudFront then pulls the files to the CDN from S3. These are very different approaches. SimpleCDN is generally simpler to use, and more powerful in the options it offers. That said, anyone already using Amazon S3 extensively will probably feel more at home with CloudFront.</p>
<p><strong>Upload Buckets:</strong><br />
For those unfamiliar with the way these work, you basically upload the files you want on the CDN into what&#8217;s called a &#8220;bucket&#8221;. It&#8217;s a pretty simple concept &#8211; you basically end up with a new URL where those files are located &#8211; no different from linking to files on a separate server/website, except that these are now on a CDN and should be served closer to whichever users are requesting them. Both SimpleCDN and CloudFront can use them. For SimpleCDN you use your favorite FTP client to upload the files. For Amazon CloudFront, you put the files up on Amazon S3, and set it up to pull from there.</p>
<p><strong>Mirror Buckets:</strong><br />
For those unfamiliar with these (also called &#8220;origin pull&#8221;), these are often easier to implement with dynamic websites &#8211; particularly those where static content you may want on the CDN (such as images) are often uploaded/added to the site. Both Wordpress and Drupal have plugins for these. All the content you want on the CDN stays on your server/website. Requests for those files are redirected to the CDN which &#8220;pulls&#8221; the file(s) from the server/website, and begins serving them through the CDN. SimpleCDN has support for this. CloudFront does not.</p>
<p><strong>CNAME Support:</strong><br />
This is often more of a &#8220;vanity&#8221; feature than anything else. It allows you to use something like cache.mywebsite.com, images.mywebsite.com, static.mywebsite.com, cdn.mywebsite.com &#8230;.. you get the idea. You basically use a subdomain or domain that you own, and use a CNAME in your DNS settings to point it to the CDN. That way, viewers see your pretty, professional-looking name as the page loads instead of an ugly long url. To be frank, most viewers won&#8217;t see/notice the difference with content that&#8217;s loaded within the page (template images, css, etc). In any case, both SimpleCDN and CloudFront offer this. SimpleCDN charges a 1-time fee of $5 for each CNAME you set up, while Amazon includes them for free (but with a max of 10 per distribution). This is one area where Amazon really has the upper hand price-wise, particularly if you&#8217;re looking to add a lot of CNAMES.</p>
<p><strong>Peering/Edge Locations:</strong><br />
Both have a comparable number of locations, and for the most part they&#8217;re in relatively similar geographical regions. Unless you have a *very* specific geographical target (a specific city for example), neither&#8217;s likely to come ahead in this respect (the similarities were reflected in performance testing I did).</p>
<p><strong>Expires Header and gzip Encoding:</strong><br />
SimpleCDN wins in this area hands-down. There are currently 17 combinations, and what they enable (a certain expires length, gzip, or both for example) depends on what URL you use to access the bucket making it easy to mix/match between them. As far as Amazon&#8217;s side goes, from what I understand you can set expires headers through S3 which will be pulled to CloudFront, but you need particular software to do it. CloudFront won&#8217;t gzip content either. You can technically get around it by pre-gzipping the content and using the PHP on your site to determine whether to grab the gzip or non-gzip version of items depending on the browser&#8217;s capabilities, but really&#8230; you get the idea. It&#8217;s ugly. SimpleCDN is simple, easy, and just plain comes out ahead here.</p>
<p><strong>Payment:</strong><br />
SimpleCDN is completely pay-as-you-go, and they currently start you off with a free $15. At under 4 cents per GB, you&#8217;re looking at close to 375GB of transfer before you use it all up (minus any storage). You can also use part of this free $15 for the $5 CNAMES if you&#8217;d like. Once you&#8217;ve used it up, you&#8217;ll have to add more if you want the CDN to remain accessible. The lowest amount you can add at a time is $50. Amazon on the other hand simply bills you each month for your usage. Which is better is a matter of perspective.</p>
<p><strong>Minimum Monthly Fee/Cost:</strong><br />
Neither have monthly fees, minimums, or costs. You pay for what you use &#8211; that&#8217;s it.</p>
<p><strong>Starting price per GB of transfer:</strong><br />
SimpleCDN charges 3.9 cents per GB, no matter where the traffic is coming from. This gets even cheaper if you hit the 100TB mark in any given month. CloudFront on the other hand is a fair bit more expensive. Amazon charges anywhere from 17-22 cents per GB (depending on the location the content&#8217;s pulled from) for the first 10TB, after which the price starts going down. SimpleCDN is clearly ahead here.</p>
<p><strong>Storage cost per GB / month:</strong><br />
SimpleCDN charges 75 cents per GB of storage per month. Since the Amazon content is stored on their S3 service, it&#8217;s much cheaper &#8211; starting at 15 cents per GB per month. However, with Amazon you&#8217;re also hit with all the S3 rules &#8211; so you&#8217;re charged for both data-transfer (including each time CloudFront pulls the files from S3), as well as GET/PUT/COPY/etc requests. Amazon is still likely to come out ahead here (especially if you store many terrabytes of seldom-accessed content), but it&#8217;s worth doing the math to see.</p>
<p><strong>Starting cost per 10,000 GET requests:</strong><br />
SimpleCDN doesn&#8217;t charge for these. Amazon does, and Cloudfront will charge a penny for every 10,000 GET requests. Calculate how many static contents are on your website page that you&#8217;d be serving from the CDN. Multiply it by the page views in a month and you&#8217;ll get a rough idea as to how much this will cost.</p>
<p>&#8212;&#8212;</p>
<p>A few notes I couldn&#8217;t quite squeeze up there:</p>
<ul>
<li>If you use SimpleCDN and decide to use CNAME&#8217;s as well, be sure to type it in correctly when creating it! Most of SimpleCDN&#8217;s website is very easy/intuitive, but the CNAME part is one area that isn&#8217;t as clear until you *read* it.</li>
<li>While you can use as many expires/gzip options and combinations as you want, note that each CNAME can only point to ONE of these combinations at a time.</li>
<li>There&#8217;s a Firefox plugin called S3Fox which is one of the quickest/easiest ways to upload files to Amazon&#8217;s S3 (and then push to CloudFront). You do have to read the instructions though &#8211; otherwise you&#8217;ll be right-clicking for a while to figure things out.</li>
<li>Setting expires headers can help to reduce your transfer costs &#8211; possibly by a substantial amount.</li>
<li>SimpleCDN has changed their policies in the past &#8211; they used to charge a flat rate depending on the file-size, and then give unlimited transfer. Hopefully they&#8217;re out of the &#8220;growing/learning/testing&#8221; phase and are well-settled on the current policies and prices but be aware that it wasn&#8217;t that long ago that things changed &#8211; they could always change again (in other words, don&#8217;t go adding enough money to cover you for the next 5 years of traffic &#8211; things could change)</li>
</ul>
<p>So which CDN comes out ahead? Definitely SimpleCDN. It&#8217;s easier to use, it&#8217;s more flexible/powerful, it&#8217;s less than 1/4 of the cost of CloudFront, you won&#8217;t go mad with a calculator trying to predict your costs, and the &#8220;Simple&#8221; part of the name is well-earned.</p>
<p>That said, Amazon CloudFront is still a viable option in certain cases. If you&#8217;re already familiar with (and like) the S3 service, adding CloudFront to your mix may be a no-brainer. It&#8217;s also likely to be a less-risky bet since SimpleCDN has already scrapped/revamped their entire pricing structure once (much to the dismay of many), whereas Amazon&#8217;s been a relatively stable company for years. Amazon also has many strengths as a storage option. Finally, if you&#8217;re looking for a lot of CNAME&#8217;s and aren&#8217;t as concerned about expires headers and gzip (or are willing to go to the lengths to manually work them out), Amazon does give them out for free.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/07/simplecdn-vs-amazon-cloudfront/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to add Google&#8217;s canonical tag to Joomla articles</title>
		<link>http://mattgadient.com/2009/10/05/how-to-add-googles-canonical-tag-to-joomla-articles/</link>
		<comments>http://mattgadient.com/2009/10/05/how-to-add-googles-canonical-tag-to-joomla-articles/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 22:09:01 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/?p=699</guid>
		<description><![CDATA[Background:
I used to use non-SEF url&#8217;s on a Joomla site, and recently turned on Joomla&#8217;s built-in SEF. Problem is that the old URL&#8217;s still &#8220;work&#8221;. Of course, this is great for people who visit &#8211; not so great when GoogleBot comes along.
GoogleBot comes happily along and for any given article sees the original archaic url [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Background:</strong></p>
<p>I used to use non-SEF url&#8217;s on a Joomla site, and recently turned on Joomla&#8217;s built-in SEF. Problem is that the old URL&#8217;s still &#8220;work&#8221;. Of course, this is great for people who visit &#8211; not so great when GoogleBot comes along.</p>
<p>GoogleBot comes happily along and for any given article sees the original archaic url with a bunch of parameters that have been there forever. Of course, there&#8217;s little incentive for it to use the &#8220;cleaner&#8221; versions. As far as it&#8217;s concerned, the archaic stuff is the original, and the new url&#8217;s are duplicate content. It could eventually change it&#8217;s mind as to the &#8220;preferred&#8221; page on it&#8217;s own, but there are a few fighting factors here. On one hand, the sitemap points to the &#8220;new&#8221; one, and it&#8217;s predominantly linked to through the current site. On the other hand, anyone who&#8217;s linked to the site in the past has linked to the &#8220;old&#8221; one, and let&#8217;s face it &#8211; it was there first.</p>
<p>To make the change and get Google looking at the right page, we&#8217;ll go over the things I tried that <strong>didn&#8217;t</strong> work, and then the thing I tried that <strong>did</strong> work:<span id="more-699"></span></p>
<p><strong>Stuff that didn&#8217;t work:</strong></p>
<ul>
<li>.htaccess redirects &#8211; I came mighty close with some mod_rewrite rules, but to be honest even if I had eventually got the proper ruleset set-up, copying/pasting the cryptic stuff for every article would have been very time consuming. Of course the plus side had it worked is that the &#8220;old&#8221; url&#8217;s wouldn&#8217;t even be accessible anymore, so there wouldn&#8217;t be any risk of someone linking to the depreciated url in the future. Really though, the amount of time required to create a custom rewrite rule for each URL is uncanny.</li>
<li>Circumventing the existing META tags for each article &#8211; I assumed this is a loophole that would have been closed for security reasons, but I gave it a try anyway. The thought being that if you edit one of the existing META&#8217;s for an article, you can inject whatever you want into the HEAD section by closing the tag, and then inserting a new one (without closing it). As I suspected, one of the dev&#8217;s obviously thought of this, and any quotes you enter are stripped when you save the article.</li>
<li>Common SEF plugins &#8211; The largest &#8220;canonical&#8221; plugin I found seemed to be more for redirecting a www to a non-www. I didn&#8217;t try it myself, but it really looked like it was designed for large-scale site-wide changes.</li>
<li>Template modification &#8211; If you look back at a couple articles I wrote back in Feb (2009), you can use PHP to stuff some head tags whereever you want them. Unfortunately this would be even messier to do than setting up .htaccess stuff and would make for a very large PHP file. It also doesn&#8217;t make sense to spend the time stuffing canonical into the head section this way when spending the time on .htaccess would give *redirects* which are *better* in this case. A bad solution for many reasons, so I didn&#8217;t even bother.</li>
</ul>
<p><strong>What did work:</strong></p>
<ul>
<li>There is small, relatively unknown plugin for Joomla called &#8220;JosTag&#8221;. Turns out it&#8217;s all that I needed.</li>
</ul>
<p><!-- wp_ad_camp_1 --></p>
<p>You can find it in the <a href="http://extensions.joomla.org/extensions/site-management/seo-a-metadata/5139">Joomla Extensions Directory</a>, or right from the <a href="http://info-graf.fr/infografcvs/telechargements/cat_view/25-joomla-extensions.html">developer&#8217;s site</a>. The site is mainly french, but there&#8217;s enough english to get you by &#8211; the instructions after you install it are dead-easy.</p>
<p>Install it, enable the plugin, and then it&#8217;s simply a matter of throwing {tag}whatever-you-want-in-the-head{/tag} in each of your content pages. So for a canonical entry, something like this:</p>
<blockquote><p>{tag}&lt;link rel=&#8221;canonical&#8221; href=&#8221;http://www.website.com/current-friendly-url.html&#8221;/&gt;{/tag}</p></blockquote>
<p>You can stick it anywhere in the content. The downside is that you obviously have to do this for each content page, meaning you&#8217;ll have to know the &#8220;desired&#8221; url. On the plus side, it&#8217;s easy to do (especially compared to the above options), it gives you full control for each page, you can stick other stuff in the &#8220;head&#8221; section if you want it later, and it&#8217;s free.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/05/how-to-add-googles-canonical-tag-to-joomla-articles/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Where is the index.html for the default WHM install?</title>
		<link>http://mattgadient.com/2009/10/04/where-is-the-index-html-for-the-default-whm-install/</link>
		<comments>http://mattgadient.com/2009/10/04/where-is-the-index-html-for-the-default-whm-install/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 04:12:29 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/?p=696</guid>
		<description><![CDATA[Finding it again wasn&#8217;t fun :p
In any case, if you&#8217;ve got the default
Great Success !
Apache is working on your cPanel® and WHM™ Server
message, you can simply rename the index.html file and place your own at:
/usr/local/apache/htdocs
I did this using SSH and creating an index.html using nano. I&#8217;m not sure if it&#8217;s actually possible to browse through [...]]]></description>
			<content:encoded><![CDATA[<p>Finding it again wasn&#8217;t fun :p</p>
<p>In any case, if you&#8217;ve got the default</p>
<blockquote><p>Great Success !<br />
Apache is working on your cPanel<sup>®</sup> and WHM™ Server</p></blockquote>
<p>message, you can simply rename the index.html file and place your own at:</p>
<p>/usr/local/apache/htdocs</p>
<p>I did this using SSH and creating an index.html using nano. I&#8217;m not sure if it&#8217;s actually possible to browse through the server using WHM, so you&#8217;ll probably have to either SSH or FTP into your server (optionally, the Virtuozzo control panel seems to let you browse the hard drive and edit files&#8230; if you&#8217;re using Virtuozzo anyway).</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/04/where-is-the-index-html-for-the-default-whm-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FIX &#8211; JFolder::create: Path not in open_basedir paths</title>
		<link>http://mattgadient.com/2009/10/04/fix-jfoldercreate-path-not-in-open_basedir-paths/</link>
		<comments>http://mattgadient.com/2009/10/04/fix-jfoldercreate-path-not-in-open_basedir-paths/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 21:50:07 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/?p=694</guid>
		<description><![CDATA[So&#8230; switched a site from one host to another.
Installed Joomla, restored the database, restored the template folder, and then started installing Extensions.
First up was JCE. I downloaded the lastest version, tried uploading/installing it from within Joomla&#8217;s Admin Panel, and then got the following message:
JFolder::create: Path not in open_basedir paths
Oh boy! Not so good.
Did a little [...]]]></description>
			<content:encoded><![CDATA[<p>So&#8230; switched a site from one host to another.</p>
<p>Installed Joomla, restored the database, restored the template folder, and then started installing Extensions.</p>
<p>First up was JCE. I downloaded the lastest version, tried uploading/installing it from within Joomla&#8217;s Admin Panel, and then got the following message:</p>
<blockquote><p><strong>JFolder::create: Path not in open_basedir paths</strong></p></blockquote>
<p>Oh boy! Not so good.</p>
<p>Did a little searching around and came across some fixes, although the fix in my case turned out to be pretty easy.</p>
<p><span id="more-694"></span></p>
<p><strong>Problem:</strong> The temp (tmp) folder wasn&#8217;t writable. You can check this from Joomla&#8217;s administrator panel by clicking <span style="text-decoration: underline;">Help</span>, <span style="text-decoration: underline;">System Info</span>, then choosing the &#8220;<span style="text-decoration: underline;">Permissions</span>&#8221; section.<span style="color: #800000;"><strong> unwritable = bad</strong></span>.</p>
<p><strong>Solution:</strong> Actually, it&#8217;s just that the path set up while on the old host was different from the new host. All it takes is a different username, or a whack of other things. All you have to do to fix it, is drop into <span style="text-decoration: underline;">Global Configuration</span> / <span style="text-decoration: underline;">Server</span> and set the <span style="text-decoration: underline;">Path-to-Temp-Folder</span>.</p>
<p>If you&#8217;re not quite sure what to enter, go back to the <span style="text-decoration: underline;">Help</span> / <span style="text-decoration: underline;">System Info</span> section and look at the last 4 entries (log, cache directory). Hopefully one of them&#8217;s pointing correctly and you can figure it out from there.</p>
<p>If not, try:<br />
<strong>/home/<span style="color: #993300;">username</span>/public_html/tmp</strong><br />
&#8230;where username is your username (if you&#8217;re not 100% sure and are using CPanel you can open CPanel&#8217;s File Manager and look far at the left &#8211; you should see <strong>/home/<em><span style="color: #993300;">something</span></em></strong> at the top of the directory tree. That<span style="color: #993300;"> something</span> is the <span style="color: #993300;">username</span>.</p>
<p>If your Joomla install is in a sub-domain or addon-domain, adjust appropriately:<br />
<strong>/home/<span style="color: #993300;">username</span>/public_html/my_website_directory/tmp</strong></p>
<p>If you&#8217;re still having issues but are positive the path is correct, see if the <strong>tmp</strong> directory exists. If it doesn&#8217;t, try creating it and set the permissions to 777 while you install the program (then try lowering the permissions afterwards to help out security-wise).</p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/04/fix-jfoldercreate-path-not-in-open_basedir-paths/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hosted vs self-hosted DNS servers</title>
		<link>http://mattgadient.com/2009/10/03/hosted-vs-self-hosted-dns-servers/</link>
		<comments>http://mattgadient.com/2009/10/03/hosted-vs-self-hosted-dns-servers/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 19:58:27 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/?p=584</guid>
		<description><![CDATA[I&#8217;ve touched on this a couple of times, but I&#8217;ll go into a little more detail here. Assuming youv&#8217;e got a VPS (or dedicated server), should you host your own DNS servers,  use DNS servers provided by your hosting company, use specific DNS services, or use the DNS provided by your domain name provider?
There [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve touched on this a couple of times, but I&#8217;ll go into a little more detail here. Assuming youv&#8217;e got a VPS (or dedicated server), should you host your own DNS servers,  use DNS servers provided by your hosting company, use specific DNS services, or use the DNS provided by your domain name provider?</p>
<p>There are many factors to consider &#8211; maintenance, uptime &amp; reliability, costs, speed, ease-of-use, and more.</p>
<p>We&#8217;ll start with a few pros and cons of each, looking at it from a typical VPS point of view:<br />
<span id="more-584"></span><br />
<span style="text-decoration: underline;"><strong>Self Hosted</strong></span><br />
Even for those who aren&#8217;t saavy enough to manually configure BIND, self-hosted is often an option that&#8217;s made readily available. WHM / CPanel for instance will happily set up BIND and DNS servers for you during install, and will let you set up or modify host records with relative ease. When you create a website, entries are automatically generated. If you need to set up or modify special host records for some reason, it can all be done from within a control panel.</p>
<p><strong>Pros:</strong></p>
<ul>
<li>EASY movement. Since the name servers are part of your VPS, if you ever have to move to another host, it&#8217;s a fairly simply backup/restore procedure. On the whole (besides the backup/restore itself) you&#8217;re looking at changing IP&#8217;s in a couple places for <em>dns1.mainserver.com</em> and <em>dns2.mainserver.com</em>. Even if you have a few hundred websites on that VPS, they&#8217;re generally already pointing to <em>dns1.mainserver.com</em> and <em>dns2.mainserver.com</em>.</li>
<li>Potential for huge uptime. Big DNS-providing companies are periodically targets for DDOS attacks. Namecheap&#8217;s DNS servers went down at one point in 2008 due to a DDOS attack. EditDNS was hit with a DDOS recently, although they managed to keep their DNS servers from all being down at the same time. If the DNS pointing to your site goes down, people generally can&#8217;t access your site &#8211; it&#8217;s that simple. Hosting yourself keeps you from being at the mercy of other companies.</li>
<li>Potential for quicker DNS requests. The first thing that happens when someone types in www.yourwebsite.com is a DNS lookup. Like everything else, if the DNS servers are overloaded, it will take some time before a visitor gets the response. If you host your own DNS and are able to keep the server from being overloaded, you won&#8217;t have that issue. Location also matters, and if your VPS/DNS are located near the bulk of your visitors, that&#8217;ll help out too.</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>Potential for more downtime. Yes, contradictory to what I just said above, you could very well have *more* downtime. The problem is, many people who have 1 VPS run the DNS from that 1 VPS. Any time the VPS goes down, even for a restart, the DNS servers running from it aren&#8217;t available. This isn&#8217;t good &#8211; particularly because DNS results are cached. Caching itself is a good thing, but if someone tries to visit your site and the failed DNS result is cached, they may not be able to visit your sites again until that cache expires, even if your site is back up and running before then.</li>
<li>Extra load on your sever. It&#8217;s another service you have to run on your VPS, and it has to serve requests. Granted, it&#8217;s not likely to contribute a lot of load or use a lot of memory compared to other things (webserver, SQL, etc), but it&#8217;ll be using some resources.</li>
<li>It&#8217;s an avenue for you to be attacked. It&#8217;s one more thing you have to keep up-to-date to keep vulnerabilities at bay, and if someone decides to target your DNS server in a DDOS attack, your little VPS probably won&#8217;t fare as well as a larger host.</li>
<li>You need an IP address for each DNS server. If your host doesn&#8217;t provide a few for free, you&#8217;ll generally have to pay extra.</li>
<li>To maintain anywhere near 100% uptime, you often have to set up DNS servers on multiple physical hosts in various locations. Things like WHM / CPanel&#8217;s DNS ONLY make this a little easier to set-and-forget on the management end of things, but you&#8217;re looking at added cost for additional VPS&#8217;s or servers to host these on.</li>
</ul>
<p><!-- wp_ad_camp_1 --></p>
<p><span style="text-decoration: underline;"><strong>DNS Servers through your domain provider</strong></span><br />
Often, large domain providers will have their own DNS servers that you can use (Namecheap for example). As long as your provider allows you to set up all the host records you need, it&#8217;s not necessarily a bad thing.</p>
<p><strong>Pros:</strong></p>
<ul>
<li>You don&#8217;t have to worry about maintaining/updating the DNS servers. Your provider does.</li>
<li>No DNS overhead. Less of your own resources being used.</li>
<li>The provider worries about DDOS attacks &#8211; you don&#8217;t have to.</li>
<li>Often free for all the domains you host through them.</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>You have to set up EACH domain to point to your server&#8217;s IP. If you have 100 websites, they&#8217;ve all got to be set up through the domain provider&#8217;s control panel to point to your VPS&#8217;s IP address.</li>
<li>If your IP address ever changes (for example if you move your VPS to another host), every website you host needs to change the IP address.</li>
<li>Any host records have to be set up with the domain provider.</li>
<li>Because of the above 3 issues, you can/should only use this for a VPS that hosts websites that YOU own. If you have customers that you host, this is not going to be an option.</li>
<li>Because this is a &#8220;free&#8221; option, the domain provider may not be terribly concerned about making sure their DNS servers are quick, responsive, and underloaded. Your mileage may vary.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>DNS Servers through your VPS host</strong></span><br />
Many VPS hosts also allow you to use their own DNS servers. The pros and cons are very similar to the above case. If you have customers, it&#8217;s still not a great option &#8211; they&#8217;d have an easier time simply pointing domians to your VPS host&#8217;s nameservers, but you&#8217;d have the work of manually setting up the IP&#8217;s in your VPS host&#8217;s control panel. You&#8217;d also be responsible for setting up any/all extra host entries manually. Basically, it becomes less work for your customers, and more work for you.</p>
<p><span style="text-decoration: underline;"><strong>Use a dedicated DNS service</strong></span><br />
There are quite a few out there. Most of the time they cost money if you want them to be fully-featured (some have free options with limitations in place). If you look around, you&#8217;ll find some that serve the DNS requests from multiple locations around the world which can help for a speedy experience for viewers. They&#8217;ll usually provide a large number of DNS servers also which really decreases the chance of downtime. Of course, this isn&#8217;t a customer-friendly option, but since these companies specialize in DNS serving, there&#8217;s the potential for the fastest, most reliable DNS you&#8217;ll find (outside of an expensive self-hosting solution).</p>
<p><strong>So what&#8217;s the best option?</strong></p>
<p><span style="text-decoration: underline;">If you&#8217;re hosting customers</span>, you&#8217;ll probably want your <span style="text-decoration: underline;">own DNS servers</span>, spread across multiple machines, with a control panel that integrates those servers well. Let&#8217;s face it, dns1.yourwebsitename.com looks more professional than other options, and it makes it much easier for the customer to simply point their domains there. However, some DNS providers offer &#8220;vanity&#8221; DNS names, which allow you to use their DNS servers but keep a dns1.yourwebsitename.com style, so that may remain an option.</p>
<p><span style="text-decoration: underline;">If you&#8217;re hosting your own small or medium-sized sites</span>, you&#8217;ll probably want to go with DNS provided by either your <span style="text-decoration: underline;">domain provider</span> or your <span style="text-decoration: underline;">VPS host</span>. This will take a little work off your VPS, and you won&#8217;t have to worry about patching any DNS exploits. Chance are, your VPS will be down more often than their DNS servers (unless you never restart and nobody else manages to crash the VPS), although you may want to do a little searching beforehand on your specific VPS host or domain provider to see if they&#8217;ve had downtime on their DNS in the past and how long it lasted. The big plus here is that it&#8217;s typically free to use those DNS servers.</p>
<p><span style="text-decoration: underline;">If you&#8217;re hosting your own large sites</span>, you&#8217;ll probably want to go with either <span style="text-decoration: underline;">a few of your own dedicated DNS servers</span> hosted in various locations, or a specific <span style="text-decoration: underline;">paid DNS service</span>. A paid service often costs less than buying servers simply for the sake of DNS hosting, but weigh the pros and cons and decide on your own.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>In the event that you&#8217;re not using your own DNS servers, a couple areas you may want to look at (regardless of who you choose as your host) are:</p>
<ul>
<li>Reliability of that particular host</li>
<li>Distance from the host&#8217;s DNS servers to the location your traffic comes from.</li>
<li>How responsive the DNS servers are (do a few tests at different times during the day to see how long it takes for a DNS request to resolve.</li>
<li>How many DNS servers they offer (redundancy)</li>
<li>Whether they&#8217;re able to serve requests from multiple servers in various geographical locations (Anycast).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/03/hosted-vs-self-hosted-dns-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domain transfer from GoDaddy to Namecheap taking a long time</title>
		<link>http://mattgadient.com/2009/10/01/domain-transfer-from-godaddy-to-namecheap-taking-a-long-time/</link>
		<comments>http://mattgadient.com/2009/10/01/domain-transfer-from-godaddy-to-namecheap-taking-a-long-time/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 01:50:01 +0000</pubDate>
		<dc:creator>Matt Gadient</dc:creator>
				<category><![CDATA[Webmaster]]></category>

		<guid isPermaLink="false">http://mattgadient.com/?p=687</guid>
		<description><![CDATA[I recently attempted a domain transfer from GoDaddy to Namecheap.
I did all the steps &#8211; I unlocked the domain from GoDaddy&#8217;s control panel, then placed the order through Namecheap. Namecheap needed the EPP code &#8211; I used the GoDaddy control panel to email it to myself, and entered it on Namecheap&#8217;s site.
All seemed to go [...]]]></description>
			<content:encoded><![CDATA[<p>I recently attempted a domain transfer from GoDaddy to Namecheap.</p>
<p>I did all the steps &#8211; I unlocked the domain from GoDaddy&#8217;s control panel, then placed the order through Namecheap. Namecheap needed the EPP code &#8211; I used the GoDaddy control panel to email it to myself, and entered it on Namecheap&#8217;s site.</p>
<p>All seemed to go well until it got &#8220;stuck&#8221;. For a few days at that. A little searching around showed that it may take up to 5 days, but the odd thing was checking Namecheap&#8217;s Transfer Status page, the status description was &#8220;<em>Transfer in Process &#8211; Acquiring Current Whois for Transfer Verification</em>&#8220;.</p>
<p>Should it take over 2 days for a Whois lookup? <strong>I think not</strong>.</p>
<p>Although I had searched searched Google with terms similar to this page&#8217;s title, I hadn&#8217;t come across anything for this situation. I searched for &#8220;Transfer in Progress &#8211; Acquiring Current Whois for Transfer Verification&#8221; this time, and BAM, came across <a href="http://namecheap.simplekb.com/kb.show?show=article&amp;articleid=268">this Namecheap KB article</a>. Basically it states that the status description I&#8217;ve been getting happens if the auto-whois that Namecheap does during a transfer doesn&#8217;t get anywhere for 8 hours. The transfer is effectively &#8220;stuck&#8221; at this point. Fortunately, that KB article gives instructions for opening a ticket to get it manually fixed (although it&#8217;s unfortunate that someone could be waiting for days before deciding to submit a ticket &#8211; would be nice if it was automated).</p>
<p>I opened a ticket at Medium priority and got an email 5 minutes later stating:</p>
<blockquote><p><em>This happened because the current registrar is blocking our IP addresses for whois queries and we&#8217;ll have to manually insert whois details into the form. We have forwarded these details to our development team to investigate this further and manually update the whois info. Please allow up to 24 hours to receive the authorization email. Please use that time to unlock your domain, take off any whois privacy features and ensure that admin contact&#8217;s email is valid and checked frequently.</em></p>
<p><em>Thank you for letting us know about this problem</em>.</p></blockquote>
<p>In any case, a 5 minute response time by Namecheap is pretty impressive. All the steps they mentioned had already been taken, so it&#8217;s just a matter of sitting and waiting for the authorization email. I&#8217;ll update the post if there are any further issues.</p>
<p><em>Update: There weren&#8217;t any further issues. I got an email from eNom (Namecheap&#8217;s provider) with a link that I had to visit to authorize the transfer. GoDaddy sent me a mail at that point letting me know there was a transfer request. To make things speedy, I logged into my GoDaddy account, found the domain, looked at the &#8220;Pending Transfers&#8221; section, and approved the transfer. Less than an hour later, I got an email from Namecheap stating that the transfer was complete.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://mattgadient.com/2009/10/01/domain-transfer-from-godaddy-to-namecheap-taking-a-long-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
