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=$">link</a>
požadovaná adresa URL je http://example.com/page?foo=$
, 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=&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
&
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í &
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&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žijetesitemap.xml
, musíte kódovat prostý ampersand jako&
. význam kódovaného ampersandu je stále prostý ampersand. Pokud chcete většinu kódování přeskočit, použijtesitemap.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í &
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&color=blue (remove this one)
Komentáře
- Můžeme použít example.com/boty?order=1& color = blue jako skutečná adresa URL a v souboru Sitemap jako ( example.com/shoes?order=1 & amp; color = blue .
- Ano, můžete, pokud ' s hlavní odkaz. To znamená, že ' s primární adresa URL, kterou používáte v interním propojení, a hodnota obsahu pro uživatele je vyšší než adresa URL bez parametrů.