If you have ever bought small shared web hosting packages you'll know that resources are so limited that you ought to either give up on the most complex features or rely on external resources. This is especially true when you have multiple websites hosted under the same small package.
For this guide, I interviewed Marc Werne, staff member of Linux hosting provider Gigatux.com. Many of the pearls of web hosting wisdom in the guide include Marc's advice to a wiser management of your account resources.
1. Choose a lightweight CMS
You may want to use Joomla or Mambo so badly, but if your hosting account is less than 500MB in quota, you may want to reconsider your choice.
WordPress or Drupal, for example, would make a lightweight, flexible alternative that will save you MBs of web disk and bandwidth. Often less is more and lightweight doesn't equal less functional. Make a chart of your alternatives and choose the CMS that mostly suits your needs and your hosting package.
2. Use miniBB instead of SMF
MiniBB only takes 1.77 MB against the 11.38 MB of SMF, yet it's a complete forum solution with a meaty repository of add-ons, extensions and plugins.
Not fond of miniBB?
There are several lightweight alternatives against bigger forum scripts. PunBB, FluxBB and AEF to cite a few. Also, plan the scope of your forum before installing any solution: if your goal is to reach thousands to millions of users, an upgrade of your hosting package may be required. If you want to keep the forum staff-only or aimed at a small number of users, by all means use the resources you have available at your advantage.
3. Use Google Apps for your Webmail instead of your host's webmail program
In addition to using email forwarder on Gmail, Google gives webmasters the possibility to setup their domain name as a base email host by configuring it in Google Apps.
That means that you'll be able to setup up to ten free email user accounts with your domain, each with 10GB of webdisk, such like [email protected] or [email protected]
Why Google Apps?
Because every time you set your webmail quota on your hosting account, that quota will be taken from your global diskspace, and you will convene that to dedicate 100MB of your 500MB package means working against your website growing needs. Use Google Apps at your advantage and save hundreds of MBs you can use to improve your website visitors' experience.
An alternative to Google Apps? There's Zoho Mail, free in its Lite version. Zoho Lite let you setup your domain with up to 3 user accounts, each with 5GB of capacity.
4. Employ a caching system
The majority of small business and personal website owners on a low budget opt for shared hosting packages in order to save on investment. Sometimes an upgrade is by all means necessary to increase performance and welcome a wider audience and the traffic it generates, but if you can't, you can save server resources by employing a caching system that doesn't overload your CPU.
WordPress users can install W3 Total Cache but if you don't use WordPress you should try to optimize your website cache with the tools made available by your CMS vendor.
For instance, Joomla can count on four cache optimizers and Drupal has several cache performance tools as well. See point #10 to view a list of caching software that puts more load on servers and is to avoid. Also, remember to discuss anything cache-related with your hosting provider; Gigatux, for example, employs a fast caching system already so you don't have to worry about it, but other hosts may not count on many resources. Ask first to avoid issues later.
5. Regularly empty spam content
Get rid of spam in the form of emails, blog comments, pingback URLs and files that overload your servers and database quota.
Do it at least once a week to avoid memory issues (e.g. WordPress comment deletion only works up to a memory of 64MB, after which you'll get a fatal error and you will have to either increase the allowed memory size in your PHP.INI file or in wp-config.php within your WordPress root).
6. If possible, use external databases
If your host allows remote database linking, by all means use it. External databases help lighten usage of your webdisk quota because they store your content outside of your hosting account. However, keep in mind that remote databases “can be quite expensive and a hassle to the end user” – to say it with Marc Werne – because external database hosting is not cheap .
However, there are free solutions you can use for small projects. FreeMySQL lets you setup unlimited databases at no cost (they run on donations). These services are reliable for limited projects, but keep in mind that they may be less efficient with large company websites. Monitor usage constantly and plan potential upgrades if you wish to continue using your external database.
7. Save storage and bandwidth resources with file hosting services
Host all things downloadable on an external hosting service, such as Photobucket, Vimeo, YouTube or 4Shared.
You should not allow your visitors, clients or readers to upload content on your servers if your resources are limited. As an alternative, you may enable Gravatar so your clients or users don't have to upload a profile avatar.
8. Use MailChimp for your newsletter
Install a newsletter software on your limited web hosting account and it will start eating up your disk and bandwidth. Unfortunately there is not much to do about it, and the smallest available newsletter script — OpenNewsletter — is still 640Kb and you'll have to count in all the stored issues, too.
But you can rely on external services once more. MailChimp is a complete newsletter solution starting at zero cost if your target audience is less than 2,000 subscribers and you aim at sending up to 12,000 emails per month.
All templates can be customized so you don't need to host your own, and you can integrate the newsletter with Facebook.
Good alternatives to MailChimp are Constant Contact and BenchmarkMail, whose only limit is given by subscription options – people can only signup from your form.
9. Use SurveyMonkey for your user surveys
As with newsletters, survey software can get heavy for your limited resources. In my experience, SurveyMonkey makes a valid, free alternative when you need to send a quick survey to a restricted number of people. For larger audiences, the monthly fee starts at $17 ($204/year) so the investment is still affordable for low-budget companies whose newsletters play a central role in their business.
You could try KwikSurveys and Smart Survey, too. They're both free and offer interesting features, such as in-survey picture insertion and competitions.
10. Don't use WP Super Cache or other CPU consuming WP plugins
Pearl of wisdom #4 suggested that you use a caching system in the form of extension or plugin to improve your website performance without sucking up too many resources. Now I seem to give you contradictory advice: why not using WP Super Cache, a well-known WP plugin for caching your website? The answer is in this specific plugin performance: WP Super Cache consumes a lot of CPU and it will crash your servers if you run on a limited package. Other non-caching but CPU consuming WP plugins are:
- Better WP Security (increases page load time)
- All in One SEO Pack (old versions cause higher load spikes)
Consider installing a WordPress plugin called P3 (acronym for Plugin Performance Profiler) to keep track of how much CPU resources your plugins are using. Disable problem plugins as soon as you find out they hinder your CPU resources— some hosting providers will suspend your account if they find out, and at best your users will stumble upon annoying 500 internal server errors when trying to load your pages.
11. Be wary of abuses
Marc Werne of Gigatux advises to “pick your clients carefully” because “there are many clients out there that will abuse resources and use services for undesirable reasons (e.g. spamming or sending outbound attacks). This will help you to make the most of your limit resources and not waste time and money on unprofitable customers.”
What kind of abuses are we talking about?
- Uploading of illegal files including PDFs, videos, audio and software
- Spam and mass e-mailing attacks
- Bandwidth and webdisk eaters (massive hotlinking and FTP hijacking)
Anti-spam plugins and up-to-date software usually are enough to prevent abuse, but check with your clients if you suspect bigger risks. Dishonest clients should be blocked and, at the extreme, reported to authorities.
12. Limit blog comments to valuable feedback
If your database quota is limited, you can restrict approved blog comments to valuable feedback or to prominent readers you want to engage with professionally. You can reply to the other comments via email or publicly in a blog post. This is a very extreme measure, so use it carefully and sparingly. The major risk is that you will lose traffic and reputation among bloggers and readers and get less feedback over time. Always forewarn your visitors about the reasons behind your heavy comment moderation, explain your current hosting and budget issues and promise email replies. Of course, be loyal to word given.
13. Regularly download and delete log files
Log files were created to keep you informed of your website health, but there's no use of them on the server: if you don't download and remove them at least once a week, their size will grow to occupy several megabytes to a GB. This is especially true of two cPanel logs:
The error_log file usually includes dynamic errors such like PHP warnings, database errors (illegal collations, etc.) and spam comments that didn't go through. Check this file weekly for errors and warnings, then remove it.
The /awstats/ folder, on the contrary, contains all access logs and statistics logs for your website. You should disable the AwStats software in your account to avoid webspace usage increase as the program automatically stores its stat files, or if you can't because of restricted privileges, you should contact your host and ask to disable all analytics software.
14. Keep your hosting account clean and free of errors
Sounds tough? Here I have a checklist for you:
- Always keep your site software up to date
- Regularly delete logs and obsolete files
- Get rid of spam mail and comments
- Uninstall software you no longer need
- Run an antivirus on your hosting account
- Report hacks and hijacking attempts to your hosting provider
Another way to keep your hosting account healthy and functional is to use a script installer instead of manually installing all software you need to get your site running. Make sure your host is willing to help you if you have trouble configuring your scripts.
15. Always, always keep your software up to date
As Marc Werne says, “a lot of customers are using old OS Commerce stores which don't even work with PHP 5.3. Who knows what security exploits might be in there.” Software updates truly are the core of your hosting account safety: don't resist updating your CMS or forum solution just because the new version is a few megabytes heavier. If disk space is a real issue for you, migrate your database to a new, lightweight solution. This is a healthiest, safest option for you than run your site on bugged software.
The importance of decentralization
You could notice that most of the tips in the list was about using external resources to lighten the load on your host's servers. This is nothing but a very basic form of decentralization. Cloud computing is based on the same principle and commonly most hosting providers rely on more than one server to ensure higher performance. You should really make an effort to decentralize your resources as much as possible in order to make them last.