Variabel dalam alamat pengalihan 301. Tolak file tertentu. htaccess - tambahan garis miring setelah nama domain


Jika Anda ingin mengonfigurasi pengalihan 301 dengan benar di situs web Anda, maka SeoProfy telah menyiapkannya panduan langkah demi langkah, yang menceritakan dan menunjukkan semua detail dan nuansa.

Panduan pengalihan 301 terdiri dari dua bagian:
- Artikel berisi contoh kode dan panduannya sendiri (jika Anda segera membutuhkan contoh kode, lebih baik segera gulir ke infografisnya)
- Infografis visual dan detail

Pengalihan 301 penting untuk promosi mesin pencari dan masuk panduan ini Anda akan menemukan jawaban atas pertanyaan paling mendasar tentang cara menggunakan pengalihan dengan benar untuk berbagai situasi.

Apa itu pengalihan?

Pengalihan adalah cara untuk mengarahkan pengguna dan mesin pencari ke URL yang berbeda dari yang mereka minta sebelumnya. Berikut adalah deskripsi beberapa jenis pengalihan yang paling umum digunakan.

301 Dipindahkan Secara Permanen

Pengalihan 301 adalah pengalihan permanen yang menyampaikan sekitar 90-99% jus tautan. Pengalihan ini menunjukkan bahwa halaman telah dipindahkan ke alamat baru dan url lama dianggap usang.

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

Pengalihan 302 adalah pengalihan sementara. Pengalihan ini mentransmisikan 0% jus tautan dan, dalam banyak kasus, tidak boleh digunakan. Pada saat ini Internet berjalan pada protokol HTTP, yang menentukan cara memproses URL. Dalam dua versi protokol ini, server ini memiliki respons status yang berbeda menjawab:

Respons server HTTP 1.0: 302 adalah “Dipindahkan Sementara” - dokumen saat ini telah dipindahkan sementara ke URL lain.

HTTP 1.1: respons server diubah menjadi “Ditemukan” - dokumen saat ini ditemukan.

307 Dipindahkan Sementara (Hanya HTTP 1.1)

Pengalihan 307 dalam protokol HTTP 1.1 menjadi penerima pengalihan 302. Meskipun bot pencarian arus utama akan mulai memperlakukannya sebagai analogi 302, untuk hampir semua kasus, yang terbaik adalah menggunakan 301. Pengecualian terhadap aturan ini adalah ketika konten sebenarnya hanya dipindahkan sementara (misalnya, selama pemeliharaan) dan mesin telusur sudah memahami bahwa server Anda mematuhi HTTP 1.1. Namun, karena hampir tidak mungkin untuk menentukan apakah mesin pencari benar-benar menyadari bahwa server Anda kompatibel dengan protokol baru ini, lebih baik menggunakan pengalihan 302 untuk konten yang telah dipindahkan sementara.

Jenis pengalihan lainnya

Ada juga jenis pengalihan lainnya: Meta Refresh atau dengan menggunakan javascript– yang dieksekusi di tingkat halaman, bukan di tingkat server. Berikut tampilan pengalihan Meta Refresh pada umumnya:

Namun disarankan untuk menggunakan pengalihan ini dengan sangat jarang, karena pengirim spam dan doorway suka menyalahgunakannya. Selain itu, saat menggunakan pengalihan ini, hampir tidak ada jus tautan yang ditransfer.

Contoh penggunaan

Kanonisasi domain situs web atau bagaimana cara menggabungkan domain?

Untuk menggabungkan domain dari www ke non-www:
Penulisan UlangCond %(HTTP_HOST) ^www.site\.com$
Aturan Penulisan Ulang ^(.*)$ http://site.com/$1

Untuk menggabungkan dari tanpa www ke dengan www:
Penulisan UlangCond %(HTTP_HOST) ^situs\.com$

Untuk memilih opsi mana yang akan direkatkan dengan benar, disarankan untuk melihat:

Manakah dari opsi berikut yang lebih di atas?
- untuk pilihan yang mana lebih banyak halaman dalam indeks

Kanonikalisasi garis miring di akhir URL

Saat mendesain situs web, penting untuk menentukan satu format, menggunakan garis miring di akhir URL, karena untuk mesin pencari ada 2 bentuk URL:

http://www.site.com/cat1/

http://www.site.com/cat1

berbeda. Oleh karena itu, setelah Anda memutuskan dengan tepat bagaimana Anda akan memilikinya di situs, maka Anda perlu memasukkan pengalihan berikut

Untuk menghapus garis miring:
Penulisan Ulang Lanjutan %(HTTP_HOST) (.*)
Penulisan Ulang Lanjutan %(REQUEST_URI) /$
Aturan Penulisan Ulang ^(.*)(/)$ $1

Untuk menambahkan garis miring di akhir bilah alamat:
Penulisan UlangCond %(REQUEST_FILENAME) !-f
Penulisan Ulang Lanjutan %(REQUEST_URI) !(.*)/$
Aturan Penulisan Ulang ^(.*[^/])$ $1/

Mengarahkan satu halaman ke halaman lain:
Pengalihan 301 /oldpage.html http://www.site.com/newpage.html

Redirect untuk duplikat halaman rumah

Kode ini memastikan alamat apa pun halaman rumah, yang mencakup beberapa versi tautan dalam nama laman, seperti default.htm atau index.html, akan dialihkan ke laman beranda kanonis, http://www.site.com:
Penulisan UlangCond %(THE_REQUEST) ^(3,9)\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/
Aturan Penulisan Ulang ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.site.com/$1

Pengalihan direktori

Jika struktur direktori Anda ditampilkan di url, maka jika Anda melakukan katalog ulang, url akan berubah. Dalam hal ini, Anda perlu memasukkan pengalihan berikut:
Aturan Penulisan Ulang ^(.*)/katalog lama/(.*)$ $1/katalog baru/$2

Namun, jika URL katalog lama dimulai tepat setelah domain: www.site.com/old-catalog/, maka Anda perlu menggunakan dengan kode berikut
RewriteRule katalog lama /(.*) / katalog lama /$1

Redirect saat mengubah ekstensi file

