この質問は基本的に サイトマップの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>
(などなど)
要するに:はい。最後の例は正しいです。 <loc>
である各サイトマップURLには、対応するhreflangが必要です(存在する場合)。