Ik heb een sitemap (die wordt ingediend bij Google voor indexering ) waarin ik URLs toevoeg die een ampersand (&
) bevatten. Omdat in sitemap &
moet worden ontsnapt, heb ik &
vervangen door &
in de URLs in de sitemap. Mijn werkelijke pagina-URLs bevatten alleen &
.
Aangezien ik nieuw ben bij Google webmasters en SEO, wil ik weten of dit verschil tussen en-teken in URL en sitemap zal elk probleem veroorzaken. Worden mijn paginas geïndexeerd? Dit lijkt misschien een vraag op noob-niveau, omdat ik toegang heb tot de site nadat ik &
heb vervangen door &
in de URL. Maar toch wordt alle hulp op dit gebied zeer op prijs gesteld.
Reacties
- In welk deel van de URL gebruik je een ampersand?
- @ MrWhite Ik geef een paar parameters door in de URL en ik scheid die parameters met een ampersand om de parameters te scheiden
Answer
als dit verschil van ampersand in URL en sitemap problemen veroorzaakt.
tl; dr Geen probleem, omdat de URLs hetzelfde zijn.
Aangezien in sitemap
&
moet worden ontsnapt, heb ik&
vervangen door&
…
Uw sitemap is een XML-document. Zoals bij elk XML-document, moeten de gegevenswaarden worden opgeslagen in XML-entiteitscodering. Het &
-teken is een speciaal teken (het geeft zelf het begin van een XML-entiteit aan) en moet daarom worden gecodeerd om de speciale betekenis ervan te ontkennen. Dit is precies de manier waarop gegevens worden opgeslagen in een XML-document .
Wanneer het XML-document wordt gelezen door een XML-parser, zijn de gegevenswaarden XML-entiteit gedecodeerd , terug naar de werkelijke waarde. Dus &
wordt &
wanneer het XML-document wordt gelezen.
Dus een URL met de vorm /page?foo=1&bar=2
opgeslagen in een XML-document is identiek aan de URL /page?foo=1&bar=2
in uw HTML5-document .
Mijn werkelijke pagina-URLs bevatten alleen
&
In HTML5 is dat perfect in orde, op voorwaarde dat er geen dubbelzinnigheid is. In HTML4.1 (en eerder) zou u de HTML-entiteit echter correct moeten coderen voor de &
als &
in uw HTML-bron code voor geldige HTML. Browsers zijn echter zeer tolerant en uw HTML-document zou hoogstwaarschijnlijk nog “gewerkt” hebben.
In HTML5 hoeft u alleen strikt de HTML-entiteit de &
als er een dubbelzinnigheid is. Neem het volgende gekunstelde voorbeeld. We willen de letterlijke string “& dollar;” in de foo
URL-parameter.
<!-- In an HTML document (WRONG) --> <a href="/page?foo=$">link</a>
De gewenste URL is http://example.com/page?foo=$
, maar het bovenstaande HTML-anker leidt ertoe dat de gebruiker naar http://example.com/page?foo=$
wordt gestuurd – wat niet de bedoeling is. Om het gewenste resultaat te creëren, moet de &
HTML-entiteit gecodeerd zijn om de speciale betekenis ervan te ontkennen, wat resulteert in de volgende (correcte) HTML:
<!-- In an HTML document (CORRECT) --> <a href="/page?foo=&dollar;">link</a>
Het is altijd veiliger om de &
in uw HTML- document. Als u uw inhoud genereert via een CMS, moet dit automatisch gebeuren.
Ik heb toegang tot de site nadat ik met
&
in de URL.
Vermoedelijk bedoelt u” in de URL, in uw HTML “? Omdat als u HTML-entiteit zou coderen, de &
met &
in de adresbalk van de browser (bijvoorbeeld), dwz. buiten een HTML-context, dan krijgt u niet de verwachte resultaten. Als u bijvoorbeeld het volgende rechtstreeks in de adresbalk van de browser heeft getypt:
/page?foo=1&bar=2
Dan krijgt u de twee URL-parameters [foo] => 1
en [amp;bar] => 2
, wat duidelijk niet de bedoeling is.
Reacties
- TL; DR: de URL bevat een gewoon ampersand (
&
) maar als jesitemap.xml
gebruikt, moet je coderen gewoon en-teken als&
. De betekenis van het gecodeerde en-teken is nog steeds een gewoon en-teken. Als je het grootste deel van de codering wilt overslaan, gebruik dansitemap.txt
formaat.
Antwoord
De URLs die u opneemt in de sitemap moeten de RFC-3986-standaard . Zoals u kunt lezen in de officiële gids van Google , moet &
worden geëscaped met &
dus je bent klaar om te gaan.
Desalniettemin, als je eenmaal je sitemap hebt verzonden via Google Searh Console, kun je weten of er een probleem is met de ingediende URLs.
Voor het geval dat u alleen uiteindelijke URLs zou moeten opnemen, dat betekent dat er misschien enkele parameters zijn die u zou kunnen vermijden. Bijvoorbeeld:
- https://example.com/shoes (good one) - https://example.com/shoes?order=1&color=blue (remove this one)
Reacties
- Kunnen we example.com/shoes?order=1& color = blue als de werkelijke URL en in sitemap als ( example.com/shoes?order=1 & amp; color = blue .
- Ja, je kunt zolang het ' is de hoofdlink. Dit betekent dat ' de primaire URL is die je gebruikt voor interne links en dat de inhoudswaarde voor gebruikers hoger is dan de URL zonder de parameters.