Pada kesempatan kali ini saya akan memberikan materi mengenai bagaimana cara redirect URL halaman atau postingan artikel WordPress tanpa menggunakan plugin tambahan apa pun secara permanen. Metode ini juga sering disebut sebagai redirect 301.
Sebenarnya banyak cara untuk menerapkan metode mengalihkan tautan halaman. Namun di sini saya akan membahas 3 cara redirect URL yang paling mudah dilakukan oleh pengguna non-teknis sekalipun.
Video Tutorial
Dalam penjelasan ini saya menggunakan metode mengalihkan halaman melalui file functions.php atau plugin code snippets (apabila cara pertama tidak berhasil) dan file .htaccess. Selain itu, metode ini saya khususkan untuk redirect relative URL, bukan absolute URL.
Metode pertama adalah dengan cara menambahkan tautan pengalihan langsung (hardcode) ke dalam file functions.php. Cara ini mudah dan cocok digunakan untuk mengalihkan tautan dalam jumlah kecil.
Selanjutnya, pada metode kedua adalah dengan menggunakan fitur custom fields yang disediakan secara default oleh WordPress pada block editor.
Proses mengalihkan halaman akan sangat terbantu dengan menggunakan cara kedua ini dan sangat ideal diterapkan apabila Anda memiliki banyak halaman yang harus dialihkan.
Jenis-jenis Redirect di WordPress
Terdapat 5 jenis redirect sesuai dengan fungsinya:
- 301: Pengalihan ini merupakan redirect URL permanen. Dengan menerapkan redirect 301, maka mesin pencari akan diberitahu bahwa tautan yang lama sudah dialihkan ke tautan yang baru secara permanen. Dengan begitu, semua yang ada di tautan sebelumnya akan dipindahkan ke tautan yang baru.
- 302: Pengalihan halaman ini hanya berlaku untuk sementara. Pengalihan ini akan memberitahu mesin pencari bahwa URL yang baru hanya untuk sementara waktu. Dalam hal link juice dan ranking, Anda tidak bisa mengharapkan crawler akan memberikan banyak keuntungan.
- 303: Pengalihan tautan jenis ini biasanya digunakan untuk halaman formulir pembayaran atau halaman yang berisikan data pribadi. Redirect 303 juga dikenal sebagai “See Other” atau “Liihat Lainnya” yang mengindikasikan halaman tersebut telah diganti sementara waktu dan tersedia di halaman atau lokasi lainnya.
- 307: Sama seperti cara mengalihkan halaman sebelumnya, namun lebih dikenal sebagai “Temporary Redirect” atau “Pengalihan Sementara”. Pengertiannya adalah bahwa halaman ini telah dipindahkan ke halaman lainnya yang dapat diakses oleh pengunjung untuk sementara.
- 308: Jika sebelumnya Anda melihat kesamaan antara redirect 303 dan redirect 307. Redirect 308 bisa disamakan dengan redirect 301, yaitu mengalihkan halaman secara permanen. Namun, penggunaan pengalihan 308 lebih cocok diterapkan ketika Anda ingin membangun ulang website atau merestruktirisasi website Anda. Selain itu, cara ini juga berguna untuk memigrasikan website dari HTTP ke HTTPS.
Itulah perbedaan jenis-jenis redirect URL. Namun, mengapa harus melakukan redirect? Apa keuntungan dari melakukan pengalihan halaman ini?
Keuntungan Melakukan Pengalihan Halaman WordPress
Terdapat beberapa situasi yang mengharuskan Anda menerapkan pengalihan halaman website. Beberapa di antaranya adalah sebagai berikut:
- Mengganti nama domain: Ketika Anda mengganti nama donain, semua tautan internal akan tetap mengarah ke domain dan postingan lama. Untuk mengatasi ini, cara terbaik adalah dengan melakukan pengalihan.
- Meningkatkan SEO: Jika Anda memiliki website bisnis online, hal yang paling utama untuk meningkatkan penjualan, konversi, dan pemasukan uang adalah SEO. Sedangkan SEO sendiri berkaitan dengana permalink. Jika permalink Anda tidak baik, maka Anda harus memperbaikinya. Cara terbaik memperbaiki permalink adalah melakukan pengalihan halaman. Dengan begitu, pengunjung website Anda tidak akan diarahkan ke halaman 404 alias halaman kosong…
- Menghapus halaman: Jika Anda menghapus halaman atau postingan yang telah mendapatkan ranking di mesin pencari, maka Anda telah mengambil keputusan yang buruk. Seharusnya, Anda mengatur pengalihan halaman terlebih dulu sehingga pengunjung website Anda tidak diarahkan ke halaman 404.
- Pembaruan halaman: Situasi ini terjadi ketika misalnya, Anda ingin menjalankan A/B testing, yang mana Anda akan mempersiapkan halaman pengujian. Terdapat 2 cara antisipasi, pertama, adalah dengan mengaktifkan mode pemeliharaan atau maintenance mode. Cara lainnya adalah dengan melakukan mengatur pengalihan. Dengan begitu, pengguna tidak akan mengunjungi halaman yang sedang dalam masa pemeliharaan.
- Penawaran terbatas: Situasi ini sering ditemukan apabila Anda menjalankan website bisnis online. Ketika Anda menggunakan WooCommerce atau SureCart untuk menjual produk digital maupun fisik, mungkin Anda akan menjalankan promo terbatas sebagai salah satu strategi pemasaran. Cara terbaik setelah masa promosi berakhir adalah dengan tidak menghapus halaman tersebut, melainkan melakukan pengalihan halaman ke halaman produk semula.
Mungkin suatu saat ada kalanya Anda akan menemukan kasus pengalihan halaman yang terlewat dari pantauan Anda. Untuk itu, Anda harus memeriksanya secara berkala.
Sekarang, mari kita mulai dari metode pertama, yaitu bagaimana cara membuat pengalihan halaman dengan cara menambahkan kode pada tema secara langsung.
Cara Redirect URL Menggunakan Hardcode (Metode 1)
Sesuai dengan penjelasan di atas, bahwa pada metode pertama ini saya akan melakukannya dengan menulis beberapa baris kode mengalihkan halaman langsung pada file functions.php atau plugin code snippets.
1. Salin slug URL (dari) lama dan (ke) baru
Saya berasumsi Anda sudah mengetahui apa itu slug. Jika belum tahu, slug adalah bagian dari tautan pada halaman-halaman website Anda yang berada di sebelah kanan tanda garis miring โ/โ setelah nama domain Anda.
Sebagai contoh, saya menggunakan nama domain tryme.akw (diinstal pada server komputer lokal). Ketika mengakses salah satu artikel blog, maka akan menjadi tryme.akw/artikel-baru. Di sini yang dinamakan sebagai slug adalah bagianย /artikel-baru/.

