Haruskah jalur URL peka huruf besar-kecil?


11

URL situs web saya saat ini tidak peka huruf besar-kecil. Misalnya, kedua tautan berikut menampilkan laman yang sama persis:

  • http://example.com/about
  • http://example.com/About

Namun, ketika melihat situs web wordpress.org, saya perhatikan bahwa URL peka huruf besar-kecil. Misalnya, tautan kedua di bawah ini adalah laman galat 404:

  • http://wordpress.org/about
  • http://wordpress.org/About

Pikiran saya adalah membuat case URL situs web saya sensitif. Selain masalah yang jelas tentang menghindari duplikat konten, apa pro dan kontra dari memiliki URL yang case-sensitive?

Memperbarui

Google tampaknya mengoperasikan kebijakan URL case-sensitive pada URL mereka sendiri. Misalnya, tautan kedua di bawah adalah 404:

  • http://google.com/doodles
  • http://google.com/Doodles

Perbarui 2

Terima kasih atas jawaban anda Saya memutuskan untuk mengambil saran yang disebutkan dalam jawaban yang diterima dan menerapkan 301 redirect bila diperlukan. Karena saya bekerja dengan WordPress, solusi kode saya adalah sebagai berikut (kalau-kalau ada yang tertarik):

function force_lowercase_urls() {

    if ( is_admin() )
        return;

    if ( preg_match( '/[A-Z]/', $_SERVER['REQUEST_URI'] ) ) {

        wp_redirect( strtolower( $_SERVER['REQUEST_URI'] ), 301 );
        exit();
    }

}
add_action( 'init', 'force_lowercase_urls' );

1
But wouldn't that result in duplicate content? – henrywrightAnda tidak perlu khawatir tentang duplikat tautan jika situs Anda menggunakan tautan kanonik dengan benar dan Anda dapat mengakses 1 halaman sejuta cara dan tidak pernah terpengaruh untuk duplikat konten.
Simon Hayter

@bybe Jika Anda memiliki satu halaman yang diakses jutaan cara, Googlebot tidak akan dapat menjelajah situs Anda dengan baik. Memiliki halaman yang diakses segelintir cara tidak akan menyakitkan.
Stephen Ostermiller

Jawaban:


6

Dua dari sistem file sistem operasi yang paling banyak digunakan untuk menyajikan konten web memiliki pengaturan yang sangat berbeda untuk sensitivitas huruf URL secara default. Apakah URL Anda peka terhadap huruf besar atau kecil kemungkinan merupakan fungsi yang Anda gunakan:

  • Microsoft IIS yang berjalan pada Windows - URL tidak sensitif huruf - menunjukkan konten yang sama tanpa memperhatikan kapitalisasi.
  • Apache HTTPD Server berjalan di Linux - URL case sensitif - memberikan kesalahan 404 tidak ditemukan untuk kapitalisasi yang salah.

Menurut pendapat saya, tidak ada standar yang ideal:

  • Menampilkan konten yang sama terlepas dari kapitalisasi membuat perayapan situs web Anda lebih sulit. Mesin pencari menganggap konten yang sama pada banyak URL sebagai konten duplikat.
  • Menampilkan halaman kesalahan karena huruf besar yang salah tidak ramah pengguna. Pengguna biasanya tidak memperhatikan kapitalisasi ketika mereka mengetik.

Solusi yang ideal adalah dengan menampilkan halaman hanya ketika URL ditulis dengan benar. Untuk penggunaan huruf besar yang salah, pengguna harus diarahkan ke huruf besar yang diinginkan. Ada beberapa cara yang bisa dilakukan:


1
Saya rasa ini adalah artefak dari DOS dan Windows yang menyimpang dari standar sebelumnya dari sensitivitas case yang kita miliki di lingkungan Unix.
Minggu

1
Apakah Apache peka huruf besar-kecil untuk permintaan yang memetakan ke sistem file tergantung pada sistem file yang mendasarinya, bukan Apache itu sendiri. Jika menjalankan Apache pada Windows maka meminta /iNdEx.HtMlatau /InDeX.hTmlkeduanya akan kembali /index.html(asalkan itu /index.htmladalah file fisik pada sistem file).
MrWhite

1
Bahkan, ini tampaknya sama untuk IIS .
MrWhite

1
Ya, IIS selalu berjalan pada Windows (AFAIK), jadi permintaan sistem file akan selalu peka terhadap huruf besar-kecil. Namun, banyak situs akan merutekan (menulis ulang) URL melalui semacam pengontrol depan - dalam hal ini permintaan mungkin tidak memetakan ke file fisik pada sistem file dan sehingga URL mungkin peka terhadap huruf besar-kecil (kecuali aplikasi secara khusus membuatnya case -insensitive) - yang pada dasarnya sama dengan Apache (saat berjalan di Windows). (?)
MrWhite

2
Saya benar-benar tersandung di sini saat meneliti pertanyaan terbaru / sibuk " Mengapa URL case-sensitive? ". Tampaknya frasa seperti "IIS tidak peka huruf besar-kecil" (disebutkan beberapa kali di utas lainnya) begitu tersebar sehingga kepercayaan umum tampaknya bahwa URL pada IIS selalu peka huruf besar-kecil - setidaknya itulah kesan yang saya peroleh - yang sama sekali tidak tampak seperti itu.
MrWhite

4

Berikut adalah posisi Google dari sesi obrolan langsung yang diarsipkan (tautannya sekarang mati):

* Apakah kapitalisasi URL yang tidak konsisten menyebabkan masalah konten duplikat dan dilusi peringkat halaman? Misalnya www.site.com/abc vs www.site.com/Abc. Pada host Windows, ini adalah halaman yang sama, tetapi halaman berbeda pada host Unix.

JohnMu: Hai John, berdasarkan standar yang ada, URL peka huruf besar-kecil, jadi ya, ini akan dilihat sebagai URL yang terpisah. Karena konten pada URL adalah sama, kami biasanya akan mengenalinya dan hanya menyimpannya. Namun, kami menyarankan Anda mencoba untuk menjaga semua tautan masuk ke satu versi URL. Perlu diingat bahwa ini juga berlaku untuk file robots.txt. *

Tim IE merekomendasikan memilih konvensi casing file dan mematuhinya secara ketat karena dapat meningkatkan kinerja.


-2

RFC 3986 6.2.2.1 mendefinisikan URI sebagai tidak peka terhadap huruf besar kecil, jadi bukan ide yang baik untuk menjadikannya peka huruf besar kecil seperti wordpress.org.


Tapi bukankah itu menghasilkan duplikat konten?

Sebenarnya tidak, karena mesin pencari juga harus bekerja case-sensitive.

Saya kira pertanyaannya sekarang adalah bagaimana mencari tahu apakah mesin pencari melihat URL yang lebih tinggi dan lebih rendah sebagai setara? Ambil Google sebagai contoh: Coba google.com/Doodles dan google.com/doodles

10
RFC itu hanya membahas kasus tiga bagian URL. 1 - Protokol ( http://) - case sensitif, menormalkan huruf kecil. 2 - Nama host ( example.com) - case tidak sensitif, dinormalkan menjadi huruf kecil. 3. Persen karakter yang dikodekan ( %3F) - case tidak sensitif, dinormalisasi ke huruf besar. Sisa URL umumnya sensitif huruf besar
Stephen Ostermiller
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.