The 404 html/page templates are severely different from the normal page template.

The page doesn't print anything drupal, like regions, and is just a static page.

This means you can very easily end up with a completely busted 404 page if you aren't careful and override these templates.

A few questions/comments:
1. For the templates, what is the reason for not printing the page content like any other page? It might be good to add a bit more of a description of that setting on the settings form so users know their content/blocks etc. will not print out if they enable that.
2. The fixurl google search thing is unexpected and very likely doesn't fit in with most people's sites and the existing search solutions that they are using. It might be good if this was also a configuration option.
3. The text on the page is not really very good. It says "These are not the nodes you are looking for" but the page you are looking for may not be a node and more importantly most end users don't know or care what a node is. If anything it whould say "This is not the page you are looking for".
4. The "search ?" link is bizarre and if anything should at least be "Search?", or "Go to the search page" or something like that.

My vote for this would be to just completely remove these templates or make them more like the normal html & page templates so the page behaves like people would expect.

If this template is not removed there should also be something added to the readme about this telling the user to test the 404 page and if it doesn't suit them tell them how to fix it.

Also, there is the option to disable the html tempalte, but if that is disabled the page template is still always used and provides all the same strange behaviour, so without overriding at least the page--404.tpl.php template you are stuck with this page as is.

Comments

rooby’s picture

For those that want to go back to default drupal tempaltes for 404 pages you can add this to your sub-theme's template.php and clear the cache to make it stop using the --404 suffixed templates:

<?php
/**
 * Implements hook_process().
 *
 * Used to override some of the things added by mothership_preprocess().
 *
 * @see mothership_preprocess().
 */
function THEMENAME_process(&$variables, $hook) {
  if ($hook == 'page' || $hook == 'html') {
    // Remove the custom 404 template suggestion.
    // See https://drupal.org/node/2259535
    $pos = array_search($hook . '__404', $variables['theme_hook_suggestions']);
    if ($pos !== FALSE) {
      unset($variables['theme_hook_suggestions'][$pos]);
    }
  }
}
?>