In PHP è semplice verificare lo status HTTP di una risorsa remota.
La soluzione è la seguente:
function my_check_site_status( $url, $timeout = 10 ) {
$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_TIMEOUT, $timeout );
$http_response = curl_exec( $ch );
$http_response = trim( strip_tags( $http_response ) );
$http_code = (int) curl_getinfo( $ch, CURLINFO_HTTP_CODE );
curl_close( $ch );
return $http_code;
}