web-dev-qa-db-ja.com

XMLサイトマップを使用する場合の「リターンタグなし」

この質問は基本的に サイトマップのhreflangタグ-サイトにhreflangタグがありません の複製であり、応答がありませんでした。

HTMLでHREFLANGタグを使用していません。代わりに、私はそれらをすべてXMLサイトマップに入れています。

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/</loc>
     <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/" />
  </url>
  <url>
    <loc>http://www.example.com/quienessomos/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/quienessomos/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/quienessomos/" />
  </url>
  <url>
    <loc>http://www.example.com/comofunciona/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/comofunciona/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/comofunciona/" />
     <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/comofunciona/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/comofunciona/" />
  </url>
  <url>
    <loc>http://www.example.com/contact/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/contact/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/contact/" />
     <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/contact/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/contact/" />    
  </url>

  <url>
    <loc>http://blog.example.com/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://blog.example.com/en/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://blog.example.com/es/" />    
  </url>

</urlset>

このサイトマップは何ヶ月も問題なく存在していました。しかし、1週間前に、Google Search Consoleは「リターンタグなし」エラーがあると警告し始めました。 「en」バージョンには4つのエラーがあります。

次に、「fr」バージョンにも同じ4つのエラーがあると表示されます。奇妙なことに、「de」バージョンでは、ルートURL(「/」->「 http://www.example.com/de/ ")」に対して1つのエラーしか表示されません。

HREFLANGタグは双方向であるべきだという考えを理解しています。私が理解していないのは、XMLサイトマップにタグを配置するときにそれを実装する方法です。すべての代替言語とページに次のような新しいエントリを追加する必要がありますか?

<url>
   <loc>http://www.example.com/en/quienessomos/</loc>
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/quienessomos/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/quienessomos/" />
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/quienessomos/" />
     </url>

  <url>
   <loc>http://www.example.com/fr/quienessomos/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/quienessomos/" />
    <xhtml:link rel="alternate" hreflang="de" href="http://www.example.com/de/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/quienessomos/" />
     <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/quienessomos/" />
</url>

(などなど)

1
PaulJ

要するに:はい。最後の例は正しいです。 <loc>である各サイトマップURLには、対応するhreflangが必要です(存在する場合)。

2
Evgeniy