PHP ve jQuery ile Meta Sorgulama (1 İzleyici)

Katıldı
3 Haziran 2014
Mesajlar
438
Yaşadığın yer
Elazığ
Bu yazımda yine bir örnek çalışmadan bahsedeceğim. Daha önce PHP ve jQuery kullanarak Pagerank kontrolü, Alexa sıralaması kontrolü ve DMOZ kayıt kontrolü yapmıştık. Şimdi ise işe yarar başka bir çalışma olan meta etiketleri sorgulama aracını nasıl yapacağımızı anlatacağım. Öncelikle meta etiketleri nedir ondan bahsedelim.


Meta etiketlerini sitenizin kartviziti olarak düşünebilirsiniz. Arama motorları sitenize girdiğinde, sitenizin ne olduğunu anlamaya önce bu kısmı okuyarak başlar. Sitenizin adını <title></title> arasında sorgularken, ne işe yaradığını description ve keywords etiketlerine bakarak anlamaya çalışır. Daha sonra içeriğiniz ile bu etiketlerin arasındaki bağlantıya göre sitenizi değerlendirir. Kısaca bu işlem bu şekilde gerçekleşir.

Şimdi bu bilgileri kenara bırakarak asıl konumuza dönelim ve PHP ile bir sitenin meta etiketlerini nasıl sorgularız ona bakalım. Bu işlemi yapmak için önceki çalışmalarımızda kullandığımız arayüzü ve sayfa yapısını kullanacağız. Çalışmamız sonuc-al.php ve index.php dosyalarından oluşacak. Hemen kodlarımıza geçelim.
PHP:
<?php 

// DMOZ'a bağlanmak için gerekli cURL fonksiyonu, büyük ihtimalle file_get_contents(); fonksiyonuda işinizi görür. 
function getContent($url) 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 

// formdan gelen site adresini alalım 

$siteadresi = $_POST['url']; 

// kontrol için get_meta_tags(); fonksiyonundan yararlanacağız 

// girilen adresin geçerli olup olmadığını kontrol ediyoruz 
if(filter_var($siteadresi, FILTER_VALIDATE_URL)){ 
    // aşağıdaki kontrolü aktif hale getirdiğimizde web sitesinin <head></head> etiketleri arasındaki tüm meta bilgileri listeleniyor. 
    echo '<pre>'; print_r(get_meta_tags($siteadresi)); echo '</pre>'; 
    $meta = get_meta_tags($siteadresi); 

    // php'nin sunmuş olduğu bu fonksiyon maalesef <title></title> arasındaki veriyi içermiyor. Ama biz basit bir formül ile bu bilgiyide alacağız. 
    preg_match('~<title>(.*?)</title>~si', getContent($siteadresi), $isem); 
    $meta['title'] = $isem[1]; 
    // preg_match fonksiyonu ile istediğimiz değeri aldık 
?> 
    <table> 
        <tr> 
            <td><strong>Site Adı</strong></td> 
            <td> : </td> 
            <td><?php echo $meta['title']; ?></td> 
        </tr> 
        <tr> 
            <td><strong>Site Açıklama</strong></td> 
            <td> : </td> 
            <td><?php echo $meta['description']; ?></td> 
        </tr> 
        <tr> 
            <td><strong>Site Etiket</strong></td> 
            <td> : </td> 
            <td><?php echo $meta['keywords']; ?></td> 
        </tr> 
    </table>             
<?php 
}else{ 
    echo 'Geçersiz site adresi girdiniz!'; 
} 
?>
sonuc-al.php dosyamızı hazırladıktan sonra şimdi index.php sayfamızı hazırlayalım. Zaten bu index.php sayfamız hemen hemen tüm örneklerimizde aynı. Yine de kodları verelim.
PHP:
<html> 
    <head> 
        <title>Isemiz.com - PHP ve jQuery ile Meta Sorgulama</title> 
        <meta charset="utf-8" /> 
        <style> 
        body { 
            font: normal 16px auto Calibri, Verdana, Arial, Helvetica, sans-serif; 
            background: #fff; 
            margin: 0 auto; 
        } 
        </style> 
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script> 
        <script type="text/javascript"> 
        $(document).ready(function(){ 
                $(':submit').click( sonucAl ); 
        }); 

        function sonucAl(){ 
            $('#sonuc').html('<img src="load.gif" />'); 

            $.ajax({ 
                type: 'POST', 
                url: 'sonuc-al.php', 
                data: $('form').serialize(), 
            success: function(ajaxCevap) { 
                $('#sonuc').html(ajaxCevap); 
            } 
            }); 
        return false; 
        } 
        </script> 
    </head> 
    <body> 
        <form action="index.php" method="POST"> 
            <input type="text" class="in" name="url" value="http://www." /> 
            <input type="hidden" name="onay" value="OK" /> 
            <input type="submit" class="buton" value="Kontrol Et" /> 
        </form> 
        <div id="sonuc"></div> 
    </body> 
</html>
Gördüğünüz gibi çalışma çok basit ve temel PHP bilgisi ile gerçekleştirilebilecek seviyede. Umarım yardımcı olabilmişimdir. Bir sonraki çalışmada görüşmek üzere
 

Bu konuyı kimler okuyor

Benzer konular

Top