I’ve got a WordPress site that includes pages pulled from a different database. The problem is that these other pages return a 404 status code. (The WordPress posts/pages are fine.)
The 404’ed pages display fine, and I removed the “Page not Found” text from the title tag in WordPress. But Googlebot and W3C see the 404 header.
So: wow does one tell Apache to suppress a 404 status? And will Apache override WordPress’s 404 header?
Does that make sense? What other info and things should I be looking at?
Can I suppress the status code in .htaccess so I don’t change WP core files?
You can either add custom rewrites to your pages. Or on the top of the template files that wrap your other pages just output
header('HTTP/1.1 200 OK');
.WordPress offers the function
status_header()
to return the correct status-code.You can call this function inside your WordPress template/function:
WordPress is PHP, so look for where it’s sending something like:
Take a look at the pre_handle_404 hook (added in v4.5.0):
https://developer.wordpress.org/reference/hooks/pre_handle_404/