<?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>Raised By Turtles&#187; Web Development</title>
	<atom:link href="http://raisedbyturtles.org/category/webdev/feed/" rel="self" type="application/rss+xml" />
	<link>http://raisedbyturtles.org</link>
	<description>None of the News that's Fit to Print</description>
	<lastBuildDate>Thu, 15 Jul 2010 18:12:27 +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>Cutting Through Merchant Account and Payment Gateway Forest</title>
		<link>http://raisedbyturtles.org/credit-card-processing-basics/</link>
		<comments>http://raisedbyturtles.org/credit-card-processing-basics/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 17:31:53 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[credit card processing]]></category>
		<category><![CDATA[merchant accounts]]></category>
		<category><![CDATA[payment gateways]]></category>
		<category><![CDATA[pci ecommerce]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=443</guid>
		<description><![CDATA[Lately, I&#8217;ve been looking into figuring out the ins and outs of credit card payment processing for two projects. One is our Yosemite vacation rental and the other is an ecommerce website for a friend who sells ultralight hiking gear. It can be dizzying with all the options and many pitfalls along the way. A [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve been looking into figuring out the ins and outs of credit card payment processing for two projects. One is our <a href="http://yosemitehouse.com">Yosemite vacation rental</a> and the other is an ecommerce website for a friend who sells <a href="http://traildesigns.com">ultralight hiking gear</a>. It can be dizzying with all the options and many pitfalls along the way. A lot has changed since I built a website for the Sierra Club Bookstore back in the day and I&#8217;m still wrapping my head around all the new options and requirements, but I&#8217;m collecting some good links along the way.</p>
<p>In order to accept credit cards, you need a payment gateway and merchant account and some method of collecting credit card info (card machine, website, virtual terminal). All have fees and the entire chain needs to be PCI compliant, that is to say meet the security requirements of the Payment Card Industry.</p>
<p>A payment gateway is a service that connects your point of sale with your merchant account. A merchant account is a bank account that can accept credit card payments, as processed by your payment gateway. Sometimes these are combined in one service, most famously by Paypal in their various offerings.</p>
<h2>The Simplest Way: Paypal and similar</h2>
<p>The simplest way to get a merchant account and payment gateway is to sign up for a Paypal merchant account. Paypal actually offers two options</p>
<ul>
<li>Website Payments Pro which is basically a combined merchant account and gateway.</li>
<li>Paypal Payflow Pro which is really just a gateway. Though it is still possible to choose Paypal as your merchant account, high-volume merchants can likely get better rates by connecting this to another merchant account.</li>
</ul>
<p>Paypal&#8217;s offerings are actually quite a bit broader than that and it can get confusing and Paypal&#8217;s own site doesn&#8217;t help unless you have a lot of time and patience. Fortunately, Massimo has laid out the options and done an interview with a Paypal honcho to help merchants decide which offering makes the most sense. See his article on <a href="http://productcart.blogspot.com/2007/04/understanding-new-paypal.html">Website Payment Pro versus Payflow — a brief guide to Paypal services</a>.</p>
<p>You can also get similar services from Google Checkout, but Google requires users to have a Google Account to use the service, so to me that&#8217;s only useful as an additional, not a primary option.</p>
<h2>Other Gateway and Merchant Account options</h2>
<p>There are a lot of other options. The 500-pound gorilla is <a href="http://authorize.net">Authorize.net</a>. Often you can get Authorize.net access included in your merchant account fees. Other big players include <a href="http://payments.intuit.com/">Intuit Payment Solutions</a> and <a href="www.chasepaymentech.com">Chase Paymentech</a>. You can also get gateway access through merchant accounts from Costco or Sam&#8217;s Club (but see Braintree&#8217;s page about <a href="http://www.braintreepaymentsolutions.com/blog/Costco-your-marketing-department-has-gone-rogue">Costco Credit Card Processing Fees</a>). Commonly, the gateway will be bundled with a merchant account. In fact, Authorize.net doesn&#8217;t even sell access directly. You have to go through a reseller.<br />
Interestingly, it turns out that every reseller, according to their sales copy, offers incredibly low prices and great service compared to their competitors. In general, review sites are useless because, like for web hosting and other services, their &#8220;top choice&#8221; almost always means &#8220;top paying choice&#8221;, that is the provider that offers the <em>reviewer</em> the highest commission payout. There is one guy — <a href="http://www.merchantmaverick.com">Merchant Maverick</a> —who offers no-holds-barred <a href="http://www.merchantmaverick.com/merchant-account-comparison-chart/">honest merchant account reviews</a>. He doesn&#8217;t shy away from giving a provider a 1/5 rating and panning them. He also has a lot of great articles about fees and so forth.</p>
<p>As an alternative, <a href="http://transfs.com">TransFS</a> has a <a href="http://transfs.com/tour">merchant account auction</a> system that in theory saves you money through competitive bidding. They also have a blog that&#8217;s worth reading. One final really useful feature of their site is a <a href="http://transfs.com/paypal-calculator">Paypal versus Merchant Account Fee Calculator</a>. Note that though the link isn&#8217;t that obvious (grey on grey) look for the Options link to allow for comparison of Paypal Pro options compared to a traditional MA. It lets you adjust the balance between debit cards, standard and business credit cards and a few more options. Very useful! From this calculator, it looks like I&#8217;m spending an extra $30 per month. Not huge, but that&#8217;s $360 per year.</p>
<p>Finally, <a href="http://startupnation.com">Startup Nation</a> has a pretty good <a href="http://www.startupnation.com/NET_ROOT/Search/SearchResults.aspx?zoom_query=payment%20processing">collection of articles on payment processing</a>. This website is new to me, but it tends to be pitched to a non-expert audience with clear, simple explanations, but not perhaps the detail that you get int he Merchant Maverick articles. Typical would be their article on <a href="http://www.startupnation.com/series/122/9248/credit-card-processor-list.htm">7 Things to Look for in a Credit Card Processor</a>. Though I mention it last, that&#8217;s probably a good place to start.</p>
<p>There&#8217;s a lot to balance. I like <a href="http://www.braintreepaymentsolutions.com/pricing">Braintree&#8217;s transparent fee structure</a>, but at the same time, Braintree has a monthly minimum of $75 per month in transaction fees (not counting monthly service fees). Since our business is seasonal, we might not reach that threshhold some months, so we would need to compare it over a year of business.</p>
<h2>PCI Compliance</h2>
<p>Every merchant is required to meet basic security requirements, known as PCI Compliance, if they plan to accept credit cards. If you will transmit this information over the internet, whether because your swipecard machine connects via DSL or because you sell through a website, the requirements increase. If you plan to store customer data, the requirements increase substantially. As a very minimum, you&#8217;ll need a third-party security scan every three months. Large merchants can pay as much as $500,000 to come into PCI compliance, but even small merchants are looking at some significant costs, including, but not necessarily limited to:</p>
<ul>
<li><strong>Scanning</strong>. Small merchants don&#8217;t typically require an on-site assessment, but can do a self-assessment questionnaire (SAQ) and have a third-party scan. <a href="https://www.controlscan.com/pcicompliance.php">Control Scan</a> offers compliance scanning and breach protection for $150 per year, plus $100 per additional IP. Paypal has set something up with Control Scan to offer <a href="https://www.paypal.com/pcicompliance">free scanning for the first year</a>. Several other payment gateway and merchant account providers.</li>
<li><strong>Hosting</strong>. If you want to store customer card numbers, you&#8217;ll typically want two dedicated servers, one for your public-facing website and one for your database, put behind a firewall and protected from intrusion. <a href="http://glowhost.com">Glowhost</a> offers special PCI hosting packages that cost $129/mo per server plus $49/mo for PCI compliance management. So as a minimum, you&#8217;re in for $307/month just for hosting.</li>
<li><strong>SSL or TSL Certificate</strong> for https (security encrypted web transmission over https). Not a significant cost, but still count on $100 to $200.</li>
</ul>
<p>This doesn&#8217;t include adminstrative time, the costs of getting sued if you have a breach, the cost of losing yoru merchant account and not being able to do business as the result of an unremediated fail in a PCI security scan and costs and so forth. For more on PCI compliance, see <a href="http://www.pcicomplianceguide.org/pcifaqs.php">http://www.pcicomplianceguide.org/pcifaqs.php</a>.</p>
<h3>How to avoid these costs and risks?</h3>
<p>First and foremost, don&#8217;t store credit cards on your server (or anywhere else) if you can possibly avoid it. Generally speaking, you can in fact avoid it through a variety of methods.</p>
<ul>
<li><strong>Redirect</strong> your users to Paypal and have them sent back to your site after payment. This is the simplest and easiest way.</li>
<li><strong>Clone Pages</strong>. <a href="http://cresecure.com/">CRE Secure</a> allows you to create a clone page on their server that looks like your web page, but is in fact on their server. They have an option, fairly pricey, that lets you have this page on your domain, but it is still served entirely off their server. They are responsible maintaining security in general and PCI compliance in particular on their servers and you have the much simpler job of achieving the simplest type of PCI Compliance. There are also hosted shopping carts like <a href="http://bigcommerce.com">BigCommerce</a> or <a href="http://pinnaclecart.com">Pinnacle Cart (hosted)</a> that make PCI compliance easy with services similar to CRE Loaded, but easier to integrate because your shop is already on their server. I&#8217;m not a fan of hosted services except in the cases of the most trusted companies, but it&#8217;s definitely an option to consider.</li>
<li><strong>Tokenization</strong>. This is the slickest solution. You hire a third-party to manage your sensitive customer data. They are responsible for the difficult aspects of PCI Compliance and you only need to handle basic security. If you need to access the customer data, you use a customer ID and a &#8220;token&#8221; that represents their credit card, but which is not the credit card number itself. You only store the token, so even if your server is hacked, the system is not breached. You only have to make sure that you maintain a secure connection while the customer form gets sent to the third-party server. The two obvious solutions are <a href="http://www.braintreepaymentsolutions.com/services/pci-compliance">Braintree</a> and <a href="http://www.authorize.net/solutions/merchantsolutions/merchantservices/cim/">Authorize.net Customer Information Manager</a>.</li>
</ul>
<h2>PCI Compliant Shopping Carts</h2>
<p>Some advertise PCI Compliance and some don&#8217;t. Ubercart, for example, has <a href="http://www.ubercart.org/forum/development/4688/changes_coming_cc_data">worked hard</a> on <a href="http://www.ubercart.org/docs/user/7104/accepting_credit_card_payments">Ubercart&#8217;s PCI Compliance</a>, but they don&#8217;t really advertise it. Others, like <a href="http://crloaded.com">CRE Loaded</a> and <a href="http://cs-cart.com">CS-Cart</a> advertise their PCI compliance, but the shopping cart is just one piece of the puzzle. Most reputable carts these days will meet their part of the PCI-DSS standard, but that&#8217;s just the tip of the iceberg for making your site PCI compliant and no matter what cart you use, you&#8217;ll have a significant challenge if you want to store credit cards on your server.</p>
<h2>Action Plan</h2>
<p>So that&#8217;s still pretty dizzying. So here&#8217;s an action plan:</p>
<ol>
<li>Decide between Paypal and other solutions. Start with <a href="http://transfs.com/paypal-calculator">TransFS calculator</a> for a ballpark idea. If you go for Paypal, you&#8217;re basically done.</li>
<li>Get bids from <a href="http://transfs.com">TransFS</a> or just comparison shop based on the <a href="http://www.merchantmaverick.com/merchant-account-comparison-chart/">Merchant Maverick recommendations</a>. Always include Paypal, Intuit and some of the big ones in your search just to see how they stack up.</li>
<li>Figure out which ones integrate easily with your shopping cart. For example, though I like Braintree, I don&#8217;t know of any shopping cart that ships with Braintree integration.</li>
</ol>
<p>I&#8217;m still working through a lot of options myself. If you have something to add, please add something to the comments. I&#8217;d love to hear what your experiences are.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/credit-card-processing-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Podcasting Advice from Andrew Warner of Mixergy.com — Thank You!</title>
		<link>http://raisedbyturtles.org/podcasting-tips-andrew-warner/</link>
		<comments>http://raisedbyturtles.org/podcasting-tips-andrew-warner/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 05:29:58 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[mechanical turk]]></category>
		<category><![CDATA[podcasting]]></category>
		<category><![CDATA[video interviews]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=349</guid>
		<description><![CDATA[I wanted to do some interviews with people at a distance but was struggling with a lot of technical issues — bad audio and video quality, cumbersome and unreliable recording process. I asked Andrew Warner, who does great interviews on <a href="http://mixergy.com">Mixergy</a>, if he would help me out. Despite a super busy schedule, he consented to talk to me and just cut through so many of the problems I had. Here's some of the advice he gave me.]]></description>
			<content:encoded><![CDATA[<p>Before anything else, THANK YOU <a href="http://mixergy.com">ANDREW</a> for taking time out while pakcing to move and everything to give me some advice. Subsequent interviews have been much better.</p>
<p>So I&#8217;ve been struggling lately trying to get things sorted out for doing remote video interviews. The person who inspired me, more than any, to start doing these interviews is Andrew Warner. Over at <a href="http://mixergy.com/">Mixergy.com</a>, he does terrific interviews with people who are crafting lives of their own design, mostly entrepeneurs. If that sounds interesting, head over there and poke around. If it doesn&#8217;t sound interesting, start with the interviews of <a href="http://mixergy.com/derek-sivers/">Derek Sivers</a>, <a href="http://mixergy.com/just-launch/">Premal Shah</a> and <a href="http://mixergy.com/lost-jungle-yossi-ghinsberg/">Yossi Ginsburg</a>. If you don&#8217;t find those interesting and inspiring, I don&#8217;t know what to say.</p>
<p>Anyway, Andrew not only has interesting guests, but he really has the interview thing down and so, struggling with my own efforts, I asked him if he would consent to a phone call to help me out. Despite being in between his honeymoon and his impending move to Argentina, he found time to talk to me and here are some tips he passed on.</p>
<ul>
<li><strong>Suggest a time in your initial email</strong>. This seems so obvious, but I&#8217;ve been wasting a lot of time getting consent and then going round about scheduling and waiting for replies. This way they can either say yes, no or suggest another time and that shortcuts the whole process. </li>
<li><strong>Transcripts</strong>. Andrew has transcripts of his interviews on his site and I asked him how he produces them. He said he uses <a href="https://www.mturk.com/mturk/welcome">Mechanical Turk</a> and offers people $2 per 5 minute segment they transcribe. He said he thinks a good summary would actually be as good or better than a transcipt. That was my gut feeling, which is good news for me. Having paid my bills for 20 years by putting words on a page, I find the prospect of writing a summary of an interview a lot less daunting than chopping it into segments and getting it transcribed. Anyway, I don&#8217;t feel like I&#8217;ve really digested a conversation until I retell to someone else or I write about it (thus the current summary).</li>
<li>I&#8217;m interested in interviewing skiers, ski instructors, ski mountaineering guides and folks like that. Not surprisingly, they&#8217;re not as techy as the web entrepeneurs that Andrew interviews, but I was stuck on the idea of Skype-to-Skype interviews or phone-to-phone interviews. He suggested just doing the <strong>interview over the <em>phone</em> via Skype</strong>, have audio only. Another solution that seemed so simple and obvious once Andrew said it.</li>
<li><strong>For audio-only interviews, show a picture with a <em>play</em> button</strong> so it sort of looks like video and gives people something to look at. This was huge because I was tearing my hair out about the video aspect and I couldn&#8217;t figure out how to get my telephone to record. I hadn&#8217;t thought I could just call someone on their home telephone using Skype and just record it. And I get unlimited long distance for $3 per month!</li>
<li>
<div class="alignright"><iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=ultraskiercom-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=B000EOPQ7E" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>
<p>    <strong>Get a decent microphone</strong>. Andrew has tried mics up to $500. He recommended the <a href="http://www.amazon.com/gp/product/B000EOPQ7E?ie=UTF8&#038;tag=ultraskiercom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000EOPQ7E"><strong>Blue  Snowball USB Mic</strong></a>, which I found at Amazon for just $69 ($139 list). It came two days later and the difference is huge — almost all the hum, hiss, buzz and other distortion dropped away. This is a huge improvement. $69 well spent. <strong>[update: the Blue Snowball came and I've recorded two calls with it. It's everything Andrew promised. HUGE jump in sound quality]</strong></li>
<li><strong>Get a backup</strong>. Another tip that&#8217;s so obvious when someone says it. I had been experimenting with <strong><a href="http://www.pamela.biz/770.html">Pamela for Skype</a></strong>, which lets you record audio and video calls, but was having trouble with it quitting [update: this was a known issue and is now fixed], so I was afraid to depend on it. Andrew runs his call recorder (I believe <a href="http://www.ecamm.com/mac/callrecorder/">Ecamm Call Recorder</a>, which is Mac only), <strong>plus he runs a screen capture program</strong> (<a href="http://www.telestream.net/screen-flow/overview.htm">Screenflow</a>, again Mac Only), so he is actually recording twice and if the primary recorder fails, he is automatically doing a backup. As obvious as it is brilliant once you someone tells you. I haven&#8217;t settled on a screen capture program, but there are some good free ones for Windows:
<ul>
<li>NCH Software has a whole host of free tools (with upgrades to pro versions, but generally the free ones do what I need at this point). For screen capture, I&#8217;m using <a href="http://www.nchsoftware.com/capture/index.html">Debut Video Recorder</a>. The also have good audio and video file format converters, audio editing software (similar to Audacity).</li>
<li><a href="http://camstudio.org/">Camstudio</a> is a Camtasia competitor. Camtasia is the category leader and costs several hundred dollars. Camstudio does everything I could want.</li>
</ul>
</li>
<li><strong>Webcams have lower quality than a real video camera, but allow you to see yourself</strong>. This is a good tip. I never realized how much I move around, look around close my eyes when I&#8217;m thinking, uhhhh rub my nose and eyes and lick my lips. I am not a TV presence and definitely won&#8217;t be the next Gary Vaynerchuk (another reason for me to like audio, even though I have a voice for print).</li>
</ul>
<p>Maybe to people smarter than me, all of this seems obvious, but this advice cut through so many podcasting obstacles for me. It&#8217;s absolutely huge. Thanks Andrew!</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/podcasting-tips-andrew-warner/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Seeing All Child Nodes in Drupal Taxonomy</title>
		<link>http://raisedbyturtles.org/drupal-drilldown/</link>
		<comments>http://raisedbyturtles.org/drupal-drilldown/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 04:04:46 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[taxonomy]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=305</guid>
		<description><![CDATA[I have been tearing my hair out a bit trying to figure out how to save a whole taxonomy lineage in Drupal, so that everything tagged with a child term would be tagged with a parent term. In other words, given a taxonomy like:

1. United States

3. California
4. Vermont


2. Canada

5. Alberta



I want it so that if [...]]]></description>
			<content:encoded><![CDATA[<p>I have been tearing my hair out a bit trying to figure out how to save a whole taxonomy lineage in Drupal, so that everything tagged with a child term would be tagged with a parent term. In other words, given a taxonomy like:</p>
<ul>
<li>1. United States
<ul>
<li>3. California</li>
<li>4. Vermont</li>
</ul>
</li>
<li>2. Canada
<ul>
<li>5. Alberta</li>
</ul>
</li>
</ul>
<p>I want it so that if I tag something as <em>California</em> (term 3), it also gets tagged as <em>United States</em> (term 1). The <a href="http://drupal.org/project/hierarchical_select">Hierarchical Select module</a> does this, and much more, but it has conflicts with other Drupal modules I want to use, so I just gave up on it. </p>
<p>Finally, I realized that I could simply turn it around and solve this on the data retrieval end, rather than the data storage end. In Drupal, if you enter a standard Drupal path like <em>/taxonomy/term/1</em>, that shows only nodes tagged as <em>United States</em>, but <em>/taxonomy/term/1/all</em> shows all nodes tagged <em>United States</em> <strong>and </strong>all nodes tagged with child terms.</p>
<p>I&#8217;m trying to build a drill-down <a href="http://ultraskier.com/directory">directory of professional ski instructors</a> (emphasis on <em>trying </em>— it&#8217;s still pretty rudimentary now and doesn&#8217;t yet have any instructors really). I realized that I could use the <a href="http://drupal.org/project/taxonomyblocks">Advanced Taxonomy Blocks module</a> to navigate for the drill down and was looking to create an add-on module or a patch for the module so that I could have it add the &#8220;all&#8221; to the end of the URL. Then I saw this in the settings:<br />
<img src="http://raisedbyturtles.org/wp-content/uploads/AdvancedTaxonomyBlockPathSettings.jpg" alt="Advanced Taxonomy Block Path Settings" title="Advanced Taxonomy Block Path Settings" width="381" height="85" class="aligncenter size-full wp-image-306" /><br />
All you have to do is add the <em>/all</em> to the end of the path. It&#8217;s built right in to the module settings (go to <em>/admin/settings/taxonomyblocks</em> and click <em>Configure</em>).</p>
<p>So much thanks to <a href="http://www.pixelclever.com/">Aaron Hawkins, an awesome drupal developer</a>, for this simple way around my problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/drupal-drilldown/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evaluating a CMS Theme or Template &#8211; Please Help!</title>
		<link>http://raisedbyturtles.org/evaluating-a-cms-theme/</link>
		<comments>http://raisedbyturtles.org/evaluating-a-cms-theme/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 18:23:27 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[theme design]]></category>
		<category><![CDATA[theming]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=301</guid>
		<description><![CDATA[Validation, fixed width, fixed fonts, javascript OH MY! What matters when evaluating a theme for my Wordpress or Drupal site?]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally decided to install MegaSuperDuperCMS because everyone has said it absolutely rocks. But I want that special look, so I started going through all of the available themes or templates or whatever it is the MegaSuperDuperCMS community calls them. I found one, KillerThemeCSS that looks great. It has my colors. It has CSS in the name, so it must be modern and cool and up to <a href="http://www.webstandards.org/">web standards</a>. It looks so neat and clean and snazzy and it just makes me think it looks like I mean business. Or perhaps that I mean pleasure, because I most definitely don&#8217;t want to look like I mean business.</p>
<p>So now I ask you, &#8220;<strong>What else should I look at besides the awesome look of KillerThemeCSS?</strong>&#8221; Here are some things I&#8217;ve already looked at. Please add to them or correct my foolishness if I&#8217;m just plain looking at something the wrong way. </p>
<p>These are in the order the popped into my head, <em>not necessarily in order of importance</em> (and to some extent the importance will be determined by the degree to which they fail any of these tests).</p>
<h2>Content code near the top</h2>
<p>Do I really have to look at the code? I hope not. I&#8217;m a little worried, because I don&#8217;t really know HTML but even so, when I opened it up with View Source, the source was 10 screenfuls long and the main headline for the page was on the ninth screen. Is that a problem?</p>
<p>(<i>Okay, this is not as big a problem as it used to be because the search engines have gotten better at figuring out what&#8217;s unique and what&#8217;s just repeated &#8220;service&#8221; content like navigational links and disclaimers and such. Look at the source code for a Google results page and you&#8217;ll see they certainly aren&#8217;t worrying as much about clean code either. But it&#8217;s still better not to confuse Google too much</i>).</p>
<h2>Proper use of H1 and H2</h2>
<p>So someone told me it&#8217;s good to put my page headline in an H1 tag. But when I was looking at the source in the last step, I couldn&#8217;t find one? Is that a problem? </p>
<p>(<i>This is unbelievably common and this post was actually prompted because I just looked at a &#8220;premium&#8221; paid theme that had <strong>no h1 or h2 on the front page and no h1 on the content pages</strong></i>).</p>
<h2>What&#8217;s &#8220;above the fold&#8221; mean?</h2>
<p>I love that stunning header image. It&#8217;s crisp, it&#8217;s clean, it looks professional and really catches the eye. And it had better catch the eye, because for users who don&#8217;t have the mega big monitor that the designer has, that&#8217;s all they&#8217;ll see because it takes up most of the screen. Is that bad?</p>
<p>(<i>I&#8217;m exaggerating a bit, but there seems to be an increasing vogue for themes with such big headers that there&#8217;s hardly any content at all above the fold, that is, hardly any meaningful content visible to a user on an average monitor without scrolling</i>).</p>
<h2>Color and Contrast</h2>
<p>My new theme with grey type on a black background looks awesome dude. Cool. Suave. Perfect for my edgy new music site. Except that nobody on a Mac can read it because their different gamma settings make it more like black on black. Is that a problem? And I really love the emphatic RED TYPE in the green sidebar. Many of my visitors are red-green color blind, so the only way they can see it is by doing &#8220;select all&#8221;. Is that a problem? I tried this just for kicks. I took a <strong>screenshot</strong> and loaded it into Photoshop (or was it <a href="http://irfanview.com/">Irfanview?</a>).<br />
 &#8211; <strong>Converted it to greyscale</strong>. I couldn&#8217;t read a thing, but nobody has a black and white monitor, so this isn&#8217;t a problem right?<br />
 &#8211; Then I <strong>played with the contrast, brightness and gamma</strong> (in &#8220;levels&#8221; on Photoshop; under &#8220;Enhance colors&#8221; in Irfanview). When I got the gamma up to 1.30 or down to .70 I couldn&#8217;t tell my form buttons from the background, but nobody&#8217;s monitor is that far different from mine is it?</p>
<h2>Font size</h2>
<p>I love that font they use and how efficient it is at really packing information onto the page, though it is a bit of a hassle trying to read and hold a magnifying glass at the same time. So I hit CTRL-+ on Firefox and&#8230; and&#8230; it doesn&#8217;t resize. That should be okay though, right because everyone has the same screen resolution as I do and my target audience is all under 40, so they all have good eyes. That&#8217;s a safe assumption, right?</p>
<h2>All screens wide and small</h2>
<p>Hey, it&#8217;s a fluid design. That&#8217;s awesome! I heard that was the best way to go. It uses all my screen real estate and looks great at 800px and at 1024px. It&#8217;s a little hard to read at 1200px because the lines are sort of long. But nobody really opens their browser full screen at 1200px do they? And all those visitors in my logs with 1680px widescreen monitor have their browsers open at a reasonable size, right? They won&#8217;t get headaches and lose their place because my lines are 250 characters long, will they? And I don&#8217;t worry about those iPhone users because I checked my logs and they only visit one page and leave anyway, so I don&#8217;t really need to be concerned with them do I?</p>
<p>(<i>Fluid is okay, but it can&#8217;t just let the content area expand up to any line length until it becomes unreadable. It can allow longer line lengths in terms pixels when it has bigger text — so if you&#8217;re going for variable line lengths, better to use ems, not pixels. It can allow wider display by rearranging elements at certain break points and intelligently using the screen — that&#8217;s the more sophisticated and more rare <a href="http://www.alistapart.com/articles/switchymclayout/">Switchy McLayout</a> approach. </p>
<p>But with the growing prevalence of widescreens, an infinitely expandable center content area at a small font size is not good. At the same time, the mobile market has increased a lot too [candid admission: and I ignore it completely]. More and more there&#8217;s no such thing as a standard screen size and a higher and higher percentage of viewers will have very large (1600px+ wide) or very small (400px or less wide) screens. At least try one of the extremes depending on what your target audience is likely to be. The truth is, I don&#8217;t build to be mobile-friendly, but I&#8217;m seeing that the time has come, perhaps past, when you can get away with this without taking a hit</i>).</p>
<h2>Do Javascript and Flash degrade gracefully?</h2>
<p>So I love how this theme has AJAX this and that and sIFR headlines that looks so crisp since standard HTML+CSS doesn&#8217;t give you anti-aliased fonts. Awesome. But when I looked at it while running the <a href="http://noscript.net/">Firefox NoScript plugin</a>, which blocks Flash and Javascript, well, the headlines were completely messed up and the navigation didn&#8217;t work and I can&#8217;t make comments or anything. Do people really surf without Flash and Jacascript? Is this something I should worry about?</p>
<p>(<i>You used to have to count on losing 10% of your audience if your site required Javascript. Now so many popular sites are enhanced by Javascript, that the numbers of those opting out are dropping some, but there will always be some security conscious visitors who will opt out. Best practice is to opt for a progressive enhancement model, where the site works without Javascript, but it adds a lot of useful features if available.</i>).</p>
<h2>Is there a separate CSS file or section of a file for MY styles?</h2>
<p>The theme has a hodge-podge of CSS files and I can&#8217;t figure out where I need to go to change anything. Is that a problem?</p>
<p>(<i>Maybe or maybe not, depending on your skill and your needs. Some themes are made to be customized and some are not. I like themes that by default include an extra CSS file. Yep, that&#8217;s one more file to download, but you might be able to get around that once you go live (Drupal allows you to combine all the files once the development phase is over and cache it as a single, albeit hugely bloated, CSS file) and modern browsers allow more concurrent connections so in the future you may be better off with more small files rather than one big one anyway, even without taking browser caching into account. Once you have it tweaked in your prototype, you can always put it into one small, light CSS file to bring bandwidth down.</p>
<p>The advantage of this system, is that you can make any changes you want to that last file, the one with just your CSS rules, and override the distribution files. Then if the developers find that the theme itself has cross-browser or even security problems, you can move up to the next version of the theme without losing your changes. Also, new versions of the CMS may require new versions of the theme and by compartmentalizing your changes, the upgrade process will be simpler. Even if you do combine files in the end, you&#8217;ll have that file with the core changes you made to get your original look, so you can fall back on that if you upgrade.</i>)</p>
<h2>Validation</h2>
<p>I just ran my site through the W3C HTML validator and got 132 errors. Is that a problem?</p>
<p>(<i>Maybe. It can be hard to find a CMS and theme that actually passes HTML and CSS validation. There are a lot of reasons for this, but one is that modules often generate code and there is generally not a system for a module to find out what the theme DOCTYPE is. So if the theme is XHTML and the module expects HTML and throws out an <img /> tag without closing it ( or <img />) then it won&#8217;t validate. Also, since it&#8217;s hard to force users to input valid HTML, most CMSes stipulate a transitional DOCTYPE, not strict. Finally, a single affiliate banner from Commission Junction can trigger tons of errors and that&#8217;s the fault of nobody but the affiliate network. </p>
<p>I won&#8217;t get into the <a href="http://24ways.org/2005/transitional-vs-strict-markup">strict/transitional, html/xhtml debate</a> here, but it is reasonable to expect that a theme, running stripped down with only core modules/plugins and validated content, should conform to whatever DOCTYPE the theme author specifies. Ideally, it should validate to the strict version of that DOCTYPE under that situation, though I might want to actually run it as transitional because of the issues with user-generated content. That said, those who tell you validation matters for ranking in Google are blowing smoke. The vast majority of websites don&#8217;t validate and so Google does not take validation into account per se, but only secondary effects, like truly broken code that it can&#8217;t parse out in order to figure out what the point of your page is and where the links go. It has to be really broken for that.</i>)</p>
<h2>Whoa! My Head&#8217;s Spinning. Can&#8217;t I Hire Someone?</h2>
<p>Okay, confession time. I was possessed by an evil demon who channeled through my fingers and I have pretty much no clue what half of that stuff I typed up there means. What I really need is for someone who can just make those changes for me if they&#8217;re necessary. </p>
<p>I think I&#8217;m only going to use <strong>themes designed by freelance designers</strong> who are actually out there for hire and looking for work, because as it turns out, most of the hobbyists who design themes are too damn busy with the rest of their lives to even answer my emails and wouldn&#8217;t consider working for hire because they care more about spending time with their kids than the $150 I&#8217;m willing to give them. </p>
<p>Looking forward to you advice. PS My boss needs our site up and running tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/evaluating-a-cms-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: Pro Drupal Development by John VanDyk</title>
		<link>http://raisedbyturtles.org/pro-drupal-development-review/</link>
		<comments>http://raisedbyturtles.org/pro-drupal-development-review/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 06:04:00 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=265</guid>
		<description><![CDATA[If you've torn you hair out and still don't really feel totally comfortable with the Drupal forms API, or with getting your module to affect the menu system or have lingering questions about anything in Drupal core, this book is a godsend. It is so much clearer and more accessible than the online documentation and the index is great. Within the first day I had it, it saved me a couple of hours of effort. Highly recommended.]]></description>
			<content:encoded><![CDATA[<p>I spent a long time on the fence about buying John VanDyk&#8217;s <em>Pro Drupal Development</em> because there&#8217;s so much documentation online and because I&#8217;m a cheap bastard. By about the middle of chapter 2, I realized what a stupid decision that was.  I could have saved myself sooooo much time if I had just bought the damn thing when it first came out!</p>
<p>There are, I would say, two good reasons <strong>not</strong> to buy <em>Pro Drupal Development</em>:</p>
<ol>
<li>You are not a Drupal developer.</li>
<li>You are such a Drupal ninja already that VanDyk mentions you in the acknowledgements.</li>
</ol>
<p>If on the otherhand, you build Drupal sites and do any mucking about in the internals, this book will probably teach you a lot and, if it doesn&#8217;t do that, it is still probably a worthwhile reference. In my case, I learned a lot. It was a bit humbling actually, but damn useful.</p>
<p>I&#8217;ve tried to read through the forms API and the documentation for it, but it never quite came together for me and I found reading it online wearisome to be honest, in a way that I never felt when I was learning PHP and spending a lot of time with the online PHP manual. I suspect that&#8217;s because PHP ultimately has a lot of overlap with C++ and other programming languages, so I was mostly skimming for syntax, but Drupal is a complex system with an architecture that was utterly foreign to me with its massive collection of hooks, callbacks, templates and so forth. So how does hook_nodeapi() relate to theme_preprocess_node() and node.tpl.php? And that&#8217;s an <em>easy</em> one. Throw in the menu and forms APIs, filters and so on and it just gets hard to get started on really putting it together.</p>
<p>I&#8217;ve hacked together some modules and done quite a bit of themeing, but I never really took the time to really understand the underlying Drupal architecture.  By the time I was a few chapters into <em>Pro Drupal Development</em>, I was already seeing better ways to do some things than my old bad &#8220;make it work&#8221; habits had taught me. Furthermore, with the excellent index in the book, when I came across roadblocks I could often find a solution quickly that allowed me to move on without having to sift through the documentation online.</p>
<p>Most importantly though, in almost every case, VanDyk&#8217;s explanations are just so much better than I&#8217;ve found elsewhere. I have no idea how talented a coder he is, but he definitely has real skill as a writer and a teacher. So many things that seemed arcane to me from other documentation, we&#8217;re absolutely clear and obvious in his able hands. I suspect some of that is because of good editing (not to be underestimated: it&#8217;s rare for a film to win the Best Picture Oscar without also winning the Oscar for Best Editing), and I find it much more comfortable to read print rather than onscreen, especially conceptually intricate material. None of that, however, takes away from VanDyk&#8217;s skill and my gratitude that he and others involved in the book put the time in to open up Drupal development to the rest of us.</p>
<p>If I have one regret about the book, it&#8217;s this: it covers only the core system. I understand the rationale behind that. With  thousands, of Drupal modules, you simply can&#8217;t go down that road. Still, I think that the <a href="http://drupal.org/project/content">Content Construction Kit</a> and <a href="http://drupal.org/project/views">Views</a> have really become &#8220;pseudo-core&#8221; in that complex Drupal sites commonly use them and they are increasingly being folded into Drupal core. These modules are in and of themselves pretty complex, especially Views, and I would love to see a book that covers Views in the detail that VanDyk covers the core (and perhaps one of the other Drupal books does, I just don&#8217;t know about it yet). That said, having gotten a much better understanding of core gave me pretty much all the tools I needed to embed Views into my site in the way I wanted, and yet still have everything get themed and hooked properly and without using the <a href="http://drupal.org/project/panels">Panels</a> module, another complex module which, while powerful and useful, adds a lot of overhead for the simple task I needed (I actually originally built my &#8220;proof of concept&#8221; site using Panels, but realized after reading <em>Pro Drupal Development</em> that I could simply achieve what I wanted by making small changes in templates and template.php without weighing the site down with yet another massive module).</p>
<p>So in short: Thanks John! Now with take the massive riches flowing to you from all six of my readers, one of whom might actually buy your book, go write another one.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/pro-drupal-development-review/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>ImageMagick versus GD2 resource usage</title>
		<link>http://raisedbyturtles.org/imagemagick-gd2-resource-usage/</link>
		<comments>http://raisedbyturtles.org/imagemagick-gd2-resource-usage/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 02:49:18 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[gd2]]></category>
		<category><![CDATA[imagemagick]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=160</guid>
		<description><![CDATA[I&#8217;ve been wondering which image toolkit is likely to result in lower resource usage (especially coming up against the PHP memory limit) for applications like Gallery and Drupal. People used to always say the resize quality was better with ImageMagick versus GD, but I think GD2 closed much of that gap. But what about resources? [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wondering which image toolkit is likely to result in lower resource usage (especially coming up against the PHP memory limit) for applications like <a href="http://gallery.menalto.com">Gallery</a> and <a href="http://drupal.org">Drupal</a>. People used to always say the resize quality was better with ImageMagick versus GD, but I think GD2 closed much of that gap. But what about resources? The best answer I could find was in a <a href="http://ask.metafilter.com/83573/A-little-bigger-than-a-thumbnail">thread on metafilter.com</a> where one respondent says</p>
<blockquote><p>
if possible, do yourself a favor and switch to ImageMagick as soon as possible. GD2 runs within the php child, so resizing any image over 640&#215;480 will pretty much take down the process you&#8217;re using. On our server, we&#8217;d have children allocated 64megs of memory die trying to resize a 1280&#215;1024 image.</p>
<p>While I&#8217;m not an expert on server tuning or linux, my understanding is that in your typical usage scenario, you&#8217;d run IM as a niced shell process, meaning that 1) the php child won&#8217;t crash because it just launches the exec and continues, and 2) the process shouldn&#8217;t significantly slow down your server, because it&#8217;ll only use &#8216;free&#8217; resources. This CAN mean that your user may experience a delay between uploading a file and being able to see a thumbnail…
</p></blockquote>
<p>That&#8217;s the best I can find for now. I should test it, of course, but for now I&#8217;ll take that advice and default to IM until I run into trouble.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/imagemagick-gd2-resource-usage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Videos on Optimizing Wordpress for the Search Engines</title>
		<link>http://raisedbyturtles.org/wordpress-videos/</link>
		<comments>http://raisedbyturtles.org/wordpress-videos/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 04:10:57 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=4</guid>
		<description><![CDATA[Wordpress is pretty good off the shelf, but there are some things that are a bit annoying or sub-optimal. For the basics of getting the major kinks out, there are some excellent videos.

Matt Cutts, the head of search quality at Google, has a nice overview on how to make the most of Wordpress.
Tubetorial series on [...]]]></description>
			<content:encoded><![CDATA[<p>Wordpress is pretty good off the shelf, but there are some things that are a bit annoying or sub-optimal. For the basics of getting the major kinks out, there are some excellent videos.</p>
<ul>
<li>Matt Cutts, the head of search quality at Google, has a nice overview on <a href="http://onemansblog.com/2007/08/04/matt-cutts-lecture-whitehat-seo-tips-for-bloggers/" title="making the most of Wordpress">how to make the most of Wordpress</a>.</li>
<li>Tubetorial series on <a href="http://www.tubetorial.com/must-have-wordpress-plugins/">Wordpress SEO</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/wordpress-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Sense of Duplicate Content and Page Titles in Wordpress (Wordpress Setup Part 2)</title>
		<link>http://raisedbyturtles.org/duplicate-content-meta-titles/</link>
		<comments>http://raisedbyturtles.org/duplicate-content-meta-titles/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 19:04:26 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[canonical URLs]]></category>
		<category><![CDATA[duplicate content]]></category>
		<category><![CDATA[headspace2]]></category>
		<category><![CDATA[meta description]]></category>
		<category><![CDATA[meta keywords]]></category>
		<category><![CDATA[meta title]]></category>
		<category><![CDATA[page title]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/duplicate-content-meta-titles/</guid>
		<description><![CDATA[So you&#8217;ve read Wordpress Setup Part 1 and setup Wordpress so it has nice, pretty, descriptive URLs. Now you&#8217;re done right? Well, not exactly. Wordpress default installs are great for crawlability, meaning that because it has links all over the place, the search engines can always find a path to any article. On the bad [...]]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;ve read <a href="http://raisedbyturtles.org/friendly-urls-wordpress">Wordpress Setup Part 1</a> and setup Wordpress so it has<a href="http://raisedbyturtles.org/friendly-urls-wordpress"> nice, pretty, descriptive URLs</a>. Now you&#8217;re done right? Well, not exactly. Wordpress default installs are great for crawlability, meaning that because it has links all over the place, the search engines can always find a path to any article. On the bad side, they can often find <em>six or ten paths</em> to any article.  Once upon a time (okay, before Wordpress 2.3), you had to worry about actual posts having multiple URLs, but that issue has pretty much disappeared. There is typically only one path to a page, but this doesn&#8217;t mean you can&#8217;t end up with duplicate content and wasted link juice.<br />
<span id="more-11"></span><br />
So when viewed from the point of view of the post, there is no duplicate content. But not from the point of view of the <em>text on those pages</em>, that text can appear at many addresses, though there is only one that you want to come up in the search results in Google for that material. Because of the way Wordpress lists the most recent posts on the front page, in the category pages, in the archives pages and so forth, the text, or at least the text above the <code>&lt;!--more--&gt;</code> comment, shows on every one of those pages (the  <code>&lt;!--more--&gt;</code> comment defines how much of the post text ends up on those pages).</p>
<p>This means that you effectively have <strong>duplicate content</strong>, that is identical content that appears on multiple URLs. In a bad case, this will get some semi-random URL listed in the search engine instead of the one <em>canonical</em> (that is &#8220;authoritative, recognized, accepted&#8221;) URL that you want the search engines to use to get to that specific page on your site. It might also list both your preferred canonical URL and one or more of the others. That <em>sounds</em> good, because you could just take over the Google listings with your ten different URLs for your page of <a href="http://raisedbyturtles.org/elephant-jokes">elephant jokes</a>, but the problem is that it will split the <em>power</em> of those pages (call this Page Rank if you want). This might be even worse than listing the wrong page, because rather than one page in the top-10 in Google, you&#8217;ll have a page back at number 50 and another back at number 75 and so on. <em>Nobody</em> reads those pages. Why? Because you&#8217;ve ended up dividing up your inbound links and confusing the search engine robot. It&#8217;s just a robot—don&#8217;t make it think too hard!</p>
<p>For  example, let&#8217;s say you just wrote a post on The Big Bad List of  Elephant Jokes and you assign it a post slug of &#8220;elephant-jokes&#8221; and  you put it in the categories &#8220;elephants&#8221; and &#8220;jokes&#8221; and you tag it as  &#8220;humor&#8221;. You write it in June of 2020. This means that Goohoo! finds it at</p>
<ul>
<li>http://raisedbyturtles.org/ (b/c it shows up on the home page as the most recent post)</li>
<li>http://raisedbyturtles.org/category/elephants (b/c it&#8217;s the most recent post in that category)</li>
<li>http://raisedbyturtles.org/category/jokes (ditto)</li>
<li>http://raisedbyturtles.org/tag/funny (ditto)</li>
<li>http://raisedbyturtles.org/archives/2020/06/ (because it&#8217;s at the top of your June 2020 archives)</li>
<li><a href="http://raisedbyturtles.org/elephant-jokes">http://raisedbyturtles.org/elephant-jokes</a> (because this is the actual URL).</li>
</ul>
<p>You don&#8217;t really want to do this. You want one <em>canonical </em>URL  that reaches any given chunk of content. It&#8217;s better for you, your visitors and the  search engines. So basically, you want to only index the &#8220;real&#8221;, that  is canonical, URL.</p>
<h2>Sorting the Canonical URL and Duplicate Content Issues</h2>
<p>How do you do that? You could disallow the search engines from your archive and category pages using a <a href="http://robotstxt.org/">robots.txt file</a>. This will work, but the problem is that if you don&#8217;t get crawled before a post gets pushed off your home page, you might never get that post indexed (unless you generate a sitemap perhaps).</p>
<p>So what do you do? Simple, you <strong>install the <a href="http://urbangiraffe.com/plugins/headspace2/">incredible Headspace2 plugin</a>.</strong> I used to use and recommend a hacked combination of the   <a href="http://www.netconcepts.com/seo-title-tag-plugin/">SEO Title Tag plugin</a> and the <a href="http://wp.uberdose.com/2007/03/24/all-in-one-seo-pack/">All-in-one SEO Pack</a>. That&#8217;s a powerful combo too, but not as powerful as Headspace2 and they need a minor hack (actually just a manual database change) to work together. I don&#8217;t say Headspace2 is incredible lightly, but this is just a great idea that is well-executed.</p>
<p>I got a fatal error when I installed H2, version 3.3.16, but that&#8217;s because the <em>headpsace/plugins.php</em> file needed to be executable by &#8220;owner&#8221; and I had the wrong file permissions on it. You can change that simply from your FTP client (try Filezilla if you don&#8217;t have an FTP client). If you&#8217;ve been using AIOSP, by the way, you can import all your data via the Headspace2 options.</p>
<p>Once you install this plugin (installs like any WP plugin; instructions in the readme file that comes with the download), you need to go in and enable some modules. This is a complex and powerful plugin and not all of it is enabled by default.</p>
<ul>
<li>From your Wordpress admin area, go to <em>Options » Headspace2 » Modules</em></li>
<li>Look over at the &#8220;Disabled&#8221; list. Drag and drop any of these modules into the &#8220;Simple&#8221; section. I have the following activated currently:
<ul>
<li><strong>No Index/No Follow</strong> — essential for sorting the duplicate content issue</li>
<li><strong>Page Title</strong> — essential for the second part of this how-to.</li>
<li><strong>Page Description</strong> — Let&#8217;s you create a custom meta description, which will get to in a second.</li>
<li><strong>More Text</strong> — Instead of a generic &#8220;Read more&#8221; for a continued article, you can customize the text so it&#8217;s something like &#8220;Read more about sorting out duplicate content&#8230;&#8221;</li>
<li><strong>Tags</strong> — lets you tag your pages and puts these tags in your meta keywords.</li>
</ul>
</li>
<li>Now that you have the modules enabled, you&#8217;ll be able to control the indexing of all your pages. At edit or creation time, you can keep a single page out of the search indexes, which is useful for things like Contact pages and things like that. More importantly, though, we&#8217;ll get rid of all those category and archive pages and make them more or less invisible to the search engines.
<ul>
<li>Go back to the Headspace2 &#8220;Page Settings&#8221;. You should see a list that includes:
<ul>
<li>Archives</li>
<li>Categories</li>
<li>Search Pages</li>
<li>Tag Pages</li>
</ul>
</li>
<li>For each of those listed above (not all the ones listed by Headspace2), click on it and, at the bottom of the options, you can see two check boxes. Check the No Index box, but not the No Follow box. Save. This tells the search engine (Google, Yahoo, etc) that it shouldn&#8217;t even bother to keep a record of the content of that page, but that it <em>should</em> follow those links on through to the actual pages you want indexed. If you check the No Follow box, you would prevent the search engine from even finding those pages that you really want indexed.</li>
<li>Note that you can also edit the page title and other information for those pages. We won&#8217;t bother right now, but it&#8217;s something to keep in mind in case you want to customize any of this.</li>
</ul>
</li>
</ul>
<h2>Sorting out Meta Titles</h2>
<p>H2 has another great utility: it lets you set <strong>unique meta titles</strong> (that&#8217;s the one that appears in the upper browser title bar, not the one the reader sees on the page) that are <strong>different from your H1 heading title</strong>. You can also craft meta descriptions and meta keywords and, in fact, any meta information. It will add additional text entry boxes that let you set your keywords, description and title on the post edit/creation screen.</p>
<p>The <strong>meta title is really key</strong> and the only one that really <em>really</em> <strong><em>really</em></strong> matters. This is what appears in the big bold text in the search results. This is the first thing about your page that most people will see. You want to make it count and you don&#8217;t want to simply duplicate what you have for the post heading. Above all, <strong>under no circumstances</strong> should the average blogger have a site where the<strong> meta title looks like this: <em>My Site Name | Name of My Post</em></strong>. Nobody cares about the name of your stupid site and it&#8217;s also not descriptive in the least if you have a name like mine. It makes your titles look less unique and harder to tell apart if your visitor has several pages of your site open in different browser tabs or windows.</p>
<p>Why would you want your meta title to be different from your post title? Well, Google&#8217;s top search quality engineer, <a href="http://onemansblog.com/2007/08/04/matt-cutts-lecture-whitehat-seo-tips-for-bloggers/">Matt Cutts, pointed out in his Wordpress SEO video</a> that varying these two gives you two chances to match terms. You can use subtly different wording, looking to use alternate spelling (<em>changes</em> and <em>changing</em> in Matt&#8217;s example) or related terms (<em>photos</em> and <em>pictures</em> and <em>images</em> for example).</p>
<p>This is actually not why I do it, though.The meta title appears in the search results, so it needs to give the user some i<a href="http://www.useit.com/alertbox/20030630.html">nformation scent</a>.  There&#8217;s only so much room to be clever. However, in your RSS feed or on  page, where you&#8217;ve already got the users there, you might want to just  give them something funny or clever, but perhaps that does not make the  general idea of the article immediately obvious. In many cases, such as a how-to article like this, my two titles might be similar. But when I write some humor or political commentary, I might want to have an H1 heading that is engaging, but not necessarily descriptive in the same way the meta title is.</p>
<dl>
<dt>Meta Title</dt>
<dd>Longer, more descriptive title that <strong>should say: &#8220;I answer your question.</strong> I am the page that you&#8217;re looking for. Come look at me.&#8221;</dd>
<dt>H1 Heading Title</dt>
<dd>Might be even longer (on this page I&#8217;ve added the &#8220;Wordpress Setup Part 2&#8243;) or very short. It might be pithy, ironic or a mystery whose real meaning is only revealed as the reader goes down the page. The user is on the page already and has a view of the text that follows. The <strong>H1 text should say &#8220;Read on! I&#8217;m funny. I&#8217;m interesting</strong>. I&#8217;m good for a laugh or a solution.&#8221; It&#8217;s not necessarily a summary.</dd>
</dl>
<h3>What if I already have pages without unique titles?</h3>
<p>So now if you&#8217;ve never written a post and you don&#8217;t want to set titles for categories, you&#8217;re all set, but what if you are trying to fix up an old site, or you want to attach titles to category pages? Simple. Just leave the Options panel and head on over to <em>Manage » Meta-data</em>. You&#8217;ll see that H2 gives you a list with the Post Title (what appears on the page) fixed and the Page Title (what appears in the browser bar) editable. Now, look at the upper right corner of the screen. Headspace lets you mass edit almost everything—page title, post-slug, custom &#8220;more&#8221; text and everything. This is an amazing management tool.</p>
<h2>Other Meta Tags</h2>
<h3>Meta Keywords</h3>
<p>Who cares about these? The search enignes don&#8217;t pay attention anymore, so it&#8217;s just a waste of bandwidth, right? Perhaps, but things change and you may someday find these useful for your own internal search algorithms or what have you. I do this for my benefit, not the search engines. I write my title first, which keeps me on topic. I write keywords last, to see how I did. But of course you can ignore it. Since you&#8217;re using Headspace, you just generate your tags, which have uses for helping your visitors find related posts and so forth, and these will become meta keywords, so why not (if it&#8217;s not worth being a tag, I don&#8217;t bother to add extras).</p>
<h3>Meta Description</h3>
<p>Search engines don&#8217;t use this either, right? Probably not for <em>ranking</em> (how high you are in the results), but they might use it for <em>relevance</em> (trying to figure out the actual content of your post, assuming the description matches the rest of the page). More importantly, the <em>will </em>use it for the snippet that appears in the search results in <em>some</em> cases. An example would be where the algorithm tells the engine that your page is on elephant jokes, but it doesn&#8217;t find the word on the page so it can&#8217;t find a relevant snippet. What does it use? If you have no meta description, it might use nothing or it might just start grabbing your navigation text (I&#8217;ve had that happen on image pages). If you have the description, <em>you</em> control what appears in these cases instead of depending on SE magic.</p>
<h2>Recap</h2>
<p>By using Headspace2, you save yourself tons of headaches, lots of theme-hacking, and make your site more usable for visitors and search engines alike. If done right, your duplicate content issues and duplicate title issues will be totally resolved.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/duplicate-content-meta-titles/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Making Your Wordpress URLs Work For You</title>
		<link>http://raisedbyturtles.org/friendly-urls-wordpress/</link>
		<comments>http://raisedbyturtles.org/friendly-urls-wordpress/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 18:00:07 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[canonical URLs]]></category>
		<category><![CDATA[clean urls]]></category>
		<category><![CDATA[permalins]]></category>
		<category><![CDATA[urls]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/friendly-urls-wordpress/</guid>
		<description><![CDATA[Wordpress URLs by default aren&#8217;t real helpful. They give your visitor no information about the page. They add nothing to the information in your search listings. And they tell the search engines nothing about your page. That&#8217;s three wasted opportunities and it&#8217;s dead simple to fix.

The Problem with the default Wordpress URLs
By default, every page [...]]]></description>
			<content:encoded><![CDATA[<p>Wordpress URLs by default aren&#8217;t real helpful. They give your visitor no information about the page. They add nothing to the information in your search listings. And they tell the search engines nothing about your page. That&#8217;s three wasted opportunities and it&#8217;s dead simple to fix.<br />
<span id="more-10"></span></p>
<h2>The Problem with the default Wordpress URLs</h2>
<p>By default, every page in Wordpress will have a URL like <em>http://site.com/?pid=31</em>. What you want is a URL like <em><a href="http://raisedbyturtles.org/elephant-jokes">http://raisedbyturtles.org/elephant-jokes</a></em> for your collection of <a href="http://raisedbyturtles.org/elephant-jokes">Elephant Jokes</a> because of course there is nothing funnier than elephant jokes and nobody who sees that URL will be able to resist the urge to click it. <em>Nobody</em>. Some Wordpress user add additional parameters (and I did so in the past), so that it looks like <em>http://site.com/2020/06/07/elephant-jokes</em> if it&#8217;s posted on June 7, 2020 (I predict a resurgence in the popularity of elephant jokes in the 2020s). That&#8217;s fine, but there is a drawback in  that you probably don&#8217;t want people navigating back up to <em>http://site.com/2020/06</em> by editing your URL because that URL may be a dead end or, at best, list the articles published on that date. So Google&#8217;s top &#8220;search quality&#8221; engineer, <a href="http://onemansblog.com/2007/08/04/matt-cutts-lecture-whitehat-seo-tips-for-bloggers/">Matt Cutts,  suggests simply using the post name</a>.  If you will have a carefully categorized, hierarchical site, where posts will  typically belong to just one category, it may make sense to have the  category in the URL (again, more information for your visitors and in your search results). Otherwise, probably not.</p>
<h2>Why Change Your URL Schema?</h2>
<p>Some people call these type of URLs &#8220;search-engine  friendly&#8221; but in reality, the search engines can handle a URL in the  default form just fine. However, this method lets you achieve a few  things:</p>
<ul>
<li>You give <strong>keywords and context to the search engines (SEs)</strong>. This  isn&#8217;t going to automatically rocket you to the top, but it will help  the SEs a lot in determining what the main point of the page is. I&#8217;m not smart enough to game the search engines and I also believe that long-term, it will just become harder and harder anyway. That said, like any writing, you don&#8217;t want to make it purposely difficult for the reader. So you use this to give one of your &#8220;readers&#8221;, aka Googlebot or the Yahoo! Slurp or the MSN engine, a little help in understanding your message.</li>
<li>You give <strong>keywords and context to your users</strong>. I often look at a URL before I click on a link. I use this information all the time and appreciate a well-chosen URL, whether displayed at the bottom of my browser or in search results. However, where this really helps your potiential audience is in the case where someone does something like paste a URL into an email or forum. Which of the following is more <em>useful</em> to you as a reader:
<ul>
<li>&#8220;Hey Bill, I thought you might appreciate this &#8211; http://example.com/?p=34&#8243;</li>
<li>&#8220;Hey Bill, I thought you might appreciate this &#8211; <a href="http://raisedbyturtles.org/elephant-jokes">http://raisedbyturtles.org/elephant-jokes</a>&#8220;</li>
</ul>
<p>Definitely the second one. It saves you time—if you don&#8217;t want to read elephant jokes (and why would you so hate elephants?), you don&#8217;t waste your time clicking.</li>
<li><strong>Easier to remember and to give out verbally</strong>.</li>
</ul>
<h2>How do your Change Your Default URL Schema in Wordpress?</h2>
<p>This is very simple. In your WP admin area, go to <em>Options » Permalinks</em> and choose <em>Custom</em>. Now for your custom structure, you can enter in the text box:</p>
<ul>
<li><em>/%postname%/</em> — This is the Matt Cutts style.</li>
<li><em>/%category%/%postname%/</em> — This is my preferred style for a  site that is meaningfully hierarchical and categorized (i.e. if you  expect people to use drill-down navigation).</li>
<li><em>/%year%/%monthnum%/%day%/%postname%/</em> — use this if you  really don&#8217;t want any duplicate paths, but realistically all you need  to do is add a number at the end of the post slug and you&#8217;ll get the  same effect.</li>
</ul>
<p>By default, Wordpress will just use your-very-long-post-title-with-little-words-included. Sometimes that&#8217;s okay, depending on the title, but as a general rule, write <strong>custom post-slug on every post</strong>. The other important thing to remember here is to <strong>write a custom post-slug on every post</strong>. In the post edit/creation area, there&#8217;s a box on the right called post-slug that determines the last element of your URL. By the way, if you don&#8217;t already, <strong>write a custom post-slug on every post</strong>. Did I mention that already?</p>
<h2>Recap</h2>
<p>Wordpress gives you a nice facility for creating intelligent and readable URLs for your site. Taking a bit of time to restructure the default URL and to write useful post-slugs on every post will be beneficial to your readers, will attract more readers and will help the search engines determine the focus of your page.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/friendly-urls-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just testing Wordpress timestamps</title>
		<link>http://raisedbyturtles.org/wordpress-timestamps/</link>
		<comments>http://raisedbyturtles.org/wordpress-timestamps/#comments</comments>
		<pubDate>Wed, 31 Dec 1969 23:58:59 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://raisedbyturtles.org/?p=31</guid>
		<description><![CDATA[Someone asked whether or not you could set the timestamp to something like June 4, 1848. I figured it would depend on whether I can date it in the distant past. Wordpress uses a MySQL datetime field, so in theory it should take any date after January 1, 1000. So here goes&#8230;
Update: well, as you [...]]]></description>
			<content:encoded><![CDATA[<p>Someone asked whether or not you could set the timestamp to something like June 4, 1848. I figured it would depend on whether I can date it in the distant past. Wordpress uses a MySQL datetime field, so in theory it should take any date after January 1, 1000. So here goes&#8230;</p>
<p>Update: well, as you can see, it will only go back as far as December 31, 1969. So the historian who wants to create a blog where the posts are dated according to the even being discussed is out of luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://raisedbyturtles.org/wordpress-timestamps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
