WordPress : Membuat XML Sitemap manual(No Plugins) : Experiment

Tutorial eksperimen ini akan membahas pembuatan sitemap tanpa plugins untuk CMS WordPress

Memberi tidak harus mengasihi, tetapi mengasihi selalu disertai dengan pemberian. Unknown

Tutorial eksperimen ini akan membahas pembuatan sitemap tanpa plugins untuk CMS WordPress

Last Modif at July 10th, 2011

Rincian script and xml markup

Untuk membuat sitemap dengan format xml, selalu diawali dengan

<?xml version="1.0" encoding="UTF-8"?>

jadi kita menggunakan ini untuk menampilkanya

<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n "; ?>

kanapa ditulis pake php? itukan hanya markup xml?
Kalo di windows xp, markup ini akan dibaca sebagai xml

<?xml version="1.0" encoding="UTF-8"?>

tapi kalo di hosting yang berbasis unix, akan dibaca sebagai script php, jadi markup ini <?xml akan menyebabkan error

setelah itu dilanjutkan dengan

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

atau

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

untuk indam.com, saya memilih

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

selanjutnya

script xml untuk home

// Home
echo " <url>\n";
echo " <loc>".home_url()."</loc>\n";
echo " <priority>1</priority> \n";
echo " </url>\n\n";
// End Home

script xml untuk all post

/* Start Post */
$untukpost = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date DESC");
foreach ($untukpost as $post) {
echo " <url>\n";
echo " <loc>".get_permalink($post-> ID)."</loc>\n";
echo " <lastmod>";
echo get_the_time('c', $post-> ID);
echo "</lastmod>\n";
//echo '<changefreq> daily</changefreq> \n';
echo " <priority>0.6</priority> \n";
echo " </url>\n\n";
}
/* End post */

script xml untuk pages–comment > open

/* Start pages */
$untukpages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'publish' AND comment_status ='open' AND post_type = 'page' ORDER BY post_date DESC");
foreach ($untukpages as $page) {
echo " <url>\n";
echo " <loc>".get_permalink($page-> ID)."</loc>\n";
echo " <lastmod>";
echo get_the_time('c', $page-> ID);
echo "</lastmod>\n";
// echo ' <changefreq> daily</changefreq> \n';
echo " <priority>0.8</priority> ";
echo "\n";
echo " </url>\n\n";
}
/* End Pages */

script xml untuk archives

