Ho una mappa del sito (inviata a Google per lindicizzazione ) in cui sto aggiungendo URL che contengono una e commerciale (&
). Poiché nella Sitemap è necessario eseguire lescape di &
, ho sostituito &
con &
negli URL in la mappa del sito. Gli URL delle mie pagine effettive contengono solo &
.
Dato che sono nuovo per i webmaster di Google e il SEO, desidero capire se questa differenza di e commerciale nellURL e nella mappa del sito causare qualsiasi problema. Le mie pagine verranno indicizzate? Questa può sembrare una domanda a livello di noob perché sono in grado di accedere al sito dopo aver sostituito &
con &
nellURL. Tuttavia, qualsiasi aiuto su questo fronte sarà molto apprezzato.
Commenti
- In quale parte dellURL stai utilizzando una e commerciale?
- @ MrWhite Sto passando alcuni parametri nellURL e li separo utilizzando la e commerciale per separare i parametri
Answer
se questa differenza di e commerciale nellURL e nella mappa del sito causerà problemi.
tl; dr Nessun problema, perché gli URL sono gli stessi.
Poiché nella Sitemap è necessario eseguire lescape di
&
, ho sostituito&
con&
…
La tua mappa del sito è un documento XML. Come con qualsiasi documento XML, i valori dei dati devono essere archiviati con codifica entità XML. Il carattere &
è un carattere speciale (esso stesso denota linizio di unentità XML) e quindi deve essere codificato per negare il suo significato speciale. Questo è solo il modo in cui i dati vengono memorizzati allinterno di un documento XML .
Quando il documento XML viene letto da un parser XML, i valori dei dati sono entità XML decodificati , torna al valore effettivo. Quindi, &
diventa &
quando viene letto il documento XML.
Quindi, un URL del modulo /page?foo=1&bar=2
archiviato allinterno di un documento XML è identico allURL /page?foo=1&bar=2
nel tuo documento HTML5 .
Gli URL delle mie pagine effettive contengono solo
&
In HTML5 questo è perfettamente OK, a condizione che non ci siano ambiguità. Tuttavia, in HTML4.1 (e versioni precedenti) avresti dovuto codificare correttamente lentità HTML &
come &
nella tua sorgente HTML codice per HTML valido. Tuttavia, i browser sono molto tolleranti e molto probabilmente il tuo documento HTML avrebbe ancora “funzionato”.
In HTML5 hai solo bisogno strettamente di codificare lentità HTML &
se cè unambiguità. Prendi il seguente esempio artificioso . Vogliamo passare la stringa letterale “& dollaro;” nel foo
parametro URL.
<!-- In an HTML document (WRONG) --> <a href="/page?foo=$">link</a>
LURL desiderato è http://example.com/page?foo=$
, tuttavia, lancoraggio HTML sopra riportato comporta linvio dellutente a http://example.com/page?foo=$
, il che non è lintenzione. Per creare il risultato desiderato, &
deve essere codificato con entità HTML per negare il suo significato speciale, risultando nel seguente HTML (corretto):
<!-- In an HTML document (CORRECT) --> <a href="/page?foo=&dollar;">link</a>
È sempre più sicuro codificare in modo coerente entità HTML &
nel tuo HTML- documento. Se stai generando i tuoi contenuti tramite un CMS, dovrebbe essere automatico.
Sono in grado di accedere al sito dopo aver sostituito
&
con&
nellURL.
Presumibilmente intendi” nellURL, nel tuo HTML “? Perché se dovessi codificare lentità HTML &
con &
nella barra degli indirizzi del browser (ad esempio), ad es. al di fuori di un contesto HTML, non otterrai i risultati attesi. Ad esempio, se hai digitato quanto segue direttamente nella barra degli indirizzi del browser:
/page?foo=1&bar=2
Quindi otterrai i due parametri URL [foo] => 1
e [amp;bar] => 2
, che chiaramente non è lintenzione.
Commenti
- TL; DR: lURL contiene una semplice e commerciale (
&
) ma se utilizzisitemap.xml
devi codificare semplice e commerciale come&
. Il significato della e commerciale codificata è ancora semplice e commerciale. Se desideri saltare la maggior parte della codifica, utilizzasitemap.txt
formato.
Risposta
Gli URL che includi nella mappa del sito devono seguire il RFC-3986 standard . Come puoi leggere nella guida ufficiale di Google , &
deve essere preceduto da &
quindi sei a posto.
Tuttavia, una volta inviata la tua mappa del sito tramite Google Searh Console, sarai in grado di sapere se cè qualche problema con gli URL inviati.
Per ogni evenienza, dovresti includere solo gli URL finali, ciò significa che forse ci sono alcuni parametri che potresti evitare. Ad esempio:
- https://example.com/shoes (good one) - https://example.com/shoes?order=1&color=blue (remove this one)
Commenti
- Possiamo usare example.com/shoes?order=1& color = blue come lURL effettivo e nella mappa del sito come ( example.com/shoes?order=1 & amp; color = blue .
- Sì, puoi fintanto che ' è il link principale. Significa che ' è lURL principale che utilizzi nei collegamenti interni e il valore del contenuto per gli utenti è superiore allURL senza i parametri.