WordPress allows theme designers to place a 404.php file in their theme’s directory. This enables you to provide a custom page content when the WordPress application forwards the 404 over to your 404.php page.
My question is this: Does this constitute a true 404 error that would be registered as such by Google and other crawlers, or does the fact that WordPress intercepts the request and passes it to the physical 404.php page mean that no true 404 has occurred?
WordPress’s default page does not seem send a 404 header, which is required to signal a missing page to a crawler. From WordPress Codex: Creating an error page:
However, directly beneath that is a line saying “this is no longer necessary in the latest versions of WordPress”, whatever that means. You may still want to check whether the 404 page sends any headers using Firefox’s Web Developer Extension or Firebug.
I suggest looking at the headers for the page using the Firebug Net tab, or the Firefox Live HTTP Headers add on. If your server sends HTTP 200, it will be seen as a normal page of course. Using one of these tools, you’ll be able to see whether it is indeed sending a 404 status code for the page.
I can say that in the latest version of WordPress, it does send a 404 status, so Google (and other crawlers) will treat it as a proper dead link.
WordPress does send a 404 header with the current versions (3.1.x).
I regularly see reports or google seeing 404 pages in my google webmaster tools account.
What I use and would recommend to combat 404’s is a plugin called true Google 404 (you can find it here: wordpress.org/extend/plugins/true-google404/ )