Am un sitemap (care este trimis la Google pentru indexare ) în care adaug adrese URL care au un semn comercial (&
). Deoarece în sitemap &
trebuie scăpat am înlocuit &
cu &
în adresele URL din harta sitului. Adresele URL reale ale paginii mele conțin doar &
.
Deoarece sunt nou pentru webmasterii Google și SEO, aș dori să înțeleg dacă această diferență de ampersand în URL și sitemap va fi cauzează orice problemă. Paginile mele vor fi indexate? Aceasta poate părea o întrebare la nivel de noob, deoarece pot accesa site-ul după ce am înlocuit &
cu &
în URL. Dar totuși orice ajutor pe acest front va fi foarte apreciat.
Comentarii
- În ce parte a adresei URL utilizați un șir?
- @ MrWhite Trec câțiva parametri în adresa URL și separ acei parametri folosind ampersand pentru a separa parametrii
Răspuns
dacă această diferență de ampersand în URL și sitemap va cauza vreo problemă.
tl; dr Nicio problemă, deoarece adresele URL sunt aceleași.
Deoarece în sitemap
&
trebuie scăpat am înlocuit&
cu&
…
Sitemap-ul dvs. este un document XML. Ca și în cazul oricărui document XML, valorile datelor trebuie să fie stocate codate cu entitate XML. Caracterul &
este un caracter special (el însuși denotă începutul unei entități XML) și, prin urmare, trebuie codificat pentru a nega semnificația sa specială. Acesta este doar modul în care datele sunt stocate în interiorul unui document XML .
Când documentul XML este citit de un analizor XML valorile datelor sunt entitate XML decodate , înapoi la valoarea reală. Deci, &
devine &
când se citește documentul XML.
Deci, o adresă URL cu forma /page?foo=1&bar=2
stocat în interiorul unui document XML este identic cu adresa URL /page?foo=1&bar=2
din documentul dvs. HTML5 .
Adresele URL ale paginii mele conțin doar
&
În HTML5, acest lucru este perfect OK, cu condiția să nu existe nicio ambiguitate. Cu toate acestea, în HTML4.1 (și versiunile anterioare) ar fi trebuit să codificați corect entitatea HTML &
ca &
în sursa HTML cod pentru HTML valid. Cu toate acestea, browserele sunt foarte tolerante și cel mai probabil documentul dvs. HTML ar fi „funcționat”.
În HTML5 aveți strict nevoie de a codifica entitatea HTML &
dacă există o ambiguitate. Luați următorul exemplu inventat . Vrem să trecem șirul literal „& dolar;” în parametrul URL foo
.
<!-- In an HTML document (WRONG) --> <a href="/page?foo=$">link</a>
URL-ul dorit este http://example.com/page?foo=$
, cu toate acestea, ancorele HTML de mai sus au ca rezultat trimiterea utilizatorului către http://example.com/page?foo=$
– ceea ce nu este intenția. Pentru a crea rezultatul dorit, &
trebuie să fie codificat ca entitate HTML pentru a-și anula semnificația specială, rezultând următorul HTML (corect):
<!-- In an HTML document (CORRECT) --> <a href="/page?foo=&dollar;">link</a>
Este întotdeauna mai sigur să codificați în mod constant entitatea HTML &
în HTML- document. Dacă vă generați conținutul printr-un CMS, atunci acest lucru ar trebui să fie automat.
Pot accesa site-ul după înlocuirea
&
cu&
în URL.
Probabil că vrei să spui” în URL, în HTML-ul tău „? Deoarece, dacă ar fi HTML-entity codifica &
cu &
în bara de adrese a browserului (de exemplu), adică. în afara unui context HTML, atunci nu veți obține rezultatele așteptate. De exemplu, dacă ați introdus următoarele elemente direct în bara de adrese a browserului:
/page?foo=1&bar=2
Atunci veți obține cei doi parametri URL [foo] => 1
și [amp;bar] => 2
, ceea ce în mod clar nu este intenția.
Comentarii
- TL; DR: URL-ul conține un semnal simplu (
&
), dar dacă utilizațisitemap.xml
, trebuie să codificați semnalizator simplu ca&
. Semnificația a semnelor semnalizate codate este în continuare semnalizare simplă. Dacă doriți să omiteți cea mai mare parte a codificării, utilizațisitemap.txt
format.
Răspuns
Adresele URL pe care le includeți în sitemap trebuie să urmeze RFC-3986 standard . După cum puteți citi în ghidul oficial Google , &
trebuie scăpat cu &
deci ești bine să pleci.
Cu toate acestea, odată ce îți trimiți sitemapul prin Google Searh Console, vei putea afla dacă există vreo problemă cu adresele URL trimise.
Pentru orice eventualitate, ar trebui să includeți doar adresele URL finale, ceea ce înseamnă că poate există câțiva parametri pe care i-ați putea evita. De exemplu:
- https://example.com/shoes (good one) - https://example.com/shoes?order=1&color=blue (remove this one)
Comentarii
- Putem folosi example.com/shoes?order=1& color = blue ca adresă URL reală și în sitemap ca ( example.com/shoes?order=1 & amp; color = blue .
- Da, puteți, atâta timp cât ' este linkul principal. Adică, ' este adresa URL principală pe care o utilizați în legătura internă și valoarea conținutului pentru utilizatori este mai mare decât URL fără parametrii.