Are your views returning a 200 when it should return a 404? Views404 is the answer! This is very helpful for any caching layer and it will help SEO.

Do I Really Need This?

In short yes, you do.
Live Example <- This should return a 404; 200 given. Duplicate content penalty!

Another example from below
View located at:
Page located at:

Let say you accidentally link to:
Drupal sends a "200 OK" header and the content from instead of sending a "404 Page Not Found".
Another example is will return a "200 OK".


Open to ideas! Please let me know when the logic fails; I will adjust it accordingly.


Standard Drupal behavior is to pass all arguments through, whether or not they requested. Sometimes this behavior is desired. The views 404 module assumes that by default you do not want arguments passed through. 404s for views can also be accomplished by setting the Global: Null under Arguments.

Project Information