Redirect: 301, 302, 307 | Panduan cara-301

Apa itu pengalihan?


Pengalihan adalah cara meneruskan pengguna ke URL yang berbeda dari yang awalnya mereka klik. Di bawah ini beberapa jenis pengalihan yang paling umum dicantumkan.

bagaimana melakukan redirect 301

301 Dipindahkan Secara Permanen


Pengalihan 301 adalah pengalihan permanen yang melewati antara 90-99% ekuitas tautan (peringkat) ke halaman yang diarahkan. 301 menandakan bahwa halaman telah dipindahkan ke URL lain dan URL lama sudah usang.

302 Ditemukan (HTTP 1.1) / Dipindahkan Sementara (HTTP 1.0)


302 adalah pengalihan sementara yang melewati 0% dari ekuitas tautan, dan dalam kebanyakan kasus tidak boleh digunakan.
Sampai sekarang, internet berjalan pada protokol HTTP yang menentukan cara kerja URL. Dalam dua versi protokol ini, kode status respons HTTP berbeda:

  • Kode status HTTP 1.0: 302 adalah "Dipindahkan Sementara" - halaman saat ini telah dipindahkan sementara ke URL lain.
  • HTTP 1.1: frasa deskripsi telah diubah menjadi "Ditemukan" - halaman saat ini telah ditemukan.

307 Dipindahkan Sementara (Hanya HTTP 1.1)


Pengalihan 307 adalah penerusan HTTP 1.1 dari pengalihan 302. Sementara perayap besar akan memperlakukannya seperti 302 dalam beberapa kasus, yang terbaik adalah menggunakan 301 untuk hampir semua kasus. Pengecualian untuk ini adalah ketika konten benar-benar dipindahkan hanya sementara (seperti selama pemeliharaan) dan server telah diidentifikasi oleh mesin pencari sebagai 1,1 kompatibel.

Karena pada dasarnya tidak mungkin untuk menentukan apakah mesin pencari telah mengidentifikasi halaman sebagai kompatibel, umumnya yang terbaik adalah menggunakan pengalihan 302 untuk konten yang telah dipindahkan sementara.

Jenis pengalihan lainnya


Ada juga beberapa jenis pengalihan: Meta Refresh atau pengalihan JavaScript yang dijalankan pada tingkat halaman daripada tingkat server web. Beginilah tampilan pengalihan Meta Refresh yang khas:

<meta http-equiv="refresh" content="2;url=http://example.com/" /> 

Cara terbaik untuk tidak menggunakan redirect jenis ini, karena mereka sering digunakan oleh spammer dan halaman pintu. Selain itu, mereka melewatkan sedikit jus link .

Contoh menggunakan pengalihan


Mengarahkan domain Anda ke URL non-www:

 RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC] RewriteRule ^(.*)$ http://site.com/$1 [R=301,L] 

Mengarahkan domain Anda ke URL www:

 RewriteCond %{HTTP_HOST} ^site\.com$ [NC] RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L] 

Untuk memilih URL mana yang akan dijadikan kanonik, pertimbangkan:

  • URL mana yang berperingkat lebih tinggi di SERPs;
  • URL mana yang lebih terwakili dalam indeks.

Mengarahkan domain Anda ke URL tanpa garis miring

Saat mengembangkan situs web, penting untuk memilih apakah Anda ingin menambahkan garis miring ke tautan, karena mesin pencari mempertimbangkan tautan tersebut
- www.site.com/cat1
dan
- www.site.com/cat1
menjadi berbeda. Kemudian, Anda harus menambahkan kode berikut:

Untuk menghapus garis miring dari URL:

 RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $1 [L,R=301] 

Untuk menambahkan garis miring ke URL:

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301] 

Untuk mengarahkan pengguna dari satu halaman ke halaman lain:

 Redirect 301 /oldpage.html http://www.site.com/newpage.html 

Mengarahkan duplikat halaman utama