/* Start Archive */
$settingarchive = array(
'format' => 'custom',
'before' => '
<url>
',
'after' => '
</url>',
'echo' => 0 );
$archive = wp_get_archives($settingarchive);
/* replace */
$from = array (
" 2000", " 2001", " 2002", " 2003", " 2004", " 2005", " 2006", " 2007", " 2008", " 2009", " 2010", " 2011", " 2012", " 2013", " 2014", " 2015", " 2016", " 2017", " 2018", " 2019", " 2020", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "'>", "' title='", "<a href='", "</a>");
$to = array (
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", " <loc>", "</loc>
<priority>0.4</priority> ");
echo str_replace($from, $to, $archive);
/* End Archive */

script xml untuk categories

Halaman categories indaam.net saya set noindex, jadi saya tidak menambahkan sitemapnya, kalo sobat mau–silakan tambahkan sendiri

script xml untuk tag

Halaman tag indaam.net juga saya set noindex, jadi saya tidak menambahkan sitemapnya, kalo sobat mau–silakan tambahkan sendiri

setelah itu ditutup dengan

</sitemapindex>

atau

</urlset>

tapi karena pada awalnya kita memilih </urlset>

maka ditutup dengan

</urlset>

Semua Code/script xml sitemap

Kalau ngga mau repot, silakan salin script/code ke page-sitemap.php /* ini sama dengan yang ada di indaam.net */

<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n";
echo "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"> \n";
// Home
echo " <url>\n";
echo " <loc>".home_url()."</loc>\n";
echo " <priority>1</priority> \n";
echo " </url>\n\n";
// End Home
// Start Pages
$pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'publish' AND comment_status ='open' AND post_type = 'page' ORDER BY post_date DESC");
foreach ($pages as $page) {
echo " <url>\n";
echo " <loc>".get_permalink($page-> ID)."</loc>\n";
echo " <lastmod>";
echo get_the_time('c', $page-> ID);
echo "</lastmod>\n";
// echo ' <changefreq> daily</changefreq> \n';
echo " <priority>0.8</priority> ";
echo "\n";
echo " </url>\n\n";
}
///* End Pages */
///* Start Post */
$memanggilpost = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date DESC");
foreach ($memanggilpost as $post) {
echo " <url>\n";
echo " <loc>".get_permalink($post-> ID)."</loc>\n";
echo " <lastmod>";
echo get_the_time('c', $post-> ID);
echo "</lastmod>\n";
//echo '<changefreq> daily</changefreq> \n';
echo " <priority>0.6</priority> \n";
echo " </url>\n\n";
}
/* Start Archive */
$settingarchive = array(
'format' => 'custom',
'before' => '
<url>
',
'after' => '
</url>',
'echo' => 0 );
$archive = wp_get_archives($settingarchive);
/* replace */
$from = array (
" 2000", " 2001", " 2002", " 2003", " 2004", " 2005", " 2006", " 2007", " 2008", " 2009", " 2010", " 2011", " 2012", " 2013", " 2014", " 2015", " 2016", " 2017", " 2018", " 2019", " 2020", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "'>", "' title='", "<a href='", "</a>");
$to = array (
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", " <loc>", "</loc>
<priority>0.4</priority> ");
echo str_replace($from, $to, $archive);/* End Archive */
echo /* Please dont remove me :) Thanks */"</urlset> <!-- End urlset --> \n<!-- \n This sitemap for wordpress Hack by : \n http://www.indaam.net\n you can created.\n For tutorial visit : http://www.indaam.net/wordpress-created-xml-sitemap-manual-no-plugins-experiment/\n iLoveindonesia \n--> ";
// End Sitemap
?>

Berikut tambahanya

Pages: 1 2 3 4

Indam

A geek, frontend developer. Like you, coding & experiment.
#web #design #ui #ux #standard #dreamer
#welding #interisti #beer #coffee

19 thoughts on “WordPress : Membuat XML Sitemap manual(No Plugins) : Experiment”

  1. aandroid says:

    ya Allah, rumitnya bikin sitemaps,,,
    ni saya lagi bertanya-tanya,,

    pas pake plugin Google Sitemap Xml malah muncul tulisan ginian,”There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more
    There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more”

    itu knapa ya?
    saya cek via http://uhuhduahidahdiahknsjd.com/sitemap.xml ke browser muncul:

    “Kesalahan memuat stylesheet: Kesalahan pada jaringan terjadi saat memuat stylesheet XSLT:http://uhuhduahidahdiahknsjd.com//wp-content/plugins/google-xml-sitemaps-with-multisite-support/sitemap.xsl

    demikian,,,

    kira-kira bagaimana ya solusinya?

    1. There was a problem writing your sitemap file : Gak bisa nulis sitemap ke server karena previlage gak diijinkan (gak ada previlage).
      Kemungkinan besar masalahnya :
      1. CHMOD diset ke read only (misal CHMOD 444)
      2. Pihak penyedia Hosting memang tidak mengizinkan pembuatan file oleh script (biasanya untuk menghindari hack)

  2. Djawa says:

    maaf gan mo nanya., sitemap ieu pungsinya untuk apa ya.,? ma’lum newber :D

    1. Fungsi sitemap.xml untuk memberitahu list halaman website kita ke search engine seperti google, yahoo, bing. Fungsinya supaya semua halaman web terindeks di search engine.
      sitemap tersebut nantinya yang kita registrasikan di http://www.google.com/webmasters supaya web kita bisa terindeks dalam hitungan detik.

  3. WEBGILA.COM says:

    wow…. sumpah lengkap bgt….. thx for this post bos…^^

  4. Champ Pride says:

    Mantab bro,,,,,,, bisa sbg referensi…… Saluuttttttt……………….

  5. putripetry says:

    ctrl+d
    thanks for share…

  6. Mengapa saya tdk bisa membuat sitemap.xml seperti persis punya anda ?
    Setiap saya membuat sitemap.xml selalu saja isinya tidak langsung menuju ke link artikel saya,selalu saja didalamnya berisi link file *.xml lagi,yang mana jika file *.xml lain itu diklik akan membawa meunuju ke link artikel ( dibagi menurut arsip).Lihat : http://www.luxindotechno.com/sitemap.xml
    Mengapa bisa demikian ? Saya ingin membuat file sitemap.xml yang langsung j ke link artikel persis seperti punya anda.mohon bantuannya.
    Saya menggunak plugin google xml sitemap generator versi 4 beta,karena saya tidak bisa mengggunakan versi 3.2.6 dengan alasan plugin sudah terlalu lama(kedaluarsa).
    Terimakasih.

    1. indam says:

      Maaf mas, saya tidak pernah menggunakan plugin tersebut secara online. Dulu pernah coba di localhost ketika wordpress 2.9 tapi sudah lama sekali. Dan itu tentu sudah tidak membantu.
      Saran saya: Pluginsya di nonakttifkan saja dulu, nanti jika sudah rilis final–dicoba lagi.

  7. onesetia82 says:

    ga usah bertele-tele numpang sedot script dan ilmunya …
    semoga saja ketularan pinter walaupun hanya nyontek …
    salam kenal mas … :)

  8. hulkshare says:

    keknya sitemapnya butuh ini di palanya biar tampilanya ky list ;) :

    header(‘Content-Type: text/xml’);

  9. Malam ini PR (baca: pekerjaan rumah) untuk membuat XML dilaksanakan master.

  10. fuadi_04 says:

    wowww bagus artikel sitemaps nya bro, mumet kepalaku…. ijin sedot yahh mudah-mudahan nyantol ke otakku….

  11. walah aku kok malah bingung mAS

  12. indra says:

    Mas Indam, sebelumnya saya mohon izin pakai script di articel ini.. dan terimakasih banyak sudah membuat tutorial yg sangat membantu ini.

    salam kenal :)

  13. lengkap bro, bagus untuk referensi saya, thanks

  14. Fay says:

    Thanks Mas Bro..Tutorial Yang Lengkap & Mantap. Saya Sangat Terbantu Dengan Artikel Anda Ini.Salam Kenal

  15. Fay says:

    Thanks Mas Bro..Tutorial Yang Lengkap & Mantap.Salam

  16. Nice tutorial gan..
    terus berkarya dan berbagi ilmu..

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Disclaimer, FAQ & License

