URL: Dash so với Underscore [đã đóng]


186

Nó nên là / about_us hay / about-us ?

Từ quan điểm khả năng sử dụng, cá nhân tôi nghĩ / về chúng tôi tốt hơn nhiều cho người dùng cuối nhưng Google và hầu hết các trang web khác (và khung javascript) sử dụng mẫu đặt tên gạch dưới. Có phải chỉ là vấn đề của phong cách? Có bất kỳ vấn đề tương thích với dấu gạch ngang?


6
Tại sao không /index__1125.aspx (đó là bốn dấu gạch dưới, rất quan trọng!)
Christian Davén

76
Ồ, thôi nào. Tôi quan tâm đến câu hỏi này và câu trả lời. Câu hỏi có 52 upvoates, và bạn đã đóng nó? Đó là về lập trình. Lập trình web. Quyết định cách đặt tên thư mục trong một trang web đang được phát triển.
Kaydell


3
Video hay giải thích từ kỹ sư Google: youtube.com/watch?v=AQcSFsQyct8
JohnB

Đến đây để tìm hiểu whether_domain_URLs_can_have_underscores.com.
neverMind9

Câu trả lời:


31

Đây chỉ là một phỏng đoán, nhưng có vẻ như họ đã chọn một người mà hầu hết mọi người sẽ không sử dụng tên. Bằng cách này, bạn có thể có một tên bao gồm một từ có gạch nối và vẫn sử dụng thanh bên dưới làm dấu phân cách từ, ví dụ UseTwo-wayLinks có thể được chuyển đổi sang use_two-way_links.

Trong ví dụ của bạn, / about-us sẽ là một thư mục có tên là từ gạch ngang "about-us" (nếu một từ như vậy tồn tại và / about_us sẽ là một thư mục có tên cụm từ hai từ "about us" được chuyển đổi thành một chuỗi của các nhân vật không phải là màu trắng.


11
Đoán hợp lý, nhưng khi nó bật ra, hoàn toàn không đúng sự thật. -1.
Mark Amery

2
Bạn có tài liệu tham khảo cho @MarkAmery không? Câu hỏi xoay quanh lý do tại sao Google sẽ sử dụng dấu gạch dưới. Nếu bạn đề nghị họ không, đó không phải là vấn đề của câu trả lời này, mà là vấn đề của câu hỏi.
billjamesdev

1
Đầu tiên, theo phỏng đoán, khá hợp lý. Tôi muốn thêm vào như một phần của dự đoán rằng các lập trình viên sử dụng dấu gạch ngang làm phép trừ để sử dụng dấu gạch dưới; có lẽ các URL, được tạo bởi các lập trình viên, tuân theo quy ước đó. Một lời giải thích thực tế sẽ tốt hơn mặc dù. Đánh dấu leo ​​thang với -1 mà không có bất kỳ sao lưu; ước gì tôi có thể cho nhận xét -1.
Gerard ONeill

2
@GerardONeill trích dẫn: video này của Google Webmaster: youtube.com/watch?v=AQcSFsQyct8 . Trên mỗi video đó (phải thừa nhận là 6 tuổi và có thể không đại diện cho hiện trạng), foo_barđược coi là một từ trong khi foo-barđược coi là hai từ - hoàn toàn trái ngược với những gì câu trả lời này suy đoán là trường hợp.
Đánh dấu Amery

2
@MarkAmery Tôi nghe thấy những gì bạn đang nói, và bạn thực sự chỉ nói những lời của người khác từ lâu, nhưng không phải bạn sẽ nghe rằng "foo_bar" được coi là một từ, khi nó hoàn toàn có thể theo nghĩa đen ' t là một (vì không có từ nào có dấu gạch dưới). Trong khi đó "lòng tự trọng" là một từ ghép hoàn toàn hợp lệ trong tiếng Anh và phải được tìm kiếm như một thực thể duy nhất?
billjamesdev

192

Từ Trung tâm quản trị trang web của Google

Xem xét sử dụng dấu câu trong URL của bạn. URL http://www.example.com/green-dress.html hữu ích hơn nhiều đối với chúng tôi so với http://www.example.com/greendress.html . Chúng tôi khuyên bạn nên sử dụng dấu gạch nối (-) thay vì dấu gạch dưới (_) trong URL của mình.


4
Google đã không giải thích tại sao? Giả sử nó có liên quan gì đến cách phân tích địa chỉ của họ? Hoặc có lẽ đó chỉ là vấn đề của người dùng cuối.
xji

9
cũng đáng lưu ý rằng toàn bộ phần dưới có thể được chọn bằng cách nhấp đúp vào một số thiết bị và nhấn lâu vào điện thoại di động, trong khi với văn bản được phân tách bằng dấu gạch ngang, các hành động tương tự chọn từng từ được phân tách. Hãy suy nghĩ xem liệu người dùng có từng cố gắng sao chép thứ gì đó từ url không
Tít

1
Tôi nghĩ rằng bạn có thể đã đạt được một vòng lặp quan hệ nhân quả ở đó @Titus, vì điều đó hoàn toàn trái ngược với ... tiếng Anh, mà DOES có dấu gạch ngang trong từ, nhưng không có dấu gạch dưới.
billjamesdev

Tôi đoán là không có sự khác biệt, ít nhất là đối với google, cho dù có '_', '-' hay không có gì. Google đã đi với những gì tôi cho là dễ đọc nhất đối với con người, một dấu gạch ngang
Arthur Tarasov

1
Xem youtu.be/AQcSFsQyct8 để biết giải thích của Google. (Họ đã sử dụng "_" để tìm kiếm chính xác phù hợp.)
Matt Ke

62

Dưới đây là một vài điểm có lợi cho dấu gạch ngang:

  • Dấu gạch ngang được Google khuyến nghị trên dấu gạch dưới ( nguồn ).
  • Dấu gạch ngang quen thuộc hơn với người dùng cuối.
  • Dấu gạch ngang dễ viết hơn trên bàn phím tiêu chuẩn (không cần Shift).
  • Dấu gạch ngang không ẩn đằng sau gạch chân.
  • Dấu gạch ngang cảm thấy tự nhiên hơn trong ngữ cảnh của URL khi chúng được cho phép trong tên miền.

53

Nó không chỉ là dấu gạch ngang so với dấu gạch dưới:

  • văn bản có khoảng trắng
  • không gian văn bản
  • được mã hóa% 20 không gian% 20in% 20URL
  • gạch dưới_means_space
  • dấu gạch ngang có nghĩa là không gian
  • dấu cộng + có nghĩa là + không gian
  • lạc đà
  • PascalCase
  • "trích dẫn văn bản có dấu cách" (và trích dẫn đơn so với trích dẫn kép)
  • dấu gạch chéo / phương tiện / không gian
  • dot.means.space

43
Chào mừng bạn đến với Wild Wild Web!
Ngay cả Miên

Tôi khá thích dấu gạch chéo / phương tiện / không gian khi được sử dụng một cách thanh lịch. Một trong những trang web mà tôi chạy sử dụng / about / us cùng với nhiều trang / about / page khác nhau. Tôi không nhớ là đã thấy bất kỳ ví dụ chính nào nữa.
Sekalf Nroc

36

Google đã không coi gạch dưới là một dấu tách từ trong quá khứ, điều mà tôi nghĩ là khá điên rồ, nhưng rõ ràng là bây giờ. Bởi vì lịch sử này, dấu gạch ngang được ưa thích. Mặc dù hiện tại dấu gạch dưới được cho phép theo quan điểm SEO, tôi vẫn nghĩ rằng dấu gạch ngang là tốt nhất.

Một lợi ích là người lướt web bán máy tính không biết chữ trung bình của bạn có nhiều khả năng có thể gõ một dấu gạch ngang trên bàn phím, họ thậm chí có thể không biết dấu gạch dưới là gì.


9
Người lướt web bán máy tính không biết chữ trung bình của bạn dường như không thể biết được sự khác biệt giữa thanh địa chỉ và tìm kiếm. Người dùng trung bình của bạn cũng có nhiều khả năng nhấp hơn loại. Chỉ cần nói
Armstrongest

2
Google vẫn KHÔNG coi gạch dưới là dấu tách từ: youtube.com/watch?v=AQcSFsQyct8
Sembiance

16

Tôi đã từng sử dụng dấu gạch dưới mọi lúc, bây giờ tôi chỉ sử dụng chúng cho các phần của trang web mà tôi không muốn bất kỳ ai liên kết trực tiếp, các tệp js, css, ... vv

Từ quan điểm SEO, dấu gạch ngang dường như là cách xử lý ưa thích, để giải thích chi tiết, từ miệng ngựa http://www.mattcutts.com/blog/dashes-vs-underscores/ .

Một vấn đề khác dường như xảy ra, với công chúng nói chung nhiều hơn là lập trình viên, là khi một siêu liên kết với dấu gạch dưới được gạch chân, bạn không thể nhìn thấy dấu gạch dưới. Người dùng nâng cao sẽ giải quyết được, nhưng Joe Public có thể sẽ không làm được.

Vẫn sử dụng dấu gạch dưới trong mã ưu tiên cho dấu gạch ngang - các lập trình viên hiểu chúng, hầu hết những người khác thì không.



8

Chuyên gia SEO Jim Westergren đã thử nghiệm điều này trở lại vào năm 2005 từ góc độ SEO nghiêm ngặt và đi đến kết luận rằng + (cộng) thực sự là dấu phân cách từ tốt nhất. Tuy nhiên, điều này có vẻ không hợp lý và có thể là do lỗi trong thuật toán của các công cụ tìm kiếm. Ông khuyến nghị - (dấu gạch ngang) cho cả khả năng đọc và SEO.


7

Tôi thoải mái hơn với quần lót. Trước hết, chúng phù hợp với kinh nghiệm lập trình thường xuyên của tôi variable_names_are_not-subtraction, thứ hai, và tôi tin rằng điều này đã được đề cập, các từ có thể có dấu gạch nối, nhưng chúng không bao giờ có dấu gạch dưới. Để chọn một ví dụ thực sự ngu ngốc, "Quốc gia quốc gia" khác với "quốc gia quốc gia". Trước đây dịch một cái gì đó như "vùng đất của các quốc gia" (nghĩ rằng "đây là quốc gia súng! Di chuyển tốt nhất, bạn có biết không?"), Trong khi sau này trông giống như một danh sách các từ đồng nghĩa đôi khi. http://example.com/nation-state-country/không có nghĩa giống như http://example.com/nation-state_country/, tuy nhiên, nếu dấu gạch nối là dấu phân cách / "khoảng trắng" ngoài các ký tự trong từ, nó có thể. Cái sau có vẻ rõ ràng hơn về mục đích thực tế, trong khi cái trước trông giống danh sách đó hơn, nếu có gì.


1
Chỉ cần một lưu ý phụ, các ngôn ngữ như Lisp hoặc Scheme thường sử dụng tên biến / hàm được phân tách bằng dấu gạch ngang, vì dấu trừ chỉ là một định danh của hàm giống như bất kỳ ngôn ngữ nào khác (và trên thực tế, chúng cho phép đặt ký tự lớn hơn trong mã định danh).
JS

5

Dấu gạch dưới thay thế khoảng trắng nơi khoảng trắng không được phép. Dấu gạch ngang (dấu gạch ngang) có thể là một phần của một từ, do đó, nối các từ với dấu gạch nối đã bao gồm dấu gạch nối là xấu xí / khó hiểu.

Xấu:

/low-budget-movies

Tốt

/low-budget_movies

37
Tôi đã không đồng ý với điều này. Ngày nay, thông thường chỉ sử dụng dấu gạch ngang. Không lập trình viên tìm thấy các dấu gạch dưới trực quan không hấp dẫn. Không có gì sai với ví dụ đầu tiên. Nó thực sự thân thiện hơn để đọc.
allesklar

9
Về mặt ngữ nghĩa, bạn đúng, nhưng sự khác biệt có thể gây nhầm lẫn hơn là hữu ích cho việc sử dụng trong URL. Mọi người có nhiều khả năng nhớ "abcde" hơn "a-b_c-d_e".
Wadih M.

Ai đó nói với Jeff rằng anh ta cần phải viết lại hệ thống thẻ ...

1
Có thật không? @Wadih, nếu mọi người viết đúng chính tả, không có gì khó nhớ về ngân sách thấp. Bạn không cần phải nhớ nó nhiều hơn hai chữ "phim kinh phí thấp". Tất nhiên khi bạn chỉ sử dụng a, b, c, d, e, thì nó không có ý nghĩa gì. "Ngân sách thấp" không giống như "ngân sách thấp", giai đoạn.
fletom

xấu: / phim kinh phí thấp, tệ: / ngân sách thấp_movies, tốt: / ngân sách thấp% 20movies
Mikhail Antonov

3

Tôi nghĩ dash là tốt hơn từ góc độ người dùng và nó sẽ không can thiệp vào SEO.

Không chắc chắn nơi hoặc tại sao các quy ước gạch dưới bắt đầu.

Một cuộc tranh luận có hiểu biết hơn một chút


3

Tôi thích dấu gạch ngang trên cơ sở rằng một dấu gạch dưới có thể bị che khuất đến một mức độ bởi một gạch chân liên kết. URL văn bản chủ yếu để được nhận ra trong nháy mắt chứ không phải là chính xác về mặt ngữ pháp, do đó, đối số để giữ dấu gạch ngang để sử dụng trong các từ có gạch nối bị hạn chế.

Trường hợp độ chính xác của URL văn bản là quan trọng khi đọc nó cho ai đó, trong trường hợp đó bạn không muốn nhầm lẫn dấu gạch dưới cho một khoảng trắng (hoặc ngược lại).

Tôi cũng tìm thấy dấu gạch ngang thẩm mỹ hơn, nếu điều đó được tính cho bất cứ điều gì.


2

Đối với chế độ xem của người dùng cuối, tôi thích "about-us" hoặc "about us" chứ không phải "about_us"


1

Cá nhân, tôi sẽ tránh sử dụng about-us hoặc about_us, và chỉ sử dụng about.


3
/ about / us / no / Nghiêm trọng / đây / là / nó :)
Brad Wilson

12
và đây là giải pháp của bạn? Tốt thôi, những gì về "about_our_customers" hoặc bất kỳ tập hợp "abouts" nào tôi có thể đưa ra có thể có liên quan. Bỏ qua một vấn đề! = Giải pháp.
billjamesdev

1

Một số máy chủ lưu trữ web và máy chủ DNS cũ hơn thực sự có vấn đề khi phân tích cú pháp gạch dưới cho URL, do đó có thể đóng một phần trong các quy ước như thế này.


2
Vâng, nhưng đó chỉ là trong tên máy chủ.
Anirvan

0

Cá nhân tôi sẽ tránh tất cả các dấu gạch ngang và dấu gạch dưới và chọn cho camelCase hoặc PascalCase nếu nó nằm trong mã.

Bài viết trên Wikipedia về camelCase giải thích một chút lý do đằng sau nguồn gốc của nó. Họ lên tới

  1. Những lập trình viên lười biếng, những người không thích với tới phím _
  2. Có thể nhầm lẫn về khả năng đọc
  3. Bàn phím "Alto" tại xerox PARC không có phím gạch dưới.

Nếu người dùng muốn xem chuỗi thì tôi sẽ không làm gì ở trên và sử dụng "Giới thiệu về chúng tôi". hoặc "AboutUs" nếu tôi phải làm như camelCase đã lan sang sử dụng phổ biến trong một số lĩnh vực như tên sản phẩm. tức là ThinkPad, TiVo


