Optimasi Crawler Budget

Berdasar pengalaman, beberapa hal yang harus diperhatikan ketika mau melakukan optimasi crawler budget adalah:

  1. Pastikan server Anda sehat, silakan diuji dengan google page speed test, webpagetest atau gtmetrix. Perhatikan ke nilai TTFB.
  2. Struktur internal link yang bagus, tidak usah set nofollow, kecuali untuk halaman statis, misal about, contact, dsb. Kalau mau set blok crawler, lakukan lewat robots.txt
  3. Pastikan ada sitemap dan feed, kedua hal ini membantu crawler menemukan halaman yang ada di web Anda.
  4. Backlink yang berkualitas.

Sitemap Django Lambat

Sitemap dengan isi cuma 7 ribuan URL kok lambat banget ya, akhirnya diakali dengan nginx, karena ini masih static file juga, biarin nginx aja yang kerja, dikombinasi dengan perintah wget via crontab 5 menit sekali mengunduh file yang asli, kemudian tambahkan location block yang baru di nginx. Hasilnya cuepet!

location /index.xml {
   alias /home/kholidfu/path/to/index.xml;
}

perintah wget di crontab

*/5 * * * * wget https://example.com/sitemap.xml -O /home/kholidfu/path/to/index.xml

Done

 

Optimasi Django ala Pixabay

Yes, you heard it right, pixabay using django, dan ini ada artikel menarik tentang bagaimana mereka melakukan optimasi terhadap django

Django Optimizations and Performance Tips from Pixabay

Beberapa catatan dari pixabay:

  • Pelajari teknik optimasi seperti yang disarankan django di dokumentasi resmi
  • Selalu gunakan memcached
  • Kecepatan cache view > cache template, jadi sebisa mungkin gunakan fungsi decorator cache_page
  • Gunakan ujson > json

Tentang TTFB (Time To First Byte)

Jika kita membaca artikel dari Google disini, kita akan dapati bahwa Google menyarankan waktu respon server kita jangan sampai lebih dari 200ms. Karena kecepatan situs merupakan salah satu parameter penilaian SEO, bisa jadi jika waktu respon server lebih dari 200ms akan berpengaruh terhadap posisi kita di mata mesin pencari (utamanya Google).

Continue reading “Tentang TTFB (Time To First Byte)”

Redis Bikin Panik

Semalaman jaga lilin karena server bolak-balik mati, setelah diinvestigasi, karena redis service mati, error connection. Perlu diketahui, redis ini merupakan backend default cache dari aplikasi django yang saya buat (baik untuk cache_page maupun dependensi untuk library python-rq), akhirnya gerak cepat untuk mengganti redis dengan memcached untuk fungsi decorator cache_page saja.

sudo apt-get install memcached
pip install python-memcached

Redis tetap saya gunakan karena terkait dengan python-rq yang memang saya perlukan. Sehingga untuk cache_page sekarang saya pakai memcached. Let’s see how this combination will perform…

Mahalnya Django-HTMLmin

Awalnya berniat untuk memperkecil ukuran html dengan menghapus baris-baris kosong yang tidak perlu, namun ternyata ada harga yang harus dibayar, yakni respon server menjadi lambat, dan akhirnya…

pip uninstall django-htmlmin
pip freeze > requirements.txt

Setelah di-uninstall, load CPU server turun hampir separonya…

Optimasi Gambar PNG dengan pngquant

Beberapa alternatif command line tool untuk compress gambar png diantaranya pngcrush, optipng dan pngquant dan mungkin ada lagi yang saya belum pernah coba. Di antara ketiganya yang menghasilkan kualitas kompresi paling bagus adalah pngquant. Dari situs resminya disebutkan kalau pngquant bisa compress png sampai 70%. Mau coba?

Continue reading “Optimasi Gambar PNG dengan pngquant”