Cosa rende un “URL amico”?

Di recente ho letto una grande quantità di discussioni (sia su questo sito che altrove) su “URL amichevoli”, ma non sono sicuro di cosa rende esattamente un URL “amichevole” e perché ci interessa davvero (fino a un certo punto) . Illustrazione:

Quello che segue è un esempio di URL che verrebbe ritenuto “amichevole” dalla maggior parte degli attuali sviluppatori web:

www.myblog.com/posts/123/this-is-the-name-of-my-blog-post

Considerando che questo sarebbe considerato “ostile” (cioè cattivo, Neanderthal, ignorante, stupido):

www.myblog.com/posts.aspx?id=123

Le mie domande:

  • L’URL “amichevole” non contiene informazioni identificative duplicate sul post del blog in questione? In altre parole, una volta che hai l’id (123) del post, perché hai bisogno del titolo? Non sarebbe una violazione del mantra “non ripeterti”?
  • Che differenza fa la forma di un URL per quanto riguarda gli utenti? Gli utenti scrivono mai effettivamente URL completi a mano (oltre al TLD, ovviamente)? Gli utenti guardano sempre all’URL di una pagina per determinare di cosa tratta la pagina? Perché abbiamo bisogno del titolo del post del blog nell’URL? Non è questo il tag e il contenuto della pagina </code> ? </li> <li> Spesso sento SEO come una ragione per cui è preferibile la forma di URL “amichevole”. Perché uno spider dei motori di <a href="https://www.yocker.com/t/ricerca" title="Topics of ricerca" target="_blank">ricerca</a> si preoccupa dell’URL? Non sono solo pezzi di software automatizzati che eseguono la scansione delle pagine (e i collegamenti ad altre pagine che sono contenute al loro interno)? Se i motori di ricerca fossero scritti come altri componenti software (ad es. Componenti di accesso al database), l’URL sarebbe semplicemente un identificatore privo di significato (simile a un rowguid in un database relazionale). Se stavo progettando uno schema di database con qualcosa di simile all’URL “amichevole” sopra come chiave primaria di un tavolo, vorrei (abbastanza correttamente) essere masticato. </li> </ul> <p> Ho detto prima “fino a un certo punto” perché ovviamente gli URL possono sfuggire di mano. Ecco un vero e proprio URL da Amazon.com che non credo che nessuno sano di mente considererebbe “amichevole”: </p> <blockquote> <p> http://www.amazon.com/Bissell-Kitchen-Housewares/b/ref=amb_link_5001972_17?ie=UTF8&node=694500&pf_rd_m=ATVPDKIKX0DER&pf_rd_s=gp-center-5&pf_rd_r=1ZXNJFE0CCFFDH4B9HGH&pf_rd_t=101&pf_rd_p=405478901&pf_rd_i=510080 </p> </blockquote> </p> <div class="list-group list-group-flush"> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> Tim Berners-Lee (l’architetto del WWW) ha scritto un grande articolo su questo argomento circa 10 anni fa. </p> <ul> <li> <p> Il tuo esempio è un URL non valido, ma non solo perché ha sia un ID che uno “slug” (la forma abbreviata e trattata del titolo della pagina). <strong>Mettere il titolo della pagina nel tuo URL è problematico a lungo termine.</strong> Il contenuto cambierà nel tempo. Se cambi mai il titolo di quel post del blog, sarai costretto a scegliere tra mantenere il vecchio URL, o cambiare l’URL per abbinare il nuovo titolo. La modifica dell’URL interromperà qualsiasi link precedente a quella pagina; e non cambiarlo significa che avrai un URL che non corrisponde alla pagina. Né va bene per l’utente. Meglio andare semplicemente su <em><a href="http://www.myblog.com/posts/123" rel="nofollow ugc">http://www.myblog.com/posts/123</a></em> . </p> </li> <li> <p> Spesso gli utenti devono digitare un URL, ma ancora più importante, a volte modificano anche gli URL esistenti per trovare altre pagine nel tuo sito. Pertanto, <strong>è spesso utile disporre di URL rilevabili</strong> . Ad esempio, se voglio vedere il post # 124, potrei facilmente guardare l’URL corrente e capire che l’URL della pagina che voglio vedere è <a href="http://www.myblog.com/posts/124" rel="nofollow ugc">http://www.myblog.com/posts/124</a>. Questo è un livello di facilità d’uso che può essere di grande aiuto per le persone che cercano di trovare ciò che stanno cercando. Includere altre informazioni (come l’object del post) può renderlo imansible, quindi riduce le mie opzioni di esplorazione. </p> </li> <li> <p> <strong>Dimentica SEO</strong> . La tecnologia dei motori di ricerca ha ridotto l’efficacia degli attacchi SEO per qualche tempo. Il buon contenuto è ancora il re e, a lungo termine, non sarai in grado di giocare al sistema. </p> </li> </ul> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> Per me, <em>URL amichevole</em> significa che c’è stato qualche tentativo di includere informazioni semantiche nell’URL per renderlo più adatto al consumo umano. È un interessante esempio di un’interfaccia computer-computer che viene potenziata e costruita per creare un’interfaccia uomo-macchina migliore. </p> <p> Quindi, nei tuoi due esempi: </p> <ul> <li> <code>www.myblog.com/posts/123/this-is-the-name-of-my-blog-post</code> è amichevole, perché hai incluso il titolo nell’URL: ti <em>dice</em> qualcosa sulla pagina. </li> <li> <code>www.myblog.com/posts.aspx?id=123</code> è amichevole perché è criptico e oscuro: ha perfettamente senso per un database, ma nessuno per voi o me. </li> </ul> <p> Gli URL amichevoli sono fantastici in alcune situazioni e inutili in altri. Fondamentalmente, se un utente sarà mai esposto a questo, renderei la creazione di URL amichevole una priorità, e non è solo una questione di estetica. Rende <em>molto</em> più facile tornare agli URL dalla barra degli indirizzi se puoi vedere e capire rapidamente quali sono le varie opzioni, inoltre rende più ovvio dove stai andando se stai seguendo un link da un web pagina. </p> <p> Combina tutto ciò con l’eccezionale barra di Firefox 3+ (sicuramente anche con altri browser) e il completamento automatico nella barra degli indirizzi diventa incredibilmente potente quando hai a che fare con URL amichevoli. </p> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> Sembra che ci siano molte informazioni contrastanti su esattamente quale effetto ha il querystring sui crawler, ma il consenso è che avere più di un paio di parametri danneggia il tuo SEO perché una lunga variabile di querystring indica un contenuto dinamico, e quindi la maggior parte dei motori di ricerca sarà molto indicizzazione meno aggressiva della tua pagina. </p> <p> L’aggiunta di una lumaca all’URL, come ad esempio <em>questo-è-il-nome-del-mio-blog-post</em> dal tuo esempio, rende anche i tuoi link più diversi tra loro rispetto a un semplice numero di identificazione, e aggiunge parole più significative nel url. Queste sono tutte cose che i motori di ricerca cercano. </p> <p> Personalmente trovo che questi URL siano molto più semplici da analizzare perché ci sono meno caratteri di punteggiatura usati, e le coppie nome-valore nella querystring possono essere molto prolisse e difficili da ricordare. </p> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> È un buon punto su come mettere le informazioni non necessarie nell’URL. </p> <pre> <code>http://stackoverflow.com/questions/522466/what-makes-a-friendly-url</code> </pre> <p> Una volta che l’unico ID 522466 è noto, il resto è inutile, quindi serve solo a rendere l’URL “bello” e fornire all’utente un’idea su cosa sia la pagina a cui si collega. Ma questo crea un altro problema. La maggior parte dei siti non “verifica” quella parte dell’URL, quindi potresti inserire – </p> <pre> <code>http://stackoverflow.com/questions/522466/omg-goatse-bought-by-bill-gates</code> </pre> <p> Tuttavia rimarrà comunque collegato a questo post. Puoi vedere come questo può causare <em>più</em> problemi di quanti ne valga, perché potrebbero essere usati maliziosamente. </p> <p> Sento che Digg ha preso l’approccio giusto per questo. Non usano ID nei loro URL. Dietro le quinte ottengono l’ID dal loro database puramente dal titolo dato. </p> <pre> <code>http://digg.com/linux_unix/I_Like_Linux_so_my_aunt_sends_me_this_for_Christmas</code> </pre> <p> Questo, per me, è l’URL <strong>perfetto</strong> . Mi dà tutte le informazioni di cui ho bisogno per sentirmi sicuro cliccando sul link. </p> <p> In effetti, i titoli giocano un ruolo così importante che, nel mondo del digg, le persone “ciechi” si basano semplicemente sul fatto che a loro piace il titolo o sono interessati a questo. Se il tuo URL sembra interessante, potresti ottenere molto traffico sul tuo sito. Allo stesso tempo lo renderà più user friendly, più carino, e i motori di ricerca ti ringrazieranno. Per quanto posso vedere, gli URL amiche sono vincenti per tutti. </p> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> I miei pensieri sui tuoi tre proiettili: </p> <ul> <li> Direi che non è un URL ottimale. Non ho idea del perché uno mostrerebbe sia l’identificatore del post che il titolo. Non includo mai post ID nei miei URL, solo titoli e (a volte) date </li> <li> Per gli utenti, più breve è meglio. </li> <li> I motori di ricerca guardano l’url. Che abbia senso o no, lo fanno. Avere parole chiave nell’URL offrirà qualche vantaggio SEO. </li> </ul> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> Sono d’accordo con te, ma non lo dico a nessuno. </p> <p> È solo una mia modesta opinione, ma mi sembra stupido </p> <pre> <code>http://stackoverflow.com/questions/522466/</code> </pre> <p> e </p> <pre> <code>http://stackoverflow.com/questions/522466/what-makes-a-friendly-url</code> </pre> <p> sono la stessa pagina Voglio dire, posso vedere che il titolo della domanda con il trattino dà all’URL un certo contesto, ma a meno che tu non sappia che l’URL della parte è più lungo inutilmente. </p> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> Prima di tutto, sono amici dei crawler dei motori di ricerca. Google e altri attribuiscono un valore elevato alle parole nell’URL che corrispondono alle parole nella pagina, quindi se il titolo del post del tuo blog è nell’URL, questo aiuterà il tuo motore di ricerca a spremere. </p> <p> In secondo luogo, sono amichevoli con le persone che non sanno cosa stanno visitando. Quali dei link che hai usato per il confronto hai maggiori probabilità di fare clic su se trovi il tuo twitter / email / IM / etc? </p> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> Ahh … il trucco è a chi è rivolto l’URL. I motori di ricerca percepiscono il primo URL come più amichevole perché apparentemente ha informazioni sul contenuto nell’URL e non sembra che la stessa pagina venga ripetuta con un parametro diverso. </p> <p> Ad esempio, confrontando </p> <pre> <code>www.aTvShowSite.com/show.aspx?id=123 www.aTvShowSite.com/show.aspx?id=124</code> </pre> <p> un robot dirà bene, non so cosa siano … ma sembrano la stessa pagina per me. </p> <p> Mentre confrontando </p> <pre> <code>www.aTvShowSite.com/shows/AmericanIdol www.aTvShowSite.com/shows/Lost</code> </pre> <p> li fa apparire come pagine diverse (anche se potrebbe essere la stessa pagina di aspx che le sta servendo) e i robot tendono a classificarle più in alto. </p> <p> EDIT: Inoltre, va notato che molti robot guardano il testo dell’URL per determinare l’utilità, quindi una ricerca di “Lost” probabilmente colpirà il secondo tipo di url più del primo, anche se il contenuto della pagina è identico. </p> </div> </li><!-- #comment-## --> <div class="list-group-item list-group-item-action flex-column align-items-start"> <p> Quanto a: </p> <blockquote> <p> <em>Non sarebbe una violazione del mantra “non ripeterti”?</em> </p> </blockquote> <p> Questo si riferisce al <strong>CODICE</strong> dell’applicazione <strong>!!</strong> , non l’applicazione stessa !! </p> <p> Ha perfettamente senso avere </p> <ul> <li> Titolo nel tag <title>
  • Nell’URL
  • E come prima riga nel contenuto.

E praticamente ovunque ne hanno bisogno i contenuti.

Che cosa si riferisce a questo “mantra” se il tuo codice dovrebbe apparire come questo:

  <%=obj.getTitle()%> Reading:

<%=obj.getTitle()%>

Link to this:obj.getTitle() Etc. etc.

Invece di avere diversi metodi con copia / codice incollato tutto intorno alla tua app.

L’URL “ostile” che mostri espone un dettaglio di implementazione: cosa succede se, in futuro, decidi di abbandonare ASP e di usare qualcos’altro? Dovresti modificare tutti gli URL (baad!) O utilizzare uno schema di ridenominazione.

Avere il titolo ripetuto nell’URL forse non è necessario, ma risulta utile quando si esegue un sacco di incollare i collegamenti, per ricontrollare che si stia collegando al posto giusto.

Il nostro sito Web utilizza i cosiddetti URL “ostili”, ma creiamo URL speciali “amichevoli” per luoghi specifici che i membri del pubblico utilizzano per funzioni specifiche, in particolare su materiale stampato.

Ad esempio, i nostri ticket di parcheggio hanno http://www.dnv.org/parking su di essi.

CP

Bene, per cominciare, prova a tenere separati i caratteri (az, AZ, 0-9) e ovviamente: /._- fuori dall’URL. Non tutti hanno tutti quelli sulle loro tastiere (per esempio, io non ho e sulla mia tastiera, nemmeno io ho ~)

Quando, ad esempio, fare un po ‘di analisi dell’URL o qualcosa di simile, aiuta anche se la syntax dell’URL è “pulita”

Il secondo URL sembra più user friendly, mentre il primo sembra search-engine friendly.

I motori di ricerca hanno una maggiore rilevanza per le parole che appaiono nell’URL. Il nome di dominio diventa il più alto (perché non può cambiare), il resto dell’URL ottiene un’alta priorità perché la lunghezza è limitata e quindi viene analizzato il corpo del documento.

La mia risposta è piuttosto soggettiva, perché dipende dal fatto che tu sia un essere umano (facile da digitare manualmente o leggere ad un amico) o se sei un motore di ricerca (aumentando la tua posizione).

In questa situazione, in realtà non spezza il principale di DRY, perché per quanto riguarda un motore di ricerca, “522466” non è la stessa cosa di “what-makes-a-friendly-url”

Generalmente per siti come StackOverflow, il token è l’unica informazione che conta; di solito puoi mettere quello che vuoi dopo quel punto e ti porterà nello stesso posto (ignorato dal server web).

La descrizione della pagina è solo lì per aiutare i motori di ricerca a identificare di cosa tratta la pagina (che è bello)

Un altro punto: le persone a volte modificano manualmente gli URL, al fine di risalire l’albero delle directory. Quindi potrebbero provare a caricare una pagina come http://site.com/a/b , ottenere un errore “Non trovato” e quindi provare http://site.com/a o http://site.com . Naturalmente, se i tuoi URL non sono basati su un albero di directory effettivo, questo potrebbe non funzionare. Ma puoi ancora provare a supportarlo.

Alcuni browser lo incoraggiano, come IE con i suoi messaggi di errore e Safari con un menu che appare quando fai clic con il tasto destro del mouse sul titolo della pagina.

Matt e @bigmattyh: SEO non è “hack”: è capire cosa significa “buon contenuto” sul web. I titoli delle pagine fanno parte del contenuto. Un buon testo di ancoraggio nei link è “buon contenuto” (piuttosto che usare parole come “clicca qui” come testo del link). Inserire i link nel contesto piuttosto che come una lista è “buon contenuto”.

I titoli di pagina sono frutti a basso impatto, ma rimangono uno dei modi più semplici per migliorare la SERP. Sì, i link in entrata (e la loro qualità) sono fondamentali, ma i titoli possono fare miracoli, in particolare a breve termine. Non è necessario utilizzare il titolo della pagina (che può cambiare di volta in volta) come titolo del post: riepilogare manualmente il contenuto.

Non indovinare su questa roba: (a) leggere fonti come SEOmoz.org e (b) analizzare il tuo sito rigorosamente.

Anche il termine url leggibile viene usato molto. L’utilizzo di URL amichevoli / leggibili è una tecnica di SEO nata e questo è tutto. Altrimenti più breve è il percorso, meglio è. Fare le regole di riscrittura di solito rallenta il processo di ottenere velocemente la pagina per il client, quindi prendila in considerazione.

A mio parere, ID e UUID non dovrebbero mai far parte dell’URL, mai.

1) Alcuni database NoSQL non usano affatto ID, usano UUID. Gli UUID sono lunghi, le parti sono separate usando trattini. Google tratterà un trattino come un separatore di parole: ciò significa che il tuo url avrà altre 5 parole chiave inutili.

2) Un essere umano non comprende ID o UUID. Una persona capisce le parole e gli URL parlanti.

3) Se il titolo cambia, puoi semplicemente effettuare un reindirizzamento come fa WordPress, come indicato da @TRiG.

4) Infine, ricorda di utilizzare una data, in modo da poter discernere tra due articoli con lo stesso titolo e pubblicati in un anno, mese o giorno diversi. Ad esempio puoi avere due recensioni (prima edizione e seconda edizione) dello stesso libro.

 http://example.com/2013/02/11/data-mining-concepts-and-techniques 

e

 http://example.com/2011/05/23/data-mining-concepts-and-techniques 

5) Una data aiuterà anche qualsiasi utente a capire se il contenuto è recente o no.

6) Una data aggiungerà una parola chiave importante al tuo URL: l’anno. Supponiamo che voglio vedere le ragazze più belle del mondo, scriverò su Google: “Le più belle ragazze del mondo 2014”. Il mio url sarà:

 http://example.com/2014/07/10/the-most-beatiful-girls-in-the-world 

7) Ultimo ma non meno importante, Chrome memorizza nella cache il sito che hai visitato, così puoi trovare il sito sopra semplicemente digitando nella barra degli indirizzi “ragazze”.

Anche il termine url leggibile viene usato molto. L’utilizzo di URL amichevoli / leggibili è una tecnica di SEO nata e questo è tutto. Altrimenti più breve è il percorso, meglio è.