با سلام خدمت دوستان عزیز وردپرسی!

مطمئنا شما نیز با صفحه 404 در وردپرس آشنایی دارید، همان صفحه‌ای که بسیاری از شما میانه خوبی با آن ندارید و دوست دارید تا سایت شما به هیچ وجه چنین صفحه‌ای را نداشته باشد! حال چه خوب باشد و یا چه بد، در هر حال این صفحه لازم و ضروری است.

در این مقاله از دکتر وردپرس قصد دارم تا به معرفی قطعه کدی بپردازم که با استفاده از آن قادر خواهید بود تا وقتی کاربری که به سایت شما مراجعه کرده و با صفحه 404 مواجه می‌شوند، یک ایمیل حاوی آدرس ان صفحه برای شما ارسال شود تا در کوتاهترین زمان ممکن ان را بررسی کنید.

ارسال ایمیل برای صفحات 404 وردپرس

ارسال ایمیل برای صفحات 404 وردپرس

ارسال ایمیل برای صفحات 404 وردپرس

برای شروع کار ابتدا کدهای زیر را در فایل مربوط به صفحه 404 قالب خود قرار دهید، این فایل با نام 404.php در قالب وردپرس وجود دارد.

<?php // https://doctorwp.com/email-404-error-pages
// 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
if (!empty($_COOKIE["nkthemeswitch" . COOKIEHASH])) {
$theme = clean($_COOKIE["nkthemeswitch" . COOKIEHASH]);
} else {
$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('http://' . $_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);
$string = str_replace("\n", "<br>", $string);
if (get_magic_quotes_gpc()) {
$string = stripslashes($string);
}
return $string;
}
$message =
"TIME: " . $time . "\n" .
"*404: " . $request . "\n" .
"SITE: " . $site . "\n" .
"THEME: " . $theme . "\n" .
"REFERRER: " . $referer . "\n" .
"QUERY STRING: " . $string . "\n" .
"REMOTE ADDRESS: " . $address . "\n" .
"REMOTE IDENTITY: " . $remote . "\n" .
"USER AGENT: " . $agent . "\n\n\n";
mail($email, "404 Alert: " . $blog . " [" . $theme . "]", $message, "From: $email");
?>

همانطور که در خط 19 این کد می‌بینید به صورت پیشفرض ایمیل مورد نظر برای ایمیل ثبت شده در سایت ارسال خواهد شد، اما اگر قصد دارید تا این گزارشات به ایمیل خاصی ارسال شوید کافی است تا به جای آن از قطعه کد زیر استفاده کنید.

$email =’your-email@mail.com’;

و به جای your-email@mail.com ایمیل خود را قرار داده و تغییرات را ذخیره کنید.

پیشنهاد بعدی  راهنمای کامل استفاده از All in One SEO

حال از این پس هرگاه کاربری وارد صفحه ای که در سایت شما وجود ندارد شود، گزارش آن برای شما ارسال خواهد شد.

شاد باشید..

امتیاز شما از 1 تا 5
1 ستاره میدم به نوشته2 ستاره میدم به نوشته3 ستاره میدم به نوشته4 ستاره میدم به نوشته5 ستاره میدم به نوشته
Loading...