Dalam kasus ini saya akan membuat redirect 301 dariย tryme.akwโ /artikel-lama/ย ke tryme.akw/artikel-baru/. Di sini, yang harus disalin adalah slugย /artikel-lama/ย dan akan digantikan denganย /artikel-baru/.
Maka, slug-nya akan terlihat seperti berikut:
Dari: /artikel-lama/
ke: /artikel-baru/
2. Menambahkan kode khusus ke file functions.php tema Anda
Saya akan menggunakan tipe data “array” dalam menerapkan aturan redirect URL. Pemilihan ini karena mempertimbangkan aspek skalabilitas.
Maksudnya adalah, ketika Anda ingin menambahkan redirect URL di masa yang akan datang, dengan menggunakan array maka risiko kesalahan akan lebih kecil. Sebab, penulisan kode lebih sederhana dan rapi.
Sebelum memulai, perlu saya ingatkan, untuk menambahkan atau memodifikasi kode tema atau plugin, sebaiknya hanya dilakukan menggunakan child theme, alih-alih mengubah kode pada tema asli (parent theme).
Bagaimana cara menambahkan kode pada tema WordPress? Mudah saja, masuk ke Admin Dashboard – Appearance – Theme File Editor. Pilih child theme yang aktif, lalu buka file functions.php.
Alternatif lain sebagai cara menambahkan kode atau skrip pada tema website adalah menggunakan plugin code snippets manager seperti, WP Codebox atau Code Snippets. Dengan begitu Anda dapat mengelola kode kustom/custom code dengan lebih mudah lagi.
Setelah Anda membuka file tersebut, kemudian salin dan tambahkan kode berikut:
// Fungsi redirect URL
function creatorio_redirect_url() {
// Aturan redirect menggunakan array
$redirect_rules = array(
'/dari slug/' => '/ke-slug/',
'/dari-slug/' => '/ke/' // Tambahkan URL lainnya di sini
);
// Mendapatkan URL relatif saat ini
$current_url_relative = wp_parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
// Normalisasi URL: menambahkan trailing slash jika belum ada
if (substr($current_url_relative, -1) !== '/') {
$current_url_relative .= '/';
}
// Mengecek apakah URL saat ini ada dalam aturan redirect
if (array_key_exists($current_url_relative, $redirect_rules)) {
// URL baru berdasarkan aturan redirect
$new_slug = $redirect_rules[$current_url_relative];
$new_url = home_url($new_slug);
// Menangani query string (jika ada)
if (!empty($_SERVER['QUERY_STRING'])) {
$new_url .= '?' . $_SERVER['QUERY_STRING'];
}
// Lakukan redirect hanya jika URL tujuan berbeda
$current_url = home_url($current_url_relative);
if ($current_url !== $new_url) {
wp_redirect($new_url, 301); // Redirect 301 (permanen)
exit;
}
}
}
add_action('template_redirect', 'creatorio_redirect_url');
Ganti โ ”dari slug”โ dan โ ”ke slug”โ sesuai slug halaman yang ingin Anda alihkan. Pada slug terakhir, jangan gunakan tanda koma (,). Misalnya, jika Anda memiliki empat halaman yang ingin dialihkan, maka penulisannya seperti berikut:
// Aturan redirect menggunakan array
$redirect_rules = array(
'/dari slug-1/' => '/ke-slug-1/',
'/dari-slug-2/' => '/ke-slug-2/',
'/dari slug-3/' => '/ke-slug-3/',
'/dari-slug-4/' => '/ke-slug-4/'
);
Perhatikan pada baris '/dari-slug-4/' => '/ke-slug-4/'
saya tidak menambahkan tanda koma di akhir kode.
Anda bisa menambahkan beberapa baris kode berikutnya untuk menambah halaman pengalihan yang Anda butuhkan.
Sampai di sini, Anda telah berhasil membuat halaman pengalihan.
Cara Redirect URL Menggunakan Custom Fields (Metode 2)
Cara mengalihkan halaman ini dapat dikatakan adalah yang paling mudah tanpa harus memodifikasi kode pada file functions.php tema Anda berulang kali setiap ada penambahan aturan redirect 301.
Karena kemudahannya, metode kedua ini sangat cocok apabila Anda membutuhkan banyak pengaturan pengalihan halaman. Saya jamin, cara ini akan menarik perhatian Anda karena dapat menghemat banyak waktu dibandingkan dengan metode sebelumnya.
1. Menghapus dan menambahkan kode
Jika Anda telah menambahkan kode metode 1, maka Anda harus menghapus dan menggantinya dengan kode berikut:
// Fungsi redirect URL
function creatorio_ganti_url_baru() {
// Dapatkan halaman dengan slug 'redirect'
$redirect_page = get_page_by_path('redirect', OBJECT, 'page');
// Pastikan halaman ditemukan dan statusnya private
if (!$redirect_page || $redirect_page->post_status !== 'private') {
return; // Hentikan eksekusi jika halaman tidak ditemukan atau tidak private
}
// Dapatkan custom fields dari halaman
$redirect_meta = get_post_meta($redirect_page->ID);
$redirect_rules = array();
foreach ($redirect_meta as $key => $value) {
if (strpos($key, '/') === 0) {
$redirect_rules[trim($key)] = trim($value[0]);
}
}
// Dapatkan URL relatif
$current_url_relative = wp_parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
if (substr($current_url_relative, -1) !== '/') {
$current_url_relative .= '/';
}
foreach ($redirect_rules as $from => $to) {
if (substr($from, -1) !== '/') {
$from .= '/';
}
if ($current_url_relative === $from) {
$new_url = home_url($to);
if (!empty($_SERVER['QUERY_STRING'])) {
$new_url .= '?' . $_SERVER['QUERY_STRING'];
}
wp_redirect($new_url, 301);
exit;
}
}
}
add_action('template_redirect', 'creatorio_ganti_url_baru');
Jika sudah, langkah selanjutnya adalah membuat halaman khusus untuk menambahkan aturan redirect URL.
Selain menggunakan fungsi get_page_by_path()
, Anda juga bisa menggunakan WP_Query($args)
. Namun, dengan pertimbangan bahwa yang ingin kita lakukan adalah mendapatkan halaman dengan judul “redirect”, menggunakan WP_Query($args)
dianggap berlebihan.
Namun, dengan menggunakan get_page_by_path()
, kita harus melakukan validasi status halaman. Pada baris ke-7 Anda bisa melihat bahwa jika halaman yang didapat oleh get_page_by_path()
berisi post_status
identik berbeda dari nilai “Private”, maka eksekusi selanjutnya akan segera dihentikan. Pertimbangan untuk melakukan validasi ini terkait dengan:
- Keamanan: Dengan memastikan hanya memproses halaman yang memiliki status “private”, dapat mengurangi kemungkinan terjadinya kesahalan penggunaan halaman dengan status “publish”, misalnya.
- Kontrol yang lebih baik: Ketika terjadi kesamaan judul, yakni “redirect” untuk halaman lainnya yang berstatus “publish”, halaman yang memang dibuat untuk aturan mengalihkan halaman (redirect URL) akan tetap berfungsi tanpa adanya kesalahan akses.
- Efisiensi: Validasi status private yang kita lakukan tepat setelah mendapatkan halaman dengan judul “redirect” akan mengurangi penambahan eksekusi kode yang tidak memenuhi syarat.
- Konsistensi dalam akses data: Status private memastikan bahwa hanya pengguna dengan izin akses mengedit postingan yang dapat memodifikasi aturan redirect.
2. Membuat halaman redirect private
Langkah berikutnya untuk membuat redirect 301 adalah membuat sebuah halaman / page dengan status private. Alasan mengapa status halaman harus private adalah untuk alasan keamanan WordPress Anda, pastinya.

