<?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/"
xmlns:media="http://search.yahoo.com/mrss/"
><channel><title>YoastWebdesign &amp; development - Archives - Yoast - Tweaking Websites</title> <atom:link href="http://yoast.com/cat/webdesign/feed/" rel="self" type="application/rss+xml" /><link>http://yoast.com</link> <description>Tweaking Websites</description> <lastBuildDate>Thu, 02 Sep 2010 14:00:08 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <image><title>Yoast</title> <url>http://cdn.yoast.com/wp-content/themes/yoast-v2/images/yoast-logo-rss.png</url><link>http://yoast.com</link> <width>144</width> <height>103</height> <description>Tweaking Websites</description> </image> <item><title>Link dump: interesting reads from around the web</title><link>http://yoast.com/link-dump-week-34/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=link-dump-week-34</link> <comments>http://yoast.com/link-dump-week-34/#comments</comments> <pubDate>Tue, 24 Aug 2010 13:50:40 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[SEO]]></category> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://yoast.com/?p=2945</guid> <description><![CDATA[<p>So last week I've started sharing a lot more of what I read on a day to day basis on Twitter, and I decided I had to share these links here on yoast.com as well. Below is a quite extensive list of links that I found interesting, ordered by topic. I'll try to do these [...]</p><p><a
href="http://yoast.com/link-dump-week-34/">Link dump: interesting reads from around the web</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>So last week I've started sharing a lot more of what I read on a day to day basis on <a
href="http://twitter.com/yoast">Twitter</a>, and I decided I had to share these links here on yoast.com as well. Below is a quite extensive list of links that I found interesting, ordered by topic. I'll try to do these on a weekly basis from now on.</p><h2>WordPress</h2><ul><li><h3>Code Snippets and Examples</h3><ul><li><a
href="http://bit.ly/dqhhT3">The only proper way of adding a Facebook “Like” button to your WordPress blog</a></li><li><a
href="http://bit.ly/9hpHmB">An article I wrote recently for Smashing Magazine: Lessons Learned From Maintaining a WordPress Plug-In</a></li><li><a
href="http://bit.ly/alekZG">Gravity Forms PayPal integration</a></li><li><a
href="http://bit.ly/a3z87J">16 Vital Checks Before Releasing a WordPress Theme</a></li><li><a
href="http://bit.ly/bKcaaG">How to Display Human Readable Post Dates in WordPress</a></li><li><a
href="http://bit.ly/cHEM20">Control WordPress Content via Userrights or Time</a></li><li><a
href="http://bit.ly/9EVieE">A good Beginner’s Guide to the Thematic Framework</a></li></ul></li><li><h3>Plugins</h3><ul><li><a
href="http://bit.ly/96JcwN">BuddyPress Courseware beta</a>; a very cool plugin for schools &amp; other educational institutions.</li><li><a
href="http://bit.ly/9iH1WY">Post to post</a>; nice plugin for creating relations between posts.</li><li><a
href="http://bit.ly/b6EtrU">Press This Reloaded</a>; pretty useful if you need to, for instance, adapt the SEO title of a post.</li><li><a
href="http://bit.ly/9P9QJG">WPMU.org features my WordPress Salesforce CRM plugin.</a></li><li><a
href="http://bit.ly/djWrla">Custom Post Permalinks</a>; I seriously think this should be in WordPress core, but as long as it's not, this'll do.</li></ul></li><li><h3>News</h3><ul><li><a
href="http://bit.ly/bM98Dg">Common WordPress Multisite Problems and Solutions</a></li><li><a
href="http://bit.ly/99a7Mm">Top 10 WordPress News Blogs</a></li><li><a
href="http://bit.ly/93vTpF">When is the Best Time to Post a Blog Post?</a> Not enough people think about this.</li></ul></li></ul><h2>SEO</h2><ul><li><a
href="http://bit.ly/as4wfE">Without any work from me, my Google Analytics plugin now helps you verify your Google Webmaster Tools account.</a></li><li><a
href="http://bit.ly/cnnarU">I'm seeing similar stuff to this: Google Webmaster Tools Link data - a case study</a> by Dave Naylor, my favourite <a
href="http://www.davidnaylor.co.uk/">UK SEO</a>.</li><li>Want an SEO job? <a
href="http://bit.ly/bBvWxr">Check out the Daily Mail's robots.txt file</a></li></ul><h2>Analytics</h2><ul><li><a
href="http://bit.ly/9ptp4K">Qualitative Web Analytics: Heuristic Evaluations Rock! another great post by Avinash Kaushik</a></li><li>The new Management API for Google Analytics rocks; <a
href="http://bit.ly/b5QiIF">check out the docs</a></li></ul><h2>Web design / web development</h2><ul><li><a
href="http://bit.ly/bQUzrh">Practical? No. Cool? Yes. Compressing Your JavaScript and CSS to PNG Images</a></li><li><a
href="http://bit.ly/9S6UWq">What a surprise: Steve Jobs was right, Flash fails on Android</a></li><li><a
href="http://bit.ly/9RYskr">HTML5 for Web Designers: Book Review at Nettuts+ - I've read it too, it's amazing</a></li><li><a
href="http://bit.ly/aNa540">Good Help is Hard to Find</a> is another A List Apart classic. Wonder how to apply this to my plugins...</li><li><a
href="http://bit.ly/bNWP6e">A very concise explanation of the viewport metatag by David B. Calhoun</a></li><li><a
href="http://j.mp/bi0H6L">A pretty awesome example of what can be reached with CSS3 now</a></li><li><a
href="http://bit.ly/djDvsZ">I'd almost start using Typekit: Adobe partners with Typekit to bring legendary typefaces to the web.</a></li><li><a
href="http://bit.ly/dr4PZd">MathML is now part of WebKit nightlies</a>, go forth and play, all you math lovers out there!</li><li><a
href="http://bit.ly/aBCIJ1">Delay loading of print CSS</a> (in WordPress, but useful for everyone)</li><li><a
href="http://bit.ly/9lw75n">Debugging Tools - jQuery for Designers</a></li><li>This would work perfectly for WordPress plugin developers: <a
href="http://bit.ly/aqs9ib">Readme Driven Development</a></li></ul><h2>Online Marketing / Social media</h2><ul><li><a
href="http://bit.ly/dBB6Ck">Daring Fireball - Online Advertising: Losing the Race to the Bottom - listen to this, seriously.</a></li><li><a
href="http://bit.ly/aqEdsl">What's this thing called Buzz that Leo talks about? :)</a></li><li><a
href="http://bit.ly/dmKxZA">Facebook Tabs: What They Are &amp; How to Use Them</a> - Good writeup on RWW</li><li><a
href="http://tcrn.ch/bGTgJj">Quite curious how many people will do this: German Homes Can Now Opt Out Of Google - TechCrunch</a></li></ul><h2>Science</h2><ul><li><a
href="http://bit.ly/baWUqW">Experts are usually wrong</a></li><li><a
href="http://bit.ly/cULBRE">Everyone looks better after you've tipped back a pint or two, and now we know why</a></li><li><a
href="http://bit.ly/cUSUwo">A nice infographic on the history of the Internet</a></li><li>Freakonomics: loved the book, looking forward to the movie, <a
href="http://bit.ly/dqVlcD">check out the trailer</a>.</li><li>Wonder what my wife does? <a
href="http://bit.ly/adINVi">Read her latest paper on the Intergenerational Transmission of Convictions.</a></li></ul><h2>Fun</h2><ul><li><a
href="http://bit.ly/93dgQw">(Fake) Lady Gaga sings about Java programming with some hilarious quotes</a></li><li><a
href="http://bit.ly/9TLmeS">Gonna have to try this on my son in about 2 years: 4 Tools for Teaching Kids to Code</a></li><li><a
href="http://bit.ly/93ZyPv">Basically, you can't block Mark Zuckerberg on Facebook, because too many other people did it before you</a></li><li><a
href="http://bit.ly/apyIeg">You know you're a geek when you think this is funny</a></li></ul><h2>Lifestyle</h2><ul><li><a
href="http://bit.ly/ajUUZz">Trying to follow this advice: living a Balanced Freelance Life (even though I'm only partly freelance)</a></li></ul><h2>Mac</h2><ul><li>Why <a
href="http://www.red-sweater.com/blog/">Daniel Jalkut</a> is <a
href="http://bit.ly/cRfLpX">sticking with the Mac</a></li><li><a
href="http://bit.ly/aEUJLS">Precipitate: search for and launch the info you stored in the cloud from Spotlight or G Desktop for Mac</a></li><li><a
href="http://bit.ly/d3q4cr">This is bloody hilarious: No Comment: Justin Long's jailbroken iPhone</a></li><li><a
href="http://bit.ly/d6EPqi">This proved to be pretty awesome for mp3 splitting: Macsome Audio Splitter</a></li></ul><p><a
href="http://yoast.com/link-dump-week-34/">Link dump: interesting reads from around the web</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/link-dump-week-34/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Practical Guide to 404 Error Pages: What WordPress is Missing</title><link>http://yoast.com/404-error-pages-wordpress/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=404-error-pages-wordpress</link> <comments>http://yoast.com/404-error-pages-wordpress/#comments</comments> <pubDate>Tue, 03 Nov 2009 13:30:42 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Analytics]]></category> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[WordPress Themes]]></category><guid
isPermaLink="false">http://yoast.com/?p=1645</guid> <description><![CDATA[<p>I make mistakes. You make mistakes. We all do. And some of these mistakes end up providing our readers with a 404 page. Chances are that page says "Error 404: file not found". How does that help your visitor? Instead of just identifying the problem, your 404 page needs to offer a solution. In the [...]</p><p><a
href="http://yoast.com/404-error-pages-wordpress/">Practical Guide to 404 Error Pages: What WordPress is Missing</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p><a
href="http://www.semmys.org/2010/blogging-2010-winner/"><img
class="alignright" src="http://www.semmys.org/dm/badges/10/LBru.gif" alt="2010 SEMMY Runner-Up" /></a>I make mistakes. You make mistakes. We all do. And some of these mistakes end up providing our readers with a 404 page. Chances are that page says "Error 404: file not found". How does that help your visitor?</p><p><strong
style="font-size:120%;text-shadow:1px 1px 1px #aaa;"><em>Instead of just identifying the problem, your 404 page needs to offer a solution.</em></strong></p><p><img
src="http://cdn.yoast.com/wp-content/uploads/2009/11/problems-solutions.jpg" alt="Crossing out problems and instead offering solutions" title="Crossing out problems and instead offering solutions" width="250" height="166" class="alignright size-full wp-image-1744" />In the default WordPress Kubrick theme the 404 page (<a
class="thickbox" rel="404s" title="Kubrick 404 - Ugly as hell" href="http://cdn.yoast.com/wp-content/uploads/2009/10/kubrick-4041.png">example</a>) is probably one of the ugliest pages you've ever seen, and chances are yours is not any better. Today is the time to end that. This post will provide you with <em>everything</em> you need to make your "404 - File not found" page a starting point instead of a dead end street.</p><p>The goal of a good 404 page is simple: to make sure visitors landing on it continue browsing your site, and find the content they came for. Let's get going.</p><h2>Get into your visitors mindset</h2><p>Get into the mindset of the person that just got to a 404 page on your site. They were expecting something else, if not, they wouldn't have gone there. So there's a couple of things you should absolutely <em>not</em> do:</p><p>First of all, considering they've probably clicked a link somewhere to get to that 404 page, whose fault is it that they're getting a 404? Theirs? No. Yours? It very well might be, so you'd better apologize.</p><p>Second, make sure the styling of your 404 page fits in with the rest of your site. Sometimes designers go overboard with their 404 pages, and make them look like, for instance, a Windows blue screen. This can have the very undesired effect of people leaving immediately.</p><p>Third, if you are going to make jokes, like that Windows blue screen, make sure it's a joke everyone gets. Especially when you're blogging in English, you might end up with a lot of readers for whom English is their second or third language. Your puns, though well intended, might be going nowhere because their mastery of the language isn't sufficient. Because of that they might leave... Is that worth it?</p><h2>Let's make a killer 404 page</h2><p>Ok so we know what not to do. We also know that the visitor came to your site looking for specific content, usually having followed a link from somewhere. Now it's time to start giving them ways of doing that. If you're not using WordPress and you're lazy, the <a
href="http://googlewebmastercentral.blogspot.com/2008/08/make-your-404-pages-more-useful.html">Google 404 widget</a> might be helpful. If you <em>are</em> using WordPress, we can do better than that.</p><p>Let's let us be inspired by some great 404 pages:</p><div
style="width:425px;height:130px;margin:0 auto;"><a
rel="404-inspire" class="thickbox" title="Apple's 404 page" href="http://cdn.yoast.com/wp-content/uploads/2009/10/apple-404.png"><img
src="http://cdn.yoast.com/wp-content/uploads/2009/10/apple-404-125x125.png" alt="apple-404" title="apple-404" width="125" height="125" class="alignleft size-thumbnail wp-image-1648" /></a><a
rel="404-inspire" class="thickbox" title="IBM's 404 page" href="http://cdn.yoast.com/wp-content/uploads/2009/10/ibm-404.png"><img
src="http://cdn.yoast.com/wp-content/uploads/2009/10/ibm-404-125x125.png" alt="ibm-404" title="ibm-404" width="125" height="125" class="alignleft size-thumbnail wp-image-1650" /></a><a
rel="404-inspire" class="thickbox" title="Conversion Rate Experts 404 page" href="http://cdn.yoast.com/wp-content/uploads/2009/11/cre.png"><img
src="http://cdn.yoast.com/wp-content/uploads/2009/11/cre-125x125.png" alt="cre" title="cre" width="125" height="125" class="alignleft size-thumbnail wp-image-1699" /></a></div><p
style="margin-top:10px;clear:both;">I'll be honest: the <a
href="http://conversion-rate-experts.com/">Conversion Rate Experts</a> guys have inspired the first version of my 404 page. They offer you 4 options to get to the content you were looking for:</p><ol><li>search</li><li>check the URL for misspellings</li><li>check the sitemap</li><li>start over at the homepage</li></ol><p>That's a <em>great</em> start. Apple gives you a sitemap straight away. Depending on your site's structure that might be a great idea too.</p><p>I wanted to add one more thing: a set of pages that actually might be related to the URL people had typed in. To do that, we'd have to parse the URL and see if there's something useful in there. Let's see what we have to work with:</p><h2>What data does a 404 error page provide?</h2><p><img
src="http://cdn.yoast.com/wp-content/uploads/2009/11/404-error.jpg" alt="404-error" title="404-error" width="250" height="134" class="alignleft size-full wp-image-1729" />A lot of people seem to think that a 404 page is a dead end street. It's not, there's a whole lot of data that can help you find the content your visitor was looking for. Let's start with the URL: it contains something very useful. All the text that's there after the slash of your domain should be pointing you to what it is the person was looking for.</p><p>Luckily, WordPress stores that information for you. The <code>$wp_query->query_vars['name']</code> variable holds whatever was in there. It does do some replacing in there though, it replaces all weird entities with a dash (-). We'll use this bit of information to spice up your 404 error page.</p><p>First of all, let's check whether there's a direct match for that var in a page name once you strip out all the things that people sometimes add to your URL erroneously. (If you read on there's an adapted version of the Kubrick 404 page which you can use to update your own themes.)</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query_vars</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/(.*)-(html|htm|php|asp|aspx)$/&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$1</span>&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$posts</span> <span style="color: #339933;">=</span> query_posts<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_type=any&amp;name='</span><span style="color: #339933;">.</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div><p>If that doesn't deliver results, you'll want to do a search for that word, to do that we'll have to rip out the dashes in the name, and then do the search. As we're going to re-use the <code>$s</code> variable further on, we'll do that outside of the if statement to check whether the previous query delivered results:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;-&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$posts</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$posts</span> <span style="color: #339933;">=</span> query_posts<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_type=any&amp;s='</span><span style="color: #339933;">.</span><span style="color: #000088;">$s</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>Now we have an array with posts, at least, we hope we do, so let's check that, and loop through it:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$posts</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #990000;">echo</span> <span style="color: #0000ff;">&quot;&lt;p&gt;Were you looking for &lt;strong&gt;one of the following&lt;/strong&gt; posts 
    or pages?&lt;/p&gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #990000;">echo</span> <span style="color: #0000ff;">&quot;&lt;ul&gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$posts</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">echo</span> <span style="color: #0000ff;">'&lt;li&gt;'</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">echo</span> <span style="color: #0000ff;">'&lt;a href=&quot;'</span><span style="color: #339933;">.</span>get_permalink<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/a&gt;'</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">echo</span> <span style="color: #0000ff;">'&lt;/li&gt;'</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #990000;">echo</span> <span style="color: #0000ff;">&quot;&lt;/ul&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p>I've made an adapted version of the Kubrick 404 error page, which you can <a
