Mengaktifkan dukungan Permalink WordPress di Nginx

By | November 21, 2020

Sudah banyak orang yang beralih menggunakan Nginx sebagai software web servernya dari Apache, ini dikarenakan Nginx memiliki performa lebih baik dengan tingkat penggunaan resourcenya juga lebih rendah dalam melayani jumlah pengunjung yang setara. Secara singkat dan umumnya sih begitu, anda sebaiknya membuktikanya sendiri.

Begitu juga dengan WordPress si CMS (Content Management System) yang populer sebagai platform ngeblog dari pemula sampai yang mahir karena kemudahan dan banyak fitur yang bisa ditambahkan dengan plugin – pluginnya.

Permasalahan pertama bagi kita yang membuat situs baru menggunakan WordPress di Nginx atau telah melakukan migrasi adalah mengenai Permalink atau kadang disebut Friendly URL. Dijamin kalau memakai setting default akan muncul kode HTTP 404 Error Not Found pada semua halaman website anda kalau tidak dipersiapkan sebelumnya.

Permalink sendiri fungsi adalah mengubah link yang tidak ramah seperti servernesia.com/?p=123 menjadi servernesia.com/halo-dunia/, jadi lebih mudah dihapalkan manusia dan memiliki pengaruh terhadap SEO. Misal anda langsung mengaktifkan permalink WordPress tanpa melakukan pengaturan konfigurasi di Nginx maka dijamin setiap url blog anda akan muncul error 404 - Not Found. Runyam kan?

Kembali ke fokus pembicaraan kita mengenai bagaimana caranya mengaktifkan dukungan permalink ini dalam Nginx. Anda perlu membuka file konfigurasi virtual host Nginx untuk nama domain atau website anda terlebih dahulu (saya sarankan menggunakan nano text editor):

  • Webuzo: /usr/local/apps/nginx/etc/conf.d/common
  • Install manual: /etc/nginx/sites-enabled/[nama-domain-anda]
  • Install manual 2: /etc/nginx/sites-available/[nama-domain-anda]
  • VestaCP: /home/nama_user/conf/web/nginx.conf

Tentu saja abaikan yang ada di dalam kurung, gantikan dengan alamat website anda. Oh ya, biasanya lokasinya ada di salah satu direktori diatas. Jadi tidak perlu semuanya dicek dan ada.

Kemudian cari atau tambahkan kode berikut didalamnya:

  • Bila anda menggunakan domain utama (servernesia.com) maka kodenya adalah:
    location / { 
    try_files $uri $uri/ /index.php?q=$request_uri;
    }

  • Alternatifnya bila menggunakan direktori (servernesia.com/blog/) maka:
    location /blog {
    try_files $uri $uri/ /blog/index.php?q=$request_uri;
    }

Dimana kata blog bisa digantikan dengan nama lokasi WordPress anda diinstall.

Bila sudah ada bagian location maka tinggal isikan kode try_files seluruhnya didalamnya, bila tidak maka silahkan copy-pastekan saja. Ingat, harap pilih salah satu jenis kode diatas karena fungsinya memang berbeda tergantung bagaimana struktur url website anda. Semisal dalam default location sudah ada /index.html maka hapus saja karena sudah tidak dibutuhkan.

Simpan perubahan konfigurasi vHost anda dan setelah itus restart Nginx, kalau di CentOS anda bisa mengetikkan perintah berikut:

service nginx restart

Selesai. 🙂

Silahkan anda cek kembali blog WordPress anda yang sudah diaktifkan fitur permalinknya dan semuanya akan berfungsi dengan normal.


Sumber https://servernesia.com