There is no such thing as a bulletproof server, site or web platform. If anyone tells you differently, they are lying to you and probably trying to sell you something. Hardware can always break. A firewall can always be hacked. An admin password can always be brute force cracked...theoretically. So where do we begin looking for the problem? Let's break it down into three major areas to start with.
The Server
Getting your server set up right to begin with can prevent many problems before they ever start. Often, however, you will be using a hosting company that doesn't give you a lot of freedom with how things are set up. You should still know how to recognize when you need to call your hosting company. Also, choosing a good web host for your Joomla sites is key. You can check some recommendations we provide on our Recommended Hosts page.
500 errors are commonly due to a problem with server setup. This could be because of a PHP error in reality, but it often means that you need to ask your hosting company to alter a setting to make PHP work more smoothly. The first step would be to log in to the back end of Joomla and go to the System Information page under the Site tab. Here you will find the version of PHP you are currently running. Make sure it's the correct version for whatever version of Joomla that you are running.
Permissions are another issue that can cause problems both on the front end as well as the back end of Joomla. In general folders or directories should be listed at 755 and files should be listed at 644. If you have trouble updating extensions or installing new ones, you might check the directory permissions. Never leave directories set to 777 in order to install something as this is a major security risk. The good thing about this problem is that it's relatively easily fixed. Akeeba Admin Tools has a great feature called "Fix Permissions" built right in.
Certain file settings could also be the culprit of some nastiness on your website. These problems live in an area somewhat between the server and the site, but they often get overlooked if you're in a hurry or you haven't worked with Joomla for very long. Your configuration.php file contains settings that tell your site where on the server to store temporary files and log files. If these directories are incorrectly set, you may start finding some errors on your site. Also, if you're trying to use search engine friendly URLs (SEF) on your site, you need to make sure to copy the contents from htaccess.txt into .htaccess if you're using Apache. If you don't do this, the front end links most likely will not work. Keep in mind that further edits to this file may be necessary depending on your server setup.
The Site
After you've ruled out server issues, you should pay close attention to what kinds of site issues may be involved. This could take a very long time to work through if you don't know what you're looking for, but patience and attention are key. Also, if this is a live site and you need it back up quickly, your best bet may be to seek professional assistance. One place to start that search is our Joomla Developer Listing.
JavaScript issues are one of the most common problems for a Joomla website. As we switch from MooTools to jQuery, we often find that different libraries and variables will clash with each other and break both functionality and display. It's possible to see a similar situation if you are loading multiple copies of jQuery. This is actually pretty common since you may be loading a copy from your Template and then a copy from each Extension that uses the JavaScript library as well. One way to check this is to load your site in Firefox and right click anywhere on the page. In the menu that pops up, select View Page Source and scan through that code to find the versions of jQuery being loaded. If you see the same file being loaded more than once on the page, this could be your problem.
The importance of updates can't be overstated. For some Extensions this is more true than others, but since we are dealing with open source software we can expect the internet bad guys to be looking for holes and problems in code. When an update is put out by a developer, they will usually also state what has been fixed or changed in the update. In general, you always want to update when one becomes available.
As we mentioned in the last article in this series, there are times when Extensions will clash with each other for one reason or another. It can be anything from a JavaScript issue to a Plug-in ordering issue. Either way, knowing that you can direct your troubleshooting in this direction can be a lifesaver. Often, the only way to start troubleshooting here is by disabling everything and enabling things one by one. You can also go the other way and start disabling things until the site fixes itself. However you proceed, be patient with it.
The last site specific issue we'll discuss in this article is something that many people already know about but are still guilty of, and it's usually because they're in a rush or are not being careful. When you paste content into Joomla from somewhere like MS Word you are bringing with that content loads of Word specific formatting that WILL break the front end of your website. Make sure you either use the Paste from Word feature of your editor or paste into Notepad, then Copy / Paste into Joomla from there. The way to check if this is your problem or not is to simply examine the actual HTML code in your editor.
The Hack
Now, we are not hacking experts here, but we have seen many bad results from websites being hacked. If you suspect you've been hacked and you don't know how to deal with this situation yourself, I encourage you to call your hosting provider or visit a service such as myJoomla.com to help. If nothing else, you will at least find out that you haven't been hacked. That in itself can help you troubleshoot with a clear head.
There are several kinds of hacks that we see these days. Some are just pages altered to show the world that someone has hacked you. In most cases this is just someone with nothing better to do than destroy some else's work and stress them out. Bad manners. The other types of hacking tend to be less visible intrusions that actually mean to do harm. These come in the form of altered code or even brand new pages uploaded to your server. The code can do anything from allow the attacker to redirect your visitors to their own sites to gaining complete control of your server. One quick way to check whether or not someone has done something that they shouldn't have is to check the modification dates of your files and folders. If you notice that something has been changed when you know you haven't made any alterations, you might want to start looking there.
Conclusion
Most common problems can be avoided by following solid security and maintenance practices. Making sure you have the Joomla core and Extensions updated and that no Extensions are playing badly together goes a long way towards preventing broken websites. It won't prevent every possible problem, because as I mentioned above, there is no such thing as a bullet proof website. How we protect ourselves as webmasters and how ready we are to deal with problems when they arise can make all the difference.
Next time we'll look at a recommended process for getting to the root of a Joomla website problem so you can take your knowledge of "where to start" to the next step of "what to do."
If you have any favorite tips on how you prevent the most common problems with your Joomla websites, post them in the comments below.