Script Auto Generate Content Dengan PHP (With Bing API)

    Jadilah manusia yang bermanfaat. Teruslah berbagi, Apa yang kamu beri bagi mereka mungkin sangat berarti.
    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

    }

    ?>


     
    blogger tutorial 2018