404 Page for WordPress with Suggestions
If a visitor mistypes a URL to your WordPress blog or clicks on a link that does not exists, you can show them a more helpful 404 error page that will have suggestions pointing to related articles that they can check out on your WordPress site. Internally, it runs a search using the 404 page URL as the query parameter.
Save this file as 404.php and place it in your WordPress theme folder.
<?php get_header(); ?>
<div id="content" class="section">
<h2>404 Error - Page not found</h2>
<?php get_template_part('searchform'); ?>
<?php
global $wp_query;
$wp_query->query_vars['is_search'] = true;
$s = str_replace("-", " ", $wp_query->query_vars['name']);
$loop = new WP_Query('post_type=any&s=' . $s);
?>
<?php if ($loop->have_posts()): ?>
<p>We tried finding the matching pages from our website. Here are some suggestions:</p>
<ol>
<?php while ($loop->have_posts()): $loop->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
</li>
<?php endwhile; ?>
</ol>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory