Docs Viewer di blog Auto Generate Content

Postingan ini sehubungan banyaknya permintaan dari Fans blog AGC yang menginginkan bagaimana memanfaatkan Google Docs Viewer di blog Auto Generate Content (dengan Bing API). Tutorial ini agak sedikit ribet, so its for advance user only and use for your own risk! :).

Sebelum kamu menerapkan tutorial ini, pastikan blog AGC kamu memakai BING API yang sudah di set dalam bentuk PDF.

Langsung aja deh sob, Om Jev pake WP themes default Twentyten sebagai contoh, berikut langkah-langkah memasang Docs Viewer di blog Auto Generated Content:

A. Membuat Secondary Header untuk Theme WordPress.
1. Bikin file baru dengan nama header2.php dalam direktori theme yang kamu gunakan.
2. Buka header.php dalam Twentyten Theme dan copy semua isinya ke dalam header2.php.
3. Dalam file header2.php, ganti kode dari <title> sampai </title> dengan kode berikut

<?php
function CleanUrlBlog($requests) {
         $requests = $_SERVER['REQUEST_URI'];
		 $bloginfo = get_bloginfo( 'url' );
		$requests = str_replace($bloginfo, '', $requests);
		$requests = str_replace('/goto?=', '', $requests);
		return $requests;
	}
?>
<meta name="robots" content="noindex,nofollow" />
<title>
<?php 
$appid = 'Bing APP KEY'; //ganti Bing APP KEY dengan kode api BING blog kamu
$request = 'http://api.bing.net/json.aspx?AppId='.$appid.'&#038;Query='.CleanUrlBlog($requests).'&#038;Sources=Web&#038;Web.Count=1';
$response  = file_get_contents($request); 
$jsonobj  = json_decode($response); 
foreach((array)$jsonobj->SearchResponse->Web->Results as $result)
{
echo ucwords(CleanFileNameBan(hilangkan_spesial_karakter($result->Title)));
echo ' &#8211; ';
}
; bloginfo( 'name' ); ?></title>

4. Ganti Bing APP KEY dalam kode di atas dengan kode Bing AppID yang bisa kamu dapatkan di sini http://www.bing.com/developers/createapp.aspx.
5. Save perkejaan kamu.

B. Membuat Template Page
1. Buat file baru dengan nama docsviewercolumn.php dalam direktori theme kamu.
2. Copy kode dari file onecolumn-page.php dan paste semua kedalam file docsviewercolumn.php.
3. Ganti Template Name: One column, no sidebar dalam file docsviewercolumn.php menjadi Template Name: Docs Viewer Column.
4. Ganti kode get_header(); dengan kode include (TEMPLATEPATH . ‘/header2.php’);
5. Masih di dalam file docsviewercolumn.php, ganti semua kode ini

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>

&#8230;&#8230; sampai &#8230;.

<?php endwhile; ?>

dengan kode berikut:

<?php
function hilangkan_spesial_karakter($result) { //fungsi hilangkan semua spesial karakter pada Title
	$result = strip_tags($result);
	$result = preg_replace('/&#038;.+?;/', '', $result); 
	$result = preg_replace('/\s+/', ' ', $result);
    $result = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', ' ', $result);
	$result = preg_replace('|-+|', ' ', $result);
    $result = preg_replace('/&#038;#?[a-z0-9]+;/i','',$result);
    $result = preg_replace('/[^%A-Za-z0-9 _-]/', ' ', $result);
	$result = trim($result, ' ');
	return $result;
}
?>
<?php 
$appid = 'Bing APP KEY'; //ganti Bing APP KEY dengan kode api BING blog kamu
$request = 'http://api.bing.net/json.aspx?AppId='.$appid.'&#038;Query='.CleanUrlBlog($requests).'&#038;Sources=Web&#038;Web.Count=1';
$response  = file_get_contents($request); 
$jsonobj  = json_decode($response); 
foreach((array)$jsonobj->SearchResponse->Web->Results as $result)
{
echo '<strong>'.ucwords(hilangkan_spesial_karakter($result->Title)).'</strong>';
echo strip_tags($result->Description).'';
echo '<small style="color:#0E774A">'.$result->Url.'</small>';
echo '&nbsp;';

}
if (empty($result)) {
echo '<small>No Searches</small>';
}
 ?>
<iframe src="http://docs.google.com/viewer?url=<?php echo CleanUrlBlog($requests) ?>&#038;embedded=true'' width=''600&#8243; height=''780&#8243; style=''z-index: 999;'' frameborder=''0&#8243; scrolling=''yes''></iframe>

6. Ganti Bing APP KEY dalam kode di atas dengan kode Bing AppID yang bisa kamu dapatkan di sini http://www.bing.com/developers/createapp.aspx.
7. Save perkejaan kamu.

C. Membuat Page dengan nama “goto”
1. Create new page dan berikan judul goto.
2. Pada Page Atrribute » Template (default letaknya di sebelah kanan), pilih nama template yang sudah kamu buat sebelumnya, dalam hal ini Docs Viewer Column
3. Publish page goto yang sudah kamu buat.

D. Mengatur ulang link title url di halaman search blog AGC
1. Dalam halaman search blog WP kamu (search.php) yang menggunakan BING api dengan tutorial auto generate content modifikasi format PDF, ganti title pada pada line 19 Kode 2 (hasil yang ditampilkan) dengan kode berikut:

print '

<h1 class="title"><a target="_blank" rel="nofollow" href="'.get_settings('home').'/goto?='.$result['url'].'">'.htmlspecialchars(CleanFileNameBan($result['title'])).'</a>';

2. All is done. Save pekerjaan kamu dan lihat hasilnya.

Selamat mencoba sob! :)

Please Note:
– Kamu bisa ganti kata “goto” dalam langkah C dengan syarat kode goto dalam langkah A dan D juga diganti dengan kata yang sama.
– Tutorial ini hanya untuk blog AGC yang memakai BING App key.

UPDATE 13-09-2014
E. Membuat URL tujuan “goto” menjadi acak (enkripsi)
Contoh:
http://www.example.com/goto?=aHR0cHM6Ly93d3cuaGVhbHRoLm55Lmdvdi9mb3Jtcy9kb2gtNDIyMGMucGRm

  1. Simpan function encode decode base64 berikut ini di functions.php:
    function base64url_encode($data) {
      return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
    }
    
    function base64url_decode($data) {
      return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
    }
    
  2. Di halaman search search.php, encode url PDF yang dituju:
    $visit_url = base64url_encode($result['url']);
    print '
    
    <h1 class="title"><a target="_blank" rel="nofollow" href="'.get_settings('home').'/goto?='.$visit_url.'">'.htmlspecialchars(CleanFileNameBan($result['title'])).'</a>';
    

    Url yang dituju akan menjadi seperti ini:
    http://www.example.com/goto?=aHR0cHM6Ly93d3cuaGVhbHRoLm55Lmdvdi9mb3Jtcy9kb2gtNDIyMGMucGRm
  3. Di halaman “goto” dalam file docsviewercolumn.php, decode url PDF yang dituju:
    <?php
    $visit_url = CleanUrlBlog($requests); 
    $back_url = base64url_decode($visit_url);
    ?>
    <iframe src="http://docs.google.com/viewer?url=<?php echo $back_url ?>&#038;embedded=true'' width=''600&#8243; height=''780&#8243; style=''z-index: 999;'' frameborder=''0&#8243; scrolling=''yes''></iframe>
    

    Url enkripsi di-dekripsi dan dimasukkan dalam kode iframe docs viwer untuk menampilkan dokumen.

A little bit note: Sebaiknya function CleanUrlBlog($requests) yang ada dalam tutorial ini disimpan dalam file functions.php.

