2010-05-27 5 views
19

Per creare URL graziosi dai titoli degli articoli, utilizzo una funzione semplice. Tuttavia ultimamente sono preoccupato per la lunghezza ideale di queste "lumache". Si dice che troppi trattini sono cattivi.Qual è la lunghezza ideale di una slug URL

Tuttavia, alcuni titoli di articoli possono essere lunghi e un URL troppo lungo potrebbe non essere apprezzato da Google. Ovviamente questo sconfigge l'idea di avere slug URL.

Così qualcuno ha idea di quanto tempo dovrebbe essere una slug URL. Dovrebbe esserci un limite per i caratteri "trattino" usati?

+2

Il mio suggerimento è di verificare come è fatto in wordpress, usano un numero limitato di parole da un titolo – volody

+0

FWIW, gli slug di domande dello stackoverflow di solito superano 80 caratteri. –

risposta

23

Se vuoi davvero essere economico con lo spazio URL, rimuoverò gli articoli (il, a, un ecc.) In modo più aggressivo rispetto alle preposizioni e ai verbi poiché gli articoli rimossi non cambiano la semantica della frase tanto.

ad es.

What is the ideal length of an URL slug 

rimuovere articoli

What is ideal length of URL slug 

Rimuovi "Che cosa è"

ideal length of URL slug 

normalizzazione

ideal-length-of-url-slug 
+0

Si potrebbe rimuovere 'of' e sarebbe comunque comprensibile. –

+0

@ chacha102, sì, ma IMO danneggia la leggibilità molto più che gli articoli rimossi –

+2

Cosa fai se tutte queste trasformazioni producono ancora un URL lungo indefinitamente? La mia sensazione è che non c'è davvero un modo ragionevole per automatizzare questo. – dreeves

2

La mia ipotesi è, se si buttano fuori tutte le parole non importanti dal proprio URL, non ne resterà così tanto ... per questa domanda è ideale, lunghezza, url e slug.

Per quanto ho capito, Google è molto centrato sulle parole chiave e parole come "cosa", "è", "il", "di", "un" non sono parole chiave veramente buone.

Ad ogni modo, se si conservano solo le parole più caratteristiche e importanti, lo slug non può diventare troppo lungo nel senso che un URL più corto conterrebbe informazioni meno importanti.

Naturalmente questa è solo una speculazione.

greetz
back2dos

2

io non ci credo che un limite al numero di caratteri di trattino utilizzati farà la differenza. Dovresti mantenere l'intera stringa limitata a circa 80-100 caratteri al massimo.

Come back2dos ha detto che è possibile rimuovere alcune parole comuni ma, idealmente, lo slug dovrebbe avere senso come titolo di pagina. Con questa pagina, ad esempio, rimuovere tutte le parole comuni ti dà ideal-length-url-slug che funziona. Ma direi che ideal-length-of-url-slug è meglio.

3

mi consiglia di accorciare la lumaca, al punto che l'intero URL è a la maggior parte 72 caratteri attori lunghi. Questa è una convenzione vecchia per email per consentire alcuni livelli di quotazione prima di raggiungere il limite standard di 80 caratteri. So che la tecnologia moderna significa che non dobbiamo preoccuparci dei limiti di lunghezza della linea, ma è comunque una convenzione ragionevole per vari motivi. Vedi questa discussione correlata: Is there a valid reason for enforcing a maximum width of 80 characters in a code file, this day and age?. C'è anche il problema pratico che il tuo URL potrebbe non rimanere intatto e cliccabile in alcuni client di posta elettronica se lo avvolgono.

Per quanto riguarda il modo in cui mantenere gli URL a una lunghezza ragionevole, penso che gli URL dovrebbero essere scelti manualmente quando possibile. Hai scritto un intero articolo, potresti anche creare un URL conciso per questo. Di seguito è riportato il file .htaccess per il mio blog nel caso in cui lo trovi utile. Ogni articolo ha una lunga URL come

myblog.com/2010/05/30/ideal-length-of-url-slug 

(Wordpress suggerisce un default, ma io in genere condensare in giù un po 'con le mani.) E poi io uso una regola di riscrittura come qui di seguito per fare una breve-as-possible versione che di solito posso ricordare e menzionare facilmente (o per Twitter, ovviamente). Qualcosa di simile

myblog.com/slugs 

Ecco il contenuto del mio file .htaccess, in/var/www/html/myblog:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteRule ^admin/?$  wp-admin [L] 

# Aliases for blog posts: (NB: NEVER CHANGE/DELETE THESE; ONLY ADD NEW ONES!) 
RewriteRule ^flu/?$   2009/03/21/the-future-is-yesterday [R,L] 
RewriteRule ^oracle/?$  2009/03/25/the-oracle-of-brackets [R,L] 
RewriteRule ^perfbrack/?$ 2009/03/29/the-perfect-bracket [R,L] 
RewriteRule ^nytimes/?$  2009/04/01/anon-sources-at-the-new-york-times [R,L] 
RewriteRule ^mktbottom/?$ 2009/04/07/finding-the-market-bottom [R,L] 
RewriteRule ^landlords/?$ 2009/05/24/landlords [R,L] 
RewriteRule ^buyrent/?$  2009/06/01/buyrent [R,L] 
RewriteRule ^sunk/?$  2009/06/23/sunk [R,L] 
RewriteRule ^horse/?$  2009/07/01/horse [R,L] 
RewriteRule ^wellmanblog/?$ 2009/07/31/wellmanblog [R,L] 
RewriteRule ^centmail/?$ 2009/08/15/centmail [R,L] 
RewriteRule ^longtail/?$ 2009/08/31/anatomy-of-the-long-tail [R,L] 
RewriteRule ^scarequotes/?$ 2009/09/30/scarequotes [R,L] 
RewriteRule ^scare/?$  2009/09/30/scarequotes [R,L] 
RewriteRule ^dst/?$   2009/10/31/dst [R,L] 
RewriteRule ^searchpred/?$ 2009/11/30/what-can-search-predict [R,L] 
RewriteRule ^scrooge/?$  2009/12/31/scrooge [R,L] 
RewriteRule ^pmhype/?$  2010/01/14/prediction-without-markets [R,L] 
RewriteRule ^predmarkets/?$ 2010/01/14/prediction-without-markets [R,L] 
RewriteRule ^calibration/?$ 2010/02/28/calibration [R,L] 
RewriteRule ^calib/?$  2010/02/28/calibration [R,L] 
RewriteRule ^calresults/?$ 2010/03/31/calibration-results [R,L] 
RewriteRule ^misleadingmeans/?$ 2010/04/30/misleading-means [R,L] 

</IfModule> 

Con il senno di poi, però, vorrei fosso le date del URL e fare qualcosa come quello che StackOverflow fa nel tentativo di avere il meglio di entrambi i mondi con URL concisi e descrittivi. StackOverflow consente di troncare o addirittura modificare URL per domande quanto si desidera dopo la parte ID domanda. Quindi, tutti i seguenti sono link a questa domanda:

l'ultimo è ancora troppo lungo per i miei gusti, però, in modo da l'URL canonico dovrebbe essere

myblog.com/foo 

e quindi consentire una barra seguita da qualsiasi altra cosa, come

myblog.com/foo/fooing-and-barring-in-the-modern-world 

Ecco una regola di riscrittura per questo:

RewriteRule ^foo(/.*)?$ foo [R,L] 

regole addizionali potrebbero essere aggiunti se si voleva, per esempio, myblog.com/ bar per essere un alias per myblog.com/foo:

RewriteRule ^bar(/.*)?$ foo [R,L] 

il rovescio della medaglia è che se si desidera che le lumache di articolo per essere nella n globale amespace del tuo sito web - che penso sia preferibile a qualcosa come myblog.com/articles/foo - allora devi aggiungere una regola di riscrittura per ogni articolo.