Kode ini memastikan bahwa jika ada beberapa versi tautan langsung ke halaman utama (indeks, dll.), Mereka semua akan mengarahkan ulang ke halaman utama kanonik:

 RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ [NC] RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.site.com/$1 [L,R=301] 

Mengarahkan katalog

Jika URL mencerminkan struktur katalog, perubahan dalam katalog akan menyebabkan perubahan pada URL. Dalam hal ini, gunakan pengalihan berikut:

 RewriteRule ^(.*)/old-catalog/(.*)$ $1/new-catalog/$2 [R=301,L] 

Tetapi, jika URL katalog sebelumnya muncul tepat setelah nama domain: www.site.com/old-catalog , gunakan kode ini:

 RewriteRule old-catalog /(.*) / old-catalog /$1 [R=301,L] 

Jika Anda telah beralih platform atau CMS dan hanya ekstensi URL yang telah berubah, gunakan pengalihan ini:

 RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html 

Contoh menggunakan pengalihan untuk menghindari duplikat halaman

Arahan ulang (sub-) domain

Jika Anda membeli beberapa domain dengan banyak TLD, ATAU menggunakan subdomain untuk mengembangkan situs web baru dan lupa untuk memblokirnya agar tidak diindeks oleh mesin pencari. Apa pun caranya, Anda harus mengatur pengalihan ke domain root:

 RewriteCond %{HTTP_HOST} !^www\.site\.com RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L] 

Dengan begitu, semua (sub-) domain seperti www.site.org , www.site.net , test.site.com, akan dialihkan ke www.site.com

Menghapus beberapa garis miring / tanda hubung dari URL

Terkadang, pengguna dapat secara tidak sengaja mengetikkan beberapa garis miring, misalnya www.site.com/catalog////bab1.html . Dalam hal ini, Anda harus menyiapkan 301 redirect ke halaman dengan slash tunggal www.site.com/catalog/page-1.html :

 RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2 [R=301,L] 

Dengan cara yang sama, Anda dapat mengatur pengalihan dari URL dengan beberapa tanda hubung (misalnya, www.site.com/catalog/page---1.html ) ke www.site.com/catalog/page-1. html :

 RewriteCond %{REQUEST_URI} ^(.*)--(.*)$ RewriteRule . %1-%2 [R=301,L] 

Mengarahkan ulang dari URL apa saja ke URL huruf kecil

Mesin pencari memperhatikan huruf besar, jadi yang terbaik adalah memiliki URL Anda dalam huruf kecil. Jika Anda belum mengembangkan situs web dengan mempertimbangkan hal ini, Anda dapat menggunakan skrip-PHP ini:

 $lowerURI=strtolower($_SERVER['REQUEST_URI']); if($_SERVER['REQUEST_URI']!=$lowerURI) { header("HTTP/1.1 301 Moved Permanently"); header("Location: http://" . $_SERVER['HTTP_HOST'] . $lowerURI); exit(); } 

Bagaimana cara memindahkan situs web Anda ke domain baru? Strategi optimal untuk pengalihan 301

Menurut mesin pencari paling populer, strategi terbaik untuk pindah ke domain baru adalah:

  • memasang redirect halaman-demi-halaman 301 dari situs lama ke situs baru;
  • jangan buat pengalihan dari robots.txt - sebagai gantinya, tambahkan direktif Host ke domain baru.

Dalam hal ini, kode di situs web sebelumnya harus terlihat seperti ini:

 RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} !^www\.site\.com RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]   robots.txt   : User-agent: Yandex Disallow: Host: newsite.com 

Menghasilkan 301 redirect


Jika Anda tidak terlalu paham teknologi, Anda dapat menggunakan layanan online untuk menghasilkan arahan ulang dasar:

http://www.webconfs.com/htaccess-redirect-generator.php
http://www.rapidtables.com/web/tools/redirect-generator.htm
Cukup masukkan data Anda dan dapatkan kode untuk pengalihan antara domain, direktori, dan URL.

Cara menguji pengalihan 301


