--> Skip to main content

Script Auto Generate Content Dengan PHP (With Bing API)

Script Auto Generate Content Dengan PHP (With Bing API)

Kali ini saya ingin mencoba berbagi script kepada anda semua, bagi yang seneng AGC-AGCan. Bagi anda yang punya situs berbasis PHP CMS Engin buatan sendiri, mungkin bisa tambahkan script AGC ini.

Yang DIbutuhkan :

1. BING API
2. Situs PHP
3. Sedikit kesabaran.

Step 1

Mendaftarkan diri(situs anda) di BING API
hxxp://www.bing.com/developers/appids.aspx

Step 2

Membuat / Memodifikasi file HTACCESS :
isi file htaccess dengan :
RewriteEngine On
RewriteRule ^q-(.*)\.html$ suggestion.php?cari=$1

Step 3

Membuat File AGC Engine :
1. Buat file suggestion.php
2. Copy Script dibawah ini kedalam suggestion.php, Jangan lupa ganti teks bertuliskan BING API DISINI dibawah dengan BING API situs anda.


<?
if ($_GET['cari']) {
    // pertahankan huruf kecil
    if ($_GET['cari'] != strtolower($_GET['cari'])) header("Location: ".strtolower($_GET['cari']));

    $st_keyword = strtolower($_GET['cari']);
    $replace_a = array("/","-",".html");
    $replace_b = array("", " ", "");
    $st_keyword = str_replace($replace_a, $replace_b, $st_keyword);
    $st_keyword = ucwords($st_keyword);

    $agc_title = "{$st_keyword}";

    ?>

        <h2 class="title">Suggestion <?php echo $agc_title; ?> :</h2>
        <div class="entry"><p>Your search <strong><?php echo $agc_title; ?></strong> did not match any documents. In the absence of a better solution, you can try the suggestion bellow.</p>
    <?php                        
    function CleanFileNameBan($result){
        //masukkan kata kunci satu persatu untuk menghindari kata-kata yang tidak diinginkan.
        $bannedkey = array("porn","sex","bitch");
        $result = str_replace($bannedkey, '',$result);
        $result = trim($result);
        return $result;
    }

    function url_title($a)
    {
        $a = CleanFileNameBan($a);
        $data_a = array("&quot;", "&nbsp;", "?", "&amp;");
        $data_b = array("", "-", "", "");
        $a = str_replace($data_a, $data_b, $a);
        $a = preg_replace("/[^0-9a-z]+/i","-", $a);
        $a = substr($a,0,100);
        $a = trim($a,"-");
        if (empty($a)) $a = "statimo";
        return strtolower($a);
    }

    define('BING_API_KEY', 'BING API DISINI');
    function pete_curl_get($url, $params){
        $post_params = array();

        foreach ($params as $key => &$val) {
            if (is_array($val)) $val = implode(',', $val);
            $post_params[] = $key.'='.urlencode($val);
        }

        $post_string = implode('&', $post_params);
        $fullurl = $url."?".$post_string;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_URL, $fullurl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040608'); // www.user-agents.org
        $result = curl_exec($ch);curl_close($ch);
        return $result;
    }

    function perform_bing_web_search($termstring) {
        $searchurl = 'http://api.bing.net/json.aspx?';
        $searchurl .= 'AppId='.BING_API_KEY; //ganti ABCDEFG dengan kode api BING
        $searchurl .= '&Query='.urlencode($termstring);
        $searchurl .= '&Sources=Web';
        $searchurl .= '&Web.Count=7'; //results count
        $searchurl .= '&Web.Offset=0';
        //$searchurl .= '&Web.Options=DisableHostCollapsing+DisableQueryAlterations';
        $searchurl .= '&Web.Options=DisableHostCollapsing';
        $searchurl .= '&JsonType=raw';
        $response = pete_curl_get($searchurl, array());
        $responseobject = json_decode($response, true);if ($responseobject['SearchResponse']['Web']['Total']==0)return array();
        $allresponseresults = $responseobject['SearchResponse']['Web']['Results'];
        $result = array();
        foreach ($allresponseresults as $responseresult){
            $result[] = array('url' => $responseresult['Url'],'title' => $responseresult['Title'],'abstract' => $responseresult['Description'],);
        }
        return $result;
    }

    $bingresults = perform_bing_web_search($st_keyword);
    $bing_i = 0;
    foreach ($bingresults as $result) {
       
        $judul = htmlspecialchars(CleanFileNameBan($result['title']));
        $tautan = url_title($judul);
        $tautan_host = parse_url($result['url'], PHP_URL_HOST);
        if ($tautan_host == $_SERVER['HTTP_HOST']) {
            echo "<p><strong><a href=\"".$result['url']."\" title=\"".$judul."\">".$judul."</a></strong><br />";
            echo CleanFileNameBan(strip_tags($result['abstract']));
            echo "<br />Source: ".$tautan_host."</p>";
        } else {
            echo "<p><strong><a href=\"http://".$_SERVER['HTTP_HOST']."/q-".$tautan.".html\" title=\"".$judul."\">".$judul."</a></strong><br />";
            echo CleanFileNameBan(strip_tags($result['abstract']));
            echo "<br /><small>Source: <a href=\"".$result['url']."\" rel=\"nofollow\">".$tautan_host."</a></small></p>";
        }
        $bing_i++;
       
    }
    if (!$bing_i) {
        echo "<h2 class=\"title\">No result</h2>";
    }

?></div><!-- /#entry -->
       
<?
}
?>


Oke selesai deh otak-atik PHP,, sekarang coba jalankan dengan URL Sintak :
Code:


http://domainkamu.com/q-[keyword]-[keyword]-[keyword].html


ganti keyword dengan kata kunci yang kamu inginkan.

Perlu Di ingat :
Di htaccess saya masukkan awalan q- , ini untuk membedakan. Dan awalan ini wajib. Karena kalau tidak, semua link akan diarahkan ke suggestion.php , jadi intinya hanya url yang berawalan q- (http://domainkamu.com/q-bla-bla-bla.html) saja yang akan bisa menuju halaman AGC (suggestion.php)

Selesai sudah trik kali ini, tapi ingat dengan keuletan anda, anda bisa mengembangkannya dengan memanfaatkan AGC engine ini ke halaman Search anda. Dan jangan lupa menambahkan database baru sebagai Latest Query nya. Print dibagian footer biar lebih keren.

Tambahan :
Tips Mendapatkan Keyword dari Pengunjung Yang Nyasar ke Situs Kita


<?
if (isset($_SERVER['HTTP_REFERER'])) { //Ini ngecek apakah Referrer ada atau kosong
function search_engine_query_string($url = false) { //ini fungsi parsing keyword dari Google,Bing,Yahoo
    if(!$url) {
        $url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : false;
    }
    if($url == false) {
        return '';
    }

    $parts = parse_url($url);
    parse_str($parts['query'], $query);

    $search_engines = array(
        'bing' => 'q',
        'google' => 'q',
        'yahoo' => 'p'
    );

    preg_match('/(' . implode('|', array_keys($search_engines)) . ')\./', $parts['host'], $matches);

    return isset($matches[1]) && isset($query[$search_engines[$matches[1]]]) ? $query[$search_engines[$matches[1]]] : '';

}

$keyword = search_engine_query_string($_SERVER['HTTP_REFERER']); //Jalankan Fungsi akhirnya keyword didapatkan

}

?>


    Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
    Buka Komentar
    Tutup Komentar