Sitemap To Keyword PHP Script [Studi Kasus Sitemap Tokopedia]

Script code php untuk mengambil atau mengkonversi sitemap menjadi keyword-keyword. Kita tahu bahwa sitemap merupakan peta situs dari sebuah website yang berisi tentang url-url dari website tersebut, ada banyak informasi yang kita dapatkan dari sebuah sitemap.


    Sitemap AGC biasanya berisi tentang semua keyword dari web agc tersebut, pada pembahasan sebelumnya sudah dibahas bagaimana cara mengambil keyword dari sebuah sitemap website, dan juga cara ambil keyword di histats.

    Jika anda sedang membutuhkan script yang bisa mengubah keyword menjadi url, silahkan download disini kw to url.

    Baiklah kita kembali ke cara mengambil keyword dari sitemap dengan php, untuk mengikut ini anda perluh paham sedikit saja tentang php, minimal paham dimana tempat narok kode dan menjalankan server.

    Mencari sitemap website

    Normalnya / biasanya sitemap sebuah website bisa kita temui pada url seperti ini : domain.com/sitemap.xml, domain.com/sitemap_index.xml.

    Nama sebuah sitemap tidak harus seperti itu, saya sendiri sering mengubah nama / alamat sebuah sitemap agar keyword tidak disedot kompetitor, di sedot ruginya dimana sih? kalau terlalu masif bisa kejang server guys.

    Jika sitemap tidak ketemu bagaimana? coba akses domain.com/robots.txt, biasanya disana ada informasi mengenai sitemapnya.

    Mengambil keyword dari sitemap dengan php

    Kalau sudah ketemu seperti tokopedia maka bisa kita lanjut ke pembahasan berikutnya, kira-kira alurnya seperti ini.
    1. Download dulu sitemap
    2. Proses sitemap to keyword
    Untuk langkah pertama bisa kita download terlebih dahulu, bisa di download manual atau bisa langsung menggunakan function php untuk mendownload konten seperti CURL dan file_get_contents.

    Dalam contoh kasus sitemap tokopedia, mereka menggunakan kompress .gz . Saya memilih mendownload manual kemudian saya ekstrak terlebih dahulu. Mungkin saja php bisa melakukannya, saya belum menguliknya untuk versi sitemap kompres seperti ini. 
    ScrapeBox Sitemap Scraper bisa mengambil keyword dari sitemap kompress (.gz).
    Berikut cara mengambil keyword dari sitemap menggunakan php, seperti yang saya bahas sebelumnya agar mudah memahami tutorial ini minimal paham php basic.

    • Studi Kasus: https://www.tokopedia.com/sitemap/hotlist-index.xml
    • Buat sebuah folder didalam folder root anda , saya menggunakan xampp jadi folder root saya ada di C:\xampp\htdocs\ silahkan sesuaikan masing masing, untuk ikuti tutorial ini buatlah sebuah folder baru dengan nama stkw.
    • Setelah selesai, jalankan server lokal kita, jika menggunakan xampp maka tampilannya seperti berikut ini, kemudian akses di browser localhost/stkw.

    Xampp Control Panel
    xampp running
    Akses di Browser

    • Setelah berhasil seperti gambar diatas maka bisa kita lanjut ke langkah berikutnya, yaitu download sitemapnya dan ekstrak.

    Sitemap Hot Tokopedia 
    • Buat sebuah file php, beri nama proses_sitemap_download_manual.php dan copas code ini.

    <?php
    $save_to = __DIR__.'/keywords.txt';
    $sitemap = __DIR__.'/sitemap-1.xml';
    $get = file_get_contents($sitemap);
    $xml = simplexml_load_string($get);
    $array = json_decode(json_encode($xml),true);
    foreach ($array['url'] as $item) {
        $kw = $item['loc'];
        $kw = str_replace(['https://www.tokopedia.com/hot/','-'], ['',' '],$kw);
        file_put_contents($save_to,trim($kw).PHP_EOL,FILE_APPEND);
    }

    Berikut penjelasannya:

    $save_to = __DIR__.'/keywords.txt';
    $sitemap = __DIR__.'/sitemap-1.xml';

    Baris ini adalah lokasi sitemap ($sitemap) dan lokasi simpan hasilnya nanti ($save_to), terlihat bahwa keduanya berada sejajar/ didalam folder yang sama, jika berbeda maka sesuaikan saja, __DIR__ ini adalah lokasi folder saat ini.

    $get = file_get_contents($sitemap);
    $xml = simplexml_load_string($get);
    $array = json_decode(json_encode($xml),true);

    $get Pada baris pertama ini adalah mengambil konten dari sitemap, jika sitemapnya tidak terkompres seperti tokopedia maka kita bisa langsung memasukkan url sitemap, karena ini sitemapnya terkompres .gz saya pilih download manual.

    $xml : baris ini adalah untuk mengubah xml menjadi objek menggunakan function simplexml_load_string.

    $array : baris ini untuk mengubah objek menjadi array.
    foreach ($array['url'] as $item) {
        $kw = $item['loc'];
        $kw = str_replace(['https://www.tokopedia.com/hot/','-'], ['',' '],$kw);
        file_put_contents($save_to,trim($kw).PHP_EOL,FILE_APPEND);
    }

    Baris terakhir ini hanya melakukan perulangan, menghapus kata (replace) yang tidak penting dan menyimpannya ke file keywords.txt.

    Mungkin hanya ini cara yang sering saya pake untuk mengambil keyword dari sebuah sitemap, jika menggunakan sitemap yang berbeda maka berbeda pula caranya, yang penting anda paham alurnya, yang lain tinggal menyesuaikan.

    Parse xml <![CDATA[ bisa menggunakan panduan ini

    Share on Facebook
    Share on Twitter
    Share on Google+
    Notification ! {New!}
    Beberapa artikel di blog ini terkadang berisi informasi dari berbagai macam sumber. Hak cipta berupa gambar, teks, dan link sepenuhnya dimiliki oleh web tersebut.
    Tags :

    Ads

    Ayo sob di komen, kalau ada salah atau saran, kritik boleh coret coret dibawah, gratis kok!