10 Stimmen

Wie validiert man eine konforme XML-Sitemap?

Für die folgende Überschrift erhalte ich auf allen meinen Sitemaps dieselben zwei Fehler. Das ist verwirrend, denn wenn Google meine Sitemap nicht lesen kann, wie kann es dann sagen, dass jede URL die gleiche Priorität hat? Der Header zählt als Zeile 2, nach der XML-Deklaration. Google behauptet, nur etwa 2 % der URLs aus den Sitemaps indiziert zu haben. Bitte helfen Sie mir.

UPDATE: Ich glaube, das Problem ist, dass ich nicht weiß, wie man gegen ein Schema validiert. Wie macht man das?

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">

==Parsing error
We were unable to read your Sitemap. It may contain an entry we are 
unable to recognize. Please validate your Sitemap before resubmitting.

==Notice
All the URLs in your Sitemap have the same priority...

UPDATE: Bitte haben Sie Geduld, ich validiere zum ersten Mal XML. Ich verstehe die Fehler nicht.

Errors in the XML document:
    4:  80  SchemaLocation: schemaLocation value = 'http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd' must have even number of URI's.
    4:  80  cvc-elt.1: Cannot find the declaration of element 'urlset'.

XML document:
1   <?xml version="1.0" encoding="UTF-8"?>
2   <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4     xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
5     <url>
6       <loc>http://nutrograph.com/1-butter-salted</loc>
7       <changefreq>monthly</changefreq>
8       <priority>0.8</priority>
9     </url>
10    <url>
11      <loc>http://nutrograph.com/2-butter-whipped-with-salt</loc>
12      <changefreq>monthly</changefreq>
13      <priority>0.8</priority>
14    </url>
15  </urlset>

8voto

TToni Punkte 8755

Haben Sie Ihr XML anhand des hier angegebenen Schemas validiert? http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd

Wenn ja, was war das Ergebnis?

Wenn nicht, wie lautet die URL Ihrer Sitemap?

Wenn Sie nicht wissen, wie Sie die XML-Datei anhand des Schemas validieren können, verwenden Sie http://www.xmlvalidation.com/

Fügen Sie dort die Sitemap-XML ein, klicken Sie auf "Gegen externes XML-Schema validieren" und fügen Sie das Schema nach einem Klick auf den Validieren-Button ein.

So erfahren Sie, was mit Ihrem XML falsch ist. Wenn Sie nicht wissen, wie Sie das Ergebnis interpretieren sollen, ändern Sie bitte Ihre ursprüngliche Frage entsprechend.

Bearbeiten: Der Fehler war eine fehlende namesapce-URL in der schemaLocation. Der erste Tag muss wie folgt aussehen:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">

5voto

Mike Edwards Punkte 432

Streichen Sie das Obige. Wenn man sich Googles Website ansieht, scheint deren Sitemap-Kopfzeile etwas länger zu sein als Ihre.

Es steht auf dieser Seite: https://www.google.com/webmasters/tools/docs/en/protocol.html

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">

0voto

Beachten Sie, dass der schemaLocation 2 URi's hat... (muss eine gerade Anzahl von URI's haben)

Sie sollte folgendermaßen aussehen: **

xsi:schemaLocation="http://www.sitemaps.org/schemas/site http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd "

**

0voto

Herry Punkte 1

Auch in dieser Syntax fehlte mir etwas

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xs">

Wissen Sie, was in dieser Syntax fehlte?!

Schreiben Sie einfach ein "d" an das Ende der Url-Erweiterung ( http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xs )

Lösen Sie dieses Problem, nachdem Sie den Buchstaben "d" hinzugefügt haben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X