id="kubrick404" href="http://cdn.yoast.com/wp-content/uploads/2009/11/404.zip">download here</a>.</p><p>There's a plugin that does something similar to the above, called <a
href="http://wordpress.org/extend/plugins/smart-404/">Smart 404</a>. It chooses to redirect the visitor to the first result it gets. It wouldn't be my preference, I actually want people to notice that the URL was wrong.</p><p>So now we have a great 404 page, but we haven't used all the data that we were provided with. Another bit of data the 404 provides is the referrer: someone linked to your page with a wrong URL, or is linking to a page that isn't there anymore. So we've got one thing left to do:</p><h2 id="404prevention">Preventing 404 error pages</h2><p>There's a very cool plugin called <a
href="http://wordpress.org/extend/plugins/404-notifier/">404 notifier</a> by Alex King, which can provide you with an RSS feed of the 404's on your site, and <a
href="http://urbangiraffe.com/plugins/redirection/">Redirection</a>, one of my all time favorite plugins, offers the same functionality. You could also use my own <a
href="http://yoast.com/wordpress/google-analytics/">Google Analytics for WordPress plugin</a>. It tracks the 404's as 404.html (look for them in your content report).</p><p>Using Google Analytics has the added advantage that it saves the referrer, so you know which URL the visitor originated from. This allows you to not only redirect the URL to the correct place, but also to ask the site that referred the visitor to fix the URL.</p><p>Another great way to keep track of 404's on your site is using <a
href="https://www.google.com/webmasters/tools/">Google Webmaster Tools</a>. In the Diagnostics - Crawl Errors area of Webmaster Tools Google gives you a great overview of what 404's it encountered on your site:</p><p><a
class="thickbox" href="http://cdn.yoast.com/wp-content/uploads/2009/11/google-crawl-errors.png"><img
src="http://cdn.yoast.com/wp-content/uploads/2009/11/google-crawl-errors-300x215.png" alt="google-crawl-errors" title="google-crawl-errors" width="300" height="215" class="aligncenter size-medium wp-image-1707" /></a></p><h2>Two Things you Need to Know about 404 pages</h2><p>These are things that WordPress is doing right, but it's good to know these things:</p><ul><li>Internet Explorer will only show your custom 404 page if it's larger than 512 bytes (hard to get smaller than that with WordPress).</li><li>404 is not only the name, it's also the HTTP header that the page should send, if not, you might end up with 404 pages in the search engines indexes. You can easily check this with a HTTP header checker.</li></ul><p>As said, no need to worry if you're using WordPress, but good to know these things.</p><p>There's really no excuse left now for a bad 404 page, so go fix yours! Once you've done that, drop your site's URL in the comments, and I'll make a small gallery of cool 404 pages in this post.</p><p><a
href="http://yoast.com/404-error-pages-wordpress/">Practical Guide to 404 Error Pages: What WordPress is Missing</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/404-error-pages-wordpress/feed/</wfw:commentRss> <slash:comments>78</slash:comments> <media:thumbnail url="http://www.semmys.org/dm/badges/10/LBru.gif" /> <media:content url="http://www.semmys.org/dm/badges/10/LBru.gif" medium="image"> <media:title type="html">2010 SEMMY Runner-Up</media:title> </media:content> <media:content url="http://cdn.yoast.com/wp-content/uploads/2009/11/problems-solutions.jpg" medium="image"> <media:title type="html">Crossing out problems and instead offering solutions</media:title> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2009/11/problems-solutions-125x125.jpg" /> </media:content> <media:content url="http://cdn.yoast.com/wp-content/uploads/2009/10/apple-404.png" medium="image"> <media:title type="html">apple-404</media:title> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2009/10/apple-404-125x125.png" /> </media:content> <media:content url="http://cdn.yoast.com/wp-content/uploads/2009/10/ibm-404.png" medium="image"> <media:title type="html">ibm-404</media:title> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2009/10/ibm-404-125x125.png" /> </media:content> <media:content url="http://cdn.yoast.com/wp-content/uploads/2009/11/cre.png" medium="image"> <media:title type="html">cre</media:title> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2009/11/cre-125x125.png" /> </media:content> <media:content url="http://cdn.yoast.com/wp-content/uploads/2009/11/404-error.jpg" medium="image"> <media:title type="html">404-error</media:title> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2009/11/404-error-125x125.jpg" /> </media:content> <media:content url="http://cdn.yoast.com/wp-content/uploads/2009/11/google-crawl-errors.png" medium="image"> <media:title type="html">google-crawl-errors</media:title> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2009/11/google-crawl-errors-125x125.png" /> </media:content> </item> <item><title>Using the Technorati API on your blog</title><link>http://yoast.com/technorati-api-wordpress/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=technorati-api-wordpress</link> <comments>http://yoast.com/technorati-api-wordpress/#comments</comments> <pubDate>Tue, 28 Oct 2008 17:34:00 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://yoast.com/?p=1277</guid> <description><![CDATA[<p>In my effort to remove all badges from my front page and decrease the load time, I have now moved to using the Technorati API to display Technorati info. It looks like this: The code is almost as easy as the code to display your FeedBurner subscribers or your last tweet. You'll need to create [...]</p><p><a
href="http://yoast.com/technorati-api-wordpress/">Using the Technorati API on your blog</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>In my effort to remove all badges from my front page and decrease the load time, I have now moved to using the Technorati API to display Technorati info. It looks like this:</p><p><img
src="http://cdn.yoast.com/wp-content/uploads/2008/10/technorati-api.png" alt="Technorati API" width="199" height="102" class="aligncenter" /></p><p>The code is almost as easy as the code to <a
href="http://yoast.com/feedburner-subscriber-count/">display your FeedBurner subscribers</a> or <a
href="http://yoast.com/display-latest-tweet/">your last tweet</a>. You'll need to create an account with Technorati and then <a
href="http://technorati.com/developers/apikey.html">get your API key</a>. That page will also tell you how much queries you've made that day, and what your daily allowance is.</p><p>This is the code, including caching:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$technorati</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;technorati&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'lastcheck'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">600</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$apikey</span> 	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;apikey&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$endpoint</span> 	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://api.technorati.com/cosmos?key=&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$apikey</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$request</span> 	<span style="color: #339933;">=</span> <span style="color: #000088;">$endpoint</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&amp;url=yoast.com&amp;limit=10&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$snoopy</span> 	<span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Snoopy<span style="color: #339933;">;</span>
	<span style="color: #000088;">$result</span> 	<span style="color: #339933;">=</span> <span style="color: #000088;">$snoopy</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$request</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$pattern1</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/&lt;inboundblogs&gt;([0-9]+)&lt;\/inboundblogs&gt;/'</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$pattern2</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/&lt;inboundlinks&gt;([0-9]+)&lt;\/inboundlinks&gt;/'</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$pattern3</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/&lt;rank&gt;([0-9]+)&lt;\/rank&gt;/'</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pattern1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$snoopy</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">results</span><span style="color: #339933;">,</span> <span style="color: #000088;">$matches</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pattern2</span><span style="color: #339933;">,</span> <span style="color: #000088;">$snoopy</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">results</span><span style="color: #339933;">,</span> <span style="color: #000088;">$matches2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pattern3</span><span style="color: #339933;">,</span> <span style="color: #000088;">$snoopy</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">results</span><span style="color: #339933;">,</span> <span style="color: #000088;">$matches3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inboundblogs'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">number_format</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$matches</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inboundlinks'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">number_format</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$matches2</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rank'</span><span style="color: #009900;">&#93;</span> 	<span style="color: #339933;">=</span> <span style="color: #990000;">number_format</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$matches3</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'lastcheck'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span> <span style="color: #990000;">mktime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		update_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;technorati&quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$technorati</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">echo</span> <span style="color: #0000ff;">&quot;&lt;h3&gt;Technorati&lt;/h3&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span> <span style="color: #0000ff;">&quot;&lt;p&gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inboundblogs'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; blogs linked 
	&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'inboundlinks'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; times in the last 6 months, 
	ranking it as &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$technorati</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'rank'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; among all blogs.&lt;/p&gt;&quot;</span><span style="color: #339933;">;</span></pre></div></div><p>That's it! Let me know if you've got any questions!</p><p><a