Jika Anda tiba-tiba pindah ke platform atau CMS lain dan hanya ekstensi URL yang berubah, maka dalam hal ini pengalihan berikut akan membantu Anda:
RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Contoh penggunaan untuk melindungi website dari beberapa halaman duplikat

Alihkan dari domain yang berbeda dan subdomain

Jika Anda membeli beberapa domain dari berbeda zona domain atau Anda mengembangkan situs web baru dan meletakkannya di subdomain, tetapi lupa menutup subdomain ini dari pengindeksan, maka Anda perlu mengalihkan ke domain utama:
Aturan Penulisan Ulang ^(.*)$ http://www.site.com/$1

Dengan demikian, semua domain seperti www.site.ru, www.site.net, test.site.com akan dialihkan ke situs www.site.com.

Cara menghilangkan banyak garis miring/garis pada URL

Terkadang “secara kebetulan” beberapa garis miring dapat muncul di URL, misalnya www.site.com/catalog////page-1.html. Dalam kasus seperti itu, Anda perlu melakukan pengalihan 301 ke halaman dengan satu pedang www.site.com/catalog/page-1.html:
Penulisan Ulang Lanjutan %(REQUEST_URI) ^(.*)//(.*)$
Aturan Penulisan Ulang. %1/%2

Demikian pula, Anda dapat menggabungkan beberapa tanda hubung menjadi satu di URL: dari www.site.com/catalog/page-1.html ke www.site.com/catalog/page-1.html:
Penulisan Ulang Lanjutan %(REQUEST_URI) ^(.*)--(.*)$
Aturan Penulisan Ulang. %1-%2

Cara mengalihkan dari URL apa pun ke URL hanya dalam huruf kecil

Karena mesin pencari memperhitungkan huruf besar-kecil, saat mendesain situs, sebaiknya semua URL menggunakan huruf kecil. Namun, jika Anda awalnya melewatkan poin ini, sebaiknya gunakan kode berikut untuk pengalihan di level skrip php:
$lowerURI=strtolower($_SERVER["REQUEST_URI"]);
if($_SERVER["REQUEST_URI"]!=$URI lebih rendah)
{
header("HTTP/1.1 301 Dipindahkan Secara Permanen");
header("Lokasi: http://" .$_SERVER["HTTP_HOST"] .$lowerURI);
KELUAR();
}

Bagaimana cara pindah ke domain baru? Strategi pengalihan 301 yang optimal

Strategi optimal untuk berpindah ke domain baru, dengan mempertimbangkan keinginan dua mesin pencari utama Runet, Yandex dan Google, adalah:

Pengalihan halaman demi halaman 301 dari situs lama ke situs baru.
- pada saat yang sama, kami tidak melakukan pengalihan untuk file robots.txt, tetapi menulis direktif Host ke domain baru di dalamnya.

Maka kode untuk mengatur pengalihan di situs lama mungkin ada tampilan berikutnya:
Tulis UlangCond %(REQUEST_FILENAME) robots.txt$
Aturan Penulisan Ulang ^([^/]+) $1 [L]
Tulis UlangCond %(HTTP_HOST) !^www\.site\.com
Aturan Penulisan Ulang ^(.*)$ http://www.site.com/$1
dan file robots.txt untuk situs lama:
Agen pengguna: Yandex
Melarang:
Tuan rumah: situs baru.com

Menghasilkan pengalihan 301

Jika Anda tidak terlalu paham secara teknis, Anda dapat menggunakan layanan untuk menghasilkan pengalihan dasar:

Pada layanan tersebut Anda hanya dapat memasukkan data Anda sendiri dan segera menerimanya kode siap untuk pengalihan antar domain, direktori, atau URL.

Cara memeriksa pengalihan 301

Setelah setiap perubahan dalam logika pengalihan 301, Anda perlu memeriksa fungsionalitas situs:

Apakah situsnya berfungsi: buka halaman utama)

Telusuri bagian dan halaman utama situs

Anda juga dapat menggunakan layanan berikut untuk memeriksa pemrosesan pengalihan secara lebih menyeluruh:

Bagaimana dan kapan lebih baik menggunakan pengalihan 301 vs Canonical

Meski ada beberapa perbedaan, Google memberikan beberapa aturan yang jelas agar memahami dengan tepat apa yang ingin kami sampaikan. Dalam situasi yang sangat sederhana, beginilah cara mesin pencari memahami petunjuk berikut:

301 - Hai, Mesin Pencari: laman saya sudah tidak ada lagi dan telah dipindahkan secara permanen ke lembaran baru. Silakan hapus halaman lama dari indeks dan memindahkan bobotnya ke halaman baru.

Resmi- Hai Mesin Pencari (seperti kebanyakan mesin pencari): Saya memiliki beberapa versi halaman (atau konten) ini, harap hanya mengindeks versi halaman yang memiliki kanonik. Saya akan menyediakan halaman lain agar dapat dilihat orang, tetapi Mesin Pencari, jangan sertakan halaman tersebut dalam indeks Anda dan harap berikan bobot tersebut ke halaman pilihan saya.

Kapan sebaiknya menggunakan pengalihan 301?

Default adalah metode yang disukai

Untuk halaman: jika halaman telah dipindahkan secara permanen atau telah digantikan oleh alamat baru

Untuk domain: jika situs telah dipindahkan ke domain baru (penjualan situs, rebranding, dll.)

Untuk halaman 404 dan konten yang kehilangan relevansinya (tergantung konten yang sesuai). Misalnya, jika suatu produk dihapus dari katalog tertentu, Anda dapat mengalihkan ke produk serupa, atau ke kategori url tempat produk tersebut berada.

Kapan sebaiknya menggunakan rel = "canonical"?

Ketika pengalihan 301 tidak dapat diterapkan atau memerlukan waktu terlalu lama untuk diterapkan

Halaman dengan beberapa url berbeda pada dasarnya adalah satu halaman (misalnya, penyortiran katalog, pelacakan tautan afiliasi, …)

Lintas-domain, ketika kedua situs serupa, tetapi konten serupa harus ditinggalkan di setiap domain.

Total

Kesalahan saat menggunakan pengalihan

Pengalihan multi-langkah apa pun. Jika memungkinkan, disarankan untuk menghindari pengalihan multi-langkah agar bekerja lebih cepat dan jus tautan ditransfer secara maksimal.

Gunakan tidak tipe yang tepat pengalihan. Saat memilih jenis pengalihan, Anda perlu mempertimbangkan nuansa masing-masing jenis pengalihan.

Penerapan pengalihan internal tanpa mengubah tautan ke alamat baru. Setelah menerapkan semua pengalihan di situs Anda, Anda perlu memeriksa bahwa setiap halaman situs Anda sudah tertaut ke halaman baru dan bahwa di dalam situs tersebut Anda tidak memiliki link ke halaman tempat terjadinya pengalihan.

Redirect ke halaman/konten yang tidak relevan. Selalu disarankan untuk menempatkan pengalihan pada halaman yang paling relevan: baik pada halaman serupa, atau pada cabang direktori/bagian tempat halaman ini berada.

Bukan pilihan yang tepat menggunakan pengalihan rel=canonical vs 301. Lihat di atas.

Pengalihan yang titik akhirnya bukan halaman ke-200. Pengalihan harus mengarah ke halaman yang berfungsi dengan baik dengan respons 200 server. Jika tidak, disarankan untuk tidak membingungkan robot pencari dan memberikan respons 404.

Pengalihan robots.txt. Sebab, misalnya, Anda perlu menentukan arahan Host untuk Yandex saat menggabungkan domain.

Mari kita lihat infografisnya:

Unduh infografisnya.

Apa yang terjadi adalah halaman web atau seluruh situs berpindah ke URL baru secara permanen. Dalam hal ini, perlu mendaftarkan pengalihan 301. Apa ini? Pengalihan 301 adalah pengalihan pengunjung dan robot pencari dari satu URL ke URL lainnya.

Pengalihan 301 biasanya ditulis dalam kasus berikut:

  1. saat menempelkan cermin situs web dengan www dan tanpa www;
  2. saat memindahkan situs web ke domain baru;
  3. saat memindahkan situs web ke CMS baru;
  4. ketika URL halaman berubah;
  5. saat menghilangkan halaman situs web duplikat.

Anehnya, kasus terakhir dianggap sangat jarang, meskipun ketika menghilangkan duplikat, pengalihan 301 sangat membantu, kecuali, tentu saja, Anda memiliki keinginan untuk mengutak-atik kode CMS itu sendiri. Dan jika Anda melakukannya optimasi mesin pencari situs, maka pertanyaan tentang ada tidaknya duplikat pada halaman situs pasti membuat Anda khawatir.

Pengalihan 301 luar biasa karena mentransfer halaman pr dan situs, dan, karenanya, jus tautan ke URL baru. Namun di sisi lain, ini tidak mentransfer sanksi yang dikenakan pada domain lama oleh mesin pencari, dan ini sangat menyenangkan.

Jadi, kami mengetahui apa itu pengalihan 301. Langsung saja kita ke cara membuatnya.

Cara mengatur pengalihan 301

Pertama saya akan memberi Anda daftarnya operator ekspresi reguler, yang akan berguna bagi Anda saat menyiapkan pengalihan 301.

  • ^ — pembatasan di sebelah kiri;
  • $—batasan kanan;
  • * - 0 karakter atau lebih;
  • + — 1 karakter atau lebih;
  • . - simbol apa pun;
  • \ - perisai;
  • () - variabel;
  • — rentang nilai.

Ada berbagai cara cara membuat pengalihan 301. Secara pribadi, saya, seperti banyak webmaster lainnya, mengkonfigurasinya melalui file .htaccess. berkas ini Hampir semua orang memilikinya CMS populer, dan itu terletak di akar situs Anda. Anda dapat mengunduh .htaccess menggunakan klien FileZila:

File .htaccess harus dibuka dengan editor teks, misalnya Notepad++. Di atas semua kode pengalihan Anda harus menulis baris berikut:

Mesin Tulis Ulang Aktif

DI DALAM jika tidak pengalihan tidak akan berfungsi.

Banyak orang secara keliru percaya bahwa mereka dapat melakukannya tanpa pengalihan 301. Saya dapat memberitahu Anda bahwa ini diperlukan ketika mengoptimalkan hampir setiap situs web. Misalnya, setiap situs web pada awalnya tersedia di dua alamat - dengan www dan tanpa www. Masalahnya adalah hal ini menyebabkan erosi massa referensi. Saya akan menjelaskan alasannya. Situs lain tidak peduli yang mana dari dua ejaan domain Anda yang utama. Jika mereka tertaut ke Anda, mereka dapat menyertakan opsi dengan www atau tanpa www di alamatnya. Massa referensi pada akhirnya akan kabur, dan mesin pencari hanya akan mengindeks satu opsi. Dahulu kala, mereka umumnya menganggapnya sebagai situs yang sangat berbeda.

Agar situs Anda tumbuh aktif posisinya dan tidak kehilangan banyak tautan, Anda perlu mendaftarkan pengalihan 301 di file .htaccess.

Dari www ke tanpa www:

Penulisan UlangCond %(HTTP_HOST) ^www.site.ru$ Aturan Penulisan Ulang (.*) http://site.ru/$1

Dari tanpa www ke www:

Penulisan UlangCond %(HTTP_HOST) ^site.ru$ Aturan Penulisan Ulang (.*) http://www.site.ru/$1

Jika kode pengalihan di atas tidak berfungsi, gunakan entri berikut untuk mengalihkan dari www ke tanpa www:

Penulisan UlangCond %(HTTP_HOST) ^www\.(.*)$ Aturan Penulisan Ulang ^(.*)$ http://%1/$1

Ingatlah bahwa alih-alih site.ru Anda harus mendaftarkan domain situs Anda. Setelah langkah-langkah ini, simpan file .htaccess dan unggah ke server, ganti file lama dengan file tersebut.

Pengalihan 301 sering kali membantu saya ketika saya kesulitan dengan halaman duplikat di sebuah situs. Dan saya melakukan ini hampir setiap kali saya tampil optimalisasi internal situs lain. Secara pribadi, saya belum pernah bertemu CMS yang tidak menghasilkan duplikat. Meskipun jika kita berbicara tentang situs kecil, ada pengecualian. Tidak tahu apa yang saya bicarakan sekarang? Kemudian berlangganan, sebentar lagi saya akan menulis artikel lengkap tentang duplikat.

Kebetulan halaman situs dapat diakses melalui dua URL berbentuk: http://site.ru/category/page.html dan http://site.ru/page.html. DI DALAM dalam hal ini yang sedang kita bicarakan tentang ganda. Misalnya, kami ingin halaman hanya dapat diakses di alamat tipe kedua. Dalam hal ini, untuk menghilangkan dobel, Anda perlu menulis pengalihan berikut:

Aturan Penulisan Ulang ^(.*)category/page.html$ http://site.ru/page.html

Sekarang bayangkan situasi di mana Anda telah mengubah alamat halaman situs web. Untuk apa? Ya, alasannya bisa bermacam-macam. Misalnya, saya baru-baru ini melakukan ini untuk memperpendek panjang URL. Untuk melakukan ini, Anda memerlukan pengalihan berikut:

Aturan Penulisan Ulang ^(.*)halaman-lama.html$ http://site.ru/new-page.html

Jika kode pengalihan di atas tidak berhasil, coba yang berikut ini:

Aturan Penulisan Ulang ^halaman-lama.html$ http://site.ru/new-page.html

Atau ini:

Aturan Penulisan Ulang ^halaman-lama.html$ /halaman-baru.html

Jika Anda perlu melakukannya pengalihan dari URL lama dalam Sirilik ke URL baru (baik dalam Sirilik atau Latin), entrinya akan terlihat seperti:

Aturan Penulisan Ulang ^url-lama.html /halaman-baru.html

Seperti yang Anda pahami, kami telah membahasnya di atas mengalihkan dari satu URL ke URL lain dalam situs yang sama. Untuk melakukan ini, kami menggunakan mod_rewrite dan direktif RewriteRule. Tapi Anda bisa bertahan dengan lebih banyak pilihan sederhana mengarahkan ulang entri menggunakan arahan Redirect:

Redirect 301 /old-page.html http://site.ru/new-page.html

Kedua opsi perekaman pengalihan tersebut benar dan menyampaikan jus tautan serta indikator lainnya. Perbedaannya hanya karena mereka menggunakan arahan dari modul yang berbeda, dan karenanya memiliki sintaksis yang berbeda. Saat menggunakan direktif Redirect, tulis terlebih dahulu alamat lama halaman tanpa http://site.ru, dan kemudian alamat baru sepenuhnya.

Anda mungkin memerlukan pengalihan 301 saat memindahkan situs Anda dari domain lama ke domain baru:

Mesin Tulis Ulang di RewriteCond %(HTTP_HOST) ^www\.old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1 RewriteCond %(HTTP_HOST) ^old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1

Pengalihan serupa menggunakan arahan Redirect:

Pengalihan 301 / http://new-domain.ru

Anda dapat mengatur pengalihan 301 URL dengan parameter ke halaman lain mana pun di situs, misalnya yang utama:

RewriteCond %(QUERY_STRING) ^cPath=373_703 Aturan Penulisan Ulang ^index\.php$ http://site.ru/?

Contoh di atas adalah dari praktek saya, ketika saya melakukan optimasi internal pada sebuah situs di Joomla yang tadinya jumlah yang sangat besar berbagai pengambilan.

Pengalihan dari site.ru/index.php ke site.ru(menyingkirkan halaman utama duplikat):

Penulisan UlangCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ Aturan Penulisan Ulang ^index\.php$ http://site.ru/

Akibat adanya duplikat formulir site.ru/index.php di halaman utama situs, duplikat serupa mungkin muncul di halaman internal situs, misalnya site.ru/index.php/ page.html adalah duplikat dari halaman site.ru/page.html . Dalam hal ini, semua duplikat jenis ini dapat dihilangkan sekaligus menggunakan pengalihan:

Aturan Penulisan Ulang ^index\.php/(.*)$ /$1

Jika halaman beranda situs Anda memiliki duplikat formulir site.ru/main.html, maka Anda harus memasukkan pengalihan berikut:

RewriteEngine Pada RewriteCond %(THE_REQUEST) ^(3,9)\ /main\.html\ HTTP/ RewriteRule ^main\.html$ http://vash-sait.ru/

atau opsi ini:

Pengalihan 301 /main.html http://site.ru/

Sekarang bayangkan sebuah situasi di mana Anda menginginkan segalanya halaman internal situs hanya dapat diakses di alamat c.html di bagian akhir. Maka Anda harus memasukkan pengalihan berikut:

RewriteCond %(REQUEST_URI) (.*/[^/.]+)($|\?) RewriteRule .* %1.html RewriteRule ^(.*)/$ /$1.html

Sebaliknya, jika Anda ingin semuanya internal halaman situs memiliki alamat tanpa .html di akhir, yaitu alamat seperti site.ru/page, maka Anda harus mendaftarkan pengalihan:

Penulisan UlangCond %(REQUEST_URI) \.html$ Aturan Penulisan Ulang ^(.*)\.html$ /$1

Jika tugasnya adalah mengarahkan ulang dari URL dengan .htm di akhir hingga alamat dengan .html di akhir, maka entri berikut harus ditambahkan ke .htaccess:

Basis Penulisan Ulang / Aturan Penulisan Ulang ^(.*)\.htm$ $1.html

Anda mungkin perlu melakukan pengalihan dari URL tanpa akhiran ke alamat dengan garis miring di akhir. Kemudian di file .htaccess Anda harus menulis yang berikut:

RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !\..+$ RewriteCond %(REQUEST_URI) !/$ RewriteRule (.*) http://www.site.ru/$1/

Jika tugasnya benar-benar berlawanan dan diperlukan pengalihan dari URL dengan garis miring ke alamat tanpa akhiran lalu tambahkan kode berikut:

Penulisan UlangCond %(REQUEST_FILENAME) !-d Penulisan UlangCond %(REQUEST_URI) ^(.+)/$ Aturan Penulisan Ulang ^(.+)/$ /$1

Untuk mendaftarkan pengalihan dari URL dengan parameter seperti http://site.ru/?page_id=111, tambahkan yang berikut ke .htaccess:

RewriteCond %(QUERY_STRING) page_id=111 Aturan Penulisan Ulang ^ http://site.ru/new-page/

Selain itu, baru-baru ini saya menemukan situs yang sertifikat keamanannya telah diterima, dan saya perlu mendaftar mengalihkan dari http ke https:

RewriteCond diskon %(HTTPS) RewriteRule ^(.*)$ https://%(HTTP_HOST)%(REQUEST_URI)

Sekarang Anda tahu cara menyiapkan pengalihan 301. Tentu saja, ada kasus lain yang memerlukannya, tetapi saya telah membuat daftar yang paling populer. Setelah tugas apa pun yang terkait dengan pengoptimalan situs web, saya sarankan untuk memeriksa kesalahan.

Cara memeriksa pengalihan 301

Pengalihan 301 sangat mudah untuk diperiksa. Yang perlu Anda lakukan hanyalah memasukkan alamat halaman lama di browser Anda. Jika terjadi pengalihan ke URL baru, kemungkinan besar pengalihan tersebut terdaftar dengan benar. Dalam beberapa kasus, sebelum memeriksa pengalihan 301, Anda harus menghapus cache browser Anda. Jadi jika pengalihan tidak terjadi, Anda mungkin lupa melakukannya.

Untuk akhirnya memastikan bahwa pengalihan 301 dikonfigurasi dengan benar, saya juga menyarankan untuk memeriksa respons server menggunakan layanan khusus, misalnya, 2ip.ru, atau bahkan lebih baik lagi, gunakan program Netpeak Spider, yang dengannya Anda dapat mengetahui banyak informasi lain tentang situs tersebut. Respons server harusnya adalah “301” atau “301 MovedPermanently -> 200 OK”.

Saya harap Anda sekarang memahami cara mengonfigurasi pengalihan 301 dengan benar. Di atas sudah saya berikan jumlah yang cukup berbagai contoh. Jika satu jenis data pengalihan tidak berfungsi, kemungkinan besar jenis data pengalihan lainnya akan berfungsi. Cobalah. Saya tidak bisa memastikan dengan pasti entri pengalihan mana yang akan berfungsi, karena saya bukan seorang programmer. Mungkin dari CMS atau pengaturan server. Letak kode redirect pada file .htaccess juga terkadang mempengaruhi. Jika pengalihan tidak berhasil, coba pindahkan kodenya sedikit lebih tinggi di dalam file. Itu saja untukku. Semoga berhasil dalam optimasi situs web!

Halo semuanya!

Tema masa lalu adalah. Saya secara singkat berbicara tentang hal itu poin penting dan menyebutkan beberapa fungsi yang dijalankan oleh file ini. Salah satu fungsinya adalah pengalihan otomatis pengunjung dari satu URL ke URL lainnya, disebut juga pengalihan 301.

Apa itu pengalihan 301?

Seperti yang saya katakan, pengalihan 301 adalah pengalihan otomatis yang memungkinkan Anda mengarahkan pengunjung atau robot pencari dari satu halaman website ke halaman lainnya atau dari satu domain ke domain lainnya. Dengan semua ini, semua yang disebut bobot (bobot halaman) ditransfer ke URL tempat pengalihan terjadi.

Dengan demikian, kita mendapatkan penyelamat nyata ketika memindahkan situs ke domain lain dan situasi lain, yang akan kita bahas di bawah. Dalam hal ini, kita praktis tidak akan kehilangan apa pun.

Contoh. Sebelumnya blog Context-UP terletak di URL: http://blog.site (di antara Anda mungkin ada yang melihat kali ini), lalu saya ingin situs tersebut berada di domain level kedua yaitu . Untuk memenuhi keinginan saya, saya harus memindahkan seluruh isi blog ke direktori (folder) lain di hosting, lalu di panel tersebut tentukan domain baru agar robot mulai mengindeks alamat blog baru. Hanya setelah semua ini, saya mengatur pengalihan ke..

Sekarang saya harap Anda memahami apa itu pengalihan 301.

Bagaimana cara mengatur pengalihan 301 melalui htaccess?

Ada beberapa cara untuk menerapkan pengalihan, tetapi yang paling aman dan termudah adalah pengalihan 301 di .htaccess.

Jadi, agar file dan pengalihan berfungsi, perlu untuk mengaktifkan apa yang disebut modul. Untuk tujuan kita, kita dapat menggunakan dua:

  1. Mod_rewrite;
  2. Mod_alias.

Opsi pertama adalah yang paling disukai, karena saat menggunakannya Anda tidak perlu mendaftarkan setiap halaman URL secara terpisah, tetapi cukup gunakan tim khusus(ada di bawah), berkat pengalihan yang akan terjadi.

Kami, itu klien sederhana penyedia hosting hanya dapat mengaktifkan modul ini untuk direktori website Anda melalui file .htaccess. Ini dilakukan secara sederhana, cukup masukkan baris di file yang disebutkan sebelumnya:

Mesin Tulis Ulang Aktif

Modul ini hanya akan berfungsi jika terhubung Server web Apache. Oleh karena itu, tanyakan hal ini kepada administrator.

Sebagai bagian dari pelajaran ini, saya ingin melihat beberapa situasi di mana kita perlu menyiapkan pengalihan 301:

  1. Jika Anda berpindah dari satu domain ke domain lainnya;
  2. Jika situs Anda dapat diakses dengan www dan tanpa www;
  3. DENGAN protokol http di https;
  4. Dari satu halaman ke halaman lainnya;
  5. Dari file indeks index.html/php ke halaman utama.

Ayo berangkat secara berurutan.

Pindah ke domain lain

Jika Anda memutuskan untuk pindah ke domain lain, maka Anda perlu menulis perintah berikut di file konfigurasi tambahan .htaccess:

RewriteEngine Di RewriteCond %(HTTP_HOST) old-domen.ru RewriteRule (.*) http: //new-domen.ru/$1

301 redirect dari URL www ke non-www dan sebaliknya

Robot pencari adalah hal yang kompleks, jadi ketika bekerja dengan situs web, seorang webmaster perlu mempertimbangkan banyak nuansa. Sebagai contoh, untuk mesin pencari, situs yang dapat diakses di alamat www (www.site.ru) dan tanpa tridouble (site.ru) dibagi menjadi dua sumber web duplikat yang sepenuhnya identik.

Oleh karena itu, situs web apa pun harus dapat diakses hanya di satu alamat: baik dengan atau tanpa www. Jika tidak, posisi situs tidak akan berkembang.

Redirect dari www.site.ru ke site.ru:

Redirect dari site.ru ke www.site.ru:

Mesin Tulis Ulang Pada RewriteCond %(HTTP_HOST) ^www\.(.*) Aturan Penulisan Ulang ^(.*)$ http://%1/$1

Dari protokol http ke https

Gunakan kode ini untuk mengalihkan ke protokol https yang aman:

RewriteCond %(HTTPS) mati RewriteRule ^(.*)$ https: //%(HTTP_HOST)%(REQUEST_URI)

Dari satu halaman website ke halaman website lainnya

Seringkali Anda perlu mengarahkan pengunjung situs dan robot pencari dari satu halaman ke halaman lainnya. Dalam hal ini, cukup menulis kode berikut di htaccess:

Alihkan 301 /halaman1..html

Pada suatu waktu saya perlu membuat pengalihan 301 dari halaman yang dihasilkan CMS WordPress, ke yang utama, karena yang pertama menduplikasi apa yang ada di yang kedua.

Dari Index.html atau Index.php ke root (garis miring)

Awalnya, di hampir semua situs, halaman utama tersedia dalam dua URL: http://site.ru/index.php dan http://site.ru/. Hal ini tidak benar, karena akibatnya adalah duplikasi konten halaman utama dan mesin pencari akan mulai pesimis terhadap situs tersebut dalam hasil pencarian (sengaja menurunkan situs tersebut).

Untuk mencegah hal ini terjadi, Anda perlu menulis yang berikut ini:

Jika Anda ingin mengalihkan dari index.html

Penulisan UlangCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/ Aturan Penulisan Ulang ^index\.html$ http: //site/

Jika Anda ingin mengarahkan ulang dengan index.php

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ Aturan Penulisan Ulang ^index\.php$ http: //site/

Menggunakan bahan ini, sebagai lembar contekan, jika Anda membutuhkannya. Salin saja kode yang diperlukan dan tempel ke .htaccess.

Yah, itu saja, teman-teman terkasih!

Jangan lupa berlangganan pembaruan blog dan bagikan tautan pelajaran di jejaring sosial.

Ke sampai berjumpa lagi!

Artikel sebelumnya
Artikel selanjutnya

Selama Anda memiliki akses ke direktori situs Anda di server, tindakan tersebut tidak akan sulit. Anggaplah situs Anda berjalan di server web Apache (seperti kebanyakan situs), jadi mari kita bahas sedikit tentang bagian teknis penerapan pengalihan 301 di Apache.

Pertama, sedikit teori

Dalam istilah situs web, pengalihan adalah metode pengalihan otomatis pengguna akhir dari satu URL ke URL lainnya. Meskipun dari sisi teknis ada beberapa cara untuk menerapkan pengalihan, untuk tugas terkait pengoptimalan mesin telusur (SEO), kami menyarankan penggunaan pengalihan HTTP 301 permanen.

Berbeda dengan pengalihan HTTP 302 sementara default, 301 menunjukkan bahwa URL terikat yang lama tidak lagi digunakan (sedangkan 302 menunjukkan bahwa URL lama untuk sementara tidak digunakan, namun akan muncul kembali di masa mendatang).

Perbedaan antara 301 dan 302 sangat penting ketika mesin pencari merayapi situs Anda. Saat perayap mesin telusur mendeteksi tautan ke situs Anda yang disetel secara permanen untuk dialihkan, server web berinteraksi dengan status kode 301 dan kemudian mengalihkan pengguna ke URL baru. Mesin pencari tidak hanya menerima pengalihan ke URL baru, tetapi juga mentransfer nilai metrik halaman dari URL lama ke halaman pengalihan baru (ini adalah fitur kedua dari proses ini yang sangat penting untuk Optimasi SEO, yang tidak dapat diselesaikan menggunakan 302).

Semua contoh menunjukkan domain situs ini, jangan lupa menggantinya dengan alamat situs Anda.

Perbandingan pengalihan 301 dan kanonik rel=”kanonik”

Misalnya:

Tujuan dari tag rel=canonical adalah untuk memberi tahu mesin pencari satu alamat lengkap dari konten halaman. Ini sangat berguna ketika situs menggunakan variabel atribut dinamis untuk URL. URL dinamis dapat membantu mengindeks beberapa versi URL untuk masing-masing versi halaman terpisah, yang dinyatakan dalam (dan mesin pencari membenci ini!)

Meskipun penggunaan tag dengan atribut rel=canonical berguna untuk laman situs, ini bukan pengganti yang dapat diandalkan untuk pengalihan 301. Ada beberapa alasan untuk hal ini:

Tag rel=canonical masih dipertimbangkan mesin pencari sebagai petunjuk setengah-setengah, dan bukan sebagai arahan khusus untuk pelaksanaannya. Sedangkan pengalihan 301 dianggap sebagai instruksi spesifik. Dan terakhir, tidak seperti pengalihan 301, yang dapat dikonfigurasi dalam satu file untuk seluruh situs, kode tag rel=canonical perlu disisipkan di setiap halaman.

Semua ini memberi tahu kita bahwa penggunaan tag rel=canonical dapat berguna saat mengarahkan ulang halaman blog (tentu saja, jika Anda memiliki akses ke kodenya dan memasukkan tag modular yang diperlukan ke dalam halaman). Lagi pula, menggunakan 301 mungkin berarti kehilangan halaman asli dan komentar terkaitnya. koneksi sosial, yang memiliki arti tersendiri dalam SEO.

Kami menyarankan untuk mempertimbangkan penggunaan tag rel=canonical untuk meminimalkan duplikat konten yang diindeks. Tanpa memedulikan alasan standar menugaskan kembali fungsi dan nilai indeks pencarian URL lama ke URL baru, sebaiknya tetap menggunakan metode pengalihan 301 yang telah terbukti.

Bagaimana cara membuat pengalihan 301 di .htaccess?

Di server web Apache, pengalihan 301 dapat dilakukan melalui kode skrip di salah satu dari dua file konfigurasi teks: .htaccess (untuk direktori yang mewakili masing-masing situs di server), atau httpd.conf (di direktori akar penginstal Apache ). Biasanya yang digunakan adalah metode mengubah konfigurasi, jadi mari kita lihat lebih detail.

Hal pertama yang harus dilakukan adalah membuka berkas teks, yang disebut .htaccess. Itu dapat ditemukan di direktori situs web Anda di server web Apache. Pastikan untuk membukanya dengan paling sederhana editor teks, seperti Notepad di komputer Windows.

Setelah membuka file, sebelum menambahkan kode khusus skrip, Anda perlu melakukan dua hal:

  • Aktifkan modul Apache mod_rewrite.
  • Aktifkan ReWriteEngine di modul mod_rewrite.

Untuk melakukannya, tambahkan dua baris kode berikut:

Opsi +FollowSymLinks RewriteEngine aktif

Perhatikan bahwa baris-baris ini hanya perlu ditambahkan satu kali ke dalam file. Setelah ditambahkan, Anda dapat mulai menambahkan kode pengalihan 301 ke skrip.

Skrip pengalihan berikut digunakan saat memindahkan file data, direktori, dan nama domain ke kode yang dipilih. Dan, tentu saja, jangan lupa untuk mencantumkan detail situs Anda! Halaman ini hanya berisi contoh kode tersebut!

301 redirect dari satu halaman ke URL lain

Untuk melakukan pengalihan 301 dari satu URL ke URL lain, tempelkan baris kode berikut:

Pengalihan 301 /staraja.html http://www..html

Di file. htaccess Anda dapat memasukkan sejumlah baris pengalihan.

301 redirect seluruh direktori dan semua file ke URL lain

Jika Anda mendesain ulang arsitektur situs dan mengganti nama direktori, Anda perlu melakukan pengalihan 301 ke seluruh direktori tersebut. Lakukan seperti ini:

RedirectMatch 301 ^/nama lama/ http://www.site/nama baru/

Alihkan nama domain 301 ke URL lain

Jika Anda membeli nama domain dengan riwayat yang bagus, Anda mungkin ingin meningkatkan lalu lintas ke situs Anda. Di sini Anda dapat menggunakan pengalihan 301 untuk semua lalu lintas dari nama domain tersebut ke situs web Anda saat ini. Gunakan kode berikut sebagai contoh:

RedirectMatch 301 ^(.*)$ http://www.site

Pastikan Anda membuat pengalihan seperti itu di file. htaccess dari situs sumber tempat Anda akan mengarahkan lalu lintas, dan bukan ke situs target!

301 redirect untuk mengkanonikalisasi ke URL lain

Karena mesin pencari mengindeks URL, memiliki URL berbeda yang mengalihkan ke halaman dengan konten yang sama untuk pengindeksan dapat memengaruhi PageRank. Tentu saja, situasi ini bukan yang terbaik untuk pengoptimalan! Intinya jika Anda ingin melampirkan PageRank ke satu URL (kanonik), maka untuk mengoptimalkan pencarian Anda perlu memperhatikan konten halaman situs.
Saat kamu belajar contoh terbaik kanonikalisasi, Anda ingin menerapkannya ke situs Anda. Ini berarti Anda harus mempertimbangkan semua alternatif yang mungkin Pengalihan URL ke URL kanonik. Gunakan contoh kode berikut untuk beranda situs Anda:

RewriteCond %(HTTP_HOST) ^web-profy\.com RewriteRule ^(.*)$ http://www..(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+/)*)( default|main|index)\.(html|php|htm)$ http://www.site/$1

Blok dua baris pertama mengalihkan URL yang menghilangkan awalan "www." ke alamat beranda, misalnya, "www.xyz.com"..site/.

Blok kode kedua mengalihkan URL halaman tertentu ke alamat default. Kode ini memastikan bahwa setiap URL beranda yang memiliki banyak ejaan dan tautan langsung, seperti default.htm atau index.html, akan dialihkan ke halaman kanonik URL seperti http://site

Mendokumentasikan dan menguji pekerjaan

# Alihkan seluruh domain ini, abc..*)$ http://www.site

Dokumentasi yang baik dan komentar terhadap proses akan selalu membantu Anda (dan mereka yang nantinya bekerja di situs ini) memahami kode mana yang bertanggung jawab untuk apa. Informasi tersebut akan berguna ketika mencari masalah, ketika ada sesuatu yang tidak berfungsi, untuk mengetahui bagian kode mana yang perlu diperbaiki agar situs dapat berfungsi dengan lancar.

Tentu saja, pekerjaan itu perlu diuji perubahan yang dilakukan. Jika Anda menggunakan FTP untuk mengunggah file yang diperbaiki. htaccess di direktori root situs Anda, saatnya memeriksanya. Masukkan alamat di browser URL halaman yang Anda arahkan. Itu harus langsung mengarahkan ke URL yang ditentukan.

Pemecahan masalah

Jika penerusan tidak berfungsi seperti yang diharapkan, sekarang saatnya untuk memecahkan masalah.

Pertama-tama, jika pengalihan dikodekan dalam file .htaccess Anda dan ditulis dengan benar, tetapi tidak berhasil, periksa status pemasangan ekstensi mod_rewrite di Apache. Biasanya modul ini terinstal secara default, namun jika tidak ada, maka coding .htaccess di atas tidak akan berfungsi. Pastikan juga Anda menambahkan dua baris kode yang memungkinkan mod_rewrite dan ReWriteEngine berfungsi.

