2013-05-28 15 views
5

Stiamo lanciando un sito Web importante con supporto per 20 lingue e tonnellate di contenuto regionale (ovvero contenuto destinato a un paese specifico oa una serie di paesi). Come tale, abbiamo un caso da utilizzare per l'uso di xhtml: link con rel = 'hreflang' nella nostra sitemap. Generalmente preferiamo generare classi da un XSD in modo da poter generare in modo programmatico l'XML che è garantito conforme. Speravo di trovare un XSD aggiornato che includesse xhtml: link nelle definizioni. Tuttavia, continuo a tornare alla sitemap di base xsd: http://www.sitemaps.org/schemas/sitemap/sitemap.xsd, che non ha supporto per xhtml: link (definito in xhtml-link-1.xsd).XSD per Sitemap con HREFLANG

Sembra che Google supporti solo un xhtml: link con gli attributi supportati, ma prima di provare a modificare la sitemap.xsd di base manualmente per includerlo, volevo vedere se qualcuno ha avuto il tempo di pubblicare un XSD che ha già http://www.sitemaps.org/schemas/sitemap/0.9 e http://www.w3.org/1999/xhtml incluso? In tal caso, potresti indicarmi la giusta direzione? O se mi trovo sulla strada sbagliata qui per qualche motivo, apprezzo anche il fatto di essere guidato nella giusta direzione. Grazie in anticipo per l'aiuto!

+0

Non sembra molto promettente. Se finisco per seguire il percorso di modifica dell'XSD, mi assicurerò di postarlo nel caso in cui qualcun altro lo voglia ... – jakejgordon

risposta

7

Le guide di Sitemap con hreflang di google sono errate. La sitemap non viene convalidata come xhtml: il link non esiste nello spazio dei nomi.

Cambia spazio dei nomi in quello sottostante e verrà convalidato.

xmlns:xhtml="http://www.w3.org/TR/xhtml11/xhtml11_schema.html" 
+0

Grazie per il commento. Tornerò al lavoro sulla mappa del sito in un'altra settimana o due, a quel punto tornerò e aggiornerò questo con i miei risultati. – jakejgordon

+0

Non posso credere che questo ha funzionato e Google docs no! – Hatef

1

Se si modifica lo spazio dei nomi per xmlns: xhtml = "http://www.w3.org/TR/xhtml11/xhtml11_schema.html" che è stato suggerito da @datahell si riceverà un messaggio di avviso spazio dei nomi da parte di Google quando provi a convalidare la tua sitemap.

Dovresti utilizzare quello che Google ha nel loro esempio. Ciò farà sì che i tuoi link sembrino testo semplice su una pagina web che non è molto allettante.

Si può o non si desidera personalizzare lo stile xml.

Happy Multilingual Sitemapping!

0

Ho avuto lo stesso problema e ho trovato una soluzione. Scarica tutti gli XSD sul tuo disco locale e crea un nuovo file XSD che importi tutti gli spazi dei nomi.

<?xml version="1.0" encoding="utf-8"?> 
<xsd:schema xmlns="http://symfony.com/schema" 
      xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
      targetNamespace="http://symfony.com/schema" 
      elementFormDefault="qualified"> 
    <!-- 
     The Sitemap schema does not include the link element that is 
     utilized by Google for multi-language Sitemaps. Hence, we need 
     to combine the two schemas for automated validation in a dedicated 
     XSD. 
    --> 
    <xsd:import namespace="http://www.sitemaps.org/schemas/sitemap/0.9" 
       schemaLocation="sitemap.xsd"/> 
    <xsd:import namespace="http://www.w3.org/1999/xhtml" 
       schemaLocation="xhtml1-strict.xsd"/> 
</xsd:schema>