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

<channel>
	<title>Tarek Shalaby &#187; WordPress</title>
	<atom:link href="http://www.tarekshalaby.com/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tarekshalaby.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 20 Jan 2012 18:01:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Migrating from one WordPress installation to another</title>
		<link>http://www.tarekshalaby.com/2010/01/migrating-from-one-wordpress-installation-to-another/</link>
		<comments>http://www.tarekshalaby.com/2010/01/migrating-from-one-wordpress-installation-to-another/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 13:24:33 +0000</pubDate>
		<dc:creator>Tarek Shalaby</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.tarekshalaby.com/?p=853</guid>
		<description><![CDATA[When you are working on a revamp for your website and/or move to another host, one major concern is how you will be able to migrate all of the posts and information from the current website to the new one. Depending on the size of the data that you are moving, this could be a [...]]]></description>
			<content:encoded><![CDATA[<div class="social4i" style="height:69px;float: right;">
<div class="social4in" style="height:69px;float: right;">
<div class="socialicons s4twitter" style="float:left;margin-right: 10px;background:url(&quot;http://goo.gl/zjqd1&quot;) no-repeat;"><a href="http://twitter.com/share" data-url="http://www.tarekshalaby.com/2010/01/migrating-from-one-wordpress-installation-to-another/" data-counturl="http://www.tarekshalaby.com/2010/01/migrating-from-one-wordpress-installation-to-another/" data-text="Migrating from one WordPress installation to another" class="twitter-share-button" data-count="vertical" data-via="tarekshalaby"></a></div>
<div class="socialicons s4fblike" style="float:left;margin-right: 10px;">
<div id="fb-root"></div>
<p><fb:like href="http%3A%2F%2Fwww.tarekshalaby.com%2F2010%2F01%2Fmigrating-from-one-wordpress-installation-to-another%2F" send="false" layout="box_count" width="55" height="62" show_faces="false" font=""></fb:like></div>
</div>
<div style="clear:both"></div>
</div>
<p>When you are working on a revamp for your website and/or move to another host, one major concern is how you will be able to migrate all of the posts and information from the current website to the new one. Depending on the size of the data that you are moving, this could be a long process or a short one, but in both cases, it is rather straight-forward.</p>
<ol>
<li>The first step is to do a <strong>fresh install</strong> for the latest WordPress on the new server, you can follow my <a href="http://www.tarekshalaby.com/2009/10/how-to-create-your-own-blog-a-guide-to-installing-and-configuring-wordpress/">step-by-step guide to getting your WordPress blog up and running</a>. You might be tempted into moving everything as is and just updating the database credentials, etc. but a fresh installation clears your blog from many potential problems. Ideally there would be a temporary URL that you could use while testing, after which you can update the DNS for your domain and go live</li>
<li>If on a testing server, you should consider using the <a href="http://wordpress.org/extend/plugins/wp-dummy-content/">WP Dummy Content plugin</a> which generates as much <strong>fake content</strong> as you want to act as placeholders and give you a clear idea of how everything will look on the final website</li>
<li>Once the look and feel is as you&#8217;d like it to be, it&#8217;s time to <strong>install the plugins</strong> that you will be using for your website. One option could be as simple as downloading the folders in the &#8220;plugins&#8221; directory on the old server, but that&#8217;s definitely not the kind of attitude you want to take with you in 2010. The best practice would be to re-install the plugins one by one from within the new admin control panel. This will give you to option of researching better alternatives to any plugins you weren&#8217;t entirely comfortable with, and also assures that you have the latest of each one</li>
<li>Your temporary testing website is now ready with all of the features and functionality, displayed via fake content. It is now time to <strong>import the content</strong> from the old website
<ul>
<li> From the admin control panel of the old website, go to <strong>Tools &gt; Export to create the XML file</strong> that you are going to be carrying to the new blog. If the content is large in size (over 1,000 posts), you might want to use the <a href="http://wordpress.org/extend/plugins/advanced-export-for-wp-wpmu/">Advanced Export for WP &amp; WPMU plugin</a>, which facilities the filtering and segmentation of the different sections of the website</li>
<li>In many cases, the XML file is too big to be uploaded directly into the new installation. Therefore, you can <strong>compress the file using the .gz compression</strong>, which is understood by the huge majority of servers nowadays. You can use an open-source application like <a href="http://www.gzip.org/">gzip</a> to compress the XML file to about a sixth of the original size. When you upload the file, your server will automatically uncompress it, meaning you will spend far less time waiting for the file to be uploaded</li>
<li>Besides that size of the XML file itself, you could face the problem of reaching your <strong>PHP memory limit</strong> while uploading. This basically means that your server is only allowed to use a limited amount of memory before it stops whatever it&#8217;s doing. There&#8217;s a good <a href="http://www.lost-in-code.com/programming/php-code/php-increase-memory-limit/">guide at lost-in-code</a> that shows you how you can increase that limit</li>
<li>If the importing process goes smoothly and then suddenly stops at one point, there&#8217;s no need to panic. You can simply <strong>refresh the page, hence resending the script</strong> to be parsed and imported, and WordPress will automatically skip all of the posts that already exist. Meaning that even if it stops every couple of thousand posts, refreshing will make it pick up where it had left off</li>
<li><strong>NOTE</strong>: Although I haven&#8217;t tried this myself, there&#8217;s an alternative method for moving the content to the new location using a desktop application such as <a href="http://www.navicat.com/">Navicat</a>. In which case you would enter the database information of the two servers, and the program migrates the entries from server to server</li>
</ul>
</li>
<li><strong>Final testing</strong> is necessary before you update the DNS on your domain name to make it point to the new server. It is generally good practice to work on a ToDo list with everything that needs to be done for the website to be final. Those that are urgent should be completed before updating the DNS, while the rest can be done while you are waiting for the DNS to be updated everywhere (could take up to 12 hours)</li>
</ol>
<p>The best part of it all, is that it&#8217;s free. With the power of the open-source tools, you will always find the help that you need all over our beautiful web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tarekshalaby.com/2010/01/migrating-from-one-wordpress-installation-to-another/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Create Your Own Blog: A Guide to Installing and Configuring WordPress</title>
		<link>http://www.tarekshalaby.com/2009/10/how-to-create-your-own-blog-a-guide-to-installing-and-configuring-wordpress/</link>
		<comments>http://www.tarekshalaby.com/2009/10/how-to-create-your-own-blog-a-guide-to-installing-and-configuring-wordpress/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 01:41:59 +0000</pubDate>
		<dc:creator>Tarek Shalaby</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[the Web]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.tarekshalaby.com/?p=812</guid>
		<description><![CDATA[Many are unaware of just how easy it is to start your own blog using the best open source tool for blogging out there: WordPress. This is a tutorial that will get you up and running in no time. It will cover everything from purchasing your domain name and hosting account, to downloading, installing and [...]]]></description>
			<content:encoded><![CDATA[<div class="social4i" style="height:69px;float: right;">
<div class="social4in" style="height:69px;float: right;">
<div class="socialicons s4twitter" style="float:left;margin-right: 10px;background:url(&quot;http://goo.gl/zjqd1&quot;) no-repeat;"><a href="http://twitter.com/share" data-url="http://www.tarekshalaby.com/2009/10/how-to-create-your-own-blog-a-guide-to-installing-and-configuring-wordpress/" data-counturl="http://www.tarekshalaby.com/2009/10/how-to-create-your-own-blog-a-guide-to-installing-and-configuring-wordpress/" data-text="How To Create Your Own Blog: A Guide to Installing and Configuring WordPress" class="twitter-share-button" data-count="vertical" data-via="tarekshalaby"></a></div>
<div class="socialicons s4fblike" style="float:left;margin-right: 10px;">
<div id="fb-root"></div>
<p><fb:like href="http%3A%2F%2Fwww.tarekshalaby.com%2F2009%2F10%2Fhow-to-create-your-own-blog-a-guide-to-installing-and-configuring-wordpress%2F" send="false" layout="box_count" width="55" height="62" show_faces="false" font=""></fb:like></div>
</div>
<div style="clear:both"></div>
</div>
<p>Many are unaware of just how easy it is to start your own blog using the best open source tool for blogging out there: WordPress. This is a tutorial that will get you up and running in no time. It will cover everything from purchasing your domain name and hosting account, to downloading, installing and configuring WordPress on your website. After all, your space on the World Wide Web is your birth right, and giving it up because you overestimate the process involved is a pity indeed.</p>
<p>So let&#8217;s jump right into this</p>
<h3>Step 1: Domain &amp; Hosting</h3>
<div id="attachment_824" class="wp-caption alignleft" style="width: 248px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/10/databasesupport.png"><img class="size-medium wp-image-824" title="Makre sure your host supports PHP and MySQL" src="http://www.tarekshalaby.com/wp-content/uploads/2009/10/databasesupport-238x300.png" alt="Makre sure your host supports PHP and MySQL" width="238" height="300" /></a><p class="wp-caption-text">Makre sure your host supports PHP and MySQL</p></div>
<p>Before you can run a website or blog, you need a unique address (domain) pointing to a space that you&#8217;ve reserved on a remote server somewhere on the planet (hosting). You can view my <a href="http://www.tarekshalaby.com/2009/10/what-you-need-to-know-about-hosting/">guide on hosting</a> to fully understand the different categories, and thus, which one is best for you. Generally speaking, if this is your first time, a standard shared web hosting account, that usually offers a free domain on top, gets the job done.</p>
<p>For example, if you choose to go with Blue Host, then simply visit the website, and sign up for an account that will cost you $7 for every month, and you&#8217;ll probably pay for two years in advance. Any standard plan from any provider will do, granted it supports PHP and MySQL databases (some providers don&#8217;t offer databases with their basic packages, but that&#8217;s a bit of a rarity nowadays).</p>
<h3>Step 2: Create the Database</h3>
<p>Now that you own an account, log on to the administration control panel, which is provided to you by the hosting company you&#8217;ve chosen to go with, to create a database:</p>
<div id="attachment_823" class="wp-caption aligncenter" style="width: 476px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/10/databases.png"><img class="size-full wp-image-823  " title="Find the link to add databases (could also use PHPMyAdmin)" src="http://www.tarekshalaby.com/wp-content/uploads/2009/10/databases.png" alt="Find the link to add databases (could also use PHPMyAdmin)" width="466" height="246" /></a><p class="wp-caption-text">Find the link to add databases (could also use PHPMyAdmin)</p></div>
<ol>
<li>Go to your control panel and login</li>
<li>Find the databases link, click &#8220;add new database&#8221;</li>
<li>Give it a name, for example: WordPressBlog</li>
<li>Add a user that will be accessing the database (by creating a username and password)</li>
<li>Take note of the address of the database (in most cases, it&#8217;s &#8220;localhost&#8221;, but sometimes it&#8217;s different. In which case you&#8217;ll see it displayed along with the database name somewhere)</li>
</ol>
<p>Now that you&#8217;ve created the database, as well as the credentials for accessing it, you&#8217;re ready to install WordPress.</p>
<h3>Step 3: Download WordPress, Then Upload It</h3>
<p>This is a straight forward process:</p>
<ol>
<li>Go to <a href="http://www.wordpress.org/">http://www.wordpress.org/</a></li>
<li>Download the zipped file</li>
<li>Unarchive (extract) it on your computer, you should be left with a folder called &#8220;wordpress&#8221;</li>
<li>Open your FTP client. <a href="http://filezilla-project.org/">FileZilla</a> is one of the best &#8211; free, open source and efficient</li>
<li>Enter the FTP information for your website (given to you by your provider, usually found in the control panel)</li>
<li>Upload the contents of the &#8220;wordpress&#8221; folder to the root directory of your website (you can upload the entire folder, in which case the installation would be at: www.yourwebsite.com/wordpress)</li>
</ol>
<p>Now that WordPress has been uploaded to your server, and your database is created, you are now ready to go through the famous five-minute installation.</p>
<h3>Step 4: WordPress Installation</h3>
<p>Everything is significantly easier with WordPress, and the installation process is no different.</p>
<div id="attachment_821" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/10/800px-install-step1.png"><img class="size-full wp-image-821 " title="You'll be prompted to create a configuration file" src="http://www.tarekshalaby.com/wp-content/uploads/2009/10/800px-install-step1.png" alt="You'll be prompted to create a configuration file" width="480" height="158" /></a><p class="wp-caption-text">You&#39;ll be prompted to create a configuration file</p></div>
<ol>
<li>Direct your browser to where the WordPress files had been uploaded (if in the root directory, then just go to www.yourwebsite.com)</li>
<li>You will be prompted to create a configuration file, this is where you store basic information such as the database credentials. Click on the button</li>
<li>Click on &#8220;Let&#8217;s go&#8221; to enter the information</li>
<li>Enter the database information. You should have all of the details from when you created the database earlier. You can also change the prefix of the tables created in the database, but &#8220;wp_&#8221; will do just fine <br /><div id="attachment_825" class="wp-caption alignnone" style="width: 501px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/10/install-step3.png"><img class="size-full wp-image-825  " title="Enter the database information" src="http://www.tarekshalaby.com/wp-content/uploads/2009/10/install-step3.png" alt="Enter the database information" width="491" height="315" /></a><p class="wp-caption-text">Enter the database information</p></div></li>
<li>If the database credentials were correct, WordPress will give you confirmation that the tables have been created and the initial data has been added. In some cases, the configuration file is not writable, in which case you will have to manually edit the file to add the database information. You can follow the steps on the <a href="http://codex.wordpress.org/Installing_WordPress#Step_3:_Set_up_wp-config.php">WordPress Codex installation guide</a></li>
<li>Enter the title and email that you would want to use</li>
<li>When all goes well, you will be given a temporary generated password that you will use to enter the administration control panel for the first time. Click on login and enter the credentials that you were just handed<br /><div id="attachment_822" class="wp-caption alignnone" style="width: 490px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/10/800px-install-step6.png"><img class="size-full wp-image-822 " title="Temporary account details. Change password after logging in" src="http://www.tarekshalaby.com/wp-content/uploads/2009/10/800px-install-step6.png" alt="Temporary account details. Change password after logging in" width="480" height="272" /></a><p class="wp-caption-text">Temporary account details. Change password after logging in</p></div></li>
</ol>
<p>Now&#8217;s the time to access the control panel and get ready to start blogging!</p>
<h3>Step 5: Configure WordPress</h3>
<p>The first time you enter the admin panel, you should change your password to something you can remember (you&#8217;ll be reminded to do so anyway). It&#8217;s also good practice to add another user to replace &#8220;admin&#8221; so that your alias appears with the posts. If you want to create another administrator account, click on &#8220;Users&#8221; from the menu on the left, then add, then enter the information. Don&#8217;t forget to make the user &#8220;Administrator&#8221;. Now that the user&#8217;s created, log out, and login with the new username and password. Feel free to delete the original &#8220;admin&#8221; user, now that the blog has a new administrator.</p>
<p>As any beautiful open source tool, there are tons of options that you could go for right after a fresh installation. Having said that, the following are the personal recommended additions/configurations after you&#8217;ve logged in for the first time:</p>
<ul>
<li><strong>Enable Permalinks</strong>: This is by far one of the biggest advantages of WordPress; the simplicity of the process of controlling the URLs generated. If you&#8217;re a frequent blogger, choose year/month/day/title. Otherwise, year/month/title should do fine<br /><div id="attachment_820" class="wp-caption alignnone" style="width: 472px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/10/770px-options-permalinks.png"><img class="size-full wp-image-820 " title="Enable Permalinks: easy and powerful" src="http://www.tarekshalaby.com/wp-content/uploads/2009/10/770px-options-permalinks.png" alt="Enable Permalinks: easy and powerful" width="462" height="359" /></a><p class="wp-caption-text">Enable Permalinks: easy and powerful</p></div></li>
<li><strong>Enable Akismet Plugin</strong>: I&#8217;ve talked about this plugin in my post <a href="http://www.tarekshalaby.com/2009/08/essential-wordpress-plugins/">Essential WordPress Plugins</a> where I&#8217;ve listed and discussed every single plugin used for this website. Akismet is revolutionary in how it automatically detects spam comments and places them in a separate queue that you&#8217;ll probably never need to check &#8211; it&#8217;s never mistaken</li>
<li><strong>Browse/Install More Plugins</strong>: You can check the <a href="http://www.tarekshalaby.com/2009/08/essential-wordpress-plugins/">list of the plugins I use</a>, or you can simply browse the most popular plugins from the &#8220;Plugins&#8221; menu item on the left. You won&#8217;t lose anything in trying out plugins and disabling them if you&#8217;re not satisfied. Almost any website/blog could use popular plugins such as &#8220;All in One SEO Pack&#8221;, &#8220;Contact Form 7&#8243;, &#8220;Social Bookmarking RELOADED&#8221; and &#8220;WP Piwik&#8221; (here&#8217;s why you should be <a href="http://www.tarekshalaby.com/2009/07/piwik-open-source-web-analytics/">using Piwik instead of Google Analytics</a>)</li>
<li><strong>Change Theme</strong>: As attractive as the default theme may seem at first look, it&#8217;s a good idea to go for a different theme. The new version of WordPress allows you to browse the different themes available as if installing plugins &#8211; very convenient. You will find the link to install themes under the &#8220;Appearance&#8221; tab. Otherwise, there are numerous websites dedicated to free WordPress themes that you can install, upload via Filezilla, and activate with the theme menu item</li>
</ul>
<p>Now you&#8217;re golden. You&#8217;ve set everything up, and now you&#8217;re ready to start sharing your thoughts and ideas with the entire world.</p>
<h3>Step 6: Start Blogging!</h3>
<p>You can start by making a test post, just to get acquainted with the interface and features. After that, you may want to go through the following content-related options:</p>
<ul>
<li>Add a couple of <strong>pages</strong> where you will be displaying information that doesn&#8217;t change much (for example, &#8220;About Me&#8221;,  &#8220;Contact&#8221;, or &#8220;WordPress Guides&#8221;)</li>
<li>Decide whether or not you&#8217;re going to be using <strong>categories</strong> (best used for posts that are displayed on different parts of the website. Otherwise, stick to <strong>tags</strong> only). Create your categories from the &#8220;Posts&#8221; menu item</li>
<li>Make <strong>links&#8217; lists</strong> such as &#8220;Blogroll&#8221; or &#8220;Shout out to my people&#8221; where you can share various links with the visitors. The &#8220;Links&#8221; menu item is found on the left and is also very easy to use</li>
</ul>
<p>That&#8217;s it, you&#8217;re done! As you can see, the entire process takes 20 minutes or so, and there are substantial amounts of resources for help and support flooding the net if you need them. Generally speaking, it is a straight-forward process and there&#8217;s very small room for issues and problems.</p>
<h3>You&#8217;re Voice on the Web &#8211; Your Right</h3>
<p>The most important aspect of yet another revolutionary product from the open source community is that it simply acts as a channel that facilities the communication and information exchange between people across space and time regardless of race or origin. It is very important to take advantage of your right as a member of the community of the World Wide Web, the current generations are the first in history to be granted such a privilege. Underestimating its power, or overestimating the technical skills required, is a shame. So get yourself a blog and write about whatever it is you want to blabber about, you have absolute freedom. Beautiful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tarekshalaby.com/2009/10/how-to-create-your-own-blog-a-guide-to-installing-and-configuring-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Essential WordPress Plugins</title>
		<link>http://www.tarekshalaby.com/2009/08/essential-wordpress-plugins/</link>
		<comments>http://www.tarekshalaby.com/2009/08/essential-wordpress-plugins/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 15:08:11 +0000</pubDate>
		<dc:creator>Tarek Shalaby</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[website]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.tarekshalaby.com/?p=527</guid>
		<description><![CDATA[Inspired by Roberto Diaz&#8216;s post (in Spanish), Behind The Scenes, I wanted to list all of the WordPress plugins that I am using across this website, with a brief review of each one. Plugin name/description Rating Akismet By far one of the most popular WordPress plugins. The most technical and detailed word to describe this [...]]]></description>
			<content:encoded><![CDATA[<div class="social4i" style="height:69px;float: right;">
<div class="social4in" style="height:69px;float: right;">
<div class="socialicons s4twitter" style="float:left;margin-right: 10px;background:url(&quot;http://goo.gl/zjqd1&quot;) no-repeat;"><a href="http://twitter.com/share" data-url="http://www.tarekshalaby.com/2009/08/essential-wordpress-plugins/" data-counturl="http://www.tarekshalaby.com/2009/08/essential-wordpress-plugins/" data-text="Essential WordPress Plugins" class="twitter-share-button" data-count="vertical" data-via="tarekshalaby"></a></div>
<div class="socialicons s4fblike" style="float:left;margin-right: 10px;">
<div id="fb-root"></div>
<p><fb:like href="http%3A%2F%2Fwww.tarekshalaby.com%2F2009%2F08%2Fessential-wordpress-plugins%2F" send="false" layout="box_count" width="55" height="62" show_faces="false" font=""></fb:like></div>
</div>
<div style="clear:both"></div>
</div>
<p>Inspired by <a href="http://www.rdiaz.es/">Roberto Diaz</a>&#8216;s post (in Spanish), <a href="http://www.rdiaz.es/general/302">Behind The Scenes</a>, I wanted to list all of the WordPress plugins that I am using across this website, with a brief review of each one.</p>
<table style="border: 0pt solid #eeeeee; width: 100%;" border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr style="background-color: #dddddd;">
<td style="padding: 5px;">
<h3>Plugin name/description</h3>
</td>
<td style="padding: 5px;">
<h3>Rating</h3>
</td>
</tr>
<tr style="background-color: #eeeeee; text-align: center;">
<td style="padding: 5px 5px 0pt;">
<p style="text-align: left;"><strong>Akismet</strong><br />
 By far one of the most popular WordPress plugins. The most technical and detailed word to describe this plugin is: Magic. Without a Captcha, you will never be bothered by spam as it automatically recognizes them and places them in a spam queue that you won&#8217;t need to even visit, because it&#8217;s never been wrong</p>
</td>
<td style="padding: 5px 5px 0pt;">
<h2>9</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>All in One SEO Pack</strong><br />
 A vital aspect of the blog of anyone who wants to attract as many visitors as possible. Through a single admin panel, you customize all of the settings to enhance the Search Engine Optimization of your entire site. Easy to use, and very effective</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>9</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>Contact Form 7</strong><br />
 After a little of getting-used-to, this plugin allows you to place multiple contact forms and completely customize them via the admin panel. No need to program anything, everything&#8217;s done for you.</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>7</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>FancyBox for WordPress</strong><br />
 There are numerous plugins dedicated to displaying images. I chose FancyBox because of its interactive nature, and more importantly, with some minor adjustments, it&#8217;s perfectly valid code (be sure to remove the &#8220;overlay&#8221; which covers the background to avoid CSS errors). Works automatically.</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>7</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>Get Recent Comments</strong><br />
 A simple plugin to display the latest X number of comments in a widget (which I&#8217;ve placed in the footer), giving you the option of controlling the layout</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>8</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>Google XML Sitemaps</strong><br />
 The sort of plugin that, once installed, you forget about it while it does all of the work for you. Whenever there is any change applied to the website, the search engine crawlers are immediately notified in their particular format. An absolute must for anyone wanting to drive traffic to his or her website (which should be everyone)</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>9</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>Really Simple Captcha</strong><br />
 One of the Captcha plugins that work with Contact Form 7. Very simple to use, and only needs to be configured once, as it is integrated with the other plugin</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>7</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>Shockingly Big IE Warning</strong><br />
 For those users who are still convinced that the world is flat, and that the Sun rotates around the Earth, this plugin displays a scary bar across the top urging the user to upgrade to a civilized browser. It&#8217;s a lot of fun, and can help make this world a better place. You can view my <a href="http://www.tarekshalaby.com/2009/06/when-will-ie6-come-to-an-end/">post on the possible end of IE 6</a></p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>8</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>Smart YouTube</strong><br />
 By far the easiest way to integrate a YouTube video with your pre-configured settings. What makes this plugin stand out is that it produces valid XHTML code with any video that you embed. And all you need to do is choose the standard settings via the admin panel, and then paste the URL of any video in your posts adding a &#8220;v&#8221; after &#8220;http&#8221; and <em>voila</em>! standards&#8217; compliant YouTube video embedded just the way you wanted</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>9</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>Sociable</strong><br />
 A plugin that I have discussed in <a href="http://www.tarekshalaby.com/2009/08/sharing-blog-posts-with-sociable/">an earlier post</a>, allowing the visitor to easily share your posts via the numerous social networking websites. With a small fix, it is XHTML valid, and you can use your own icons</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>8</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>SyntaxHighlighter Evolved</strong><br />
 After a bit of research, I have found that this plugin is the best way to display code in your posts. Unlike others, this one is stable, very easy to use/implement, and has a beautiful interface. Sometimes the XML coding can use more coloring for distinction, but we&#8217;ll let that slide</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>9</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>TinyMCE Advanced</strong><br />
 A back-end plugin that allows you to add rows to your WYSIWYG editor when writing/editing posts. The most important feature is integrating tables (as done with this post), which is a feature that it not available with the standard TinyMCE that ships with WordPress</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>7</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>WordBook</strong><br />
 A simple plugin that publishes a link on your Facebook page directing users to your post. It appears in a single line using the WordPress favicon. Looks professional, but can be overlooked by friends and family viewing your Facebook page. Nevertheless, a useful addition to the team</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>7</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>WordPress Popular Posts</strong><br />
 After collecting data on the number of views for each post (discarding those of the admin), it displays the X most viewed posts in a widget. Takes a bit of time to collect data at first, but then works effectively</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>8</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>WP-Piwik</strong><br />
 If you are still not using Piwik for some reason, read my <a href="http://www.tarekshalaby.com/2009/07/piwik-open-source-web-analytics/">post discussing the subject</a>. This plugin allows you to integrate the Javascript code that allows Piwik to collect the data. It makes the code XHTML valid, and works instantaneously. I&#8217;ve tried a couple of others that caused some problems. This one has worked perfectly</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>9</h2>
</td>
</tr>
<tr>
<td style="padding: 5px 5px 0pt;">
<p><strong>WP to Twitter</strong><br />
 There are many Twitter-related plugins for WordPress. I wanted something that automatically tweets when I post a new article, with the shortened URL integrated. WP to Twitter does exactly that. You can customize the tweet that will be made on the same page where you make a new post. Very convenient</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>8</h2>
</td>
</tr>
<tr style="background-color: #eeeeee;">
<td style="padding: 5px 5px 0pt;">
<p><strong>WPtouch iPhone Theme</strong><br />
 Visitors accessing your website via any hand-held or iPhone will probably not be able to view the website properly. This plugin provides them with an interface made specifically for them. Even though it does not resemble the real site in any way, it is an extremely convenient method for the users to read and comment on the actual content</p>
</td>
<td style="padding: 5px 5px 0pt; text-align: center;">
<h2>8</h2>
</td>
</tr>
</tbody>
</table>
<p>The beauty of any open-source project lies in the efforts brought forward by the community supporting it. WordPress has proven to be a revolution in the blogging/CMS world after effectively bringing the best out of everyone and everything in a single place. Those plugins were the ideal fit for me, and if you are looking for something different, there&#8217;s no doubt that you will find your perfect match.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tarekshalaby.com/2009/08/essential-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sharing Blog Posts With Sociable</title>
		<link>http://www.tarekshalaby.com/2009/08/sharing-blog-posts-with-sociable/</link>
		<comments>http://www.tarekshalaby.com/2009/08/sharing-blog-posts-with-sociable/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 13:50:34 +0000</pubDate>
		<dc:creator>Tarek Shalaby</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.tarekshalaby.com/?p=513</guid>
		<description><![CDATA[It&#8217;s refreshing to see scores of blogs and micro-sites on the Internet that are using WordPress. Not only is it the clear leader when it comes to creating personal or professional blogs, but it has also stepped into the realm of CMS-driven websites, and is in many cases the best choice. The free, open-source web [...]]]></description>
			<content:encoded><![CDATA[<div class="social4i" style="height:69px;float: right;">
<div class="social4in" style="height:69px;float: right;">
<div class="socialicons s4twitter" style="float:left;margin-right: 10px;background:url(&quot;http://goo.gl/zjqd1&quot;) no-repeat;"><a href="http://twitter.com/share" data-url="http://www.tarekshalaby.com/2009/08/sharing-blog-posts-with-sociable/" data-counturl="http://www.tarekshalaby.com/2009/08/sharing-blog-posts-with-sociable/" data-text="Sharing Blog Posts With Sociable" class="twitter-share-button" data-count="vertical" data-via="tarekshalaby"></a></div>
<div class="socialicons s4fblike" style="float:left;margin-right: 10px;">
<div id="fb-root"></div>
<p><fb:like href="http%3A%2F%2Fwww.tarekshalaby.com%2F2009%2F08%2Fsharing-blog-posts-with-sociable%2F" send="false" layout="box_count" width="55" height="62" show_faces="false" font=""></fb:like></div>
</div>
<div style="clear:both"></div>
</div>
<p>It&#8217;s refreshing to see scores of blogs and micro-sites on the Internet that are using <a href="http://www.wordpress.org/">WordPress</a>. Not only is it the clear leader when it comes to creating personal or professional blogs, but it has also stepped into the realm of CMS-driven websites, and is in many cases the best choice. The free, open-source web application prides itself in how powerful, yet simple, it is, and it can only become even more successful.</p>
<p>Suffice to say, with thousands of plugins available out there, it is not always ease to take full advantage of the features that are brought to you by the <a href="http://wordpress.org/extend/plugins/">extensions developed by the WordPress community</a>. Some users go overboard with numerous plugins that are not bringing added value, and are therefore inefficient. Meanwhile, others are missing out on the basics. When you&#8217;ve gone online with a blog, it is absolutely vital to attempt to attract the largest crowd possible, and there are various methods at hand. Besides some quality <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">Search Engine Optimization</a>, <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/">sitemap submissions</a>, and permalinks (explained <a href="http://codex.wordpress.org/Using_Permalinks">here</a>), it is crucial to facilitate the way in which the website visitors can share your posts with friends and family.</p>
<p>Any user can simply copy the URL and past it in an IM chat or email. But let&#8217;s not kid ourselves: users of the Web are lazy, and that&#8217;s not going to change anytime soon. If it&#8217;s not sorted out in two clicks, at most, then no one will be bothered. For that reason, you&#8217;d be crazy to skip integrating a plugin that allows users to share your posts via social network websites and the likes. There are a handful of post-sharing plugins out there, the most prominent of which, is <a href="http://wordpress.org/extend/plugins/sociable/">Sociable</a>.</p>
<p>By installing and activating Sociable, you will have automatically placed a row of icons at the end of each post that makes the visitor a click away from publishing a link to your post from sites such as Twitter, Facebook, Technorati, Digg and many more. In fact, the complete list of websites available boasts over 60 options:</p>
<div id="attachment_514" class="wp-caption aligncenter" style="width: 474px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/08/sociable.png"><img class="size-full wp-image-514  " title="Sociable Options" src="http://www.tarekshalaby.com/wp-content/uploads/2009/08/sociable.png" alt="Sociable Options" width="464" height="192" /></a><p class="wp-caption-text">Sociable Options</p></div>
<p>Using the settings page integrated into the WordPress administrative menu, you can configure which ones you would like to appear, and in what order. Moreover, you can opt to place your own icons, as oppose to the standard ones that ship with the plugin. It is as simple as creating a directory, placing the icons in the proper names (follow the standard set by the original icons pack), and enter the URL to the image folder via the settings page. With a wealth of options within reach on all corners of the internet, even if you are not willing to design your own icons, you can download any of the free packs available with an appropriate license.</p>
<p>As a result, any user who finds your post of interest, can easily choose his or her website/service of choice, and spread the word. The downside of the Sociable plugin is a bizarre problem, with a very easy fix.</p>
<h3>XHTML Validation</h3>
<p>A recent update to the plugin changed the <em>classes</em> associated with each icon displayed to an <em>id</em>. That is plain blasphemy as it means that on the main posts&#8217; page, for example, a given id is repeated ten times (once with each post), which causes the XHTML validation to go out the window. You might&#8217;ve spent endless hours and sleepless nights on end to get your website to validate correctly, and with a simple plugin such as Sociable, all your efforts will have gone down the toilet. Interestingly, the plugin originally used <em>classes</em>, and then switched to <em>ids</em>, and then there have been two more updates since, but the plugin remained XHTML invalid!</p>
<p>Not to worry, though, the solution is very simple:</p>
<ol>
<li>From the WordPress control panel menu, click on &#8220;Plugins&#8221;</li>
<li>Find the Sociable plugin, and click &#8220;edit&#8221; underneath</li>
<li>Choose the file sociable.php, and scroll down to the following segment:
<pre class="brush: php; first-line: 693; title: ; notranslate">
/**
 * Start building the link, nofollow it to make sure Search engines don't follow it,
 * and optionally add target=_blank to open in a new window if that option is set in the
 * backend.
 */
 $link .= '&amp;lt;a rel=&amp;quot;nofollow&amp;quot;';
 $link .= ' id=&amp;quot;'.esc_attr(strtolower($sitename)).'&amp;quot;';
 if (get_option('sociable_usetargetblank')) {
 $link .= &amp;quot; target=\&amp;quot;_blank\&amp;quot;&amp;quot;;
 }
 $link .= &amp;quot; href=\&amp;quot;javascript:window.location='&amp;quot;.urlencode($url).&amp;quot;';\&amp;quot; title=\&amp;quot;$description\&amp;quot;&amp;gt;&amp;quot;;
</pre>
<p>And replace the &#8220;id&#8221; with &#8220;class&#8221; as such:</p>
<pre class="brush: php; first-line: 693; highlight: [699]; title: ; notranslate">
/**
 * Start building the link, nofollow it to make sure Search engines don't follow it,
 * and optionally add target=_blank to open in a new window if that option is set in the
 * backend.
 */
 $link .= '&amp;lt;a rel=&amp;quot;nofollow&amp;quot;';
 $link .= ' class=&amp;quot;'.esc_attr(strtolower($sitename)).'&amp;quot;';
 if (get_option('sociable_usetargetblank')) {
 $link .= &amp;quot; target=\&amp;quot;_blank\&amp;quot;&amp;quot;;
 }
 $link .= &amp;quot; href=\&amp;quot;javascript:window.location='&amp;quot;.urlencode($url).&amp;quot;';\&amp;quot; title=\&amp;quot;$description\&amp;quot;&amp;gt;&amp;quot;;
</pre>
</li>
<li>From the settings page, uncheck the &#8220;use Sociable stylesheet&#8221; and use your own classes to make the icons look the way you want. Or you can simply dig into the sociable.css file and change the &#8220;#&#8221; of the links&#8217; names to &#8220;.&#8221; in order to turn them into classes and not ids. However, it is recommended to add the CSS classes to the stylesheet you are already using in order to assure that the icons integrates seamlessly into your design</li>
</ol>
<p>Remember that after a plugin update, if the author has not fixed the problem himself, you would needt to make the change again. Even though it might seem like a bit of a hassle, the &#8220;fix&#8221; is done in a couple of minutes, and is well worth the effort. Providing users with the ability to share your posts is an absolute must, and Sociable is by far one of the best plugins to do so.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tarekshalaby.com/2009/08/sharing-blog-posts-with-sociable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 2.8: Brilliant Baker</title>
		<link>http://www.tarekshalaby.com/2009/06/wordpress-2-8-brilliant-baker/</link>
		<comments>http://www.tarekshalaby.com/2009/06/wordpress-2-8-brilliant-baker/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 14:42:53 +0000</pubDate>
		<dc:creator>Tarek Shalaby</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.tarekshalaby.com/?p=115</guid>
		<description><![CDATA[If you&#8217;re like me, then you&#8217;d know that anyone who doesn&#8217;t try his or her best to use WordPress with any website developed is just crazy. The guys over at WP have spoiled us with significant improvements and developments with every new release, and this time it was not different. WordPress version 2.8, known as [...]]]></description>
			<content:encoded><![CDATA[<div class="social4i" style="height:69px;float: right;">
<div class="social4in" style="height:69px;float: right;">
<div class="socialicons s4twitter" style="float:left;margin-right: 10px;background:url(&quot;http://goo.gl/zjqd1&quot;) no-repeat;"><a href="http://twitter.com/share" data-url="http://www.tarekshalaby.com/2009/06/wordpress-2-8-brilliant-baker/" data-counturl="http://www.tarekshalaby.com/2009/06/wordpress-2-8-brilliant-baker/" data-text="WordPress 2.8: Brilliant Baker" class="twitter-share-button" data-count="vertical" data-via="tarekshalaby"></a></div>
<div class="socialicons s4fblike" style="float:left;margin-right: 10px;">
<div id="fb-root"></div>
<p><fb:like href="http%3A%2F%2Fwww.tarekshalaby.com%2F2009%2F06%2Fwordpress-2-8-brilliant-baker%2F" send="false" layout="box_count" width="55" height="62" show_faces="false" font=""></fb:like></div>
</div>
<div style="clear:both"></div>
</div>
<p>If you&#8217;re like me, then you&#8217;d know that anyone who doesn&#8217;t try his or her best to use WordPress with any website developed is just crazy. The guys over at WP have spoiled us with significant improvements and developments with every new release, and this time it was not different. <a href="http://codex.wordpress.org/Version_2.8">WordPress version 2.8</a>, known as Baker, brings many new features which are sure to come in handy.</p>
<div id="attachment_117" class="wp-caption alignleft" style="width: 220px"><a href="http://www.tarekshalaby.com/wp-content/uploads/2009/06/themeEdtiio.png"><img class="size-medium wp-image-117" title="WordPress Theme Editor" src="http://www.tarekshalaby.com/wp-content/uploads/2009/06/themeEdtiio-300x289.png" alt="The new WordPress Theme Editor" width="210" height="202" /></a><p class="wp-caption-text">The new WordPress Theme Editor</p></div>
<p>Upgrading is done with a few clicks and is smooth.</p>
<p>The one change I immediately noticed, and consequently realized how much I had been longing for it, is the Theme Editor page, which now shows colored code and line numbers. No matter how much planning you do, and how much work you finish on your local machine, as soon as your WordPress is on your remote server, there&#8217;s always a good bit of tweaking and fixing left. It has now become much easier to identify problems and fix them right away.</p>
<p>Just as you can browse and install plugins, you can now do the same with themes. Any real developer would not find this of much use at all, but for the average user who has decided to go independent and open-source, it&#8217;s a relief to know he or she can do everything directly on the spot, without having to worry about downloading, and then FTPing to the server.</p>
<p>The drag and drop has also been improved, making it more intuitive. Moreover, you now have control as far as the layout of the admin components is concerned, and can arrange things as you see fit. I&#8217;ve noticed however that the Wassup statistics plugin caused some minor problems, which were no longer there after after deactivating it. So I suspect Wassup to be releasing an update to make it compatible with Baker (either way, you should be using <a href="http://www.piwik.org">Piwik</a> via the <a href="http://www.phpmyvisites.net/">phpMyVisits</a>).</p>
<p>Once again WordPress has raised our expectation, and once again it has outdone itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tarekshalaby.com/2009/06/wordpress-2-8-brilliant-baker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

