URL: Dash vs. Underscore [chiuso]


187

Dovrebbe essere / about_us o / about-us ?

Dal punto di vista dell'usabilità, penso personalmente che / about-us sia molto meglio per l'utente finale, ma Google e la maggior parte degli altri siti Web (e framework javascript) usano un modello di sottolineatura. È solo questione di stile? Ci sono problemi di compatibilità con i trattini?


6
Perché non /index____1125.aspx (sono quattro caratteri di sottolineatura, molto importanti!)
Christian Davén,

77
Oh andiamo. Sono interessato a questa domanda e alle risposte. La domanda ha 52 aggiornamenti e tu l'hai chiusa? Riguarda la programmazione. Programmazione Web. Decidere come nominare le directory in un sito Web in fase di sviluppo.
Kaydell,


3
Un buon video spiega dall'ingegnere Google: youtube.com/watch?v=AQcSFsQyct8
JohnB

Sono venuto qui per scoprirlo whether_domain_URLs_can_have_underscores.com.
neverMind9

Risposte:


30

Questa è solo una supposizione, ma sembra che abbiano scelto quello che la gente molto probabilmente non userebbe in un nome. In questo modo puoi avere un nome che include una parola sillabata e comunque utilizzare la barra inferiore come delimitatore di parole, ad es. UseLink a due vie I link possono essere convertiti in use_two-way_link.

Nel tuo esempio, / about-us sarebbe una directory chiamata la parola sillabata "about-us" (se esistesse una parola del genere, e / about_us sarebbe una directory chiamata la frase di due parole "about us" convertita in una singola stringa di caratteri non bianchi.


11
Indovina ragionevole, ma a quanto pare, totalmente falso. -1.
Mark Amery,

2
Hai un riferimento per quel @MarkAmery? La domanda ruotava attorno al motivo per cui Google avrebbe usato i trattini bassi. Se stai suggerendo di no, non è questo il problema di questa risposta, ma il problema della domanda.
billjamesdev,

1
In primo luogo, come suppongono, abbastanza ragionevole. Aggiungerei come parte dell'ipotesi che i programmatori utilizzino il trattino come sottrazione in modo da usare il trattino basso; forse gli URL, creati dai programmatori, seguono quella convenzione. Una spiegazione effettiva sarebbe meglio però. Mark si intensifica con un -1 senza alcun backup; vorrei poter dare al commento un -1.
Gerard ONeill

2
@GerardONeill citazione: questo video di Google Webmasters: youtube.com/watch?v=AQcSFsQyct8 . Per quel video (è vero che ora ha 6 anni e forse non rappresenta lo status quo contemporaneo), foo_barviene trattato come una sola parola mentre foo-barviene trattato come due parole - esattamente il contrario di ciò che questa risposta ipotizza è il caso.
Mark Amery,

2
@MarkAmery Ho sentito quello che stai dicendo, e in realtà stai solo trasmettendo le parole degli altri qualche tempo fa, ma non ti impedisce di sentire che "foo_bar" è trattato come una parola, quando letteralmente può " essere uno (poiché non ci sono parole con caratteri di sottolineatura). Considerando che "autostima" è una parola composta perfettamente valida in inglese e dovrebbe essere ricercabile come singola entità?
billjamesdev,

193

Da Google Webmaster Central

Prendi in considerazione l'utilizzo della punteggiatura nei tuoi URL. L'URL http://www.example.com/green-dress.html ci è molto più utile di http://www.example.com/greendress.html . Ti consigliamo di utilizzare trattini (-) invece di trattini bassi (_) nei tuoi URL.


4
Google non ha spiegato perché? Presumibilmente ha qualcosa a che fare con il loro modo di analizzare gli indirizzi? O probabilmente è solo un problema per l'utente finale.
xji,

9
vale anche la pena notare che underscored_text è selezionabile nel suo complesso facendo doppio clic su alcuni dispositivi e premendo a lungo sui cellulari, mentre con il testo separato da trattini le stesse azioni selezionano ogni parola separata. Pensa se un utente provasse mai a copiare qualcosa dall'URL
Titus

1
Penso che potresti aver fatto un giro di causalità lì @Titus, poiché è completamente contrario all'inglese reale, che ha trattini in parole, ma non ha sottolineature.
billjamesdev,

suppongo che non ci sia differenza, almeno per Google, che ci sia '_', '-' o niente. Google è andato con quello che suppongo sia il più leggibile per gli umani, un trattino
Arthur Tarasov,

1
Vedi youtu.be/AQcSFsQyct8 per la spiegazione di Google. (Hanno usato "_" per la corrispondenza esatta della ricerca.)
Matt Ke

62

Ecco alcuni punti a favore dei trattini:

  • I trattini sono raccomandati da Google su caratteri di sottolineatura ( fonte ).
  • I trattini sono più familiari all'utente finale.
  • I trattini sono più facili da scrivere su una tastiera standard (non è necessario Shift).
  • I trattini non si nascondono dietro le sottolineature.
  • I trattini sono più nativi nel contesto degli URL poiché sono consentiti nei nomi di dominio.

53

Non è solo trattino vs. trattino basso:

  • testo con spazi
  • textwithoutspaces
  • codificato% 20spaces% 20in% 20URL
  • underscore_means_space
  • cruscotto-means-space
  • plus + mezzi + spazio
  • camelCase
  • PascalCase
  • "testo tra virgolette con spazi" (e virgoletta singola vs. virgoletta doppia)
  • slash / mezzi / spazio
  • dot.means.space

43
Benvenuti nel Wild Wild Web!
Anche Mien,

Sono abbastanza affezionato a barra / mezzi / spazio se usato elegantemente. Uno dei siti che gestisco utilizza / about / us insieme a varie altre / about / pagine. Non ricordo di aver visto altri esempi tradizionali però.
Sekalf Nroc,

36

Google non ha trattato il carattere di sottolineatura come un separatore di parole in passato, che pensavo fosse piuttosto folle, ma a quanto pare lo fa ora. A causa di questa storia, i trattini sono preferiti. Anche se i caratteri di sottolineatura sono ora ammessi dal punto di vista SEO, penso comunque che i trattini siano i migliori.

Un vantaggio è che il tuo navigatore web semi-computer analfabeta ha molte più probabilità di essere in grado di digitare un trattino sulla tastiera, potrebbero non sapere nemmeno quale sia il carattere di sottolineatura.


9
È improbabile che il tuo navigatore web semi-computer analfabeta sia in grado di distinguere tra barra degli indirizzi e ricerca. Il tuo utente medio ha anche MOLTO più probabilità di fare clic rispetto al tipo. Dico solo
Armstrongest il

2
Google NON considera ancora il trattino basso come un separatore di parole: youtube.com/watch?v=AQcSFsQyct8
Sembiance

16

Usavo sempre i trattini bassi, ora li uso solo per parti di un sito Web che non voglio che nessuno colleghi direttamente, file js, css, ... ecc.

Da un punto di vista SEO, i trattini sembrano essere il modo preferito di gestirlo, per una spiegazione dettagliata, dalla bocca dei cavalli http://www.mattcutts.com/blog/dashes-vs-underscores/ .

L'altro problema che sembra verificarsi, più con il grande pubblico che con i programmatori, è che quando viene sottolineato un collegamento ipertestuale con caratteri di sottolineatura, non è possibile vedere il carattere di sottolineatura. Gli utenti esperti lo risolveranno, ma probabilmente Joe Public non lo farà.

Usa comunque i trattini bassi nel codice preferendo i trattini - i programmatori li capiscono, la maggior parte delle altre persone no.



8

Il guru SEO Jim Westergren lo ha testato nel 2005 da una rigorosa prospettiva SEO e ha concluso che + (più) era in realtà il miglior delimitatore di parole. Tuttavia, questo non sembra ragionevole e potrebbe essere dovuto a un bug negli algoritmi dei motori di ricerca. Raccomanda - (trattino) sia per la leggibilità che per il SEO.


7

Mi sento più a mio agio con i trattini bassi. Prima di tutto, corrispondono alla mia normale esperienza di programmazione di variable_names_are_not-subtraction, in secondo luogo, e credo che questo sia già stato menzionato, le parole possono avere trattini, ma non hanno mai sottolineato. Per fare un esempio davvero stupido, "Paese-nazione-stato" è diverso da "Paese-nazione-stato". Il primo traduce qualcosa come "la terra degli stati-nazione" (pensa "questo qui è il paese delle armi! È meglio spostarsi, eh?"), Mentre il secondo sembra un elenco di sinonimi. http://example.com/nation-state-country/non sembra significare lo stesso http://example.com/nation-state_country/, e tuttavia, se i trattini sono delimitatori / "spazi" oltre ai caratteri in parole, può farlo. Il secondo sembra più chiaro riguardo allo scopo reale, mentre il primo assomiglia più a quell'elenco, se non altro.


1
Solo una nota a margine, linguaggi come Lisp o Scheme usano abitualmente nomi di variabili / funzioni separati da trattini, perché meno è solo un identificatore di funzioni come qualsiasi altro (e in effetti, consentono un set di caratteri più grande negli identificatori).
JS,

5

I trattini bassi sostituiscono gli spazi in cui gli spazi bianchi non sono ammessi. I trattini (trattini) possono far parte di una parola, quindi unire le parole con trattini che già includono trattini è brutto / confuso.

Male:

/low-budget-movies

Buona:

/low-budget_movies

37
Non sono d'accordo con questo. In questi giorni è consuetudine utilizzare solo trattini. I non programmatori trovano i caratteri di sottolineatura visivamente poco attraenti. Niente di sbagliato nel primo esempio. In realtà è più facile da leggere.
allesklar,

9
Semanticamente hai ragione, ma la distinzione potrebbe essere più confusa che utile per l'uso negli URL. Le persone hanno maggiori probabilità di ricordare "abcde" rispetto a "a-b_c-d_e".
Wadih M.,

Qualcuno dice a Jeff che deve riscrivere il sistema di tag ...

1
Veramente? @Wadih, se le persone scrivono correttamente le parole, non c'è nulla di difficile da ricordare sui film a basso budget. Non devi ricordarlo più delle parole "film a basso budget". Naturalmente quando usi solo a, b, c, d, e, allora non ha senso. "Budget basso" non equivale a "budget basso", punto.
fletom,

cattivo: / film a basso budget, cattivo: / film a basso budget, buono: / film a basso budget% 20 film
Mikhail Antonov

3

Penso che il trattino sia migliore dal punto di vista dell'utente e non interferirà con il SEO.

Non so dove o perché sia ​​iniziata la convenzione di sottolineatura.

Un dibattito un po 'più informato


3

Preferisco trattini sulla base del fatto che un carattere di sottolineatura potrebbe essere oscurato in una certa misura da un collegamento sottolineato. Gli URL testuali sono principalmente per essere riconosciuti a colpo d'occhio piuttosto che essere grammaticalmente corretti, quindi l'argomento per preservare i trattini da usare in parole sillabate è limitato.

La precisione di un URL testuale è importante quando si legge a qualcuno, nel qual caso non si desidera confondere un carattere di sottolineatura per uno spazio (o viceversa).

Trovo anche i trattini più esteticamente gradevoli, se questo conta qualcosa.


2

Per la vista dell'utente finale preferisco "chi siamo" o "chi siamo" piuttosto che "chi siamo"


1

Personalmente, eviterei di usare about-us o about_us, e userei solo about.


3
/ about / us / no / serious / this / is / it :)
Brad Wilson,

12
e questa è la tua soluzione? Bene, che dire di "about_our_customers" o di una qualsiasi delle innumerevoli serie di "abouts" che potrei escogitare potrebbero essere rilevanti. Ignorare un problema! = Soluzione.
billjamesdev,

1

Alcuni server di hosting Web e DNS meno recenti hanno effettivamente problemi nell'analisi dei caratteri di sottolineatura per gli URL, quindi ciò può avere un ruolo in convenzioni come queste.


2
Sì, ma è solo nei nomi host.
Anirvan

0

Personalmente eviterei tutti i trattini e le sottolineature e opterei per camelCase o PascalCase se è nel codice.

L'articolo di Wikipedia su camelCase spiega un po 'del ragionamento alla base delle sue origini. Sono pari a

  1. Programmatori pigri a cui non piaceva cercare il tasto _
  2. Potenziale confusione sulla leggibilità
  3. La tastiera "Alto" su xerox PARC che non aveva un tasto di sottolineatura.

Se l'utente deve vedere la stringa, non farei nessuna delle precedenti e userei "Chi siamo". o "AboutUs" se dovessi farlo come camelCase si è diffuso nell'uso comune in alcune aree come i nomi dei prodotti. cioè ThinkPad, TiVo


Come farebbe il motore di ricerca a sapere dove inizia o finisce una parola?
Joe Phillips,

Perché il motore di ricerca non dovrebbe trattare PascalCase nello stesso modo di qualsiasi altro delimitatore, che si tratti di un _, - o: del resto?

1
Un buon consiglio ... è questa domanda sul codice. gli URL sono [di solito] senza distinzione tra maiuscole e minuscole e sono in genere visualizzati in minuscolo.
Armstrongest,

1
@dI -_- Ib Solo i nomi di dominio non fanno distinzione tra maiuscole e minuscole. Il percorso è sensibile al maiuscolo / minuscolo, rendendo gli stili cammello e pascal un'opzione praticabile. Sebbene, usandoli, stai effettivamente rendendo le parole che non fanno distinzione tra maiuscole e minuscole. Questo sarebbe il problema più grande con questa opzione, secondo me.
Atli,

0

Gli spazi sono consentiti negli URL, quindi puoi semplicemente usare "/ chi siamo" in un link (anche se sarà codificato in "/ circa% 20us". Ma onestamente, questa sarà sempre una preferenza personale, quindi non c'è una vera risposta da dare qui.

Andrei con la convenzione che i trattini possono apparire in parole, quindi gli spazi dovrebbero essere convertiti in caratteri di sottolineatura.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.