2013-05-28 26 views
5

Wprowadzamy na rynek dużą witrynę internetową obsługującą 20 języków i całą masę treści regionalnych (tj. Treści skierowanych do określonego kraju lub grupy krajów). W związku z tym mamy podręcznik użytkowania dla używania xhtml: link z rel = 'hreflang' w naszej mapie witryny. Generalnie wolimy generować klasy z XSD, abyśmy mogli programowo generować XML, który jest zgodny z gwarancją. Miałem nadzieję znaleźć zaktualizowany XSD, który zawiera Xhtml: link w definicjach. Jednak wciąż zwracam uwagę na podstawową mapę witryny xsd: http://www.sitemaps.org/schemas/sitemap/sitemap.xsd, która nie obsługuje Xhtml: link (zdefiniowany w xhtml-link-1.xsd).XSD Dla mapy witryny z HREFLANG

Wygląda na to, że Google obsługuje tylko element xhtml: link z jego obsługiwanymi atrybutami, ale zanim spróbuję zmodyfikować podstawowe sitemap.xsd ręcznie, aby je uwzględnić, chciałem sprawdzić, czy ktoś poświęcił czas na opublikowanie XSD, który zawiera już http://www.sitemaps.org/schemas/sitemap/0.9 i http://www.w3.org/1999/xhtml? Jeśli tak, czy możesz wskazać mi właściwy kierunek? Albo, jeśli z jakiegoś powodu zmierzam na złą drogę, doceniam też kierowanie we właściwym kierunku. Z góry dziękuję za pomoc!

+0

Nie wygląda obiecująco. Jeśli skończę, idąc drogą modyfikacji XSD, z pewnością opublikuję go na wypadek, gdyby ktoś chciał go ... – jakejgordon

Odpowiedz

7

Przewodniki po mapach z hreflangiem z Google są błędne. Mapa witryny nie sprawdza się jako xhtml: link nie istnieje w przestrzeni nazw.

Zmień przestrzeń nazw na poniżej i zostanie zatwierdzona.

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

Dzięki za komentarz. Wrócę do pracy z mapą w innym tygodniu lub dwóch, w którym to momencie wrócę i zaktualizuję to wraz z moimi ustaleniami. – jakejgordon

+0

Nie mogę uwierzyć, że to zadziałało, a dokumenty Google nie. – Hatef

1

W przypadku zmiany nazw do xmlns: xhtml = "http://www.w3.org/TR/xhtml11/xhtml11_schema.html", który został zaproponowany przez @datahell otrzymasz ostrzeżenie namespace z google podczas próby sprawdzenia poprawności mapy witryny.

Powinieneś użyć tej, którą Google ma w swoim przykładzie. Spowoduje to, że twoje linki będą wyglądać jak zwykły tekst na stronie, która nie jest zbyt atrakcyjna.

Możesz lub nie chcesz, aby styl xml.

Happy Multilingual Sitemapping!

0

Miałem ten sam problem i znalazłem rozwiązanie. Pobierz wszystkie XSD na dysk lokalny i utwórz nowy plik XSD, który importuje wszystkie przestrzenie nazw.

<?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>