<?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:coop="http://www.google.com/coop/namespace"
	>

<channel>
	<title>Weblog Tools Collection &#187; WordPress Tips</title>
	<atom:link href="http://weblogtoolscollection.com/archives/category/wordpress-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblogtoolscollection.com</link>
	<description>Weblog Tools Blogging Tools Blog</description>
	<lastBuildDate>Fri, 19 Mar 2010 05:24:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Passing Parameters as Variables vs Passing Parameters as An Array</title>
		<link>http://weblogtoolscollection.com/archives/2010/02/25/passing-parameters-as-variables-vs-passing-parameters-as-an-array/</link>
		<comments>http://weblogtoolscollection.com/archives/2010/02/25/passing-parameters-as-variables-vs-passing-parameters-as-an-array/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:14:22 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Discussions]]></category>
		<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[Development Tips]]></category>
		<category><![CDATA[Plugin Tips]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/?p=7799</guid>
		<description><![CDATA[Improvisation is the name of the game, and we tend to do a lot of it with plugins and themes. In that process we tend to modify functions by adding more variables to incorporate changes in them. However, unlike most of the other languages, PHP allows users to set default values for variables passed to]]></description>
			<content:encoded><![CDATA[<p>Improvisation is the name of the game, and we tend to do a lot of it with plugins and themes. In that process we tend to modify functions by adding more variables to incorporate changes in them. However, unlike most of the other languages, PHP allows users to set default values for variables passed to a method too.</p>
<p>As a developer when you start out coding, you have a certain number of things a function will require in order for it to work, some may be optional too, so you set out to create a method signature similar to the one below.</p>
<p><code>function do_something($var1, $var2, $var3, $var4 = false, $var5 = '')&#160; { </code></p>
<p><code>//process business logic here </code></p>
<p><code>}</code></p>
<p>Now, say you release your plugin or theme and get more feedback on features and other improvements. If the features or improvements suggested require you to change the method signature to incorporate new variables and you use default values, you are in a bit of a spot. </p>
<p>So what is the best way to avoid such situations? In my opinion, if you use a function which accepts variables, it could easily scale to accept more parameters without breaking anything by accepting an array as a single parameter. The array would have to be built up either internally in the code somewhere or externally through the user.</p>
<p>So you could rewrite the above logic as below:</p>
<p><code>function do_something($args = array()) { </code></p>
<p><code>$myvar = (array_key_exists('mykey', $args)) ? $args['mykey'] : get_default_value('mykey'); </code></p>
<p><code>//process business logic here</code></p>
<p><code>}</code></p>
<p>Now, you would not expect a user to pass an array while using your non-widget based plugin in their themes, so you would have to provide users with an options page which will allow them to set the values they want to be passed to the function, and then build a <a href="http://en.wikipedia.org/wiki/Facade_pattern" target="_blank">Facade</a> function internally which will then read all the option values and pass it on to the main function to be processed.</p>
<p>I hear people saying that they can fetch the options from WordPress inside the function itself and there is not need for this Facade, however, in my experience of over 11 years in the software industry, I have learnt one important thing, never mix anything with business logic.</p>
<p>If a function is supposed to perform a task, let it perform only that and nothing else, that way you can reuse the function elsewhere without having to constantly rewrite it to adapt to different things.</p>
<p>I have seen several plugins which make use of arrays and several which do not. I would definitely be interested to learn on how you approach this, the comments form is open.</p>
<p><strong>Update:</strong> From the comments below, many users mistook me. I never said that users cannot use wp_parse_args. However, being an OOPS developer, I stick with my above post and say that you should keep business logic separate from processing logic, no matter whether it is WordPress or any other platform, that is the basic fundamental I learnt in OOPS, and I do believe OOPS is the best fundamental and way to go forward. I expect arguments on that.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2010/02/25/passing-parameters-as-variables-vs-passing-parameters-as-an-array/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
			<coop:keyword><![CDATA[WordPress Discussions]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[Development Tips]]></coop:keyword>
		<coop:keyword><![CDATA[Plugin Tips]]></coop:keyword>
	</item>
		<item>
		<title>Migrating From WordPress.com to WordPress.org</title>
		<link>http://weblogtoolscollection.com/archives/2010/02/18/migrating-from-wordpress-com-to-wordpress-org/</link>
		<comments>http://weblogtoolscollection.com/archives/2010/02/18/migrating-from-wordpress-com-to-wordpress-org/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 21:06:32 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Tutorials]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2010/02/18/migrating-from-wordpress-com-to-wordpress-org/</guid>
		<description><![CDATA[WordPress.com is a wonderful platform and it provides users with an option to create free blogs without spending a single cent. However, a time comes when you might want to move to your own domain name which is a continuance of your WordPress.com blog.
A few days ago Jeff posted some links on steps to move]]></description>
			<content:encoded><![CDATA[<p>WordPress.com is a wonderful platform and it provides users with an option to create free blogs without spending a single cent. However, a time comes when you might want to move to your own domain name which is a continuance of your WordPress.com blog.</p>
<p>A few days ago Jeff posted some links on steps to move from the <a href="http://weblogtoolscollection.com/archives/2010/02/15/from-blogger-to-wordpress/" target="_blank">Blogger platform to WordPress</a> and now Amit Agarwal from Digital Inspiration has written a comprehensive guide on moving from a WordPress.com domain to a WordPress.org domain.</p>
<p>You will find lots of posts which are similar to this one, but I found this guide to be comprehensive and to the point, so if you are planning to move to your own domain now or in the near future, don&#8217;t forget to bookmark the article.</p>
<p><a href="http://www.labnol.org/internet/migrate-wordpress-blog-to-own-domain/12776/" target="_blank">How to Migrate your Blog from WordPress.com to a Personal Domain</a></p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2010/02/18/migrating-from-wordpress-com-to-wordpress-org/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tutorials]]></coop:keyword>
	</item>
		<item>
		<title>Real-Time Find and Replace Plug-in Review</title>
		<link>http://weblogtoolscollection.com/archives/2010/01/16/real-time-find-and-replace-plug-in-review/</link>
		<comments>http://weblogtoolscollection.com/archives/2010/01/16/real-time-find-and-replace-plug-in-review/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 04:00:00 +0000</pubDate>
		<dc:creator>Richard Hay</dc:creator>
				<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[find and replace]]></category>
		<category><![CDATA[Plugin Review]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2010/01/16/real-time-find-and-replace-plug-in-review/</guid>
		<description><![CDATA[According to the WordPress.com support page on short codes they are defined as follows:
A shortcode is a WordPress-specific code that lets you do nifty things with very little effort. Shortcodes can embed files or create objects that would normally require lots of complicated, ugly code in just one line. Shortcode = shortcut.

Many WordPress plug-ins make]]></description>
			<content:encoded><![CDATA[<p>According to the <a href="http://en.support.wordpress.com/shortcodes/">WordPress.com support page on short codes</a> they are defined as follows:</p>
<blockquote><p>A shortcode is a WordPress-specific code that lets you do nifty things with very little effort. Shortcodes can embed files or create objects that would normally require lots of complicated, ugly code in just one line. Shortcode = shortcut.</p>
</blockquote>
<p>Many WordPress plug-ins make use of short codes to easily make a call to a plug-ins functionality.&#160; This can make maintaining your WordPress based site very easy but what happens if you decide to shift from one plug-in to another and that specific short code is not used in the new plug-in?</p>
<p>Let me give you an example.&#160; I used to use the WordPress <a href="http://wordpress.org/extend/plugins/adsense-manager/">Adsense Manager Plug-in</a> on <a href="http://www.windowsobserver.com/">WindowsObserver.com</a> to place my Google Adsense ads.&#160; It allowed me to build the ad and then use a short code to place it on a page or in a blog post.&#160; That short code looked something like this [ ad#post-top ].&#160; </p>
<p>I made the decision to go to a different ad source and the Adsense Manager plug-in was not compatible for me anymore. So what I decided to do initially was to just allow the Google Adsense ads to run on all of my old posts (at least 600 or so) and then run the new ad code on subsequent pages.</p>
<p>A couple of weeks ago I decided to do something about the old ad code and went in search of a tool to do this.&#160; That is when I found the <a href="http://wordpress.org/extend/plugins/real-time-find-and-replace/">Real-Time Find and Replace Plug-in</a> written by Marios Alexandrou.</p>
<p>The premise of this plug-in is very simple. It searches for text you enter in the settings and dynamically replaces it as the page is generated in a users browser utilizing the alternate text that you provide.</p>
<p>Here is now simple it is to use:</p>
<p>Once you have installed the plug-in you will find the menu item for it under the Tools menu in your WordPress Admin panel:</p>
<p><a href="http://weblogtoolscollection.com/wp-content/uploads/2010/01/realtimesearchandreplacetoolsmenuentry.png" rel="thumbnail"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="realtimesearchandreplacetoolsmenuentry" border="0" alt="realtimesearchandreplacetoolsmenuentry" src="http://weblogtoolscollection.com/wp-content/uploads/2010/01/realtimesearchandreplacetoolsmenuentry_thumb.png" width="159" height="239" /></a> </p>
</p>
<p>Clicking on that brings up the main settings page:</p>
<p><a href="http://weblogtoolscollection.com/wp-content/uploads/2010/01/realtimesearchandreplacesettingspage.png" rel="thumbnail"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="realtimesearchandreplacesettingspage" border="0" alt="realtimesearchandreplacesettingspage" src="http://weblogtoolscollection.com/wp-content/uploads/2010/01/realtimesearchandreplacesettingspage_thumb.png" width="357" height="145" /></a> </p>
<p>Here you click the <em><strong>Add</strong></em> link and insert the text you want the plug-in to find and then insert the text you want put in its place in the <strong><em>Replace</em></strong> text box. Click <strong><em>Update</em></strong> to save your settings.&#160; </p>
<p>There it is – ready and able to find and replace any text you choose on the run. I used it to replace short codes but you could use it to replace anything you want to on your pages.</p>
<p>Final note about this plug-in: According to this plug-ins page at the WordPress.org Plug-in Directory it is only compatible up to version 2.8 however, I am running it on version 2.9.1 without any problem.</p>
<p>I would be very interested in hearing what plug-ins you use to find and replace text for your site/database.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2010/01/16/real-time-find-and-replace-plug-in-review/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
			<coop:keyword><![CDATA[WordPress Plugins]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[find and replace]]></coop:keyword>
		<coop:keyword><![CDATA[Plugin Review]]></coop:keyword>
	</item>
		<item>
		<title>is_home(), is_archive() not Working? Here is a Fix</title>
		<link>http://weblogtoolscollection.com/archives/2010/01/16/fix-for-is_home-is_archive-not-working/</link>
		<comments>http://weblogtoolscollection.com/archives/2010/01/16/fix-for-is_home-is_archive-not-working/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 19:50:26 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[WordPress Fixes]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2010/01/16/fix-for-is_home-is_archive-not-working/</guid>
		<description><![CDATA[Quite recently, is_home() and is_archive() stopped working for me. I mean, that these conditional tags stopped working for me and the intended code I had was not performing as expected.]]></description>
			<content:encoded><![CDATA[<p>Quite recently, is_home() and is_archive() stopped working for me. I mean, that these conditional tags stopped working for me and the intended code I had was not performing as expected.</p>
<p>I did a bit of digging around, however I did not find any conclusive answers to what was wrong. However, I did find a solution at this <a href="http://forums.digitalpoint.com/showthread.php?t=827214" target="_blank">forum post</a>, and after including an additional snippet it started working fine.</p>
<p>If you are facing a problem with the is_home() function, you can use the wp_reset_query(); function before you use the conditional checks to fix the issue.</p>
<p>I am still looking into the internal code as to why this is happening, will update the post once I find an answer to this problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2010/01/16/fix-for-is_home-is_archive-not-working/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[Solutions]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Fixes]]></coop:keyword>
	</item>
		<item>
		<title>Preventing WordPress Plugins From Loading</title>
		<link>http://weblogtoolscollection.com/archives/2010/01/10/preventing-wordpress-plugins-from-loading/</link>
		<comments>http://weblogtoolscollection.com/archives/2010/01/10/preventing-wordpress-plugins-from-loading/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 01:26:16 +0000</pubDate>
		<dc:creator>Ronald Huereca</dc:creator>
				<category><![CDATA[WordPress Hack]]></category>
		<category><![CDATA[WordPress Tips]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/?p=7505</guid>
		<description><![CDATA[There may be times in WordPress where you would like to load the WordPress environment manually, and prevent plugins from loading.
Two instances where this is ideal are:

When loading an inline frame with Thickbox or Colorbox.
When parsing AJAX requests in an external PHP file.

To further give justification for this technique, I had a major plugin conflict]]></description>
			<content:encoded><![CDATA[<p>There may be times in WordPress where you would like to load the WordPress environment manually, and prevent plugins from loading.</p>
<p>Two instances where this is ideal are:</p>
<ul>
<li>When loading an inline frame with <a href="http://jquery.com/demo/thickbox/">Thickbox</a> or <a href="http://colorpowered.com/colorbox/">Colorbox</a>.</li>
<li>When parsing AJAX requests in an external PHP file.</li>
</ul>
<p>To further give justification for this technique, I had a major plugin conflict with another plugin.  My <a href="http://www.ajaxeditcomments.com">Ajax Edit Comments</a> plugin had failed to work for one of my clients.</p>
<p>After doing some troubleshooting, I determined it was a plugin conflict with &#8220;xyz&#8221; plugin.  When I looked at the conflicting plugin&#8217;s code, I was able to pinpoint the problem to one patch of code, but failed to determine a fix.</p>
<p>The conflicting plugin was causing my nonces to fail, as well as my AJAX processor to fail (since that uses nonces as well).</p>
<p>Since my plugin&#8217;s editing options are all in a <a href="http://colorpowered.com/colorbox/">Colorbox</a> inline frame (where I manually load the WordPress environment), I figured I would only load the plugins I needed (mine in this case).</p>
<p>Okay, enough chat!  Let&#8217;s get started.</p>
<p>To call this technique a &#8220;hack&#8221; is a huge compliment.  I wouldn&#8217;t recommend this for widespread use.</p>
<h3>The Technique</h3>
<p>If you look at your <strong>wp-settings.php</strong> file, there is a conditional right before it loads your active plugins.</p>
<p>It checks to see if the constant <strong>WP_INSTALLING</strong> is defined.  If it is, WordPress doesn&#8217;t load any plugins.</p>
<p>So the trick to &#8220;trick&#8221; WordPress is to define the constant, and then manually load the WordPress environment.<br />
After that, we can load any plugins desired.</p>
<p>Here&#8217;s some code:</p>
<blockquote><pre><code>
&lt;?php
header(&#39;Content-Type: text/html&#39;);
define(&#39;WP_INSTALLING&#39;, true);
//Adjust the dirnames to match the path to your wp-load file.
$root = dirname(dirname(dirname(dirname(dirname(__FILE__)))));
if (file_exists($root.&#39;/wp-load.php&#39;)) {
		// WP 2.6
		require_once($root.&#39;/wp-load.php&#39;);
} else {
		// Before 2.6
		require_once($root.&#39;/wp-config.php&#39;);
}
$plugin = &#39;your-plugin-directory/your-plugin-file.php&#39;;
// Validate plugin filename
if ( !validate_file($plugin) &amp;&amp; &#39;.php&#39; == substr($plugin, -4) &amp;&amp; file_exists(WP_PLUGIN_DIR . &#39;/&#39; . $plugin)) {
	include_once(WP_PLUGIN_DIR . &#39;/&#39; . $plugin);
}
unset($plugin);
?&gt;
</code></pre>
</blockquote>
<p>You&#8217;ll see from the snippet above that we define the constant <strong>WP_INSTALLING</strong>, and then load the WordPress environment.</p>
<p>After WordPress has loaded, we load the plugin file we need.</p>
<p>If you need more than one plugin loaded, you can use a simple <strong>foreach</strong> statement.</p>
<blockquote><pre><code>
$current_plugins = get_option( &#39;active_plugins&#39; );
if ( is_array($current_plugins)) {
	foreach ( $current_plugins as $plugin ) {
        // $plugin looks like: your-plugin-dir/your-plugin-file.php
        switch($plugin) {
        	case: &#39;yourplugin&#39;:
            case: &#39;anotherplugin&#39;:
            	break;
             default:
             	continue;
        }
		if ( !validate_file($plugin) &amp;&amp; &#39;.php&#39; == substr($plugin, -4) &amp;&amp; file_exists(WP_PLUGIN_DIR . &#39;/&#39; . $plugin)) {
			include_once(WP_PLUGIN_DIR . &#39;/&#39; . $plugin);
		}
	}
	unset($plugin);
}
unset($current_plugins);
</code></pre>
</blockquote>
<p>I would advise that you use this technique only in standalone files where needed, as I&#8217;m not sure of the long-term side-effects that might occur if the <strong>WP_INSTALLING</strong> constant is always defined.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2010/01/10/preventing-wordpress-plugins-from-loading/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
			<coop:keyword><![CDATA[WordPress Hack]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
	</item>
		<item>
		<title>A Simple Mistake Could Cause You Priceless Headaches</title>
		<link>http://weblogtoolscollection.com/archives/2010/01/09/a-simple-mistake-could-cause-you-priceless-headaches/</link>
		<comments>http://weblogtoolscollection.com/archives/2010/01/09/a-simple-mistake-could-cause-you-priceless-headaches/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 09:14:08 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Discussions]]></category>
		<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[WordPress Questions]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2010/01/09/a-simple-mistake-could-cause-you-priceless-headaches/</guid>
		<description><![CDATA[As a developer it is always easy to overlook minor things, some of them may not cause you much headaches, but some of them could eventually build up to give you nightmares because they are hard to spot.]]></description>
			<content:encoded><![CDATA[<p><em>Before you read ahead, the problems that occurred to cause me headaches was partially my own mistake. However, I have not fully investigated other causes and will update the post once I get the chance to fully investigate the issue.</em></p>
<p>As a developer it is always easy to overlook minor things, some of them may not cause you much headaches, but some of them could eventually build up to give you nightmares because they are hard to spot.</p>
<p>Before I go ahead, please take a look at the screenshot below.</p>
<p><a href="http://weblogtoolscollection.com/wp-content/uploads/2010/01/10million_records.png" rel="thumbnail"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="10million_records" border="0" alt="10million_records" src="http://weblogtoolscollection.com/wp-content/uploads/2010/01/10million_records_thumb.png" width="676" height="478" /></a> </p>
<p>If you just saw a console with some SQL queries, let me point you to two big problems in the above screenshot.</p>
<ol>
<li>The total rows in the table wp_postmeta (which holds meta info for posts) is more than 10 million, 10140712 to be precise.</li>
<li>The total number of rows in wp_postmeta without post_id is again more than 10 million, 10113548 to be precise.</li>
</ol>
<p>To tell you the truth, some of these no post_id records were inserted by a custom code I wrote to shorten URLs using the Bit.ly API. Due to a small mistake in the code, the $post_id was written as $postt_id, not too hard to spot, but yes a mistake which several of us tend to overlook many times.</p>
<p>Due to this several records with empty post_id were inserted into the above table. However, this was quickly rectified within a week, when a Bit.ly rep emailed me to tell me that I was using their API excessively. I quickly checked the code, spotted the mistake and rectified it before it escalated. The reason why the API was called multiple times was because I was generating short URLs for posts which did not have them in the wp_postmeta table, and since it was entering an empty post_id into the table, it ran over and over again.</p>
<p>That problem was sorted out a couple of months back. However, recently my DB backups for which I checked size were 550MB+, this left me wondering as to what was wrong, as that huge a DB for WordPress is certainly abnormal, unless you have posts in the multiples of 5 figures. In addition to that, some other issues started to crop up with the server. I was firefighting it and did not give much heed to the DB size. After two days of firefighting I came back to the huge DB size. I even went and <a href="http://wordpress.org/support/topic/349989?replies=1">opened a thread</a> on WP forums earlier today to see if anyone had a similar issue.</p>
<p>Finally the server issues were really becoming an headache, so I decided to run a query on the table to see what was happening. To my surprise I saw 10 million+ rows in it. A further query told me that more than 10 million of those rows were practically useless.</p>
<p>I went ahead and deleted the rows and now everything is back to normal. However, this raised several questions in my mind as to whether certain things need change or not.</p>
<p>Of course, I as a developer am partly responsible for this. I do check code I release as plugins several times, have it tested and then release it. Though something I write for myself hardly gets the same treatment. </p>
<p>That aside such small mistakes can quickly bring down a high traffic site, as it did with <a href="http://techie-buzz.com">mine</a>, and should certainly not happen with anyone else.</p>
<h3>What Could be Done to Avoid This?</h3>
<p>Like I said earlier, empty post id values in the post_meta are useless, however, due to some flaws they do get entered into the database. This should be avoided.</p>
<p>I have few suggestions for this.</p>
<ol>
<li>As a developer make sure that you don’t add empty values when they are not allowed and will not be useful.</li>
<li>Another thing plugin developers should ensure is that, when they are updating records for a meta value, they should explicitly delete the old values for the same meta, or it will quickly escalate into the above issue.</li>
<li>WordPress could either have a foreign key check on the post_meta table or include a check to return errors for empty post_id.</li>
</ol>
<p>Neither of the above suggestions are hard to implement. However, like I said such small things can easily be overlooked and could eventually build up into a big issue, like the unwanted 10 million records I had. There might be other plugins which might have the same problem. With so many of them, it is really hard to figure out which one’s have them. If I would not have been a developer and known my stuff, it would be really hard to even detect any of the above problems.</p>
<p>And I do accept that it was my mistake, but I am certain that my code alone did not add up to add 10 million useless records in the DB. I am yet to fully investigate the problem, will update the post when I complete it.</p>
<p>This post is more of an eye-opener to me, and gives me another insight to troubleshoot problems with WordPress. I thought it best to share this with people on WLTC, as it might be beneficial to you, or while troubleshooting problems for others.</p>
<p>It would be interesting to know if anyone of you have faced this problem in the past.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2010/01/09/a-simple-mistake-could-cause-you-priceless-headaches/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
			<coop:keyword><![CDATA[WordPress Discussions]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Questions]]></coop:keyword>
	</item>
		<item>
		<title>WordPress 2.9 Feature Focus Batch Plug-in Updates</title>
		<link>http://weblogtoolscollection.com/archives/2009/12/20/wordpress-2-9-feature-focus-batch-plug-in-updates/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/12/20/wordpress-2-9-feature-focus-batch-plug-in-updates/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 15:24:01 +0000</pubDate>
		<dc:creator>Richard Hay</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[WordPress WishList]]></category>
		<category><![CDATA[wordpress upgrade]]></category>
		<category><![CDATA[wordpress-plugin]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/12/20/wordpress-2-9-feature-focus-batch-plug-in-updates/</guid>
		<description><![CDATA[WordPress 2.9 (Carmen) has been officially released and has quite a few new features.&#160; Some are visible and right on the page while many others are under the hood.&#160; 
One of the features that I really like is the ability to bulk update my plug-ins.&#160; In previous versions of WordPress you had to update each]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.9 (Carmen) has been officially released and has quite a few new features.&#160; Some are visible and right on the page while many others are under the hood.&#160; </p>
<p>One of the features that I really like is the ability to bulk update my plug-ins.&#160; In previous versions of WordPress you had to update each plug-in individually by clicking on the automatic upgrade link in the WordPress plug-in, entering your FTP credentials and then waiting for the update to happen. If you had a lot of plug-ins this process could take a while to do.</p>
<p>To utilize the new bulk update process go to the Tools&gt;Upgrade menu in the admin panel:&#160; </p>
<p><a href="http://weblogtoolscollection.com/wp-content/uploads/2009/12/wordpress29toolsupgrademenuitem.png" rel="thumbnail"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="wordpress29toolsupgrademenuitem" border="0" alt="wordpress29toolsupgrademenuitem" src="http://weblogtoolscollection.com/wp-content/uploads/2009/12/wordpress29toolsupgrademenuitem_thumb.png" width="151" height="244" /></a>&#160;</p>
<p>There you will find a screen that looks something like this&quot;:</p>
<p><a href="http://weblogtoolscollection.com/wp-content/uploads/2009/12/wordpress29bulkupgradeplugins.png" rel="thumbnail"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="wordpress29bulkupgradeplugins" border="0" alt="wordpress29bulkupgradeplugins" src="http://weblogtoolscollection.com/wp-content/uploads/2009/12/wordpress29bulkupgradeplugins_thumb.png" width="280" height="145" /></a> </p>
<p>Select the check boxes for all the plug-ins you want to update and then press the Upgrade Plug-in button at the bottom and you will then be taken to a dialog box your familiar with to provide your FTP credentials. Once you have plugged those in the upgrade process will happen and once it is done you will be presented with this results page:</p>
<p><a href="http://weblogtoolscollection.com/wp-content/uploads/2009/12/wordpress29bulkupgradepluginsresults.png" rel="thumbnail"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="wordpress29bulkupgradepluginsresults" border="0" alt="wordpress29bulkupgradepluginsresults" src="http://weblogtoolscollection.com/wp-content/uploads/2009/12/wordpress29bulkupgradepluginsresults_thumb.png" width="244" height="163" /></a> </p>
<p>That is it for the process.&#160; The only change I would recommend in a future update to WordPress is to place a link for this functionality on the actual plug-in admin page – maybe in the bulk action drop down menu.&#160; From what I could see this bulk update option is only available on the main upgrade page.</p>
<p>So what is your favorite new feature of WordPress 2.9?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/12/20/wordpress-2-9-feature-focus-batch-plug-in-updates/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
			<coop:keyword><![CDATA[WordPress]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Plugins]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress WishList]]></coop:keyword>
		<coop:keyword><![CDATA[wordpress upgrade]]></coop:keyword>
		<coop:keyword><![CDATA[wordpress-plugin]]></coop:keyword>
	</item>
		<item>
		<title>How To Track Outbound Links From Your WordPress Blog</title>
		<link>http://weblogtoolscollection.com/archives/2009/11/29/how-to-track-outbound-links-from-your-wordpress-blog/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/11/29/how-to-track-outbound-links-from-your-wordpress-blog/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 02:49:00 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/11/29/how-to-track-outbound-links-from-your-wordpress-blog/</guid>
		<description><![CDATA[As a webmaster we are all concerned about the number of links that are coming into the blog and all the other stats that usually concern the traffic to the blog. However, another important thing we all miss to see is the number of outbound clicks from our blog to other websites.]]></description>
			<content:encoded><![CDATA[<p>As a webmaster we are all concerned about the number of links that are coming into the blog and all the other stats that usually concern the traffic to the blog. However, another important thing we all miss to see is the number of outbound clicks from our blog to other websites.</p>
<p>Though this may not sound interesting to many people, it definitely holds some importance when you want to track links to sites other than your own site. One of the reasons I want to track this on <a href="http://techie-buzz.com/" target="_blank">my blog</a>, is to understand and know what kind of software or services people download or visit, and then try and customize posts to include software or services that are liked by the readers.</p>
<p>Tracking outgoing links from your blog is pretty easy, all you need is a free Google Analytics account and the <a href="http://wordpress.org/extend/plugins/google-analyticator/" target="_blank">Google Analyticator WordPress Plugin</a>.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="outbound_link_tracking" border="0" alt="outbound_link_tracking" src="http://weblogtoolscollection.com/wp-content/uploads/2009/11/outbound_link_tracking.png" width="528" height="121" /> </p>
<p>Once you have installed and activated the plugin, head to the options page and scroll down to the advanced options till you see Outbound link tracking. From the available options, select “Enabled” and save the settings.</p>
<p>Once you do that, wait for a day till the tracking is available in your Google Analytics account. After that you can view the outbound links from your site by visiting Google Analytics and analyze it to understand what your readers are clicking on.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="outbound_link_tracking_analytics" border="0" alt="outbound_link_tracking_analytics" src="http://weblogtoolscollection.com/wp-content/uploads/2009/11/outbound_link_tracking_analytics.png" width="443" height="261" /> </p>
<p>To view the outbound links, visit Google Analytics and click on “Content” in the sidebar. In the available options under Content, click on “Event Tracking” to expand it, and then click on Categories to see the Outbound Traffic from your blog. </p>
<p>Hopefully this should be helpful to you to customize your content and suit it to the needs of your users.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/11/29/how-to-track-outbound-links-from-your-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[Google Analytics]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Plugins]]></coop:keyword>
	</item>
		<item>
		<title>How To Disable Delete Post Functionality For Everyone Except Administrator</title>
		<link>http://weblogtoolscollection.com/archives/2009/11/25/how-to-disable-delete-post-functionality-for-everyone-except-administrator/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/11/25/how-to-disable-delete-post-functionality-for-everyone-except-administrator/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 21:15:57 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[Role Manager]]></category>
		<category><![CDATA[WordPress Role Manager]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/11/25/how-to-disable-delete-post-functionality-for-everyone-except-administrator/</guid>
		<description><![CDATA[WordPress has a pretty decent role management in place, which allows you to create users and assign them certain privileges and functionality. However, there are few things which you cannot right now with it, for example, creating new roles, modifying role privileges and so on.]]></description>
			<content:encoded><![CDATA[<p>WordPress has a pretty decent role management in place, which allows you to create users and assign them certain privileges and functionality. However, there are few things which you cannot do right now with it. For example, creating new roles, modifying role privileges and so on.</p>
<p>The <a href="http://www.im-web-gefunden.de/wordpress-plugins/role-manager/" target="_blank">Role Manager plugin</a> fills in that void and adds a very robust role management interface to WordPress. Though I won’t go into much detail about the plugin, I just wanted to highlight a simple trick, using which you can disable delete functionality for post and pages and retain it with only the administrator of the blog.</p>
<p>Disabling delete functionality may be done for several reasons, specifically on multi-author blogs. However, my sole reason for doing this is that “Precaution is better than Cure”.</p>
<p>To disable delete functionality for post and pages, install the Role Manager plugin (if you haven’t done it already) and click on the Roles link under the Users menu, in the admin dashboard sidebar.</p>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="disable_delete_posts_feature" border="0" alt="disable_delete_posts_feature" src="http://weblogtoolscollection.com/wp-content/uploads/2009/11/disable_delete_posts_feature.png" width="462" height="287" /> </p>
<p>Once you are on the Roles page, browse through the roles and click on the green checkmark (if they appear) next to the privileges highlighted in the screenshot above. Don’t do this for the administrator role though.</p>
<p>Once all the checkmarks have turned to red cross marks, the delete functionality will be disabled for the respective roles.</p>
<p>Role Manager is an excellent plugin and will come in pretty handy for multi-author blogs. I have just highlighted one of the many things you can accomplish with this plugin, so go ahead and give it a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/11/25/how-to-disable-delete-post-functionality-for-everyone-except-administrator/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[Role Manager]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Role Manager]]></coop:keyword>
	</item>
		<item>
		<title>How to Create Micro Blogs Within WordPress</title>
		<link>http://weblogtoolscollection.com/archives/2009/11/21/how-to-create-micro-blogs-within-wordpress/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/11/21/how-to-create-micro-blogs-within-wordpress/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 04:01:56 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[microblog]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Tutorials]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/11/21/how-to-create-micro-blogs-within-wordpress/</guid>
		<description><![CDATA[A tutorial to help you create a Microblog on your main WordPress blog without using any additional plugins or themes.]]></description>
			<content:encoded><![CDATA[<p>I recently started out with a microblog on <a href="http://techie-buzz.com" target="_blank">my site</a>, where I wanted to quickly share content I find on the Internet. Before I started out I had an option of using the <a href="http://p2theme.com/" target="_blank">P2 theme</a> to post quick content on it. However, I shelved the idea since I did and do not have much time to customize the P2 theme to match the look and feel of my current site.</p>
<p>This led to a big dilemma since I wanted 3 things:</p>
<ul>
<li>Start a Micro Blog and post quick content on it. </li>
<li>Make sure that Google Indexes the micro blog content as it does with the other content. </li>
<li>Create separate feeds for the Micro Blog and the rest of the content. </li>
</ul>
<p>Well, i was able to do all of these things without having to add new plugins or create a new blog. Here are the steps I followed to do it. Hopefully many of you will find this useful, and in turn also understand how powerful WordPress is when you want to customize it the way you want it to be.</p>
<h3>Create Categories &amp; Modify Loops to Segregate Content</h3>
<p>The first few steps include creating a separate category for the Microblog and segregating content accordingly.</p>
<h4>Create Category for your Microblog</h4>
<p>The first thing I wanted to do was to segregate the main content from the micro blog content on the home page, so I went ahead and created a new category called “Microblog”, where I post all the Microblog content.</p>
<h4>Exclude Microblog Content from Main Loop</h4>
<p>After creating a separate category, I needed the content from this category to be displayed separately on the site and not with the regular loop. To do that, you will have to edit your template file for the home page, usually index.php in your WordPress theme directory.</p>
<p>To do that you will need to add the code given below before checking if posts exist.</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   1:</span> query_posts($query_string . <span style="color: #006080">'&amp;cat=-123'</span>); <span style="color: #008000">//excludes micro blog category</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   2:</span> <span style="color: #008000">//continue regular WP loop</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   3:</span> <span style="color: #0000ff">if</span> (have_posts()) : </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   4:</span>   <span style="color: #0000ff">while</span> (have_posts()) : the_post();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   5:</span>       <span style="color: #008000">//display posts </span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   6:</span>   endwhile:</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   7:</span> <span style="color: #0000ff">else</span> : </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   8:</span>     <span style="color: #008000">//show errors </span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   9:</span> endif;</pre>
</p></div>
</div>
<p>The code query_posts&#8230; instructs WordPress to ignore categories which have an id 123.&#160; Please not that you need to provide the minus(-) symbol before the category id. You will need to specify comma separated values to skip multiple categories.</p>
<h4>Only Display Microblog Content in The Loop</h4>
<p>Since I wanted Google to index the content from the Microblog, I wanted to display in on the home page, for this I needed to run another loop, which only displays content from the Microblog.</p>
<p>For that you need to add the following code:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   1:</span> query_posts(<span style="color: #006080">'category_name=microblog&amp;posts_per_page=5'</span>); <span style="color: #008000">//only display microblog posts</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   2:</span> <span style="color: #0000ff">if</span>(have_posts()) :</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   3:</span>     <span style="color: #0000ff">while</span>(haveposts()) : the_post();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   4:</span>         <span style="color: #008000">//show posts</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   5:</span>     endwhile;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   6:</span> <span style="color: #0000ff">else</span>:</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   7:</span>     <span style="color: #008000">//show errors</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   8:</span> endif;</pre>
</p></div>
</div>
<p>In this case, the query_posts only fetched posts from a particular category we specified as the category_name and skipped the rest of it.</p>
<p>Using the above tricks you now have different sections on your blog home page which segregates content based on categories. You can find more information about skipping and querying certain categories by visiting the <a href="http://codex.wordpress.org/The_Loop" target="_blank">WordPress Codex entries for The Loop</a>.</p>
<h3>Creating Different Feeds for Main and Microblog</h3>
<p>Now that you have been able to separate content from your main blog and the microblog, it is now time to create separate feeds for them. This is much more simpler than segregating content above and only requires few changes in your feed URL.</p>
<p>For example if your main feed URL is <strong>http://example.com/feed</strong> you will have to change it to <strong>http://example.com/feed?cat=-123</strong>. Similar to the skip rule in the query above, -123 will ignore posts from the category you specify.</p>
<p>Creating a separate feed for your Microblog is much more simpler, all you need to do is use the current URL for the Microblog category and add /feed to it. Your Microblog feed will be <strong><a href="http://example.com/microblog/feed">http://example.com/microblog/feed</a></strong>. </p>
<p>Since you are offering multiple feeds, you might also want to add them to your header.php, so browsers with automatic feed discovery can discover all your feeds. To that, remove the regular feed/RSS link tags from your header and add this. Replace the feed URLs with your own.</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   1:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">link</span> <span style="color: #ff0000">rel</span><span style="color: #0000ff">=&quot;alternate&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;application/rss+xml&quot;</span> <span style="color: #ff0000">title</span><span style="color: #0000ff">=&quot;Techie Buzz RSS Feed&quot;</span> <span style="color: #ff0000">href</span><span style="color: #0000ff">=&quot;http://feeds.techie-buzz.com/techiebuzz&quot;</span> <span style="color: #0000ff">/&gt;</span> </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   2:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">link</span> <span style="color: #ff0000">rel</span><span style="color: #0000ff">=&quot;alternate&quot;</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;application/rss+xml&quot;</span> <span style="color: #ff0000">title</span><span style="color: #0000ff">=&quot;Techie Buzz Microblog&quot;</span> <span style="color: #ff0000">href</span><span style="color: #0000ff">=&quot;http://feeds.techie-buzz.com/tbmicroblog&quot;</span> <span style="color: #0000ff">/&gt;</span></pre>
</p></div>
</div>
<p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="multiple_feeds" border="0" alt="multiple_feeds" src="http://weblogtoolscollection.com/wp-content/uploads/2009/11/multiple_feeds.png" width="214" height="106" /> </p>
<p>Doing this will ensure that whenever a user tries to subscribe to you feeds, they will see multiple options as shown above.</p>
<h3>Posting Quickly to Your Microblog</h3>
<p>Now that you have your Microblog setup and ready to go, it would be more appropriate that you can quickly post content to it.</p>
<p>To do that change your default category for posting to “Microblog” and then drag the Quick Press bookmarklet from your Tools menu to your browser bookmarks bar and start posting. Watch the video below to see how you can use Quick Press to quickly post content to your site.</p>
<p align="center"><embed src="http://v.wordpress.com/wp-content/plugins/video/flvplayer.swf?ver=1.10" type="application/x-shockwave-flash" width="400" height="224" allowscriptaccess="always" allowfullscreen="true" flashvars="guid=MLuVmwS8&#038;width=400&#038;height=224" title="Getting a post out with QuickPress"></embed></p>
<p>The above tricks will not create a <em>real</em> Microblog, but it will eventually help you to segregate content and run multiple smaller blogs within your major blog and offer them to subscribers. I would still prefer to use the P2 theme for the above task, however customizing it to match the look and feel is a lengthy process and hopefully it should be quicker in the future.</p>
<p>The above tricks might be good or they might not be that good. Do give me your feedback on what you think about it and whether or not your found it helpful.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/11/21/how-to-create-micro-blogs-within-wordpress/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[microblog]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tutorials]]></coop:keyword>
	</item>
		<item>
		<title>How Do You Do That?</title>
		<link>http://weblogtoolscollection.com/archives/2009/11/18/how-do-you-do-that/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/11/18/how-do-you-do-that/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 12:55:08 +0000</pubDate>
		<dc:creator>James Dimick</dc:creator>
				<category><![CDATA[HOW-TO]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Discussions]]></category>
		<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[Wordpress for Beginners]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[urls]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/?p=7131</guid>
		<description><![CDATA[Ever wanted to do something in WordPress but just wasn&#8217;t sure how? In my experience this happens quite often, mostly with people new to WordPress. But, even the experts run into trouble sometimes. Today I thought I&#8217;d start a series of posts which will aim to explain how to do certain things in WordPress. Hopefully]]></description>
			<content:encoded><![CDATA[<p>Ever wanted to do something in WordPress but just wasn&#8217;t sure how? In my experience this happens quite often, mostly with people new to WordPress. But, even the experts run into trouble sometimes. Today I thought I&#8217;d start a series of posts which will aim to explain how to do certain things in WordPress. Hopefully this will cover anything from quick tips and simple little functions, all the way up to more complex custom code and the like. So, stick around and you just might learn something. <img src='http://weblogtoolscollection.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I think I&#8217;ll kick off the series with a couple simple ones&#8230;</p>
<ul>
<li>
<h5>Why isn&#8217;t this plugin working with my theme?</h5>
<p>This is probably one of the most common issues I read about regarding WordPress. Sometimes even more experienced WP<em>ers</em> can get this one wrong. Now, I&#8217;m not saying this is the solution to <strong>all</strong> problems between plugins and themes. Its just that this little bugger is often the culprit.</p>
<p>Try ensuring that your theme has <code>&lt;?php <a href="http://codex.wordpress.org/Theme_Development#Plugin_API_Hooks">wp_head</a>() ?&gt;</code> somewhere inside the <code>&lt;head&gt;</code> section of the document. Also, for that matter, make sure it has <code>&lt;?php <a href="http://codex.wordpress.org/Theme_Development#Plugin_API_Hooks">wp_footer</a>() ?&gt;</code> somewhere in the foot of the document; Before the <code>&lt;/body&gt;</code> tag.</p>
<p>If your theme lacks these function calls many plugins that manipulate your theme will not be able to hook into the required areas. This can cause many headaches.</p>
<p>If you have no idea what I&#8217;m talking about, you may be better off having a coder buddy take a look at the theme for you. Or you can also contact the theme author, if the theme you use was created by someone else.</li>
<li>
<h5>How come my URLs are yucky?</h5>
<p>Or, &#8220;<em>How come my URLs look like <code>www.mysite.com?p=123</code> instead of <code>www&#8203;.mysite.&#8203;com&#8203;/my-&#8203;sample-&#8203;post/</code>?</em>&#8221;</p>
<p>This one is right up there with the previous question. I see it all the time. However, more and more web hosts these days support the &#8220;<em>nice</em>&#8221; URLs by default without requiring any extra effort. So, its just a matter of going into the WordPress control panel, changing your Permalink Settings and then saving. Unfortunately, we&#8217;re not all this lucky&#8230;</p>
<p>The first thing to try would be to contact your web host support and make sure they have whats known as <code>mod_rewrite</code> <em>(or similar functionality)</em> enabled on your account. If such functionality is not available on your web host, and you really need this feature, you may need to upgrade to a new host that does support it.</p>
<p>If your host does support it and has it enabled on your account, but it still doesn&#8217;t work, you can check that WordPress is able to write to the <code>.htaccess</code> file <em>(which is where all the &#8220;nice&#8221; URL magic happens)</em>.</p>
<p>For WordPress, on Unix-based systems, the htaccess file should be &#8220;<em><code><a href="http://codex.wordpress.org/Changing_File_Permissions#About_Chmod">CHMOD</a></code>ed</em>&#8221; to at least <code>666</code>. On Windows-based systems the procedure is a bit different. It can be different depending on your particular setup so I won&#8217;t go into that.</p>
<p>Basically, as was the case with the previous question, you may need to seek help to figure this out. If you don&#8217;t have a code buddy, get one! They are really great to have around. Just make sure you buy them a nice gift for their trouble. <img src='http://weblogtoolscollection.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
<li>
<h5>Can I have a link to login to WordPress somewhere in my theme?</h5>
<p>Sure! It&#8217;s actually easier than you might think&#8230;</p>
<p>Some themes have a link for that already. But, there are also some that seem to lack this obvious and simple feature. You can easily add this to any theme yourself. No need for any programming knowledge. Simply add <code>&lt;?php <a href="http://codex.wordpress.org/Function_Reference/wp_loginout">wp_loginout</a>() ?&gt;</code> somewhere in your theme and you&#8217;re done. Easy right?</p>
<p>Another nice function along the same lines is <code>&lt;?php <a href="http://codex.wordpress.org/Function_Reference/wp_register">wp_register</a>() ?&gt;</code>, which will show a link to your registration page <em>(if your settings allow users to register)</em>, or a link to the WordPress control panel if you are already logged in.</p>
<p>Do note though that by default the link will be output wrapped inside <code>&lt;li&gt;</code> tags. This is so you can include the link in a list of other links, like a &#8220;<em>meta</em>&#8221; section. If, however, that is not how you want it to be output you can use the function like <code>&lt;?php wp_register('', '') ?&gt;</code>. That will simply output the link and nothing else.</p>
<p>An example of how to customize that is something like <code>&lt;?php wp_register('&lt;p&gt;', '&lt;/p&gt;') ?&gt;</code>, which will output the link wrapped in its own paragraph. Just change the opening and closing tags in the function to make it output how you want. Dead simple!</li>
</ul>
<p>That&#8217;s all for now&#8230; I hope it helps!</p>
<p style="background-color:#fae8d3;padding:5px 10px;margin-bottom:20px">Do you have a question about WordPress? Want to see it answered here on Weblog Tools Collection? If so, please <a href="http://weblogtoolscollection.com/archives/2007/02/06/contact-me/">send us an E-Mail</a> or drop a comment here. Your question just might be featured in the series!</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/11/18/how-do-you-do-that/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
			<coop:keyword><![CDATA[HOW-TO]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Discussions]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[Wordpress for Beginners]]></coop:keyword>
		<coop:keyword><![CDATA[admin]]></coop:keyword>
		<coop:keyword><![CDATA[beginner]]></coop:keyword>
		<coop:keyword><![CDATA[functions]]></coop:keyword>
		<coop:keyword><![CDATA[links]]></coop:keyword>
		<coop:keyword><![CDATA[plugins]]></coop:keyword>
		<coop:keyword><![CDATA[questions]]></coop:keyword>
		<coop:keyword><![CDATA[themes]]></coop:keyword>
		<coop:keyword><![CDATA[urls]]></coop:keyword>
	</item>
		<item>
		<title>Pinging Your Own Blog Posts? Good or Bad?</title>
		<link>http://weblogtoolscollection.com/archives/2009/10/04/pinging-your-own-blog-posts-good-or-bad/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/10/04/pinging-your-own-blog-posts-good-or-bad/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 08:44:00 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[Pingback]]></category>
		<category><![CDATA[trackback]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/10/04/pinging-your-own-blog-posts-good-or-bad/</guid>
		<description><![CDATA[WordPress provides users to automatically ping other sites when you link to them using trackbacks. In addition to that you also have an option to allow others to send pingbacks to you.]]></description>
			<content:encoded><![CDATA[<p>WordPress provides users to automatically ping other sites when you link to them using <a href="http://en.wikipedia.org/wiki/Trackback" target="_blank">trackbacks</a>. In addition to that you also <a href="http://weblogtoolscollection.com/archives/2009/07/12/optimizing-wordpress-settings/" target="_blank">have an option</a> to allow others to send <a href="http://en.wikipedia.org/wiki/Pingback" target="_blank">pingbacks</a> to you. </p>
<p>Linking back is always good, however WordPress displays these links using the “nofollow” attribute. So is it good to allow a nofollow linkback to your own website? Considering Google’s new policy changes with regards to nofollow links, and how you might eventually lose ranking over it, adding an additional linkback to your own blog with a nofollow link definitely does not gauge well.</p>
<p>On my <a href="http://techie-buzz.com/" target="_blank">tech blog</a> I use a plugin called <a href="http://wordpress.org/extend/plugins/no-self-ping/" target="_blank">No Self Pings</a>, which in turn does not send pings to my own blog whenever I link internally. Of course many might think that doing away with this functionality might gain lesser conversions. However, you can always try out a related posts plugin, which in turn adds posts that are related to the current one. You will find several of them in this search for “<a href="http://weblogtoolscollection.com/searchgoogle.php?cx=011030001399484881618:cd3_ppg1q4a&amp;cof=FORID:11&amp;ie=UTF-8&amp;q=related+posts" target="_blank">related posts</a>”.</p>
<p>You might also want to <a href="http://www.mattcutts.com/blog/pagerank-sculpting/" target="_blank">read a post</a> from Matt Cutts, the head of the Google Spam team to understand the changes to nofollow links, and why it would convert to lesser ranking for your blog.</p>
<p>Rest aside doing away with “nofollow” is not the solution. If you are against the use of nofollow in comments and pingback, you might want to read a earlier post of mine about <a href="http://weblogtoolscollection.com/archives/2009/10/03/do-you-check-your-spam-comments-tips-to-deal-with-spam/" target="_blank">dealing with spam</a>.</p>
<p>What do you think? Should you ping your own blog and add “nofollow” links or should you use the plugin and get rid of it?</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/10/04/pinging-your-own-blog-posts-good-or-bad/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[Pingback]]></coop:keyword>
		<coop:keyword><![CDATA[trackback]]></coop:keyword>
	</item>
		<item>
		<title>Do You Check Your Spam Comments? Tips to Deal With Spam.</title>
		<link>http://weblogtoolscollection.com/archives/2009/10/03/do-you-check-your-spam-comments-tips-to-deal-with-spam/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/10/03/do-you-check-your-spam-comments-tips-to-deal-with-spam/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 19:54:59 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/10/03/do-you-check-your-spam-comments-tips-to-deal-with-spam/</guid>
		<description><![CDATA[Spam is everywhere you don't want it to be. Are you dealing with spam correctly. Here is how you can deal with spam easily and effectively, in your WordPress blog and everywhere else.]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Spam_(electronic)" target="_blank">Spam</a> in any form is annoying at its best. As a internet user, every one of us has to deal with spam. It may be in the form of emails, instant messages or comments.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="akismet_spam" border="0" alt="akismet_spam" src="http://weblogtoolscollection.com/wp-content/uploads/2009/10/akismet_spam.png" width="369" height="94" /> </p>
<p>As a avid always-on internet user, I deal with tons of spam everyday. However, in the time (more than 11 years) I have spent on the internet, I can tell you one thing: No spam protection is perfect, it just works 98% of times. There is always a 2% chance that it will flag legitimate messages as spam or spam messages as legitimate.</p>
<p><strong>Also Read:</strong> <a href="http://weblogtoolscollection.com/archives/2009/07/21/wordpress-setting-up-akismet/" target="_blank">Setting up Akismet on your WordPress blog</a></p>
<p>Relying on spam engines is not always 100% accurate. To overcome the issue of the “legitimate messages marked as spam” (some of which may be really important) I follow a certain rule. This applies to spam comments marked on my WordPress blog as well, which is protected by <a href="http://akismet.com/" target="_blank">Akismet</a>.</p>
<ol>
<li>I never let the spam queue grow over 100. Above this anyone will lose interest in even looking at things beyond the first page (Hint: Set the comments page to show you 100 comments instead of only 15). </li>
<li>I <em>make sure to delete</em> the spam queue after I have looked over it. </li>
</ol>
<p>Now, this may seem like a tedious process. Of course looking over spam is useless too, but let me tell you this, you will be glad you did look over your spam messages. There are chances that some messages which are not only legitimate, but also important are marked as spam.</p>
<p>Dealing with spam is not easy. I get perfectly insane spam messages in my inbox/comments. Looking at the subject of the message or the name used for commenting, I can weed them out and send them to their right place. Most of the times it is because of the practice I have had over the years.</p>
<p>If you are using WordPress with Akismet, when you mark a message as spam or pull out a legitimate comment from the spam and mark it as good, you are helping others. Akismet is centrally managed so everything you do will be noted and used for a better experience for other users.</p>
<p>This in turn helps you too, when other users do the same. However, I must also elaborate on a point that, spam for one user maybe perfectly alright for another user.</p>
<p>For example, “nice post” “well written post” “I liked the way you write” kind of comments will be well received by some people. However, others may mark them as spam. If you ask me, I simply mark such comments as spam. Before I do that, I look at the name and URL the commentator used. Usually they deserve to be in spam. More often than not when you look closer at such comments, you will find the URL leading to a shady website.</p>
<p>Another form of spam I come across regularly is when I write a article that is popular in search engines. I get several comments for them. I do get a few which are beautifully written and definitely deserve a Oscar for commenting, if there was one. However, take a look at such comments very closely. The guys who commented are obviously trying to take advantage of your search engine rankings and insert links to competitors of the product you wrote or to paid products. </p>
<p>Now that would not be bad, but this is a paid form of black hat SEO where they insert links with beautifully written comments into posts for high ranking keywords, which they would never come close to achieving with their own hard work.</p>
<p>Thanks to WordPress for adding “<a href="http://en.wikipedia.org/wiki/Nofollow" target="_blank">nofollow</a>” to links in the comments, these guys won’t gain much Google love, but they will definitely make money out of your well written and higher SERP post.</p>
<p>I can go on and on with how I deal with spam and weed out the wants from the not and vice versa. In the end it matters how you eventually follow your own process and deal with spam, comments or otherwise.</p>
<p>If you do follow a process or have anything to say about my opinion, I definitely look forward to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/10/03/do-you-check-your-spam-comments-tips-to-deal-with-spam/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[comments]]></coop:keyword>
		<coop:keyword><![CDATA[Spam]]></coop:keyword>
	</item>
		<item>
		<title>Dealing With 404 Errors &amp; Permanent Redirects In WordPress</title>
		<link>http://weblogtoolscollection.com/archives/2009/09/27/dealing-with-404-errors-permanent-redirects-in-wordpress/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/09/27/dealing-with-404-errors-permanent-redirects-in-wordpress/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 20:16:27 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[404 Errors]]></category>
		<category><![CDATA[Permalink Redirects]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/09/27/dealing-with-404-errors-permanent-redirects-in-wordpress/</guid>
		<description><![CDATA[404 errors suggest that a user has landed on a page that does not exist. Most of the times it occurs due to a bad permalink, either while linking on your own site or by someone else linking to a non-existent link on your site. This may also occur when you make changes to the]]></description>
			<content:encoded><![CDATA[<p>404 errors suggest that a user has landed on a page that does not exist. Most of the times it occurs due to a bad permalink, either while linking on your own site or by someone else linking to a non-existent link on your site. This may also occur when you make changes to the post slugs or permalinks on your site.</p>
<p>No matter what the reason is, looking at a error page is least of what a user expects when they come to your site for information.</p>
<p>You can always <a href="http://codex.wordpress.org/Creating_an_Error_404_Page" target="_blank">create a custom 404 page</a> in WordPress. But that does not mean that users will be happy or you will be able to track when users come across 404 errors. </p>
<p>To deal with the issue you can make use of <a href="http://wordpress.org/extend/plugins/search.php?q=404+errors" target="_blank">several plugins to track 404 errors</a> and also use some advanced plugins to <a href="http://wordpress.org/extend/plugins/search.php?q=redirection" target="_blank">setup permanent redirects</a> to proper pages for 404 errors.</p>
<p>If you want to know how I handle 404 errors and fix them you might want to check a post on my tech blog to <a href="http://techie-buzz.com/featured/track-and-fix-broken-links-on-your-website-404-errors.html" target="_blank">Track and fix broken links on your website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/09/27/dealing-with-404-errors-permanent-redirects-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[404 Errors]]></coop:keyword>
		<coop:keyword><![CDATA[Permalink Redirects]]></coop:keyword>
	</item>
		<item>
		<title>Excellent Guide To Make Most of Your WordPress Install</title>
		<link>http://weblogtoolscollection.com/archives/2009/09/24/excellent-guide-to-make-most-of-your-wordpress-install/</link>
		<comments>http://weblogtoolscollection.com/archives/2009/09/24/excellent-guide-to-make-most-of-your-wordpress-install/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 01:56:04 +0000</pubDate>
		<dc:creator>Keith Dsouza</dc:creator>
				<category><![CDATA[WordPress Tips]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://weblogtoolscollection.com/archives/2009/09/24/excellent-guide-to-make-most-of-your-wordpress-install/</guid>
		<description><![CDATA[WordPress tips are available everywhere but we can’t get enough of it yet. One of my favorite tech writers and ardent programmer, Gina Trapani, has written a really comprehensive post of tips to get the best out of your WordPress blog.]]></description>
			<content:encoded><![CDATA[<p>WordPress tips are available everywhere but we can’t get enough of it yet. One of my favorite tech writers and ardent programmer, Gina Trapani, has written a really comprehensive post of tips to get the best out of your WordPress blog.</p>
<p>The tips involve lots of things we tend to overlook and also includes links to several other useful articles which will definitely enhance your WordPress IQ.</p>
<p>This post is worth reading so don’t miss it for anything. Also several more <a href="http://weblogtoolscollection.com/archives/category/wordpress-for-beginners/" target="_blank">WordPress for Beginners</a> posts are lined up in my drafts so expect some really good tutorials shortly.</p>
<p><a href="http://lifehacker.com/5365600/the-beginners-guide-to-tricking-out-your-wordpress-blog">The Beginner&#8217;s Guide to Tricking Out Your WordPress Blog</a> [Life Hacker]</p>
]]></content:encoded>
			<wfw:commentRss>http://weblogtoolscollection.com/archives/2009/09/24/excellent-guide-to-make-most-of-your-wordpress-install/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
			<coop:keyword><![CDATA[WordPress Tips]]></coop:keyword>
		<coop:keyword><![CDATA[WordPress]]></coop:keyword>
	</item>
	</channel>
</rss>
