<?php

// Скрипт проверяет заголовки страниц и отправляет письма, если заголовки изменились.
// Использовать совместно с cron (/usr/bin/php /var/www/yoursite.ru/checktitle.php >/dev/null).

set_time_limit(0);
ignore_user_abort(true);

// список ваших сайтов и нормальных для них заголовков (<title>...). Яндекс - пример неправильного заголовка.
$domains = array(
    
'http://zhilinsky.ru/' => 'Блог интернет-разработчика',
    
'http://osjournal.ru/' => 'OS Journal',
    
'http://www.yandex.ru/' => 'Неправильный заголовок');
// Куда отправлять сообщения об ошибках.
$mailTo  'yourmail@test.ru';
// Откуда отправлять сообщения об ошибках.
$mailFrom='Checker <server@test.ru>'


foreach (
$domains as $domain => $title) {    
    
$check curl_init($domain);
    
curl_setopt($checkCURLOPT_URL$domain);
    
curl_setopt($checkCURLOPT_RETURNTRANSFER1);
    
$result curl_exec($check);
    if (
preg_match("!<title>(.*?)</title>!ism"$result$match)) {
        
$resultTitle trim($match[1]); 
    } else {
        
$resultTitle 0
    }
    if(
$title!=$resultTitle) { 
        
$subj "Сайт $domain - изменился заголовок!"
        
$mess =  "Сайт $domain изменил свой заголовок, срочно проверьте его работу!\n";
        
$mess .= "Время изменения: ".date("d.m.y H:i:s").".\n";
        
$mess .= "Старый заголовок: «".$title."».\n";
        
$mess .= "Новый заголовок: «".$resultTitle."».\n";
        
mail($mailTo$subj$mess'From: '.$mailFrom);
    }
}