Dengan setiap perubahan 301 redirect, Anda perlu menguji kinerja situs:

  • apakah itu berfungsi (periksa halaman utama);
  • buka bagian utama dan halaman web situs ini.

301 redirect VS Canonical - mana yang harus digunakan & kapan?


Selain detail kecil, untuk memahami apa yang ingin kami katakan, Google menawarkan beberapa aturan yang jelas. Dalam istilah yang sangat sederhana, ini adalah bagaimana mesin pencari memahami perintah kami:

301 : oke, google (atau mesin pencari lainnya), halaman saya sudah tidak ada lagi dan sudah dipindahkan secara permanen ke URL baru. Harap hapus tautan lama dari indeks, dan berikan jus tautan ke halaman baru.

Canonical : oke, google, saya punya beberapa versi dari halaman yang sama (atau kontennya), jadi, tolong, indeks hanya versi kanonik. Saya akan menyimpan versi lain untuk dilihat orang, tetapi jangan mengindeksnya, dan meneruskan jus tautan ke halaman kanonik.

Kapan lebih baik menggunakan pengalihan 301?


  • Ini adalah metode yang disukai secara default;
  • Untuk halaman, yang telah dipindahkan secara permanen, atau URL-nya telah diubah;
  • Untuk domain, jika Anda telah memindahkan situs web Anda ke domain baru;
  • Untuk 404 halaman. Misalnya, jika produk tertentu telah dihapus dari katalog, Anda dapat mengatur pengalihan ke halaman dengan produk serupa, atau ke URL kategori produk.

Kapan lebih baik menggunakan rel = "canonical"?


  • Jika Anda tidak dapat mengatur 301 redirect atau itu tidak akan efisien waktu;
  • Untuk konten duplikat, jika Anda ingin menyimpan kedua versi (misalnya, halaman dengan ukuran pakaian yang berbeda);
  • Ketika Anda memiliki beberapa URL yang mengarah ke halaman yang sama (kategori katalog, halaman untuk melacak lalu lintas dari tautan afiliasi, dll.);
  • Untuk berbagi sumber daya lintas-domain, jika Anda ingin mentransfer data antara halaman yang memiliki asal berbeda (domain, misalnya).

Singkatnya

Kedua solusi melewati jus tautan dan keduanya diperingkat oleh Google secara merata. 301 redirect sedikit lebih disukai.

Kesalahan pengalihan


  • Rantai pengalihan (hindari untuk memaksimalkan kecepatan dan aliran jus tautan dari situs web);
  • Menggunakan jenis pengalihan yang salah (untuk membuat keputusan yang tepat, Anda harus mempertimbangkan semua detail);
  • Menyiapkan pengalihan internal tanpa menulis ulang URL tautan. Anda harus memastikan bahwa tautan di situs web Anda tidak mengarah ke halaman dengan pengalihan;
  • Mengarahkan kembali ke halaman / konten yang tidak relevan. Tautan Anda harus selalu mengarah ke halaman yang sama atau ke bagian situs yang menyertakan halaman yang diminta;
  • Pilihan yang salah dari rel = canonical atau 301 direct (lihat di atas);
  • Mengarahkan robots.txt (lebih baik menambahkan direktif Host);
  • Arahan ulang apa pun, yang tidak mengarah ke halaman dengan kode status 200 (setiap tautan harus mengarah ke halaman yang berfungsi dengan baik dengan respons status 200. Jika tidak, jangan bingung perayap dan hanya tampilkan halaman Kesalahan 404).

Mudah-mudahan, panduan 301 cara ini akan menjadi lembar contekan Anda dan akan membantu Anda untuk menggunakan pengalihan 301 di situs web Anda.

Jika Anda memiliki pertanyaan, tanyakan di bawah ini. Saya akan mencoba yang terbaik untuk membantu Anda!

Baca juga:
Faktor-faktor SEO penting di tempat .

Source: https://habr.com/ru/post/id458108/


All Articles