In this case the Google webmaster crawl reporter was indicating a large number of pages in a Drupal site as unreachable - 500 error. Users however could access the problem pages without difficulty or delay.
Looking at the Apache logs revealed that even though the user requests were being fulfilled each was indeed generating an Internal Server error 500 along the lines of:
PHP Parse error: syntax error, unexpected T_STRING, expecting ')' in /var/www/html/drupal6/sites/all/modules/cck/content.module(1652) : eval()'d code on line 1
Wire Shark revealed that although the HTTP status code was 500 the response did include a valid HTML body. Google obviously choose to respect the status code whilst the browsers took the HTML and ran. Presumably the 500 error was not occurring at a stage that was corrupting the entire page.
The error was caused by the evaluation of malformed php embedded in a CCK node.
Post new comment