href="http://yoast.com/technorati-api-wordpress/">Using the Technorati API on your blog</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/technorati-api-wordpress/feed/</wfw:commentRss> <slash:comments>26</slash:comments> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2008/10/technorati-api.png" /> <media:content url="http://cdn.yoast.com/wp-content/uploads/2008/10/technorati-api.png" medium="image"> <media:title type="html">Technorati API</media:title> </media:content> </item> <item><title>The full guide to mailto links!</title><link>http://yoast.com/guide-mailto-links/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=guide-mailto-links</link> <comments>http://yoast.com/guide-mailto-links/#comments</comments> <pubDate>Mon, 27 Oct 2008 20:08:24 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[HTML]]></category><guid
isPermaLink="false">http://yoast.com/?p=1273</guid> <description><![CDATA[<p>For a small project I had to create a smart mailto: link to make my life a bit easier. I wanted it to hold not only a to and the subject (I'd figured that much out) but a multi lined body too. Turns out that is pretty darn easy to do. So, for my own [...]</p><p><a
href="http://yoast.com/guide-mailto-links/">The full guide to mailto links!</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p><img
src="http://cdn.yoast.com/wp-content/uploads/2008/10/sending-email.jpg" alt="sending-email.jpg" border="0" width="175" height="174" align="right" />For a small project I had to create a smart <code>mailto:</code> link to make my life a bit easier. I wanted it to hold not only a to and the subject (I'd figured that much out) but a multi lined body too.</p><div
style="float:left; margin: 0 5px 5px 0;"></div><p>Turns out that is pretty darn easy to do. So, for my own reference, and yours, here's a complete overview of everything possible with a mailto link.</p><p>There are a couple of variables you can use, and you'd have to do that in standard URL format:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com?subject=subject&amp;cc=cc@example.com&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>Here are the variables you can use in these mailto links:</p><table><tr><th>mailto:</th><td>to set the recipient, or recipients, separate with comma</td></tr><tr><th>&amp;cc=</th><td>to set the CC recipient(s)</td></tr><tr><th>&amp;bcc=</th><td>to set the BCC recipient(s)</td></tr><tr><th>&amp;subject=</th><td>to set the email subject, URL encode for longer sentences, so replace spaces with %20, etc.</td></tr><tr><th
valign="top">&amp;body=</th><td>to set the body of the message, you can add entire sentences here, including line breaks. Line breaks should be converted to <code>%0A</code>.</td></tr></table><h2>Some mailto examples</h2><p>Simple mailto link:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>mailto link with subject:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com?subject=email%20subject&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>mailto link with multiple recipients:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com,email@example.com&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>mailto link with a CC:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com?cc=email2@example.com&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>mailto with message body already started:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com?body=these%20mailto%20links%20are%20cool&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>mailto with 3 lines of message body:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com?body=these%20mailto%0Alinks%20are%0Acool&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>mailto with 3 lines of message body and a BCC:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;mailto:info@example.com?bcc=mail2@example.com&amp;body=these%20mailto%0Alinks%20are%0Acool&quot;&gt;mail link&lt;/a&gt;</pre></div></div><p>As you can see, you can add as many of these as you want and stack them on top of each other. Remember that after the email address you'll use a question mark to prefix the first variable, and ampersands ( &amp; ) for each consecutive variable.</p><p>On top of that, for the code to be valid HTML, you have to replace every <code>&amp;</code> with <code>&amp;amp;</code>.</p><p>Happy mailing!</p><p><a
href="http://yoast.com/guide-mailto-links/">The full guide to mailto links!</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/guide-mailto-links/feed/</wfw:commentRss> <slash:comments>29</slash:comments> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2008/10/sending-email.jpg" /> <media:content url="http://cdn.yoast.com/wp-content/uploads/2008/10/sending-email.jpg" medium="image"> <media:title type="html">sending-email.jpg</media:title> </media:content> </item> <item><title>Added a print CSS style sheet</title><link>http://yoast.com/added-print-css-style-sheet/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=added-print-css-style-sheet</link> <comments>http://yoast.com/added-print-css-style-sheet/#comments</comments> <pubDate>Sun, 02 Mar 2008 16:10:57 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[WordPress]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Web Design]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/added-print-css-style-sheet/</guid> <description><![CDATA[<p>Today, I checked an item off on my todo list that had been on there way too long: I created a print style sheet for this site. Every time I write an article that is longer than 5 paragraphs, I get emails from readers asking for a better print style sheet. Until just a few [...]</p><p><a
href="http://yoast.com/added-print-css-style-sheet/">Added a print CSS style sheet</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>Today, I checked an item off on my todo list that had been on there way too long: I created a print style sheet for this site. Every time I write an article that is longer than 5 paragraphs, I get emails from readers asking for a better print style sheet. Until just a few minutes ago, printing would include the header, the sidebar and the comments, not exactly friendly.</p><p>Next to that links would be in a different color, depleting your color cartridges and not giving you <em>any</em> info whatsoever. When you've printed an article, you usually have to go back to the online version to be able to open the links. There's a solution for that, and it's actually quite easy: using CSS to add the URL after the link. That's really easy to do with the <code>content</code> declaration, like this:</p><pre>#content a:after {
	content: " (" attr(href) ") ";
	font-size: 80%;
}</pre><p>Next to that I used <code>display:none;</code> to hide the menu, sidebar and comments, so you get just the article, in black text, on a white background.</p><p>Of course, feel free to have a look at (and copy) my <a
href="http://cdn.yoast.com/wp-content/themes/jdv/print.css" rel="nofollow">print css</a>!</p><p><a
href="http://yoast.com/added-print-css-style-sheet/">Added a print CSS style sheet</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/added-print-css-style-sheet/feed/</wfw:commentRss> <slash:comments>16</slash:comments> </item> <item><title>Get the number of popular digg posts for a URL</title><link>http://yoast.com/get-the-number-of-popular-digg-posts-for-a-url/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=get-the-number-of-popular-digg-posts-for-a-url</link> <comments>http://yoast.com/get-the-number-of-popular-digg-posts-for-a-url/#comments</comments> <pubDate>Sun, 25 Nov 2007 09:53:54 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[SEO tools]]></category> <category><![CDATA[Social Media]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/get-the-number-of-popular-digg-posts-for-a-url/</guid> <description><![CDATA[<p>Sometimes, for instance when you're building a domain-info tool, you want to know the number of posts on that site that have made it to the Digg frontpage. After playing a bit, I came up with this pretty easy code: [code language="php"] function FrontpageDiggs($url) { $result['source'] = "http://digg.com/rss_search?search=".$url."&#038;area=promoted&#038;type=url&#038;section=all"; $output = file_get_contents($result['source']); preg_match_all("/.*().*/",$output,$matches); $result['result'] = count($matches[1]); [...]</p><p><a
href="http://yoast.com/get-the-number-of-popular-digg-posts-for-a-url/">Get the number of popular digg posts for a URL</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>Sometimes, for instance when you're building a <a
href="http://yoast.com/code/domain-info/">domain-info tool</a>, you want to know the number of posts on that site that have made it to the Digg frontpage. After playing a bit, I came up with this pretty easy code:</p><p>[code language="php"]<br
/> function FrontpageDiggs($url) {<br
/> $result['source'] = "http://digg.com/rss_search?search=".$url."&#038;area=promoted&#038;type=url&#038;section=all";<br
/> $output = file_get_contents($result['source']);<br
/> preg_match_all("/.*(<item>).*/",$output,$matches);<br
/> $result['result'] = count($matches[1]);<br
/> return $result;<br
/> }<br
/> [/code]</p><p>Now if you echo $result['result'], you'll get the number of posts for $url that made the frontpage.</item></p><p><a
href="http://yoast.com/get-the-number-of-popular-digg-posts-for-a-url/">Get the number of popular digg posts for a URL</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/get-the-number-of-popular-digg-posts-for-a-url/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>OS X 10.5 Leopard: Spaces combined with Parallels</title><link>http://yoast.com/os-x-105-leopard-spaces-combined-with-parallels/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=os-x-105-leopard-spaces-combined-with-parallels</link> <comments>http://yoast.com/os-x-105-leopard-spaces-combined-with-parallels/#comments</comments> <pubDate>Tue, 30 Oct 2007 21:31:26 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Mac OS X]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/os-x-105-leopard-spaces-combined-with-parallels/</guid> <description><![CDATA[<p>OS X 10.5 has this awesome great new feature called Spaces, they're multiple desktops on steroids. You can assign programs to open in a specific Space, swiftly switch between them and loads more cool stuff. Now, if you're a developer and need to test your stuff in Windows, you can assign Parallels (in which you [...]</p><p><a
href="http://yoast.com/os-x-105-leopard-spaces-combined-with-parallels/">OS X 10.5 Leopard: Spaces combined with Parallels</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>OS X 10.5 has this awesome great new feature called <a
href="http://www.apple.com/macosx/features/spaces.html">Spaces</a>, they're multiple desktops on steroids. You can assign programs to open in a specific Space, swiftly switch between them and loads more cool stuff. Now, if you're a developer and need to test your stuff in Windows, you can assign <a
href="http://send.onenetworkdirect.net/z/13534/CD95933/&amp;dp=455207" rel="nofollow">Parallels</a> (in which you can run Windows) to a Space, and that way, you'll be able to switch OS's like you've never done before!</p><p>OS X 10.5 is really looking good, can't wait to get home and play around with it.</p><p><a
href="http://yoast.com/os-x-105-leopard-spaces-combined-with-parallels/">OS X 10.5 Leopard: Spaces combined with Parallels</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/os-x-105-leopard-spaces-combined-with-parallels/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Big hunkin&#8217; list of Mac Tools for SEO&#8217;s and Webdevelopers</title><link>http://yoast.com/big-hunkin-list-of-mac-tools-for-seos-and-webdevelopers/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=big-hunkin-list-of-mac-tools-for-seos-and-webdevelopers</link> <comments>http://yoast.com/big-hunkin-list-of-mac-tools-for-seos-and-webdevelopers/#comments</comments> <pubDate>Wed, 24 Oct 2007 09:20:21 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[SEO]]></category> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Mac OS X]]></category> <category><![CDATA[SEO tools]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/big-hunkin-list-of-mac-tools-for-seos-and-webdevelopers/</guid> <description><![CDATA[<p>I've been wanting to do this list for quite a while, but I finally put myself to doing it: a big list of all the web development and SEO tools I use on my Mac. It's a page, I'll keep updating it when I find new apps that are worth mentioning there. If you have [...]</p><p><a
href="http://yoast.com/big-hunkin-list-of-mac-tools-for-seos-and-webdevelopers/">Big hunkin&#8217; list of Mac Tools for SEO&#8217;s and Webdevelopers</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>I've been wanting to do this list for quite a while, but I finally put myself to doing it: a big list of all <a
href="http://yoast.com/seo-tools/mac-tools/">the web development and SEO tools I use on my Mac</a>. It's a page, I'll keep updating it when I find new apps that are worth mentioning there. If you have any applications I've missed or should be looking at, let me know in the comments!</p><p><a
href="http://yoast.com/big-hunkin-list-of-mac-tools-for-seos-and-webdevelopers/">Big hunkin&#8217; list of Mac Tools for SEO&#8217;s and Webdevelopers</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/big-hunkin-list-of-mac-tools-for-seos-and-webdevelopers/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Webdesign survey</title><link>http://yoast.com/webdesign-survey/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=webdesign-survey</link> <comments>http://yoast.com/webdesign-survey/#comments</comments> <pubDate>Tue, 24 Apr 2007 19:01:37 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Web Design]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/webdesign-survey/</guid> <description><![CDATA[<p>It's up again, the annual webdesign survey by A List Apart, I took it, and so should you! (If you don't like surveys do it for the prizes...)</p><p><a
href="http://yoast.com/webdesign-survey/">Webdesign survey</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p><a
href="http://alistapart.com/articles/webdesignsurvey"><img
src="http://cdn.yoast.com/wp-content/uploads/2007/04/i-took-the-2007-survey.gif" alt="I took the 2007 annual webdesign survey, and so should you!" class="right_float" /></a>It's up again, the <a
href="http://alistapart.com/articles/webdesignsurvey">annual webdesign survey</a> by <a
href="http://www.alistapart.com">A List Apart</a>, I took it, and so should you! (If you don't like surveys do it for the prizes...)</p><p><a
href="http://yoast.com/webdesign-survey/">Webdesign survey</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/webdesign-survey/feed/</wfw:commentRss> <slash:comments>5</slash:comments> <media:thumbnail url="http://cdn.yoast.com/wp-content/uploads/2007/04/i-took-the-2007-survey.gif" /> <media:content url="http://cdn.yoast.com/wp-content/uploads/2007/04/i-took-the-2007-survey.gif" medium="image"> <media:title type="html">I took the 2007 annual webdesign survey, and so should you!</media:title> </media:content> </item> <item><title>Implementing a sitewide search function</title><link>http://yoast.com/implementing-a-sitewide-search-function/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=implementing-a-sitewide-search-function</link> <comments>http://yoast.com/implementing-a-sitewide-search-function/#comments</comments> <pubDate>Fri, 06 Apr 2007 09:32:26 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[Serverside]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/implementing-a-sitewide-search-function/</guid> <description><![CDATA[<p>Those of you coming to this site more often might have noticed a small change in the search box. It's now implemented sitewide, and I've built a sitewide search functions using the Yahoo! API. It was quite nescessary because I found that people were searching for "sortable.zip" on the blog, and they wouldn't find anything [...]</p><p><a
href="http://yoast.com/implementing-a-sitewide-search-function/">Implementing a sitewide search function</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>Those of you coming to this site more often might have noticed a small change in the search box. It's now implemented sitewide, and I've built a sitewide search functions using the <a
href="http://developer.yahoo.net/about">Yahoo! API</a>. It was quite nescessary because I found that people were searching for "sortable.zip" on the blog, and they wouldn't find anything since the pages for the <a
href="http://yoast.com/code/sortable-table/">sortable table script</a> are static.</p><p><strong>Keeping track of what people are searching for</strong><br
/> I had a few things to make sure while building this search function. First of all, I wanted to have the same info I get when I look at the statistics page for the <a
href="http://www.thunderguy.com/semicolon/wordpress/search-meter-wordpress-plugin/">Search Meter WordPress plugin</a>. Secondly, I wanted to show more then just the post or page title. The last, but also very important demand I have is that it's fast. Well the first one was quite easy, I decided to put  the data into the table for the search meter plugin and just use that interface, instead of writing that myself. The function was basically adapted from the code of the plugin:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> save_search<span style="color: #009900;">&#40;</span><span style="color: #000088;">$searchstring</span><span style="color: #339933;">,</span> <span style="color: #000088;">$numresults</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #990000;">global</span> <span style="color: #000088;">$table_prefix</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Save into the DB. Usually this will be a new query, so try to insert first</span>
<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;INSERT INTO <span style="color: #006699; font-weight: bold;">{$table_prefix}</span>searchmeter (terms,date,count,last_hits) VALUES ('<span style="color: #006699; font-weight: bold;">$searchstring</span>',CURDATE(),1,<span style="color: #006699; font-weight: bold;">$numresults</span>)&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$success</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$success</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;UPDATE '<span style="color: #006699; font-weight: bold;">{$table_prefix}</span>searchmeter' SET count = count + 1, last_hits = <span style="color: #006699; font-weight: bold;">$numresults</span> WHERE terms = '<span style="color: #006699; font-weight: bold;">$searchstring</span>' AND date = CURDATE()&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$success</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div><p><strong>Constructing the Yahoo! API query</strong><br
/> The second thing wasn't too hard to do either, as Yahoo! returns a snippet with the searchresult for the query. The <a
href="http://en.wikipedia.org/wiki/Representational_State_Transfer"><abbr
title="Representational State Transfer">REST</abbr></a> query is constructed as follows:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;site:yoast.com+&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">urlencode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$searchstring</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$request</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http://search.yahooapis.com/WebSearchService/V1/webSearch?appid='</span><span style="color: #339933;">.</span><span style="color: #000088;">$yahooappid</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;query='</span><span style="color: #339933;">.</span><span style="color: #000088;">$query</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&amp;output=php'</span><span style="color: #339933;">;</span></pre></div></div><p>The part <code>output=php</code> makes the API return serialized PHP, which, after calling <code>unserialize</code>, turns into a nice clean array, which you can then loop through to display the results.</p><p>The only thing left was adding the search box to my layout for the non-blog pages, and fixing the blog to look the same. In the theme I had to change the action URL of the searchform.php file to /search/, and there it was: my new site wide search function!</p><p>So far, it's all good. I've got a few things left, like building in paging so you can see more than 10 results. I've got one thing that bothers me though: it's a bit slow. Of course I could solve this by spidering my own site with something like <a
href="http://www.htdig.org/">ht://Dig</a>, but I think there ought to be a better solution... Perhaps you guys and girls know of one?</p><p><a
href="http://yoast.com/implementing-a-sitewide-search-function/">Implementing a sitewide search function</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/implementing-a-sitewide-search-function/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>PHP 301 redirects for Apache and IIS</title><link>http://yoast.com/php-301-redirects-apache-iis/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-301-redirects-apache-iis</link> <comments>http://yoast.com/php-301-redirects-apache-iis/#comments</comments> <pubDate>Mon, 02 Apr 2007 20:32:04 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Serverside]]></category> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[PHP]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/php-301-redirects-for-apache-and-iis/</guid> <description><![CDATA[<p>This one is just here for my own reference, because the default 302 status code just isn't good enough! PHP 301 for Apache: header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.example.com/newpage/"); exit; PHP 301 for IIS: header("Status: 301 Moved Permanently"); header("Location: http://www.example.com/newpage/"); exit;</p><p><a
href="http://yoast.com/php-301-redirects-apache-iis/">PHP 301 redirects for Apache and IIS</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>This one is just here for my own reference, because the default 302 status code just isn't good enough!</p><p>PHP 301 for Apache:</p><pre>header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.com/newpage/");
exit;</pre><p>PHP 301 for IIS:</p><pre>header("Status: 301 Moved Permanently");
header("Location: http://www.example.com/newpage/");
exit;</pre><p><a
href="http://yoast.com/php-301-redirects-apache-iis/">PHP 301 redirects for Apache and IIS</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/php-301-redirects-apache-iis/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The correct way of using conditional comments</title><link>http://yoast.com/the-correct-way-of-using-conditional-comments/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-correct-way-of-using-conditional-comments</link> <comments>http://yoast.com/the-correct-way-of-using-conditional-comments/#comments</comments> <pubDate>Sun, 01 Apr 2007 10:00:12 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Web Design]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/the-correct-way-of-using-conditional-comments/</guid> <description><![CDATA[<p>Some people, like Jens Meiert, have argued that using conditional comments to fix layout bugs for IE is wrong. For those of you who don't know what they are, check out my article on conditional comments. I on the other hand, think that it's the only proper way of working around IE CSS bugs. If [...]</p><p><a
href="http://yoast.com/the-correct-way-of-using-conditional-comments/">The correct way of using conditional comments</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>Some people, like <a
href="http://meiert.com/en/blog/20070201/why-conditional-comments-are-bad-repeat-bad/">Jens Meiert</a>, have argued that using conditional comments to fix layout bugs for IE is wrong. For those of you who don't know what they are, check out my article on <a
href="http://yoast.com/code/conditional-comments.html">conditional comments</a>. I on the other hand, think that it's the only proper way of working around IE CSS bugs.</p><p>If you use "old-style" CSS hacks, you're bound to end up in trouble once the IE team decides to fix yet another bug. Because that's what these CSS hacks do: they rely upon bugs in IE to make sure it parses the CSS the way YOU want it to. Conditional comments, on the other hand, rely on a built-in feature, provided to you by the IE developer team to work around your problems. Which one of these do you think has the most chance of surviving the coming years? Right.</p><p><a
href="http://www.clagnut.com/">Richard Rutter</a> gives a very wise comment on Jens' post, basically agreeing with my opinion, but he says the following as well:</p><blockquote><p>In terms of reliable use among teams, it is of course advisable to avoid CC or CSS hacks wherever possible, however as we all know life isnâ€™t that simple. So where IE-specific workarounds are needed, our workflow is to put those rule in a separate style sheet called via CC and - most importantly - to document the normal style sheet where rules are being overwritten (as is normally the case).</p></blockquote><p>Document those overrides, and do that <em>all the time</em>. If you do that, conditional comments are surely the best way to make sure your layout works in al browsers.</p><p><a
href="http://yoast.com/the-correct-way-of-using-conditional-comments/">The correct way of using conditional comments</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/the-correct-way-of-using-conditional-comments/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PHPSESSID in your URL? Learn to 301 redirect them with PHP</title><link>http://yoast.com/phpsessid-url-redirect/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=phpsessid-url-redirect</link> <comments>http://yoast.com/phpsessid-url-redirect/#comments</comments> <pubDate>Fri, 30 Mar 2007 14:36:46 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[SEO]]></category> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[PHP]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/how-to-get-rid-of-phpsessid-in-the-url-and-redirect/</guid> <description><![CDATA[<p>I'm doing some work on a site which has like 4,500 pages indexed with a PHPSESSID in the URL, causing some major duplicate content problems. I got the server admin to disable the PHPSESSID's by adding the following to the vhost config: php_value session.use_trans_sid 0 php_value session.use_only_cookies 1 I also wanted Google to get a [...]</p><p><a
href="http://yoast.com/phpsessid-url-redirect/">PHPSESSID in your URL? Learn to 301 redirect them with PHP</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>I'm doing some work on a site which has like 4,500 pages indexed with a PHPSESSID in the URL, causing some major duplicate content problems. I got the server admin to disable the PHPSESSID's by adding the following to the vhost config:</p><pre>php_value session.use_trans_sid 0
php_value session.use_only_cookies 1</pre><p>I also wanted Google to get a clean URL when it decided to spider one of the old URL's again, and didn't have access to mod_rewrite, so I redirected them with some PHP. The solution is quite simple:</p><pre>if (isset($_GET['PHPSESSID'])) {
	$requesturi = preg_replace('/?PHPSESSID=[^&#038;]+/',"",$_SERVER['REQUEST_URI']);
	$requesturi = preg_replace('/&#038;PHPSESSID=[^&#038;]+/',"",$requesturi);
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: http://".$_SERVER['HTTP_HOST'].$requesturi);
	exit;
}</pre><p><a
href="http://yoast.com/phpsessid-url-redirect/">PHPSESSID in your URL? Learn to 301 redirect them with PHP</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/phpsessid-url-redirect/feed/</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>FeedRoll</title><link>http://yoast.com/feedroll/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=feedroll</link> <comments>http://yoast.com/feedroll/#comments</comments> <pubDate>Sat, 17 Feb 2007 21:34:28 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[RSS]]></category> <category><![CDATA[Web Design]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/feedroll/</guid> <description><![CDATA[<p>Today I finished up my work on FeedRoll, a site which offers a widget to show RSS feeds on your site. I've fixed several things on it, yet the most fun came today. There was a colorpicker on it before that only worked on Internet Explorer 5 and up, and nothing else... Now, those of [...]</p><p><a
href="http://yoast.com/feedroll/">FeedRoll</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>Today I finished up my work on <a
rel="nofollow" href="http://www.feedroll.com">FeedRoll</a>, a site which offers a widget to show RSS feeds on your site. I've fixed several things on it, yet the most fun came today. There was a colorpicker on it before that only worked on Internet Explorer 5 and up, and nothing else... Now, those of you who know me, know that I can't stand the sight of anything IE only, so I had to fix it.</p><p><span
id="more-159"></span></p><p>So I implemented this <a
href="http://www.knallgrau.at/code/colorpicker">colorpicker</a>, you can check it out on the <a
rel="nofollow" href="http://www.feedroll.com/rssviewer/">RSS viewer</a> page of FeedRoll. It absolutely rocks!</p><p><a
href="http://yoast.com/feedroll/">FeedRoll</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/feedroll/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Sortable table script updated to v1.5.5</title><link>http://yoast.com/sortable-table-script-updated-to-v155/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sortable-table-script-updated-to-v155</link> <comments>http://yoast.com/sortable-table-script-updated-to-v155/#comments</comments> <pubDate>Fri, 26 Jan 2007 21:13:38 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Web Design]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/sortable-table-script-updated-to-v155/</guid> <description><![CDATA[<p>I got an email from Mozilla's director of product management Sherman Dickman today, that my sortable table script wasn't sorting numbers above 1 million which have comma's in them correctly (they do have a lot of Firefox downloads ;) ). The problem was caused by the fact that replace only replaced items once, where they [...]</p><p><a
href="http://yoast.com/sortable-table-script-updated-to-v155/">Sortable table script updated to v1.5.5</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>I got an email from Mozilla's director of product management <a
href="http://shermandickman.wordpress.com/">Sherman Dickman</a> today, that my <a
href="http://yoast.com/code/sortable-table/">sortable table script</a> wasn't sorting numbers above 1 million which have comma's in them correctly (they do have a lot of Firefox downloads ;) ).</p><p>The problem was caused by the fact that <code>replace</code> only replaced items once, where they should be replaced multiple times. I don't know where Sherman will be using the script yet, once I do I'll of course tell you all about it!</p><p><a
href="http://yoast.com/sortable-table-script-updated-to-v155/">Sortable table script updated to v1.5.5</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/sortable-table-script-updated-to-v155/feed/</wfw:commentRss> <slash:comments>15</slash:comments> </item> <item><title>As usual, Technorati walks ahead of the pack</title><link>http://yoast.com/as-usual-technorati-walks-ahead-of-the-pack/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=as-usual-technorati-walks-ahead-of-the-pack</link> <comments>http://yoast.com/as-usual-technorati-walks-ahead-of-the-pack/#comments</comments> <pubDate>Tue, 23 Jan 2007 22:50:30 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Blogging]]></category> <category><![CDATA[Microformats]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/as-usual-technorati-walks-ahead-of-the-pack/</guid> <description><![CDATA[<p>They "invented" blogsearch, and did a LOT for the webdevelopment and blogging community. Now Technorati, it turns out, is working on the microformats search I asked for only two articles ago (it was there before that, I just didn't know about it)... Check it out in Technorati's Kitchen.</p><p><a
href="http://yoast.com/as-usual-technorati-walks-ahead-of-the-pack/">As usual, Technorati walks ahead of the pack</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>They "invented" blogsearch, and did a LOT for the webdevelopment and blogging community. Now Technorati, it turns out, is working on the microformats search <a
href="http://yoast.com/blog/googling-for-microformats/">I asked for</a> only two articles ago (it was there before that, I just didn't know about it)... Check it out in <a
href="http://kitchen.technorati.com/contact/search/">Technorati's Kitchen</a>.</p><p><a
href="http://yoast.com/as-usual-technorati-walks-ahead-of-the-pack/">As usual, Technorati walks ahead of the pack</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/as-usual-technorati-walks-ahead-of-the-pack/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Googling for microformats</title><link>http://yoast.com/googling-for-microformats/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=googling-for-microformats</link> <comments>http://yoast.com/googling-for-microformats/#comments</comments> <pubDate>Mon, 22 Jan 2007 13:31:46 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[SEO]]></category> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Microformats]]></category> <category><![CDATA[Web Design]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/googling-for-microformats/</guid> <description><![CDATA[<p>Imagine, you can type in a query like "joost de valk class:vcard" and Google comes up with my contact page, because that has a vcard class in it's markup, the main class of the hCard microformat. This was suggested today on the uf-discuss mailing list, a mailing list I've been lurking on for quite a [...]</p><p><a
href="http://yoast.com/googling-for-microformats/">Googling for microformats</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>Imagine, you can type in a query like "joost de valk class:vcard" and Google comes up with <a
href="http://yoast.com/contact/">my contact page</a>, because that has a vcard class in it's markup, the main class of the <a
href="http://microformats.org/wiki/hcard">hCard microformat</a>. This was suggested today on the uf-discuss mailing list, a mailing list I've been lurking on for quite a while now, and it made me go "YES! That's what I want!".</p><p><span
id="more-134"></span></p><p>It would be so cool if Google, or any other SE for that matter, knew how to handle searches like that. The same could be done for events, resume's etc. Google would probably want to make it simpler, or make another page for it, since I can't see my mum typing in "class:vcard", but the idea is good, and I think something people should be working on.</p><p>Update 18-2-2010: It took them a while, but it's hear now: <a
href="http://yoast.com/google-microformats-conversion-rate-optimization-serps/">Google &amp; Microformats</a>.</p><p><a
href="http://yoast.com/googling-for-microformats/">Googling for microformats</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/googling-for-microformats/feed/</wfw:commentRss> <slash:comments>14</slash:comments> </item> <item><title>Sortable table v1.5</title><link>http://yoast.com/sortable-table-v15/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sortable-table-v15</link> <comments>http://yoast.com/sortable-table-v15/#comments</comments> <pubDate>Tue, 02 Jan 2007 19:48:24 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[Web Design]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/sortable-table-v15/</guid> <description><![CDATA[<p>I've just updated my sortable table script to version 1.5, in which it is fixed to work in Safari for Mac OS X 10.4 as well, (I didn't even know that it wasn't working in there since it always worked in the nightly). I'm now taking new feature requests for this script, so hit me [...]</p><p><a
href="http://yoast.com/sortable-table-v15/">Sortable table v1.5</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>I've just updated my <a
href="http://yoast.com/code/sortable-table/">sortable table script</a> to version 1.5, in which it is fixed to work in Safari for Mac OS X 10.4 as well, (I didn't even know that it wasn't working in there since it always worked in the <a
href="http://nightly.webkit.org">nightly</a>). I'm now taking new feature requests for this script, so hit me with them, in the comments or by <a
href="http://yoast.com/contact/">e-mail</a>.</p><p><a
href="http://yoast.com/sortable-table-v15/">Sortable table v1.5</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/sortable-table-v15/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>FeedBurner history comparison</title><link>http://yoast.com/feedburner-history-comparison/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=feedburner-history-comparison</link> <comments>http://yoast.com/feedburner-history-comparison/#comments</comments> <pubDate>Mon, 01 Jan 2007 14:28:58 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[RSS]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/feedburner-history-comparison/</guid> <description><![CDATA[<p>When I was working on my FeedBurner history graph tool, I thought it would be cool to be able to display the growth of a blog relative to some other blog as well, so i came up with the idea of "just" plotting a few other lines next to each other, showing how they performed [...]</p><p><a
href="http://yoast.com/feedburner-history-comparison/">FeedBurner history comparison</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>When I was working on my <a
href="http://yoast.com/code/feedburner-graph/">FeedBurner history graph</a> tool, I thought it would be cool to be able to display the growth of a blog relative to some other blog as well, so i came up with the idea of "just" plotting a few other lines next to each other, showing how they performed relatively.</p><p>Hence my <a
href="http://yoast.com/code/feedburner-graph/history-compare.php">FeedBurner History comparison</a> tool was born, go check it out, and give me your feedback!</p><p><a
href="http://yoast.com/feedburner-history-comparison/">FeedBurner history comparison</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/feedburner-history-comparison/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Cool FeedBurner schwag</title><link>http://yoast.com/cool-feedburner-schwag/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cool-feedburner-schwag</link> <comments>http://yoast.com/cool-feedburner-schwag/#comments</comments> <pubDate>Thu, 28 Dec 2006 19:56:52 +0000</pubDate> <dc:creator>Joost de Valk</dc:creator> <category><![CDATA[Webdesign & development]]></category> <category><![CDATA[RSS]]></category><guid
isPermaLink="false">http://www.joostdevalk.nl/blog/cool-feedburner-schwag/</guid> <description><![CDATA[<p>I got some nice stuff in the mail today, a gift from FeedBurner's Jessica Graeser, because they liked my FeedBurner graph so much. Check it out: This makes me want to code more cool FeedBurner tools, which is probably exactly what they intended :). I've been working on a feed compare tool, which allows you [...]</p><p><a
href="http://yoast.com/cool-feedburner-schwag/">Cool FeedBurner schwag</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></description> <content:encoded><![CDATA[<p>I got some nice stuff in the mail today, a gift from <a
href="http://www.feedburner.com">FeedBurner</a>'s Jessica Graeser, because they liked my <a
href="http://yoast.com/code/feedburner-graph/">FeedBurner graph</a> so much. Check it out:<span
id="more-127"></span></p><p><img
src="http://netdna.yoast.com/images/feedburner-schwag.jpg" alt="FeedBurner schwag" /></p><p>This makes me want to code more cool FeedBurner tools, which is probably exactly what they intended :). I've been working on a feed compare tool, which allows you to compare the growth of 2 or 3 feeds in one graph. I'll release that soonish!</p><p><a
href="http://yoast.com/cool-feedburner-schwag/">Cool FeedBurner schwag</a> is a post from <a
href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a
href="http://yoast.com">Yoast - Tweaking Websites</a>.A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a
href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>]]></content:encoded> <wfw:commentRss>http://yoast.com/cool-feedburner-schwag/feed/</wfw:commentRss> <slash:comments>5</slash:comments> <media:thumbnail url="http://netdna.yoast.com/images/feedburner-schwag.jpg" /> <media:content url="http://netdna.yoast.com/images/feedburner-schwag.jpg" medium="image"> <media:title type="html">FeedBurner schwag</media:title> </media:content> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc (request URI is rejected)
Database Caching 11/32 queries in 0.025 seconds using apc
Content Delivery Network via cdn.yoast.com

Served from: yoast.com @ 2010-09-02 15:26:44 -->