Mám soubor Sitemap (který je odeslán společnosti Google k indexování ), ve kterém přidávám adresy URL, které mají ampersand (&). Protože v souboru Sitemap & je nutné uniknout, nahradil jsem & v adresách URL v doméně & soubor Sitemap. Moje skutečné adresy URL stránek obsahují pouze &.

Jelikož jsem pro webmastery Google a SEO nový, chtěl bych pochopit, zda tento rozdíl ampersandu v URL a sitemapu bude způsobit nějaký problém. Budou moje stránky indexovány? To se může zdát jako otázka na úrovni noob, protože mám přístup k webu po nahrazení & & v URL. Jakákoli pomoc na této frontě však bude vysoce ceněna.

Komentáře

  • Ve které části adresy URL používáte ampersand?
  • @ MrWhite V URL předávám několik parametrů a tyto parametry odděluji pomocí ampersand k oddělení parametrů

Answer

pokud tento rozdíl ampersandu v URL a sitemap způsobí jakýkoli problém.

tl; dr Žádný problém, protože adresy URL jsou stejné.

Protože v souboru Sitemap & je nutné uniknout, nahradil jsem & &

Váš soubor Sitemap je dokument XML. Stejně jako u jiných dokumentů XML musí být datové hodnoty uloženy v zakódované entitě XML. Znak & je speciální znak (sám označuje začátek entity XML), a proto musí být zakódován, aby se vyvrátil jeho speciální význam. Jedná se pouze o způsob, jakým jsou data uložena uvnitř dokumentu XML .

Když je dokument XML čten analyzátorem XML, jsou datové hodnoty XML entitou dekódovány , zpět na skutečnou hodnotu. Při čtení dokumentu XML se tedy & změní na &.

Takže URL formuláře /page?foo=1&bar=2 uloženo uvnitř dokumentu XML je identické s adresou URL /page?foo=1&bar=2 v dokumentu HTML5 .

Moje skutečné adresy URL stránek obsahují pouze &

V HTML5 je to naprosto v pořádku, protože neexistuje žádná nejednoznačnost. V HTML4.1 (a dřívějších) byste však museli ve svém zdroji HTML správně kódovat entitu HTML & jako & kód platného HTML. Prohlížeče jsou však velmi tolerantní a váš dokument HTML by s největší pravděpodobností stále „fungoval“.

V HTML5 pouze potřebujete zakódovat entitu HTML & v případě nejasností. Vezměte si následující nepřirozený příklad. Chceme předat doslovný řetězec „& dolar;“ v foo parametru URL.

<!-- In an HTML document (WRONG) --> <a href="/page?foo=&dollar;">link</a> 

požadovaná adresa URL je http://example.com/page?foo=&dollar;, ale výše uvedená kotva HTML vede k odeslání uživatele na http://example.com/page?foo=$ – což není záměr. Chcete-li vytvořit požadovaný výsledek, & musí být HTML entita zakódována, aby se vyvrátil jeho speciální význam, což má za následek následující (správné) HTML:

<!-- In an HTML document (CORRECT) --> <a href="/page?foo=&amp;dollar;">link</a> 

Vždy bezpečnější je konzistentní HTML entita zakódovat & do vašeho HTML- dokument. Pokud generujete svůj obsah prostřednictvím CMS, mělo by to být automatické.

Po výměně s &amp; v adrese URL.

Pravděpodobně máte na mysli“ v adrese URL, ve vašem HTML „? Protože pokud byste do HTML entity zakódovali & pomocí &amp; v adresním řádku prohlížeče (například), tzn. mimo kontext HTML pak nedosáhnete očekávaných výsledků. Pokud byste například do adresního řádku prohlížeče zadali následující text:

/page?foo=1&amp;bar=2 

Pak byste dostali dva parametry URL [foo] => 1 a [amp;bar] => 2, což zjevně není záměrem.

Komentáře

  • TL; DR: URL obsahuje prostý ampersand (&), ale pokud použijete sitemap.xml, musíte kódovat prostý ampersand jako &amp;. význam kódovaného ampersandu je stále prostý ampersand. Pokud chcete většinu kódování přeskočit, použijte sitemap.txt formát.

Odpověď

Adresy URL, které uvedete v souboru Sitemap, musí následovat standard RFC-3986 . Jak si můžete přečíst v oficiálním průvodci Google , & je třeba uniknout pomocí &amp; takže můžete vyrazit.

Nicméně poté, co odešlete svůj soubor Sitemap prostřednictvím Google Searh Console, budete vědět, zda existuje problém s odeslanými adresami URL.

Jen v případě, že byste měli zahrnout pouze cílové URL, to znamená, že možná existují některé parametry, kterým byste se mohli vyhnout. Například:

 - https://example.com/shoes (good one) - https://example.com/shoes?order=1&amp;color=blue (remove this one) 

Komentáře

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *