Wordpress

The limitations of Hostgator unlimited shared web hosting account

Posted in Wordpress on June 23rd, 2011 by HanaDaddy – Be the first to comment

Recently I was looking to enhance the speed of my baby croc account at the
Hostgator. I have no doubt that the Hostgator is the best hosting service provider with the best customer service. That is true. However, my baby croc account became so slow with the growing additional addon domains. You can host more unlimited domains on a single baby croc account.

Let me talk about what you can do first with the Baby croc shared hosting account.

  • Unlimited disk space : my current disk space usage is about 8 GB
  • Unlimite email account : I do not have many email accounts, because it’s headache to maintain multiples email accounts. I would rather recommend to use Google App service
  • Unlimited bandwith : Current monthly transfer records shows that I used over 16GB
  • You can add unlimited addon domains meaning that you can add additional domain with wordpress to the same account without extra charges.
  • You can maintain DNS services for your domain.
  • CPanel, SSH access

It’s so attractive with unlimited disk space, bandwidth, addon domains, and it’s so cheap! It’s only about 7 dollars per month. What more anybody would want form a hosting service?

The baby croc or shared hostings is basically that you are sharing the server with other people. It is not clear how many people are sharing the server together, but it is clear that there are some limitations on what you can do.

Here are some of the limitations

1. The maximum PHP memory size is 64 M per execution.
64MB memory is still amazing, but you can not allow more than that. When you enable ‘php.ini quick config’ in the CPanel, the PHP will read in the php.ini file in your home directory. You can actually edit the file and set ‘memory_limit’ to more than 64M, but in fact memory limit error will occur if more than 64M is used.

2. The maximum number of simultaneous processes are 25.
This is the biggest problem that I am experiencing. If the simultaneous process goes over 25, the web request will result 500 Internal Server Error. If you’re WordPress site is slow and have many simultaneous visitors, many of them will see the 500 Internal server error. I am having problems with one of my WordPress site which has some plugins utilizing curl functions. When the remote site is unreachable, the curl function is basically waiting for the reply and does not timeout automatically. So this process will idle and eats up available processes slots. And eventually my visitors will soon see 500 error pages when maximum available processes are all used up. You have to login to your CPanel and manually kill the idling processes.

One way to solve is to define the Conneciton timeout setting for curl function.

curl_setopt($session, CURLOPT_CONNECTTIMEOUT, 10); //10 seconds time out

3. Does APC work with Shared Hosting?
For security reason, the suPHP is used. And that is fine, but the real problem is that any kind of PHP opcode cache solution will not work including APC. I have searched everywhere to find the solution to implement APC or any similar solution to speed up the PHP processing, but I found that it is not possible under suPHP. APC or opcode cache solution stores binary opcode data in the memory space to speed up the next processing of the PHP resource. However, under suPHP this is meaningless , because each PHP processes are separate processes and won’t be recognized.

By default the php.ini does not come with apc.so file , but I was actually able to install apc.so file and I succeeded to show APC in the phpinfo() result page. And ran some benchmarking software to compare the speed with and without apc.so library enabled. But basically there was no difference in the processing speed. (If you are interested in trying this yourself, let me know)

4. FastCGI can be activated easily.
FastCGI is well known for enhancing PHP processing speeds by running number of persistent processes to handle the requests all the time. You can activate FastCGI by adding below line into your .htaccess file in the document root directory.

AddHandler fcgid-script .php

However, I do not recommend you to activate this unless you are on the VPS or dedicated server. On the shared hosting account, you can have only upto maximum 25 processes. With FastCGI enabled, those FastCGI php processes will take available slots and you have much less simultaneous process slots. Also your website eventually becomes unstable and you would soon see 500 Internal Server Error message.

So I have spent some time to find a way to speed up my WordPress sites , but all the well known methods were all failed.

However, the best method for me was to use ‘W3 Total Cache’ plugin . It is little bit confusing when you first try to set the settings with all the options. But I only recommend to use Page Cache. Database cache will create so may files in the disk which will increase the number of inodes. (There is limit on the number of inodes you can create under Hostgator Shared account) But the result is amazing!

If you know a good tip on speeding up PHP process under Shared hosting account, let me know!

Thank you for visiting wpmarking.org.

Amazing High Quality WordPress Themes – Absolutely Free!

Posted in Wordpress, Wordpress Themes on March 9th, 2011 by HanaDaddy – Be the first to comment

Hello everyone, I was searching for free WordPress themes for my next project. And I started from WordPress.org’s Free Theme Directory. But eventually disappointed at the quality of the their free themes. I mean they are OK, but not good enough in terms of the qualities even the popular ones. So I have spent some time checking out the Google results for the “wordpress themes” keyword one by one.

And found these gems. High quality wordpress themes which are absolutely free.

First, check out these goodies from popular “For Purchase” themes provider ‘woothemes’. They have some free themes which are nice. Actually these free themes have been available for some time now, but they still look good. Just remember to select “Free” from the selection box. So you can browse only the free themes.http://www.woothemes.com/themes/free/

woothemes

Now here is another great site that provides High quality wordpress themes. There are 11 themes right now but it seems the collection is growing as time goes by. Their themes are all WP 3.0 compatible , supporting menu management. And they are absolutely free! I checked out all the themes and loved them all. I really appreciate site5.com for sharing the beautiful themes with all of the Internet users. Cheers to site5!
http://www.site5.com/wordpress-themes/
site5

Please share with us if you know any high quality WordPress theme sites. Thank you.

Updated: Actually you can find a lot more High quality free wordpress themes by googling “free high quality wordpress themes”. Here are some of the results. It’s surprising that there are so many high quality themes.

Top 5 WordPress Plug-in for Internet Marketing – Google XML Sitemaps

Posted in Wordpress, Wordpress Plugins on October 16th, 2009 by HanaDaddy – 1 Comment

Are you familiar with Google Webmaster Tool? If you are not, please take time to register Google Webmaster Tool first. Why ? Because it’s the valuable tool that will show you how Google crawls and indexes your site. By simply registering your domain, you can notify Google to start indexing your new website. You can maintain multiple websites as many as you want. It’s free. Also, It will show you the errors occurred while crawling, so you can easily find out why your site is not being indexed.

Now before you submit your website, it is important to generate sitemap. The Sitemaps protocol allows a webmaster to inform search engines (not only Google) about URLs on a website that are available for crawling. It is made of XML file listing all the files in your website indicating their importance (priority) and  change frequency.

Here is a sample Sitemap XML file.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">	<url>
		<loc>http://wpmarketing.org/</loc>
		<lastmod>2009-10-13T12:28:17+00:00</lastmod>
		<changefreq>daily</changefreq>
		<priority>1.0</priority>
	</url>
	<url>
 
		<loc>http://wpmarketing.org/privacy-policy/</loc>
		<lastmod>2009-10-14T04:40:51+00:00</lastmod>
		<changefreq>weekly</changefreq>
		<priority>0.6</priority>
	</url>
	<url>
		<loc>http://wpmarketing.org/2009/10/top-5-wordpress-plug-in-for-internet-marketing-all-in-one-seo-pack/</loc>
 
		<lastmod>2009-10-13T12:28:17+00:00</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.4</priority>
	</url>
	<url>
		<loc>http://wpmarketing.org/2009/08/fighting-adblock/</loc>
		<lastmod>2009-10-13T04:58:18+00:00</lastmod>
 
		<changefreq>monthly</changefreq>
		<priority>0.2</priority>
	</url>
 
        <!-- cutting off . It's too long to show here -->
 
	<url>
		<loc>http://wpmarketing.org/about/</loc>
		<lastmod>2009-08-05T12:08:20+00:00</lastmod>
		<changefreq>weekly</changefreq>
		<priority>0.6</priority>
	</url>
 
</urlset>

Basically, it is not that difficult to create the file, but tedious and lots of labor may be involved if done by hand manually. Especially for the blog site with frequent article posting, you will need a plug-in for that which would update the Sitemap automatically. So here is Google XML Sitemaps plug-in.

xml-sitemap-option1

Basically his plug-in will create a XML-Sitemap of your WordPress blog. It will include all the WordPress pages and posts and even external pages that you defined. The sitemap is automatically updated whenever you modify any page or post, so it’s just convenient. It also notifies Google, Bing, Yahoo, and Ask.com automatically. You can’t ask for more.

It works pretty well right after the activation, but it is possible that you may need to create a file named sitemap.xml and/or sitemap.xml.gz in your WordPress root path and make them writable by webserver (If you are using Hosting providers with up-to-date system, you wouldn’t have problem).  And the default settings are good enough so you should not do anything else. But if you want to rebuild the sitemap, click on the ‘rebuild the sitemap manually’ link marked with Red box in the above image.

By default, Google XML sitemaps is automatically calculate the priority of each posts using the comment count of the posts. If you want to custom define the priority,  you can select ‘Do not use automatic priority calculation’ option in the ‘Post Priority’ group box.

xml-sitemap-option2

Then you can use Priorities group box to specify custom priorities.

xml-sitemap-option3

You can easily check the sitemap by adding ‘sitemap.xml’ at the end of your WordPress URL. For example , http://wpmarketing.org/sitemap.xml . Here is the output.

xml-sitemap

Now that you have the sitemap ready,  you can go to your Google Webmaster Tool account and add your sitemap.

google-webmaster-sitemap

One extra feature would be nice – To be able to define priority per post and page. I hope the author is planning to add this feature soon.

Next plug-in will be about Plug-in for Google Analytics. Google Analytics is a free web statistics application provided Google.

Thank you for visiting wpmarketing.org

* Google XML Sitemaps Website : http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/

* References: List of other Sitemap generator tools (Not just for WordPress): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators