Cara membuat 301 Redirect di .htaccess

Anda ingin mengalihkan url lama menuju url baru? Kadang hal ini perlu dilakukan karena anda sedang menata ulang struktur link untuk setiap halaman pada website anda. Kalau peringkat dari alamat lama sudah cukup bagus di Google maka akan sayang sekali jika dimulai dari awal.

Nah… dengan menggunakan kode 301 untuk pengalihan maka Google akan mengetahui dimana alamat barunya dan akan menggunakannya dalam hasil pencarian. Singkatnya ini adalah pilihan SEO (Search Engine Optimization) terbaik untuk pengaturan struktur link lama dan yang baru.

Bila anda menggunakan web hosting dengan jenis server Apache atau LiteSpeed maka anda bisa menggunakan file .htaccess untuk melakukan 301 redirect. Anda tinggal mengakses lokasi direktori website anda (biasanya di public_html atau www)? melalui File Manager milik cPanel atau melewati akun FTP anda.

file-manager-home-directory

Nanti pada folder situs anda akan ada file .htaccess, kalau tidak ada silahkan dibuat dahulu. Setelah itu isikan kode dengan format berikut didalamnya:
Redirect 301 /url-lama/ http://www.google.com/url-baru
Jadi nantinya akan seperti ini contohnya:
Redirect 301 /about-us http://www.google.com/tentang-kami

Selesai! Mudah bukan? Silahkan anda coba akses url lamanya dan pasti akan otomatis dialihkan ke alamat baru.

Oh ya, kalau yang ingin dilakukan adalah pindah domain maka yang perlu anda lakukan adalah domain forwarding untuk mengalihkan pengunjung ke domain baru website anda. Tapi pada beberapa web hosting fitur ini dimatikan (bayar lagi), jangan putus asa ada cara mengakalinya dengan htaccess. 😉

24 pemikiran pada “Cara membuat 301 Redirect di .htaccess”

    • Halo Nunu, ya memang semudah itu caranya. 🙂 Halaman lain yang sudah terindeks Google nanti akan dialihkan ke URL barunya secara otomatis.

    • Loh, sebentar. Ini pindahan domain atau hosting ya? rule htaccess diatas nanti diletakkan di hosting baru kalau domainnya sama persis.

      Jika berbeda maka anda harus meletakkannya di hosting lama supaya google mengikuti redirect alamat lama menuju alamat baru. Struktur permalinknya masih sama kan?

  1. Dua dua nya gan soalnya saya sedikit kecewa dengan penyedia pihak hosting lama jadi saya memutuskan untuk pindah dengan nama domain baru dan tmpt hosting baru.
    Gimana solusinya ya gan kl begitu saya pengen redirect nya cm mengarah kan pengunjung lama ke domain baru di kala ada artikel yang sudah terindex google dan di klik ada pemberitahuan atau pindah ke alamat domain baru tapi dengan data dan content baru

    Balas
    • Haha 😀 Pelan – pelan ya mas:

      1. Buka cPanel hosting lama anda, kemudian buka File Manager.
      2. Arahkan ke dalam direktori www atau public_html (sesuai gambar diatas).
      3. Misalkan tidak ada file dengan nama .htaccess silahkan dibuat dulu dan diupload setelahnya. Harap perhatikan memang ada titik diawal nama filenya.

        Kalau di Windows tidak bisa membuat file diawali simbol titik, jadi buka saja notepad langsung simpan dengan nama htaccess (tanpa titik). Nanti di File Manager direname menjadi .htaccess.

      4. Setelah itu masukkan htaccess rule dibawah:

        Options +FollowSymLinks
        RewriteEngine on
        RewriteRule (.*) http://namadomainbaru.com/$1 [R=301,L]
      5. Save. Jangan lupa ganti namadomainbaru diatas dengan milik anda.

      6. Silahkan cek domain lama anda apakah sudah berhasil dialihkan ke domain baru setelahnya.

      Semoga berhasil. 🙂

  2. Ok gan trima kasih…oya gan boleh tanya lagi ga? Hehe boleh ya
    Jadi gini kasusunya judul halaman di website saya yang muncul di serp google kok ada tambahan seprtinya site tittle web saya padahal saya bikin nya ga seperti itu ini contoh nya misal : Nama Halaman | Nama WebsiteNama Website/
    Itu kenapa ya gan dan bagaimana solusinya soalnya pas saya mau sharing ke media social juga muncul judul seperti itu tanpa ada separator lagi malahan menyatu jelek bgt liatnya

    Balas
    • Saya asumsikan anda pakai WordPress ya. Besar kemungkinan kasus ini dikarenakan sistem penamaan judul halaman dibajak oleh themenya. Dulu saya pernah mengalami masalah serupa soalnya.

      Solusinya (versi malas mikir) adalah kalau anda menggunakan plugin Yoast WordPress SEO buka bagian setting Titles & Metas dan beri centang pada Force rewrite titles. Nanti semuanya akan dipaksa mengikuti skema penulisan judul menjadi satu standar saja. Alternatifnya ya ganti tema WordPressnya mas.

  3. Iya mas saya sudah setting seo yoast nya tapi tetep mas ada solusi lain kah selain ganti theme soalnya udah bnyk script yang tertanam dan usah desain susah payah hehe mungkin ada saran dari header.php nya mas script nya tolong di bantu

    Balas
    • Sudah mencoba Force rewrite titles di setting Yoastnya mas? Dulu saya menggunakan ini, dan ga perlu mengganti theme.

      Astaga, saya terlalu cepat bacanya. Haha… sebentar mas, saya coba cari solusi alternatif.

      Edit:

      Eh, sudah membersihkan cache browser atau pluginnya mas? Biasanya kalau menggunakan semacam WP Super Cache, W3 Total Cache, Quick Cache masih akan tersimpan halaman lamanya. Coba tekan CTRL+F5 siapa tahu cuma masalah ini.

      Edit 2:

      Di header.php isinya sudah benar ini mas?
      <title><?php wp_title(''); ?></title>
      Kalau tidak coba di Titles & Metas > Post Types isikan Title Template dengan “%%title%%-“, tanpa tanda kutip.

  4. Iya mas sudah di centang di force rewrite nya pas liat di atribut website saya sih udah bener cm masalahnya pas mau di sharing ke social media masih seperti itu gan ada embel2 nya gimana ya pusing dah kl mesti ganti theme

    Edit:

    Sama di serp google juga gan tapi ada beberapa halaman yang ga ada embel2 nya gan mangkanya saya bingung ini berpengaruh ga ya gan di mata google

    Edit2:

    hehe sudah juga gan tapi msh blm bisa dan anehnya kl di sharing ke google plus ga ada muncul embel embel itu gan bingung dah

    Balas
    • Saya gabungkan biar lebih rapi komentarnya mas. 🙂

      Kalau tidak salah Facebook akan mengcache data mengenai halaman website saat pertama kali dishare, coba ganti url postingnya mas dan bagikan lagi. Entah kalau Twitter.

      Anda bisa mengecek secara manual data apa yang dibaca oleh Facebook dan Twitter. Pada halaman yang judulnya ganda tersebut klik kanan dan view source/page source. Perhatikan untuk Open Graph (ogp.me) dan Twitter Card isinya apa, kalau sudah benar maka berarti memang dicache oleh kedua social media diatas. Kalau Google+ tampaknya tidak ada meta tag tertentu.

      Contohnya adalah dari halaman artikel ini (Facebook Open Graph dan Twitter Card):

      <meta property="og:locale" content="en_US"/>
      <meta property="og:type" content="article"/>
      <meta property="og:title" content="Cara membuat 301 Redirect di .htaccess - uTekno"/>
      <meta property="og:description" content="Anda ingin mengalihkan url lama menuju url baru? Kadang hal ini perlu dilakukan karena anda sedang menata ulang struktur link untuk setiap halaman pada website anda. Kalau peringkat dari alamat lama sudah cukup bagus di Google maka akan sayang sekali jika dimulai dari awal."/>
      <meta property="og:url" content="http://utekno.com/cara-membuat-301-redirect-htaccess-8167"/>
      <meta property="og:site_name" content="uTekno"/>
      <meta property="article:publisher" content="http://www.facebook.com/uteknocom"/>
      <meta property="article:tag" content="htaccess"/>
      <meta property="article:section" content="Website"/>
      <meta property="article:published_time" content="2014-09-13T09:25:07+00:00"/>
      <meta property="article:modified_time" content="2014-12-11T12:05:16+00:00"/>
      <meta property="og:updated_time" content="2014-12-11T12:05:16+00:00"/>
      <meta property="fb:admins" content="1009519453"/>
      <meta property="og:image" content="http://cdn.utekno.com/wp-content/uploads/2013/09/cpanel-file-manager-directory-selection.png"/>
      <meta name="twitter:card" content="summary"/>
      <meta name="twitter:description" content="Anda ingin mengalihkan url lama menuju url baru? Kadang hal ini perlu dilakukan karena anda sedang menata ulang struktur link untuk setiap halaman pada website anda. Kalau peringkat dari alamat lama sudah cukup bagus di Google maka akan sayang sekali jika dimulai dari awal."/>
      <meta name="twitter:title" content="Cara membuat 301 Redirect di .htaccess - uTekno"/>
      <meta name="twitter:site" content="@uteknocom"/>
      <meta name="twitter:domain" content="uTekno"/>
      <meta name="twitter:creator" content="@uteknocom"/>
  5. iya gan nanti saya coba lagi
    maslah yang tadi, ini saya lagi redirect berdsarkan cara mas di atas namun pas saya memberitahukan ke google pas verifikasi nya gagal terus gan…padahal web lama udah di verifikasi juga dari dulu tapi pas saya klik verivikasi ulang juga tetep gagal…
    apakah verivikasi di web baru nya gan padahal web baru juga udah di verifikasi jadi bingung ni sharian ngoprek hehe

    Edit:

    soalnya saya di htt.acces yang sudah ada di web lama saya hapus semua di ganti dengan

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) http://namadomainbaru.com/$1 [R=301,L]

    lalu setelah itu saya pergi ke webmaster tool dan konfigurasi perubahan alamat pada tahap redirect berhasil namun pada tahap selanjutnya di minta verifikasi lagi web lama namun stelah verifikasi selalu gagal

    Balas
    • Bisa diberikan screenshotnya saat gagal verifikasi mas? Kalau bisa dicopas pesan kesalahannya juga sekalian. Terus terang agak kesulitan saya memperkirakan masalahnya apa kalau tidak melihat sendiri.

  6. Sudah bisa gan..ternyata script meta yang di web lama juga harus di tempel di web baru dan work it permintaan perubahan alamat pun di approve ama mbah google, skrg saya lagi menganalisa mslh yg judul itu kyknya itu di permalink nya dulu saya awalnya buat ” judul/kategori1/nama postingan” dan waktu itu saya hapus kategori 1 tanpa merubah dulu link nya saya langsung ganti nama “judul/kategori2/judul postingan” namun kenapa sudah di hapus msh ada ya gan saya udah pake wp super cache padahal ama wp optimize

    Balas
    • Sep. 🙂

      Sudah cek struktur permalink wordpressnya? Coba direset ke default (yang cuma post id kalau ga salah) dan kemudian isikan skema permalink barunya.

      Ini anda membuat permalinknya manual atau otomatis diisikan wordpress?

    • Oh maksud saya supaya dikembalikan ke default, setelah struktur permalinknya berubah maka balikkan lagi ke struktur permalink anda sebelumnya. Siapa tahu setelah direset ini akan kembali normal.

      Tidak ada hubungannya sih, tapi apa tidak terlalu panjang urlnya kalau menggunakan kategori juga?

  7. Misi min.

    Kalo domainny sama
    Tapi beda hosting itu bgaimana solusinya?
    Domain saya masih sama,
    Nah konten saya yg di hosting lama saya hapus bserta isinya karna konten masih sdikit,
    Lalu saya pindah hosting dgn domain sama..

    Stlh mmbangun web saya coba cek di console malah jadi kanonis/web tdk ada
    Yang saya coba index halaman Homenya.

    karna konten sya yg dihosting lama masih ada di search engine google..

    Saya coba telusuri ke url kanonisny,stlah saya klik lewat google muncul error 404..

    Yg jadi pertanyaan saya itu,apaka kalo saya biarkan si url kanonis itu akan hilang dari google ?

    Lalu apakah solusinya itu harus lewat httpacces yg sperti agan bilang diatas ?
    Karna saya nanya digoogle katanya suruh naro link=canonin di head
    Trimakasih

    Balas

Tulis komentar...