Làm thế nào công cụ tìm kiếm biết nơi một từ bắt đầu hoặc kết thúc?
Joe Phillips

Tại sao công cụ tìm kiếm không xử lý PascalCase giống như bất kỳ phân định nào khác, có thể là _, - hoặc: cho vấn đề đó?

1
Lời khuyên tốt ... là câu hỏi này đã được hỏi về mã. các url là [thường] không phân biệt chữ hoa chữ thường và thường được hiển thị bằng chữ thường.
Armstrongest

1
@dI -_- Ib Chỉ các tên miền không phân biệt chữ hoa chữ thường. Đường dẫn phân biệt chữ hoa chữ thường, làm cho các kiểu lạc đà và pascal trở thành một lựa chọn khả thi. Mặc dù, bằng cách sử dụng chúng, bạn đang tạo ra những từ mà chúng đại diện không phân biệt chữ hoa chữ thường. Đó sẽ là vấn đề lớn nhất với lựa chọn đó, theo ý kiến ​​của tôi.
Atli

0

Không gian được cho phép trong URL, vì vậy bạn chỉ có thể sử dụng "/ about us" trong một liên kết (mặc dù điều đó sẽ được mã hóa thành "/ khoảng% 20us". Nhưng hãy trung thực, đây sẽ luôn là sở thích cá nhân, vì vậy không có câu trả lời thực sự được đưa ra ở đây.

Tôi sẽ đi với quy ước rằng dấu gạch ngang có thể xuất hiện trong các từ, vì vậy khoảng trắng nên được chuyển đổi thành dấu gạch dưới.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.