Jeg har et sitemap (som sendes til Google til indeksering ), hvor jeg tilføjer webadresser, der har et ampersand (&). Da i sitemap skal & undslippes, erstattede jeg & med & i webadresserne i sitemap. Mine faktiske sidewebadresser indeholder kun &.

Da jeg er ny hos Google webmastere og SEO, vil jeg forstå, om denne forskel på ampersand i URL og sitemap vil forårsage ethvert problem. Bliver mine sider indekseret? Dette kan virke som et spørgsmål på noob-niveau, fordi jeg er i stand til at få adgang til webstedet efter at have erstattet & med & i URLen. Men alligevel vil enhver hjælp på denne front blive værdsat.

Kommentarer

  • I hvilken del af URLen bruger du et ampersand?
  • @ MrWhite Jeg sender nogle få parametre i URLen, og jeg adskiller disse parametre ved hjælp af ampersand for at adskille parametre

Svar

hvis denne forskel på ampersand i URL og sitemap vil forårsage ethvert problem.

tl; dr Intet problem, fordi URLerne er de samme.

Da i sitemap & skal undslippes, erstattede jeg & med &

Dit sitemap er et XML-dokument. Som med ethvert XML-dokument skal dataværdierne være lagret XML-enhedskodet. & -tegnet er et specielt tegn (det angiver i sig selv starten på en XML-enhed) og skal derfor kodes for at ophæve dets særlige betydning. Dette er netop, hvordan data lagres inde i et XML-dokument .

Når XML-dokumentet læses af en XML-parser, er dataværdierne XML-enhed afkodet , tilbage til den aktuelle værdi. Så, & bliver & når XML-dokumentet læses.

Så en URL til formularen /page?foo=1&bar=2 gemt inde i et XML-dokument er identisk med URL /page?foo=1&bar=2 i dit HTML5-dokument .

Mine faktiske sidewebadresser indeholder kun &

I HTML5 er det helt OK, forudsat at der ikke er nogen tvetydighed. I HTML4.1 (og tidligere) ville du have haft brug for korrekt HTML-enhed at kode & som & i din HTML-kilde kode til gyldig HTML. Imidlertid er browsere meget tolerante, og dit HTML-dokument ville sandsynligvis stadig have “fungeret”.

I HTML5 har du kun strengt brug for HTML-enhed at kode & hvis der er tvetydighed. Tag følgende konstruerede eksempel. Vi ønsker at videregive den bogstavelige streng “& dollar;” i foo URL-parameter.

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

ønsket URL er http://example.com/page?foo=&dollar;, men ovenstående HTML-anker resulterer i at sende brugeren til http://example.com/page?foo=$ – hvilket ikke er meningen. For at skabe det ønskede resultat skal & være HTML-enhed kodet for at negere dets specielle betydning, hvilket resulterer i følgende (korrekte) HTML:

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

Det er altid sikrere at konsekvent HTML-enhed koder & i din HTML- dokument. Hvis du genererer dit indhold via et CMS, skal dette ske automatisk.

Jeg er i stand til at få adgang til siden efter at have erstattet & med &amp; i URLen.

Du mener formodentlig” i URLen, i din HTML “? Fordi hvis du skulle HTML-enhed indkode & med &amp; i browserens adresselinje (for eksempel), dvs. uden for en HTML-kontekst, så får du ikke de forventede resultater. Hvis du f.eks. Har skrevet følgende direkte i browserens adresselinje:

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

Så får du de to URL-parametre [foo] => 1 og [amp;bar] => 2, hvilket tydeligvis ikke er meningen.

Kommentarer

  • TL; DR: URLen indeholder et almindeligt ampersand (&), men hvis du bruger sitemap.xml skal du kode almindeligt ampersand som &amp;. -betydningen af kodet ampersand er stadig almindeligt ampersand. Hvis du vil springe det meste af kodningen over, skal du bruge sitemap.txt format.

Svar

De webadresser, du inkluderer i sitemapet, skal følge RFC-3986 standard . Som du kan læse i Googles officielle guide , skal & undslippes med &amp; så du er god at gå.

Når du først har indsendt dit sitemap via Google Searh Console, kan du vide, om der er noget problem med de indsendte webadresser.

Bare hvis du kun skal inkludere endelige webadresser, betyder det, at der måske er nogle parametre, du kan undgå. For eksempel:

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

Kommentarer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *