SEF = Search Engine Friendly, yang artinya baik bagi mesin pencari. Yang dimaksudkan di sini adalah URL yang digunakan dan ditampilkan di situs baik buat mesin pencari.
Berikut adalah contoh-contoh dari URL di address dari browser maupun URL yang ditampilkan di status bar sewaktu hover (link dilewati oleh mouse).
1. http://www.id-joomla.com/index.php?option=com_frontpage&Itemid=1
URL maupun link-link yang ada di situs tidak menggunakan SEF apapun, baik bawaan Joomla, maupun Advanced.
Positif:
- Tidak menggunakan database sama sekali utk mentranslasi URL/Link
- Anda tidak perlu menghabiskan waktu untuk tweak disana-sini untuk mendapatkan kombinasi yg benar di htaccess maupun komponen SEF
Negatif:
- Tidak Search Engine Friendly
- Mudah diketahui engine maupun extension yang dipakai di situs tsb
2. http://www.id-joomla.com/component/option,com_frontpage/Itemid,1/
URL maupun link-link menggunakan SEF standard bawaan dari Joomla. Ini harus dipadukan dengan penggunakan .htaccess
Pada umumnya .htaccess cukup dengan mengganti nama htaccess.txt bawaan instalasi Joomla menjadi .htaccess, dgn syarat (namun tidak mutlak): Instalasi Joomla berada di root domain, tidak berada di sub domain ataupun direktori
Positif:
- Tidak menggunakan database sama sekali utk mentranslasi URL/Link
- Usaha untuk mendapatkan kombinasi yg benar di .htaccess minimal, dan semua URL atau link tidak akan ada masalah
Negatif:
- Search Engine Friendly tapi tidak optimal
- Masih bisa diketahui engine maupun extension yang dipakai di situs tsb
3. http://www.id-joomla.com/home.html
URL maupun link-link menggunakan advanced SEF, dalam hal ini banyak komponen yg tersedia untuk mendapatkan link spt di atas, mis. sh404SEF, OpenSEF (Artio), AdvancedSEF dll. Dalam tulisan ini khusus dibahas komponen sh404SEF
Positif:
- Search Engine Friendly, karena mesin pencari bahkan bisa menggunakan link tsb sbg keyword
- Tidak mudah untuk pengunjung untuk mengetahui engine maupun extension yang dipakai situs. (NB. Translasi dari extension tergantung ke plugin untuk component itu sendiri, jadi jika plugin yg spesifik untuk komponen X tdk diinstall atau tidak ada, maka default URL atau link tidak akan ditranslasi. Akibatnya link yg ditampilkan masih akan seperti jenis URL #2 diatas, yaitu SEF bawaan Joomla)
Negatif:
- Menggunakan database untuk menyimpan hasil-hasil translasi URL
- Perlu mendapatkan setting yg benar di .htaccess dan komponen itu sendiri. Lumayan banyak masalahnya karena link yg sudah ditranslasi tidak menuju address sebenarnya yg diharapkan. (Contoh: mungkin sewaktu mengklik CB login atau profile akan muncul Not Authorized, dll)
Prosedur atau protokol penggunaan SEF bawaan Joomla dan Komponen sh404SEF
- Jika anda menghendaki URL #2 dan #3 di atas, maka ada beberapa hal yg perlu dipatuhi ketika memulai membuat sebuah situs Joomla, al:
- Jangan menggunakan absolute link di dalam content, maupun link yg ada di menu, karena sewaktu SEF diterapkan link2 tsb mungkin tidak akan ditranslasi dan berakibat Page Not Found atau Error 404
- Hindari mencampur-adukkan instalasi Joomla dgn non-Joomla di dalam satu direktori (mis. memakai forum non Joomla pada folder instalasi Joomla, membuat folder di root dari instalasi Joomla anda untuk keperluan lainnya)
- Usahakan situs Joomla anda sudah jadi minimal 50% sebelum dipusingkan oleh pemakaian Core SEF (istilah gw untuk SEF bawaan Joomla ) ataupun Advanced SEF
- Sebelum anda memulai penerapan SEF, ikuti langkah2 berikut supaya sukses:
- Disable Cache bawwan Joomla, yaitu Admin – Global Configuration – Cache | Caching
- Janganlah bereksperimen dengan Core/Advanced SEF di lokal/localhost, karena anda masih akan mulai dari nol jika instalasi tsb ditransfer ke hosting, yang kadang2 malah menyulitkan. Jika ingin menginstall sh404SEF baru transfer ke hosting, pastikan komponen tsb disabled sblm transfer.
- Sebelum anda memulai sesuatu yg ‘baru’, pastikan membuat backup situs anda (ini termasuk database dan files)
Penerapan Core SEF dan sh404SEF
Untuk mendapatkan sh404SEF, instalasi Joomla anda harus bisa bekerja dengan Core SEF (SEF bawaan Joomla) terlebih dahulu. Memang sh404SEF dilengkapi dgn kemampuan untuk membuat SEF URL tanpa pengaktifan Core SEF ataupun .htaccess, namum itu akan dibahas pada tulisan yg akan datang.
Pendahuluan
Di paragraf ini, akan dijelaskan penerapan Core SEF bawaan Joomla, jika core SEF sudah jalan maka penerapan sh404SEF sudah mudah. Prosedur penerapan core SEF adalah sbb:
- Pastikan Cache disabled, sampai situs sudah benar-benar berfungsi dengan Core SEF maupun sh404SEF. Caranya: Admin – Global Configuration – Cache | Caching –> Disabled / Tidak
- Hidupkan SEF di Joomla. Caranya: Admin – Global Configuration – SEO | SEF –> Enabled / Ya (Dynamic Page titles tidak berpengaruh karena itu untuk fungsi pembuatan title page, dan tidak akan dibahas di sini). Simpan/Save konfigurasi.
- Gunakan FTP Client, atau File Manager di CPanel, dan rename htaccess.txt bawaan Joomla menjadi .htaccess
– Jika anda sudah memiliki .htaccess di folder instalasi Joomla, maka konsultasikan isi dari .htaccess tsb ke forum, karena mungkin isinya untuk keperluan lainnya yang bisa mempengaruhi situs anda.
– Sesudah rename .htaccess, file tsb tidak kelihatan lagi sewaktu refresh, maka pastikan setting FTP client anda menampilkan hidden file (Untuk FileZilla = View | Show hidden files. Untuk CuteFTP, mungkin perlu mengaktifkan Filter (-a) di site manager.) Konsultasikan ke forum kalau file tsb tidak kelihatan lagi sesudah direname. - Test front-end untuk memastikan Core SEF sudah bekerja, dgn cara browsing beberapa link. Jika anda mendapatkan Error 500 atau server error berarti ada kesalahan di .htaccess tsb, biasanya kesalahan hanya ada di 2 baris berikut:
Options +FollowSymLinks
#RewriteBase /
Yang kemungkinan perlu di remark (#) di Options +FollowSymLinks, ataupun perlu dibuang tanda # buat RewriteBase. Silahkan coba beberapa kombinasi tsb, jika masih Server Error, silahkan konsultasi ke forum. Berikan detail ttg situs, server, dan kombinasi serta errornya karena posting dgn subjek “Tidak jalan” tidak akan membantu sama sekali.
Jika Error 404 sewaktu browsing link-link di situs, berarti .htaccess belum benar penerapannya, atau Core SEF belum diaktifkan. Hal ini bisa terlihat dgn link-link yang dihasilkan (silahkan referensi ke awal artikel ini tentang link yang benar buat Core SEF dan konsultasi ke forum) - Jika Core SEF sudah jalan, dengan mempertimbangkan baik-buruknya penggunaan Sh404SEF, maka anda boleh memilih memakai Core SEF Joomla atau melanjutkan instalasi sh404SEF berikut.
Download
Download component sh404SEF di alamat yang benar yaitu: http://joomlacode.org/gf/project/sh404sef/frs/
Ini untuk menghindari component sama yang telah disisipi kode yang tidak bertanggung-jawab
Instalasi
Login ke Admin di Joomla, dan pilih install component, terus browse ke file zip yang sudah didownload di atas dan install.
Konfigurasi sh404SEF
Default instalasi component Sh404SEF tidak menggunakan mod-rewrite (.htaccess), dan untuk mengakses menu advanced pastikan klik link seperti gambar di Admin – Component – SH404SEF
Kemudian klik sh404SEF Configuration lalu Advanced
Aktifkan fungsi penggunaan .htaccess seperti gambar berikut, dan aktifkan komponen shSH404SEF di Main | Basic Configuration spt ilustrasi diatas.
Begitu komponen ini diaktifkan, maka di front end, jika di hover link2 yg ada di home page, semua akan menjadi URL yang SEF (lihat penjelasan di awal artikel). TETAPI jika diklik akan mengakibatkan page not found atau error 404. Langkah terakhir yg diperlukan adalah mengedit file .htaccess untuk mengaktifkan penggunaan advanced SEF.
Sebagian isi dari .htaccess yg sudah bekerja untuk Core SEF akan terlihat sbb:
########## Begin – Joomla! core SEF Section
############# Use this section if using ONLY Joomla! core SEF
## ALL (RewriteCond) lines in this section are only required if you actually
## have directories named ‘content’ or ‘component’ on your server
## If you do not have directories with these names, comment them out.
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional – see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] RewriteRule ^(content/|component/) index.php
#
########## End – Joomla! core SEF Section
########## Begin – 3rd Party SEF Section
############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension – e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
#
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional – see notes##
#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC] #RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule (.*) index.php
#
########## End – 3rd Party SEF Section