Selain itu, halaman ini harus diberi judul โredirectโ. Hal ini penting, sebab pada halaman inilah semua redirect URL akan dibuat. Anda bisa menggunakan judul lain. Namun, untuk mengurangi kemungkinan terjadinya kebingungan ke depannya, sebaiknya gunakan judul yang relevan.
Sebelum memublikasikannya, pastikan untuk mengganti visibilitas menjadi “Private” dengan memilih pada bagian kanan klik Status – Status & Visibility ubah menjadi “Private”.

Selanjutnya adalah mengaktifkan pilihan Custom Fields dengan cara klik titik tiga di sebelah kanan atas – Preferences – General – Advanced – Custom Fields. Setelah mengaktifkan opsi ini, klik Show & Reload Page, maka tab browser akan secara otomatis dimuat ulang.

3. Menambahkan dan menyimpan tautan / URL pada Custom Fields
Ini merupakan langkah terakhir yang harus Anda lakukan. Tambahkan custom fields lalu simpan atau save ulang halaman redirect.
Anda akan melihat 2 kolom pada opsi Custom Fields, yaitu โNameโ dan โValueโ. Bagaiaman cara menambahkan URL untuk mengalihkan halaman?
Mudah saja. Pada kolom โNameโ input dengan URL lama, sedangkan URL baru diketik pada kolom โValueโ. Lihat gambar di bawah yang mana saya masih menggunakan tautan seperti metode pertama.