Selain itu, perhatikan bahwa penggunaan RewriteCond pada baris menunjukkan bahwa data masukan tidak cocok karakteristik yang ditetapkan. Jika Anda melewatkan poin ini, URL dengan huruf kapital dan huruf kecil mungkin tidak berfungsi seperti yang diharapkan. Perhatikan bahwa penggunaan L dalam kode menunjukkan bahwa file mesin dianggap sebagai baris kode terakhir untuk seluruh proses konfirmasi entri data. Jika Anda memiliki konfigurasi kode yang bertentangan di .htaccess, gunakan kode L pada baris yang ditetapkan sebagai prioritas.

Dan terakhir, kami mencatat bahwa seringnya penggunaan pengalihan 301 tidak baik untuk kesehatan seluruh situs. Meskipun sangat berguna, Anda harus memperbarui tautan masuk situs Anda ke URL yang benar. Dengan mengabaikan tautan masuk lama Anda dan menggunakan beberapa pengalihan 301 untuk mengekliknya (301, lalu 301, lalu 301 lagi), Anda menambah waktu yang diperlukan untuk memuat situs, yang berdampak buruk bagi promosi situs. Dan jika ada banyak pengalihan, pemindai mungkin tidak mencapai situs target. Jika hal ini terjadi, maka akan berdampak buruk pada peringkat website Anda di mesin pencari. Selain itu, jika Anda memperbarui tautan situs, pastikan file peta situs.xml juga diperbarui dengan URL baru yang diperbarui.

Jaga situs Anda tetap terkendali dengan pengalihan 301, praktik standar yang baik untuk white hat SEO. Pastikan Anda membantu perayap mesin pencari menjangkau halaman situs Anda dan, pada saat yang sama, PageRank yang diperoleh diinvestasikan secara aktif dalam mempromosikan situs Anda.

Jika Anda ingin mengubah URL halaman yang muncul di hasil pencarian, disarankan untuk menggunakan Pengalihan 301(301 Permanent Redirect) dilakukan oleh server. Ini adalah cara terbaik untuk memastikan bahwa pengguna dan mesin pencari membuka halaman yang tepat.

Kode status 301 berarti halaman yang diminta telah dipindahkan secara permanen ke lokasi baru.

Sebenarnya ada beberapa pengalihan. Cara membuat 301 redirect dapat Anda lihat pada infografik.

Kapan sebaiknya Anda menggunakan pengalihan 301?

Menggunakan pengalihan 301 sangat berguna dalam kasus berikut:

  1. Saat mengubah domain . Anda telah memindahkan situs Anda ke domain lain dan ingin membuatnya seolah-olah perpindahan tersebut tidak pernah terjadi.
  2. Untuk mentransfer ke domain baru Peringkat Halaman dan TIC.
  3. Untuk menghemat lalu lintas pencarian.
  4. Pengguna dapat mengakses situs menggunakan beberapa URL berbeda. Misalnya, Anda dapat membuka halaman tersebut dengan beberapa cara: //site.ru/sub, //sub.site.ru atau //www.site.ru. Mungkin lebih mudah untuk memilih salah satu dari URL ini sebagai kanonik (utama) dan gunakan pengalihan 301 untuk mengalihkan lalu lintas dari URL lain ke sana. Untuk mengonfigurasinya, Anda dapat menggunakan Alat Webmaster.
  5. Saat menggabungkan dua situs, semua link ke halaman lama harus mengarah ke halaman yang sedang aktif.
  6. Saat memindahkan halaman website ke lokasi baru.
  7. Untuk menggabungkan nama situs dengan dan tanpa awalan www.

Artikel terkait: Yandex menggantikan TCI dengan ICS - indikator baru kualitas situs

Kesalahan ke-301 (301 Permament Redirect), yang muncul saat mengakses alamat halaman tertentu, berarti situs tersebut secara berkelanjutan dipindahkan ke alamat baru, juga ditentukan di header HTTP. Baik pengguna yang mengakses melalui browser maupun bot pencarian akan dialihkan ke alamat baru, sedangkan untuk mesin pencari semua properti alamat (halaman) lama akan dialihkan ke URL baru. Dengan pengalihan 301, alamat lama dan baru akan digabungkan: parameter seperti PageRank dan TCI, serta bobot halaman dan bobot tautan dari alamat lama akan ditransfer ke URL baru.

Pengalihan dengan nomor kesalahan 301 (dipindahkan secara permanen) adalah cara terbaik simpan peringkat situs di mesin pencari saat mentransfernya ke domain baru atau mengubah sistem manajemen konten. Pengalihan dapat dilakukan dengan beberapa cara, tergantung pada perangkat lunak yang diinstal.

Pengalihan 301 c. htaccess

Saat menggunakan server apache, pengalihan cukup dilakukan menggunakan file .htaccess, namun jangan lupa untuk mengaktifkan modul mod_alias (untuk mendukung direktif Redirect , RedirectPermanent dan RedirectMatch) dan/atau mod_rewrite (untuk menggunakan rewrite) di php.ini .

Untuk melakukannya, letakkan file .htaccess di folder root situs Anda.

Redirect menggunakan arahan Pengalihan atau RedirectPermanen modul mod_alias

Pengalihan 301 /halaman-lama.html //domain-baru.ru/halaman-baru.html

Redirect permanen /old-page.html //new-domain.ru/new-page.html

Kerugian metode ini adalah semua alamat yang perlu dialihkan harus dicantumkan satu per satu, masing-masing secara terpisah. Anda juga dapat menggunakan RedirectPermanent untuk tujuan serupa.

RedirectPermanent /old-url.html //situs-baru.ru/url-baru.html

Redirect menggunakan arahan RedirectMatch

Pengalihan ini mirip dengan yang sebelumnya, hanya saja Anda dapat menentukannya ekspresi reguler untuk yang lama URL. Katakanlah ketika mengubah mesin dari PHP ke ASP, Anda dapat mengarahkan ulang alamat lama sebagai berikut:

RedirectMatch /(.*).php$ /$1.aspx

Redirect menggunakan arahan Aturan Penulisan Ulang modul mod_rewrite

Untuk menggunakan direktif RewriteRule, Anda perlu memastikan bahwa modul mod_rewrite diaktifkan di httpd.conf, dan opsi FollowSymLinks diaktifkan. Menggunakan modul penulisan ulang memberi Anda banyak peluang untuk mengarahkan halaman ke alamat baru.

Artikel

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat