<?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>SEO Lion’s Blog &#187; Content Management</title>
	<atom:link href="http://www.seolion.com/category/content-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.seolion.com</link>
	<description>Another SEO&#039;s scratch pad !!</description>
	<lastBuildDate>Thu, 17 Dec 2009 14:10:06 +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>SEO For WordPress &#8211; Making your blog SEO Friendly</title>
		<link>http://www.seolion.com/seo-for-wordpress-blog/</link>
		<comments>http://www.seolion.com/seo-for-wordpress-blog/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 07:37:26 +0000</pubDate>
		<dc:creator>seolion</dc:creator>
				<category><![CDATA[Content Management]]></category>

		<guid isPermaLink="false">http://www.seolion.com/seo-for-wordpress-blog/</guid>
		<description><![CDATA[Comparing a website, optimized for SEO and a default installation of WordPress, one can conclude that it lacks friendliness in SEO, except the fact that it uses feeds, proper navigation and linking, pinging search engines etc. Some of the things I observed are, - You can&#8217;t have a separate title other than the post title, [...]]]></description>
			<content:encoded><![CDATA[<p>Comparing a website, optimized for SEO and a default installation of WordPress, one can conclude that it lacks friendliness in SEO, except the fact that it uses feeds, proper navigation and linking, pinging search engines etc.</p>
<p>Some of the things I observed are,<br />
- You can&#8217;t have a separate title other than the post title, and the title tag gets messed up with so many things. You don&#8217;t have full control on title by default.<br />
- Meta Tags.. Default installation does not come with options to add/edit meta tags<br />
- Content duplicity &#8211; The same content repeats in category pages, archives etc..</p>
<p>If you agree with above, I have few tips for you to improve the SEO performance of your blog. The knowledge level required to try my tips is entry to medium level.</p>
<p>First customization, you might do is changing the look and feel of your blog. WordPress themes are available for free download from many designers and it does not need any code editing capabilities to change a WordPress theme.</p>
<p>Help crawlers to index your page properly &#8211; Validating XHTML code</p>
<p>Most of the themes will be coded in XHTML which is very good for SEO as it reduces the document size a lot for better crawlability. But what I observed is most of the theme developers don&#8217;t bother much to validate the XHTML code, resulting in lot of W3C validation errors. This is as bad as keeping a theme based on HTML and tables. Get the themes validated and all the errors fixed for better SEO performances.</p>
<p>This blog currently contains valid XHTML code which you can verify yourselves..</p>
<p>Choosing the right permalink structure</p>
<p>You might know about Apache&#8217;s mod_rewrite or URL rewriting. Make sure that you host your blog in a server running on Linux OS and using Apache web server configured with mod_rewrite for making use of the URL rewriting features.</p>
<p>For enabling your custom permalink structure, you need to simply add a .htaccess file into your hosting directory.</p>
<p>Go to Options &gt; Permalinking on your WordPress admin.</p>
<p>There you can specify which way your URL&#8217;s should look like. I prefer site.com/postname/ as the URL for my post instead of site.com/2007/06/05/postname/ . In former, you are pushing your page name to the start of your URL string. The more you push your main keyword to the front, its advantageous for you in terms of SEO (My View).</p>
<p>So you need to just select â€˜custom&#8217; permalink option and should give /%postname%/ in the field provided. Once you update the permalink structure by clicking below, WordPress will instruct you to update content of your .htaccess file (if exits) or create new one. Just copies the content suggested by WordPress and use it.</p>
<p>If you need .html extension for your posts, you can just enter /%postname%.html in the custom permalink field.</p>
<p>For more info on permalink structures, refer http://codex.wordpress.org/Using_Permalinks</p>
<p>Title and Meta Tags &#8211; Beginner Level</p>
<p>By default a title tag will look in following form in a post.</p>
<p>SEOLion &#8216;s Personal Blog Â» Blog Archive Â» Basic On Page Optimization for beginners</p>
<p>Here your main keyword will be pushed far from the starting character of your title and by default it contains the title you have given for your post.</p>
<p>Here is where you can use SEO plugins available for WordPress. For example I am using a plug-in called â€˜Another Title&#8217;. You can download and install this plugings from WordPress site. This title will make the same post title to appear in the title tag and blog name and other words are not displayed in title.</p>
<p>For meta tags, I am using a plugin â€˜add meta tags&#8217;. All these plugins you can download from WordPress site.</p>
<p>Title and Meta Tags &#8211; Medium to Expert Level</p>
<p>The above method is for beginners. And what I am explaining below is for experts who can do a bit of PHP programming, and want to have a customized title other than the default post title to appear.</p>
<p>In WordPress, you can define custom fields. While making a post, you can enter value for a custom field and it can be retrieved in the blog post for display.</p>
<p>For example, you can give a â€˜key&#8217; for your custom field as â€˜my_own_title&#8217; and give the full title in the value field.</p>
<p>This custom field will be saved when you save the post.</p>
<p>Now you can edit your theme files, particularly the header and put this small code where you want to display the value you just entered.</p>
<p>&lt;?php if(is_single())<br />
{<br />
echo get_post_meta($post-&gt;ID, &#8220;my_own_title&#8221;, $single = true);<br />
}<br />
else<br />
{ ?&gt;<br />
&lt;?php bloginfo(&#8216;name&#8217;); ?&gt; &lt;?php if ( is_single() ) { ?&gt; Â» Blog Archive &lt;?php } ?&gt; &lt;?php wp_title(); ?&gt;<br />
&lt;?php<br />
}</p>
<p>This code will check whether you are viewing a single page/post or a category page or an archive page. If it&#8217;s a single post or page it will retrieve the custom field value for â€˜my_own_title&#8217; and display it.</p>
<p>The custom field is really a very handy option in case you would like to store custom alt tags or header tags for your page. Similar way you can keep custom fields for keywords and description.</p>
<p>I am using a plugin called â€˜custom field gui&#8217; which you can customize and make the custom fields to get displays as usual fields in the post creation page.</p>
<p>Avoiding Content duplicity</p>
<p>You can add the following code to display only an extract of the post in archive and category pages. The actual post only will contain the complete post contents. This can help you coping with Content duplicity issues.</p>
<p>In WordPress loop, there is a portion to display the actual post content.</p>
<p>It will look like</p>
<p>&lt;?php the_content(__(&#8216;(more&#8230;)&#8217;)); ?&gt;</p>
<p>Or</p>
<p>&lt;?php the_content(); ?&gt; Etc..</p>
<p>Modify the above to</p>
<p>&lt;?php if(is_single()) {<br />
the_content();</p>
<p>} else {<br />
the_excerpt();<br />
}<br />
?&gt;</p>
<p>Here this code will check whether the current page is a single post or archive or a category page. If it is single, it will display full post content.</p>
<p>While creating the post/page, there is a provision to add the excerpt for that particular post/page. An excerpt is similar to a short description of that page/post. If an excerpt is present, it will be shown in above case when a category or an archive page is loaded. If excerpt is not present, WordPress will show few starting lines of the post in the place of excerpt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seolion.com/seo-for-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using WordPress as a CMS</title>
		<link>http://www.seolion.com/wordpress-as-cms/</link>
		<comments>http://www.seolion.com/wordpress-as-cms/#comments</comments>
		<pubDate>Mon, 26 Feb 2007 19:45:39 +0000</pubDate>
		<dc:creator>seolion</dc:creator>
				<category><![CDATA[Content Management]]></category>

		<guid isPermaLink="false">http://www.seolion.com/wordpress-as-cms/</guid>
		<description><![CDATA[When you hear the name wordpress, what comes in your mind is a blog as it has become widely used blogging software. But it is much advanced software than a simple blogging tool where you can have a blog post live within a flash. WordPress has support for pages as well as posts. Pages, well [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">When you hear the name wordpress, what comes in your mind is a blog as it has become widely used blogging software. But it is much advanced software than a simple blogging tool where you can have a blog post live within a flash.</p>
<p class="MsoNormal">WordPress has support for pages as well as posts. Pages, well you would have used pages in wordpress to create an &#8216;About Us&#8217; page or a contact page, but with an extensive use of the page feature of wordpress you can have a custom made CMS up and running.</p>
<p class="MsoNormal">I started as a newbie in wordpress a few months ago, setting up this blog with my nickname. Recently I got a new project from my work place to develop a custom made CMS. I am not familiar with Drupal or mambo, but I have seen in digital point forums that wordpress can be used as a CMS, but I couldn&#8217;t find a tutorial on how to do that.</p>
<p class="MsoNormal">Before starting the project, I wanted some match practice, so I decided to convert one of my websites into a simple CMS system.</p>
<p class="MsoNormal">In wordpress, by default home page displays a number of posts from the recent one you have just made. But wordpress is developed by intelligent people who have kept provisions to make the home page or any other page as we wish.</p>
<p class="MsoNormal">First thing you need to know is that, its the theme pages which is getting displayed in the front end when you view a page or post, so our starting point is the custom theme you have selected for your blog / cms website.</p>
<p class="MsoNormal">Basically one will find following files in your selected theme folder</p>
<p class="MsoNormal"><span>            </span>* style.css</p>
<p class="MsoNormal"><span>            </span>* index.php<span>    </span></p>
<p class="MsoNormal"><span>            </span>* header.php</p>
<p class="MsoNormal"><span>    </span><span>        </span>* sidebar.php</p>
<p class="MsoNormal"><span>    </span><span>        </span>* footer.php</p>
<p class="MsoNormal"><span>    </span><span>        </span>* comments.php</p>
<p class="MsoNormal"><span>    </span><span>        </span>* comments-popup.php </p>
<p class="MsoNormal">First step, you need a home page which is different from the typical blog home page and should contain home page content.</p>
<p class="MsoNormal">Save a copy of index.php as in theme folder and rename it as home.php</p>
<p class="MsoNormal">Go to the dashboard, create a new page entering page content, title everything and enter the page slug as home (i.e the file name you just saved).</p>
<p class="MsoNormal">Edit your home.php</p>
<p class="MsoNormal">You can see a function call something like this in very beginning.</p>
<blockquote>
<p class="MsoNormal">&lt;?php </p>
<p class="MsoNormal">get_header();</p>
<p class="MsoNormal">?&gt;</p>
</blockquote>
<p class="MsoNormal">Now change that to </p>
<blockquote>
<p class="MsoNormal">&lt;?php </p>
<p class="MsoNormal">get_header();</p>
<p class="MsoNormal">query_posts(&#8216;pagename=home&#8217;);</p>
<p class="MsoNormal">?&gt;</p>
</blockquote>
<p class="MsoNormal">query_posts is a wordpress function where you can forcibly show a page according to the parameter you are passing. Here the parameter pagename is given as home which the page slug. </p>
<p class="MsoNormal">
<p class="MsoNormal">Once you do this much, save home.php and when you open home page, you will see the home page you created instead of the normal wordpress home page. Of course the content will be what you entered when you created the home page from dashboard.</p>
<p class="MsoNormal">
<p class="MsoNormal">How this happened? Well.. I told earlier, wordpress is developed in such a manner where you can twist wordpress into whatever way you want!!</p>
<p class="MsoNormal">Its called Page Hierarchy in wordpress. Typically wordpress looks for &#8216;slug&#8217;.php for whatever page you create with a page slug. If &#8216;slug&#8217;.php is not present, it shows index.php content. In our case, page slug was home which had priority over index.php when home page was viewed. </p>
<p class="MsoNormal">
<p class="MsoNormal">Now you have successfully converted your blog to look like a CMS in the homepage.</p>
<p class="MsoNormal">
<p class="MsoNormal">Now to make into a complete CMS, I suggest you to use the page feature rather than the categories and posts. Another thing to note is that a page can have child pages just like in normal websites. For example you have a page called Spain and there is a child for Spain, which is Alicante. So you can have a page hierarchy</p>
<p class="MsoNormal">
<p class="MsoNormal">Home -&gt; Spain -&gt; Alicante</p>
<p class="MsoNormal">
<p class="MsoNormal">So you can have a structure like site.com/spain/alicante/ etc</p>
<p class="MsoNormal">
<p class="MsoNormal">next steps are a bit complex as it requires that you go through the function reference of wordpress.</p>
<p class="MsoNormal">Basically you shuld know how to use functions like</p>
<p class="MsoNormal">wp_list_pages</p>
<p class="MsoNormal">get_permalink</p>
<p class="MsoNormal">is_page etc etc (which never ends !!)</p>
<p class="MsoNormal">
<p class="MsoNormal">It took me 2 days to convert my website Cheap Flight  to a simple CMS system even being not a wordpress expert. My strengths are a bit of programming knowledge in PHP and an ability to explore and grasp developer documentations and courage to experiment. </p>
<p class="MsoNormal">
<p class="MsoNormal">I am sure that this one post is not sufficient to explain how I exactly transformed my website into a CMS powered by wordpress, but I will certainly try to put in some more time to explain a bit more.</p>
<p class="MsoNormal">
<p class="MsoNormal">Few pages I referred are</p>
<p class="MsoNormal">
<p class="MsoNormal">
<p><a href="http://www.onlamp.com/pub/a/onlamp/2006/04/20/from-weblog-to-cms.html" title="From Weblog to CMS with WordPress">From Weblog to CMS with WordPress</a> &#8211; Which helped in creating a customized home page<br />
<a href="http://codex.wordpress.org/Function_Reference" title="Wordpress Function Reference">WordPress Function Reference</a> &#8211; A must to see information where you can see the API&#8217;s and select which wordpress functions to use and when.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.seolion.com/wordpress-as-cms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

