– Error 404 là lỗi thường gặp khi liên kết trong website của bạn bị gãy hay không tồn tại. Lỗi này rất có hại cho SEO, làm giảm hạng website trên công cụ tìm kiếm.
– Việc theo dõi các trang bị lỗi 404 là việc nên làm vì bạn có thể kịp thời sửa các bài viết/trang có liên kết bị gãy. Vậy giải pháp khắc phục lỗi 404 trong blog WordPress ra sao thì hôm nay e-web.vn sẽ giúp đỡ các bạn quản lý các liên kết bị gãy lỗi 404 wordpress
– Trong WordPress đã có sẵn file 404.php để bạn tùy chọn hiển thị trang 404. Và bạn chỉ cần dán đoạn code này vào đầu file 404.php để gửi email thông báo lỗi mỗi khi xuất hiện lỗi 404.

<?php
// WP 404 ALERTS @ https://wp-mix.com/wordpress-404-email-alerts/
add_filter( 'wp_mail_content_type', '_change_email_content_type' );
function _change_email_content_type( $content_type ) {
return 'text/html';
}
// set status
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
// site info
$blog  = get_bloginfo('name');
$site  = get_bloginfo('url') . '/';
$email = get_bloginfo('admin_email');
// theme info
$theme_data = wp_get_theme();
$theme = clean($theme_data->Name);
//}
// referrer
if (isset($_SERVER['HTTP_REFERER'])) {
$referer = clean($_SERVER['HTTP_REFERER']);
} else {
$referer = "undefined";
}
// request URI
if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER["HTTP_HOST"])) {
$request = clean('https://' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
} else {
$request = "undefined";
}
// query string
if (isset($_SERVER['QUERY_STRING'])) {
$string = clean($_SERVER['QUERY_STRING']);
} else {
$string = "undefined";
}
// IP address
if (isset($_SERVER['REMOTE_ADDR'])) {
$address = clean($_SERVER['REMOTE_ADDR']);
} else {
$address = "undefined";
}
// user agent
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$agent = clean($_SERVER['HTTP_USER_AGENT']);
} else {
$agent = "undefined";
}
// identity
if (isset($_SERVER['REMOTE_IDENT'])) {
$remote = clean($_SERVER['REMOTE_IDENT']);
} else {
$remote = "undefined";
}
// log time
$time = clean(date("F jS Y, h:ia", time()));
// sanitize
function clean($string) {
$string = rtrim($string);
$string = ltrim($string);
$string = htmlentities($string, ENT_QUOTES);
if (get_magic_quotes_gpc()) {
$string = stripslashes($string);
}
return $string;
}
$message =
"Thời gian: "       . $time    . "<br />" .
"Địa chỉ 404: "     . $request . "<br />" .
"Địa chỉ blog: "    . $site    . "<br />" .
"Giao diện: "       . $theme   . "<br />" .
"REFERRER: "        . $referer . "<br />" .
"QUERY STRING: "    . $string  . "<br />" .
"Địa chỉ IP: "  . $address . "<br />" .
"REMOTE IDENTITY: " . $remote  . "<br />" .
"Thông tin người dùng: " . $agent   . "<br /><br />";
wp_mail($email, "404 Alert: " . $blog . " [" . $theme . "]", $message, "From: $email");
?>

Đến đây bạn lưu file 404.php lại là xong.  Mỗi khi có lỗi 404 xảy ra, một email thông báo sẽ được gửi tới địa chỉ mail được cài đặt trong phần Settings > General > E-mail Address. Tiêu đề của thư sẽ có dạng 404 Alert: Tên blog [Tên theme đang dùng]