WordPress’te 404 Hataları İçin E-Posta Bildirimi Alın

WordPress’te 404 Hataları İçin E-Posta Bildirimi Alın

WordPress kullanan tüm blog yazarları, işi biraz büyüttüklerinde 404 hatalarıyla karşılaşıyorlar. Kaldırılan yazılar, etiketler, değiştirilen kategoriler falan derken bir süre sonra 404 hatası veren bağlantılara sahip olmanız kaçınılmaz oluyor.

404 hatalarını ortadan kaldırmanız SEO açısından da önemli. Bu hataların SEO’ya olumsuz etkisi az, ancak çok sayıda 404 hatası veren bir site Google tarafından pek sevilmeyecektir. Aşağıdaki uygulamadan sonra, sitenizdeki linklerden kaynaklı 404 hatalarının size e-posta olarak bildirilmesini sağlayabilir ve bu hataları daha kolay farkedebilirsiniz. Bildirimler, WordPress yönetim panelinide belirlediğiniz yönetici e-posta adresine gelecektir.

Aşağıdaki kodu tema klasörünüzün içindeki 404.php dosyasının en üstüne ekleyin. Eğer tema klasörünüzün içinde böyle bir dosya yoksa oluşturun ve sonrasında kodu ekleyin.

<?php // WP 404 ALERTS @ http://wp-mix.com/wordpress-404-email-alerts/

// 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");

?>

Bu Yazıyı Paylaş! Google+! Pinterest!

WordPress’te 404 Hataları İçin E-Posta Bildirimi Alın (2 Yorum)

Yorum Yaz

  1. casus telefon dedi ki:

    teşekkürler güzel bir yazı fakat denediniz mi merak ettim ?

  2. klima servisi dedi ki:

    teşekkürler çok güzel kodlama

YORUM YAZIN


Eksik sayıyı RAKAMLA yazın: