stringa di query HTTP rispetto all'URL Parametro per i codici di riferimento

3

Sto lavorando con un'app Laravel e sto sviluppando una funzionalità di "referral". Un utente fa clic su "invia amico" e viene visualizzato un URL che può essere condiviso su Facebook, ecc., Quando un altro utente fa clic sul collegamento che viene indirizzato al sito, viene impostato un parametro di sessione e successivamente, se l'utente si iscrive, l'originale l'utente ottiene credito.

Ci sono due modi per farlo. una stringa di query www.example.com?invite=123 o parametro di routing www.example.com/invite/123

Mentre stavo leggendo questa risposta link mi è sembrato di capire che le stringhe di query sono utili per dati gerarchici. Questo è il modo in cui siti come Copy.com funzionano con i loro rerals.

Ma guardando altri esempi su Internet, ad esempio DropBox, Lyft, Hulu, Uber e altri usano i parametri del percorso (più sembrano utilizzare i parametri del percorso rispetto ai parametri di query).

Una stringa di query è più macchinosa o confusa di dire a qualcuno o di scrivere su carta (e meno attraente visivamente), ma rende anche l'anteprima del sito più semplice quando si condivide su Facebook (non è necessario generare dinamicamente og: tag immagine ecc. tempo in cui l'URL e il codice vengono analizzati)

È davvero più corretto di un altro? C'è uno standard per questo o è tutto preferito?

EDIT: qualcuna di queste opzioni influisce sul SEO? Ad esempio, www.example.com/invite/123 ha un tasso diverso rispetto a www.example.com?invite=123 quando una pagina viene sottoposta a scansione contenente uno di questi collegamenti?

    
posta dangel 18.03.2016 - 02:41
fonte

2 risposte

3

Questo modulo

www.example.com/invite/123

è preferibile quando l'URL si riferisce a qualcosa di concreto e specifico come un'entità aziendale, una transazione o un documento. La parola "invito" di solito si riferisce a un metodo di controllo.

Questo modulo

www.example.com?invite=123

è preferibile quando si desidera modificare l'operazione o la risorsa nell'URL designato utilizzando i parametri. Ad esempio, l'URL per una pagina di ricerca potrebbe essere simile a questo:

www.example.com/search?term="flargle"&orderby="date"
    
risposta data 18.03.2016 - 03:33
fonte
2

Molti framework non fanno una vera distinzione a livello di codice di back-end tra i parametri di route (URL) e i parametri di stringa di query, rendendo questo principalmente una questione di stile. I parametri URL sono i migliori quando si identifica una risorsa specifica sul back-end, ad es. qualcuno che risponde a un codice di invito specifico. Per il tuo scopo di un codice di riferimento, un parametro di stringa di query aggiunto all'URL normale per la pagina di registrazione o un'altra destinazione sarebbe una soluzione migliore. Evita il problema di determinare a quale URL reale l'utente debba essere reindirizzato dopo aver registrato il referral e il problema di aggiungere questo parametro a ogni singola rotta coinvolta e permettendogli di essere opzionale (che in molti framework implica o 2 percorsi distinti o magia oscura nel percorso). Il parametro query-string, al contrario, può essere gestito da un controllo comune applicato a ogni pagina che memorizza il codice del referrer se presente e nessuno è già registrato per l'utente.

Per quanto riguarda il SEO, la forma della stringa di query probabilmente funzionerà meglio perché lo spider Web di solito trascurerà la stringa di query e tutti i link contano come andando alla stessa pagina, mentre con il modulo del parametro di routing conterà ogni codice come una pagina diversa anche quando in realtà finiscono tutti nello stesso posto. I motori di ricerca in genere calcolano la porzione del percorso quando decide quale sia l'URL di destinazione e trattano la stringa di query come parametri passati a quella pagina anziché influenzare la pagina di destinazione del link.

    
risposta data 18.03.2016 - 04:07
fonte

Leggi altre domande sui tag