Selanjutnya, coba periksa halaman yang Anda alihkan, apakah sudah aktif atau belum. Anda dapat menambahkan aturan redirect URL pada bagian custom fields tanpa batasan.
Nah, inilah 2 cara mudah membuat redirect 301 tanpa menggunakan plugin tambahan.
Apakah Anda telah menerapkan redirect URL pada halaman website? Metode pertama atau metode kedua yang Anda terapkan?ย Jika Anda mengalami kesulitan atau kendala, silakan beri komentar atau langsungย hubungi saya.
3. Redirect URL Menggunakan .htaccess
Cara ketiga agar pengguna tidak tersesat ke halaman 404 adalah melakukan redirect halaman melalui .htaccess. Pertama, penting untuk dilakukan adalah melakukan back up .httaccess file.
Setelah mengunduh file .htaccess, buat salinan file .htaccess yang ada di direktori root website Anda untuk memastikan keamanan file asli.

Jika Anda menggunakan Apache, Anda bisa membaca cara pengalihan direktif pada dokumentasi mereka. Penulisan sederhana sintaksis pengalihan di .htaccess adalah seperti di bawah ini:
//Redirect [status] URL-path URL-baru
Redirect 301 /artikel-lama https:testing.akw/artikel-baru
Apabila Anda belum pernah membuka atau mengedit file ini, mungkin saja Anda akan bertanya di mana lokasi file .htaccess berada?
Beberapa panel seperti ServerAvatar, biasanya secara default file ini akan disembunyikan. Oleh karena itu, Anda perlu untuk menggeser toggle agar file terlihat. Namun, jika Anda menggunakan cPanel, file .htaccess akan mudah ditemukan.
Apakah redirect halaman Anda sudah berhasil? Sekarang, sebagai bonus, saya akan memberikan snippets untuk redirect seluruh website ke domain baru melalui .htaccess. Contoh kodenya adalah seperti di bawah ini:
<!--Mengalihkan semua halaman website ke domain baru-->
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domainlama.com [NC,OR]
RewriteCond %{HTTP_HOST} ^domainbaru.com [NC]
RewriteRule ^(.*)$ https://domainbaru.com/$1 [L,R=301,NC]
Keterangan untuk kode di atas adalah “domainlama.com
” adalah website asli yang masih aktif sekarang dan “domainbaru.com
” merupakan website baru Anda yang dijadikan tujuan pengalihan.
Menggunakan kode ini, maka halaman “domainlama.com/tentang-saya
” akan dialihkan ke “domainbaru.com/tentang-saya
“.
Membuat Redirect URL untuk Website Anda Secara Mandiri
Apakah penjelasan di atas sudah cukup membantu Anda? Pada cara pertama dan kedua, redirect URL hanya diterapkan untuk mengalihkan halaman pada website yang sama. Sedangkan pada cara terakhir Anda bisa mengalihkan semua halaman website tanpa menurunkan skor SEO Anda.
Saya ingin mengingatkan kembali, sebelum melakukan perubahan apa pun terhadap file dan database website, pastikan untuk melakukan back up data terlebih dulu. Agar tidak kesulitan, Anda bisa menggunakan plugin seperti WPVivid untuk mengelola data website secara fleksibel dan mudah.
Pertanyaan Seputar Redirect URL (FAQโs)
Apakah metode pengalihan yang dijelaskan pada artikel ini memiliki dampak pada SEO?
Metode pengalihan permanen atau lebih dikenal sebagai redirect 301 yang dijelaskan pada artikel ini menggunakan fungsi yang dimiliki secara default oleh WordPress. Oleh karena itu, cara ini apabila diterapkan dengan benar, maka bisa dikatakan sebagai metode yang ramah SEO. Cara kerja redirect 301 adalah memberitahu mesin pencari bahwa halaman dengan tautan lama telah dipindahkan ke tautan baru. Dengan begitu, semua nilai SEO yang dimiliki oleh halaman lama juga dipindahkan ke halaman baru. Yang harus Anda lakukan berikutnya adalah mengurangi pengalihan tautan yang tidak perlu dengan cara memperbarui tautan internal/internal link pada postingan lainnya yang mengarah pada postingan yang Anda alihkan.
Bagaimana cara memastikan fungsi pengalihan tautan permanen ini benar-benar berjalan?
Cara mudah adalah menggunakan Chrome extensions sepertiย Redirect Pathย oleh Ayima. Apabila Anda ingin memastikan secara manual, silakan ikuti langkah-langkah berikut:
– Pastikan browser Anda sudah dibersihkan dengan cara membersihkan cache.
– Buka tab penyamaran atau incognito.
– Buka tautan lama yang telah Anda alihkan ke halaman baru pada kolom pencarian.
– Perhatikan tautan pada kolom pencarian URL. Jika URL otomatis diarahkan ke halaman baru, maka redirect URL tanpa plugin yang Anda lakukan sudah benar.
Apakah memungkinkan untuk menambahkan aturan pengalihan halaman sekaligus menggunakan cara yang dijelaskan dalam artikel?
Sayang sekali, metode yang saya jelaskan dalam artikel ini hanya bisa mengalihkan halaman satu per satu. Anda bisa saja menambahkan baris kode khusus pada file functions.php untuk menambahkan fungsi pengalihan halaman secara massal. Namun, tentu saja metode ini membutuhkan pengetahuan pemprograman yang lebih dalam. Alternatif lainnya, Anda bisa menggunakan plugin redirect yang bisa ditemukan pada repositori plugin WordPress.
3 comments
Ervan Erfian
Kode redirect nya ada yang saya perbaiki Om Rio..
Cara Redirect URL WordPress tanpa Plugin
https://drive.google.com/drive/folders/1sQtCf_F7UZZT55Z8EK3z2iKjUFip2JK4
Rio Mastri
Makasih om
Saya coba perbaiki
Miss Ukhti
Apakah metode ini selalu aman ketika WordPress core ada update?