So this is one of those posts where I blog something to remember it for that inevitable day when the same problem will plague me years down the road.
The issue is that google doesn’t like custom error pages and keeps them in their index without establishing that in fact they are bad pages that drag down the overall quality of a website. For a dynamic, database-driven site, inevitably the info on a website changes over time. Generating pages that forward on to the new version, or give an informative error message help visitors stay on track on the website without getting too terribly lost. The following line of code helps tell google that, whatever’s happened to the page it’s looking for, it’s not there now.
<cfheader statuscode=”404″ statustext=”File Not Found”></cfheader>
As long as you’re at it, you might as well have the page sending you a message about the error so you can go hunt it down and fix it for future users.
<cfmail to=”email@example.com” subject=”Error: Outdated or Invalid link” from=”firstname.lastname@example.org” type=”html”><br />Someone just encountered the following error:</cfmail>
Offending Script: #cgi.SCRIPT_NAME#
Query Info: #cgi.QUERY_STRING#
Referring Page: #cgi.HTTP_REFERER#
So I am one of the first to tout the exceptionally efficient coding shortcuts associated with ColdFusion and in most cases it makes the job of a webmaster much easier. All of that is true if the web server is running properly as intended. Lately, however, I have come up against a suite of problems with keeping the server going without hitting all sorts of JRUN errors.
I host a personal coldfusion photo gallery with an online company Host Department and several times a week, one of the other users placed on the same server crashes it and it goes down for everyone. I’ve also been working on another ColdFusion driven website for a non-profit organization. In this case it dies about once a week or so without explanation or note in the logs. If the server simply restarted, that’d be one thing, but it stalls and can’t do anything to automatically fix itself.
Now, admittedly this is something that can be fixed in each of these cases, that is the role of those in charge of the server. It’s part of my job to set it up so it doesn’t break in these ways. That said, with the number of posts on this issue floating around the web, you’d think a more robust implementation would be possible.
ColdFusion is supposed to be simple and easy while retaining its power and flexibility. Dealing with server issues like this strike me as neither simple, nor powerful and send me looking for more stable alternatives.