&Ampere; Sind sie in Sitemap-Links korrekt?

17

Einfache Frage, ich frage nur um sicher zu gehen.

Ein Google Sitemap-Generator hat eine sitemap.txt-Datei mit folgenden Links generiert:

http://www.domain.com/category.htm?name=some-name&cat_id=8

Ist es richtig, die &in diesen Links anstelle der zu verwenden, &oder handelt es sich nur um einen Fehler, der vom Sitemap-Generator verursacht wurde?

Vielen Dank.

Marco Demaio
quelle

Antworten:

11

Das ist richtig. Es ist die HTML-Entität für ein kaufmännisches Und ( &) und die korrekte Zeichendarstellung in einer ordnungsgemäß codierten URL. Et- Zeichen ( &) und sowie <und >sind Sonderzeichen in XML und HTML und müssen mit ihren Sonderzeichen angezeigt werden.

John Conde
quelle
Sind Sie sicher, dass alle kaufmännischen Und-Zeichen durch Entities geschützt werden müssen? Ich dachte, das war nur für die trennenden Parameter in Abfragezeichenfolgen. Ich habe immer kaufmännische Und-Zeichen innerhalb von Datei- oder Ordnernamen oder in den Parametern selbst mithilfe von Prozentcodierung ( %26) http://foo/a%26r.php?foo=1&amp;genre=r%26b
maskiert
Ich bin nicht sicher, ob Prozentcodierung gültig ist oder nicht, daher kann ich nicht sicher sagen.
John Conde
@ LESE - weil es ein XML - Dokument , um es zu entkommen ist, es sei denn , Sie verwenden CDATAKnoten (nur bemerkt , dass bdadam das Gleiche gesagt hat , aber viel früher als ich)
Mark Henderson
>Es muss nicht unbedingt eine in XML codierte Entität sein.
MrWhite
6

Ihre Sitemap-Datei muss UTF-8-codiert sein (dies ist in der Regel beim Speichern der Datei möglich). Wie bei allen XML-Dateien müssen alle Datenwerte (einschließlich URLs) Entity-Escape-Codes für die Zeichen verwenden.

Dies kann helfen, http://sitemaps.org/protocol.php

Jeremy
quelle
Leider ist dieser Link jetzt tot.
Mtness
2

Google weist die Sitemap als fehlerhaft zurück, wenn sie ein & -Zeichen in einer URL enthält. Es akzeptiert es, wenn Sie & durch & ersetzen.

ABER: Wenn Sie später die Liste der Crawling-Fehler im Google Webmaster-Tool überprüfen, wird diese URL der Sitemap-Datei als fehlerhaft gemeldet, da sie & amp; Anstatt von &.

Daher ist die richtige Lösung, die URL so zu ändern, dass sie kein & enthält. Oder melden Sie dies als Fehler an Google.

Klaus Hartnegg
quelle
1

URL-Codierung und XML-Entity-Codierung sind nicht dasselbe. Sie benötigen die URL-Codierung, um Sonderzeichen in URLs zu ersetzen, z. B. &, die nur zur Trennung von Abfrageparametern verwendet werden können. XML-Entity-Codierung dient zum Codieren von Sonderzeichen in XML (auch XHTML). Das heißt, wenn Sie eine URL in einer XML- (oder XHTML-) Datei haben und diese URL einige & Zeichen enthält, müssen Sie sie in & amp; entitätscodieren. In einer sitemap.xml haben Sie also URLs wie in der Frage von Marco Demaio.

bdadam
quelle