Haruskah URL saya menggunakan huruf kecil?

17

Menurut blog ini ("Memahami Praktik Sintaks URL yang Ramah SEO") saya harus berubah

http://example.com/Hello-Dolly

Untuk

http://example.com/hello-dolly

Alasan yang diberikan adalah:

  • URL, secara umum, peka huruf besar-kecil
  • itu akan menyederhanakan laporan SEO dan analitik kasus sensitif

Menurut GIF yang saya temukan di artikel Wikipedia tentang Normalisasi URL, saya harus mengubah URL saya dari huruf besar apa saja menjadi huruf kecil semua.

Namun saya menggunakan ASP.NET MVC dan secara default URL saya terstruktur seperti ini ( CamelCase ):

http://www.example.com/Controller/Action/Parameter

http://www.example.com/Categories/List/Bicycles

Saya telah membaca RFC1738 tapi saya tidak melihat jawaban pasti untuk ini.

Haruskah saya keluar dari cara saya untuk memaksa kerangka kerja untuk mengubah segalanya menjadi huruf kecil? Mengapa Microsoft memilih untuk mendesain kerangka kerja mereka seperti ini jika semua orang mengatakan kepada saya untuk menggunakan huruf kecil?

Rowan Freeman
sumber
3
Pertanyaan bagus dan presentasi yang luar biasa dari pertanyaan Anda kepada komunitas di sini di webmasters.stackexchange.com! Anda benar-benar melakukan 'pekerjaan rumah' Anda dalam masalah ini juga sebelum bertanya!
dvnkiss
Saya mengalami masalah di mana proxy mengubah URL yang diminta ke semua huruf kecil - dan menyebabkan 404 pada permintaan ke server Linux yang meng-host halaman di subdirektori ./SO/ saya (di mana saya meletakkan contoh stackoverflow). Itu adalah kasus penggunaan di mana huruf kecil membuat perbedaan (Anda dapat berargumentasi bahwa proksi itu dikodekan dengan buruk tetapi itu adalah kehidupan nyata ...)
Floris

Jawaban:

10

Should I go out of my way to force the framework to change everything to lower case?

Tidak, itu tidak perlu. Sistem operasi Windows tidak peka huruf besar kecil, termasuk OS server dan aplikasi kerangka kerja mereka. Namun sistem operasi Linux / Unix peka terhadap huruf besar-kecil.

Aplikasi berbasis internet (mis., Peramban) harus menormalkan URL, seperti yang dicakup dalam bagian 6 RFC 3986 :

Salah satu operasi yang paling umum pada URI adalah perbandingan sederhana: menentukan apakah dua URI setara tanpa menggunakan URI untuk mengakses sumber daya masing-masing. Perbandingan dilakukan setiap kali cache respons diakses, browser memeriksa sejarahnya untuk mewarnai tautan, atau parser XML memproses tag di dalam namespace. Normalisasi yang luas sebelum perbandingan URI sering digunakan oleh spider dan mesin pengindeksan untuk memangkas ruang pencarian atau untuk mengurangi duplikasi tindakan permintaan dan penyimpanan respons.

Karena Anda akan menggunakan server Windows, URL dan URI yang diminta akan dikembalikan ke aplikasi klien.


Mengenai mesin pencari, sebagaimana dinyatakan dalam RFC di atas, dan di tautan Wikipedia Anda tentang Normalisasi URL :

Mesin pencari menggunakan normalisasi URL untuk menetapkan pentingnya halaman web dan mengurangi pengindeksan halaman duplikat.

Dan sebagai sumber seperti laporan ini tentang subjek:

Baru-baru ini, Google mulai lebih memahami bahwa / halaman1.html dan / Halaman1.html hanya dua contoh dari konten yang sama.


Why did Microsoft choose to design their framework like this if everybody is telling me to use lowercase?

Ini kompatibel dengan sistem operasi mereka, dan secara teknis tidak salah menurut RFC. Mereka juga memiliki cara sendiri dalam melakukan sesuatu, yang membuat para webmaster menebak :-)

dan
sumber
1
Jawaban yang bagus, saya akan memposting jawaban yang sangat mirip tetapi Anda mengalahkan saya untuk itu! "Mengapa Microsoft memilih untuk mendesain kerangka kerja mereka seperti ini jika semua orang mengatakan kepada saya untuk menggunakan huruf kecil? ... Mereka juga memiliki cara mereka sendiri dalam melakukan sesuatu, yang membuat webmaster terus menebak." - Suka sedikit itu. Sejauh yang saya ingat, Microsoft telah memiliki cara mereka sendiri untuk 'membuat' pengembang / webmaster tunduk pada aturan mereka yang kaku!
dvnkiss
4

Saya tidak tahu bahwa Anda harus mengubahnya tetapi Anda harus memastikan untuk konsisten.

Saya melihat ini beberapa tahun yang lalu dan standar Google adalah kasus sebelum TLD tidak masalah tetapi setelah TLD tidak.

Pada saat itu saya sedang mengerjakan sebuah situs mati bernama BusinessForPhotographers.com; rupanya secara konsisten diperlakukan sebagai case-sensitive.

Setelah itu .comadalah masalah lain. Tampilan Google /Great-Articleberbeda dari /great-article, meskipun server Anda merutekannya ke tempat yang sama.

Ini dapat memengaruhi kanonikisasi dan duplikasi masalah konten. Saya pikir metode paling aman adalah dengan memaksa redirect 301 ke versi yang benar.

Meskipun ini mungkin tampak sia-sia memikirkan layanan seperti YouTube, apakah /A1B2C3URL yang sama /a1b2c3?

Tidak di mata Google.

adam-asdf
sumber
3

Jalur URI peka huruf besar-kecil (jika tidak didefinisikan sebaliknya). Lihat standar URI STD 66, bagian 6.2.2.1. Normalisasi kasus :

Komponen sintaksis generik lainnya diasumsikan peka terhadap huruf besar-kecil kecuali ditentukan secara khusus oleh skema

Jika huruf besar dalam jalur HTTP URI akan menjadi masalah bagi beberapa pengguna, Wikipedia akan rusak untuk mereka. Dua URI HTTP ini (hanya berbeda dalam huruf kecil ovs huruf besar O) mengarah ke halaman yang berbeda:

Jadi tidak, Anda tidak perlu mengubah URI Anda.

Namun, jika memungkinkan (jika Anda tidak menggunakan kasing, seperti yang dilakukan Wikipedia), akan menjadi praktik yang baik untuk mengizinkan semua varian case dan 301 dialihkan ke varian kanonik.

unor
sumber