lucy24 - 9:17 pm on May 3, 2013 (gmt 0)
in reality it returns a blank page with a 200 server response
That's potentially several different things.
First: If you're using a CMS, your own server will always record a 200: the request has been successfully handed-off to the php script or similar. What matters is the response the user receives.
Second: The blank page may mean that the CMS isn't doing its thing, so bad parameters lead to an empty page accompanied by a 200 header.
Third: In the slightly better alternative, the CMS meant to return a 404 response, but by the time it figured out that the parameters were bad, it had already output some content-- maybe a <head> section, maybe just a humble line break-- so it was no longer able to send the 404.
Fourth: The recipient is receiving a 404. But the CMS isn't supplementing this with the physically visible custom 404 page, so humans see an empty window.
Fifth: ... et cetera.
Your task is to
#1 make sure the CMS doesn't generate any html before it is certain that it's got valid parameters
#2 if parameters are bad, return a 404 response
#3 accompany the 404 response with display of your custom 404 page. The CMS has to do it; the server can't.
Once google discovers that requesting absolutely anything results in a 200, it will go berserk and ask for nonstop garbage. I can always tell when the googlebot is getting suspicious of some directory, because logs show a flurry of requests for /directory/some-random-garbage.html (Oddly, it has never yet become suspicious of directories where I really did forget to code for 404s. But luck does not last forever.)