During the last couple of weeks a new client has been complaining to us that their site was always running slow and timing out. The problem got so bad that they asked us to move it from their hosting company to ours in the hope that things would improve.
Over the weekend I had the pleasure of moving the site. There was only one problem – it had had a Joomla statistics component running inside it for over a year. The database was, without exaggeration, about twenty-five times the normal size of a Joomla database. It took several minutes to download the tables from PHPMyAdmin and then the fun was just beginning. Actually trying to upload such a huge file left the server hanging every time. The only way to upload the database was to edit it into small sections and run the queries secion by section.
I can’t guarantee that 100% of the website’s speed problems had been caused by the statistics component but the extra database tables were so large and cumbersome that they undoubtedly caused some drag on the site.
The statistics collected by the component were reasonably useful, particuarly when it came to tracking the actions of individual users, but that benefit was more than outweighed by the performance problems it caused.
Four Hints for Collecting Statistics on Your Joomla Site:
- Turn off Joomla’s default statistics package except for "Log Search Strings" (its useful to know what people are searching for).
- Don’t use JoomlaStats, BSQ Sitestats or anything else inside of Joomla. Let someone elses’ servers store your mountains of data.
- Sign up for Google Analytics and put the code at the bottom of your template, above </body>
- Use a hosting company that utilizes CPanel and AWStats. Old and somewhat ugly, AWStats is still a great source of data.
For larger companies there are commercial solutions such as Indextools, but small to medium size sites should be able to do a good job of tracking their visitors and conversions with Google Analytics and AWStats, without spending a cent and without turning their database into an 500 hundred pound elephant.