37 Replies to “Docs Viewer di blog Auto Generate Content”

  1. untuk call url yang di encode menjadi decode gimana om?…

    untuk call url yang di encode menjadi decode gimana om? masih bingung :D

  2. api bing udah gak bisa, kalau pakek rss bing gimana…

    api bing udah gak bisa, kalau pakek rss bing gimana om? bingung nih nerapinnya :D

    • udah sukses dengan xml bing om! kalau mau encode urlnya…

      udah sukses dengan xml bing om! kalau mau encode urlnya gimana yah? misal dihalaman search hasil linknya gini:

      http://domain.com/goto?http://domain.com/nama-file.pdf

      pengen dijadikan kayak gini:

      http://domain.com/goto?cGRmPWh0dHA6Ly93d3cub2tlLm9yLmlkL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEyLzEwL1RVVE9SSUFMLVBFUkFOQ0FOR0FOLUpBUklOR0FOLUtPTVBVVEVSLnBkZj1YZ3JxUllDaUg=

      mohon pencerahannya :D

      • Bisa pakai function <strong>encode decode base64</strong> seperti ini: <pre style="overflow:scroll">…

        Bisa pakai function encode decode base64 seperti ini:

        function base64url_encode($data) {
          return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
        }
        
        function base64url_decode($data) {
          return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
        }
        

        Untuk call-nya bisa seperti ini:

        $visit_url = CleanUrlBlog($requests);
        print base64url_encode($visit_url);
        $back_url = base64url_encode($visit_url);
        print base64url_decode($back_url);
        
  3. mas, klo “goto?=/http://domainpdf.com/blablabala.pdf” nya di ganti dengan /blbalbal.html bisa nggak?…

    mas, klo “goto?=/http://domainpdf.com/blablabala.pdf” nya di ganti dengan /blbalbal.html bisa nggak? jadi halaman hasil docview nya memiliki url http://domainkita.com/balbalblal.html

    matur suwun.

  4. Gan, mau tanya nih, AGC ane kok artikelnya lama ga…

    Gan, mau tanya nih, AGC ane kok artikelnya lama ga keindeks ya ?
    apa karena duplikat content ?
    artikel banyak tapi ga keindeks, gimana caranya ya ?
    ane pake wp robot

    Saya tahu Agan King Master nya AGC, tolong ya Gan, please

    Btw, thanks

  5. mas klo kita pengen buat setiap external link yg ada…

    mas klo kita pengen buat setiap external link yg ada di single post misalnya, menjadi seperti ini gmn ya.. http://URLblogkita.com/goto/http://www.EXTERNAL LINK-SAMPLE.com/

    bingung gak nemu caranya.. mohon dibantu ya om jev..

  6. om mau tanya kalo hasil pencarian dari bing google gimana…

    om mau tanya kalo hasil pencarian dari bing google gimana ?
    terus kalo hasil pencarian nya di tambah ga hanya pdf saja bisa ga ?
    makasih

    • bisa, tinggal tambahkan &Web.FileType=PDF pada <pre style="overflow:scroll">$request = 'http://api.bing.net/json.aspx?AppId='.$appid.'&amp;Query='.CleanUrlBlog($requests).'&amp;Sources=Web&amp;Web.Count=1′;</pre> Jadinya…

      bisa, tinggal tambahkan &Web.FileType=PDF pada

      $request = 'http://api.bing.net/json.aspx?AppId='.$appid.'&amp;Query='.CleanUrlBlog($requests).'&amp;Sources=Web&amp;Web.Count=1&#8242;;

      Jadinya seperti ini

      $request = 'http://api.bing.net/json.aspx?AppId='.$appid.'&amp;Query='.CleanUrlBlog($requests).'&amp;Sources=Web&amp;&amp;Web.FileType=PDF&amp;Web.Count=1&#8242;;

      Tentunya agc di halaman pencarian harus di set ke pdf juga.

  7. kalo pdf viewer gimana om jev sekalian juga buat search…

    kalo pdf viewer gimana om jev sekalian juga buat search engin google dan yahoo nya om jev. Mungkin kalo ada waktu om jev bisa share. :)

  8. om… minta tolong untuk bantu liat.. dimana salahnya… kalo mnurut…

    om… minta tolong untuk bantu liat..
    dimana salahnya…

    kalo mnurut saya itu karena wordpress secara otomatis memberi ending slash di tiap url halaman page .

    jadi fungsi rewrite /goto? yang dihilangkan tidak hilang, karena sudah berubah jadi /goto/?

    bisa tolong bantu om?
    webnya di try.bukku.info

    • permalink gotonya memang tetep ada jadinya tuh /goto?http://bla….. Coba set…

      permalink gotonya memang tetep ada jadinya tuh /goto?http://bla…..
      Coba set permalink kamu jangan pake tanda slash (/) di akhir permalink

  9. om, saya coba kok untuk di iframe viewer keluarnya ada…

    om, saya coba kok untuk di iframe viewer keluarnya ada =/goto/? di depannya ya?
    webnya: try.bukku.info,
    saya pakai agc untuk di single.php
    apa ada yang salah ya saya masukin kodenya…?

    • Coba set permalink kamu jangan pake tanda slash (/) di…

      Coba set permalink kamu jangan pake tanda slash (/) di akhir permalink

  10. Om saya nyari-nyari cara buat AGC gimana ya om…? bole…

    Om saya nyari-nyari cara buat AGC gimana ya om…? bole minta script ato pluginnya om.. thanks

  11. coment saya ini mungkin tidak ada hubungannya dengan Artkel diatas…

    coment saya ini mungkin tidak ada hubungannya dengan Artkel diatas

    saya ada masalah dengan blogku
    kl di buka lewat modzilla muncul begini

    It works!

    This is the default web page for this server.

    The web server software is running but no content has been added, yet.

    mohon pencerahannya :)

    • Oh itu Default web page index.html. Hosting dimana nih? share…

      Oh itu Default web page index.html. Hosting dimana nih? share hosting atau dedicated server?

  12. mas gmn ya cara buat permalink struckture yang semula seperti…

    mas gmn ya cara buat permalink struckture
    yang semula seperti ini

    bla-bla-bla/info/bla-bla-bla

    jadi kek gini

    bla-bla-bla/info_bla-bla-bla

    tanda slash (/) diganti ke _ atau minus.

    mohon ilmunya om jev :D

    • Untuk membuat struktur permalink seperti ini bla-bla-bla/info_bla-bla-bla 1. masuk di…

      Untuk membuat struktur permalink seperti ini
      bla-bla-bla/info_bla-bla-bla

      1. masuk di rewrite.php line 1138
      2. Ganti tanda ‘/’ dengan tanda ‘_’ dalam kode ini $this->search_structure = $this–>root . $this–>search_base . ‘/%search%’;

      Good luck sob :)

  13. sipp master ane langsung praktek dulu

    sipp master ane langsung praktek dulu

  14. tutorial yang ku tunggu2 sejak beberapa bulan lalu akhirnya muncul.…

    tutorial yang ku tunggu2 sejak beberapa bulan lalu akhirnya muncul. sekalian nanya, kalo nggak pake google docs kira2 bisa nggak ya? kaya lookpdf.com gitu

  15. beberapa hari yang lalu saya coba oprek dikit Wp-googletrends sehingga…

    beberapa hari yang lalu saya coba oprek dikit Wp-googletrends sehingga linknya masuk ke hasil pencarian wordpress, supaya bisa buat auto generated blogging dengan feed google trends hourly. masalahnya hasilnya kurang maksimal karena gak bisa membuat feeds masuk ke tabel plugin STT2.
    kira2 om jev bisa gak gabungkan STT2 dengan wp-googletrends, hasilnya tentunya setiap feeds dari google trends akan tercipta sebuah halaman baru di halaman pencarian wordpress tapi tetep terinjek di tabel sTT2 ..Ato apa perlu wp-googletrends nya yang dibuatkan tabel sendiri?

    • Duh, om belum pernah nyoba tuh dengan plugin satu ini.…

      Duh, om belum pernah nyoba tuh dengan plugin satu ini. Ide-nya bagus juga, ntar om nyoba utak-atik dikit dulu yach. :)

  16. Om, hasil goto nya ngga mau nampil, muncul pesan “sorry,…

    Om, hasil goto nya ngga mau nampil, muncul pesan “sorry, we are unable to retrieve the document for viewing”. kalau saya cek echo nya waktu

    <iframe src="http://docs.google.com/gview?url=&embedded=true” width=”600″ height=”780″ style=”z-index: 999;” frameborder=”0″ scrolling=”yes”>

    dibagian :

    dia tertulis spt ini : /folder/goto/?=http://www.domain.com/123.pdf
    seharusnya tinggal http://www.domain.com/123.pdf

    ada solusi?

  17. halo om, tutorialnya berguna sekali, tapi ini saya ada masalah……

    halo om, tutorialnya berguna sekali, tapi ini saya ada masalah… link goto nya memang bisa buka halaman baru, tapi google doc viewernya ngga mau menampilkan film pdfnya “sorry, we are unable to retrieve the document for viewing”. kenapa ya kira2?

    sedikit penasaran, kenapa pake APP bing, tapi viewernya pake punya google? apa bing tidak punya viewer sendiri?

    link di goto saya juga spt ini :
    http://mysite.com/cobapdf/goto/?=http://www.blabla.com/file.pdf

    koq ada tanda / setelah goto bukannya harusnya goto?=

    makasih

    • “sorry, we are unable to retrieve the document for viewing”…

      “sorry, we are unable to retrieve the document for viewing” kemungkinan dokumen itu memang tidak bisa digenerate di Google karena tidak ada temboloknya di mesin pencari google. Om suka pake bing sih, dan sampai saat ini bing belum punya viewer sendiri. Struktur link nya seperti itu kemungkinan kamu salah dalam menuliskan skripnya di https://www.jevuska.com/2010/11/13/docs-viewer-di-blog-auto-generate-content/.

  18. cara liat udah jadi apa belumnya gimana om udah ane…

    cara liat udah jadi apa belumnya gimana om udah ane terapin semua tapi ga ada yg berubah.. :-?

    • Tutorial ini ada 3 halaman, dah dibaca ama diterapin semua…

      Tutorial ini ada 3 halaman, dah dibaca ama diterapin semua belon? :)
      Kalo udah, untuk melihatnya tinggal mengklik title hasil generate API-nya di halaman search kamu.

  19. mantaf nih ilmu baru…lgs buat ah

    mantaf nih ilmu baru…lgs buat ah

  20. om saya dah mengikuti tutornya tp msih slah mulu nih,kmungkinan…

    om saya dah mengikuti tutornya tp msih slah mulu nih,kmungkinan yg mnanya ya om,saya dah coba berulang msih tetap ga bisa aja nih waktu di klik gotonya

Leave a Reply

Use tag [php] to add code, e.g. [php]<?php echo $var; ?>[/php]

*

*