Hello Gaes, untuk tujuan apapun semua content text di blog ini dapat di copas, tanpa harus menulis sumbernya. Namun content yang berupa gambar--harus Anda periksa kembali lisensinya.

Adapun(mungkin) sebagian content blog ini sudah kadaluarsa atau sudah tidak relevan, contoh :'Theme default WordPress 3+ adalah Twentyten 'apakah selamanya Twentyten?' ngga kan? Indam selaku pengelolah berharap melaporkan jika menemukan content basi yang mungkin dapat menimbulkan salah persepsi tentang content dan konsep itu sendiri. Oia, karena blog ini bersifat pribadi dan bukan untuk komersil, mungkin anda juga akan menemukan tulisan tentang aku dan hal-hal rancu yang sama sekali ngga ada hubungan dengan web dan blog-blogan. Perlu dicatat: Indam selaku pengelolah tidak bertanggung jawab atas kerugian materi, waktu, tenaga, pikiran yang mungkin ditimbulkan dari sini. So, pandai-pandai yah dalam memilah informasi. Thanks for reading.

Quote

Ketika Anda melihat orang lain mengangkat dirinya dengan cara merendahkan orang lain, sebenarnya orang itu lebih rendah dari mereka yang direndahkan. Phidias--greece filsuf

+
-