Seo 带HREFLANG的站点地图的XSD

Seo 带HREFLANG的站点地图的XSD,seo,xsd,sitemap,Seo,Xsd,Sitemap,我们正在推出一个主要网站,支持20种语言和大量区域内容(即针对特定国家或一组国家的内容)。因此,我们在网站地图中有一个使用xhtml:link with rel='hreflang'的教科书用例。我们通常更喜欢从XSD生成类,这样我们就可以通过编程生成保证兼容的XML。我希望找到一个更新的XSD,在定义中包含xhtml:link。然而,我一直被指向基本站点地图xsd:,它不支持xhtml:link(在xhtml-link-1.xsd中定义) 谷歌似乎只支持带有其支持属性的xhtml:link元素

我们正在推出一个主要网站,支持20种语言和大量区域内容(即针对特定国家或一组国家的内容)。因此,我们在网站地图中有一个使用xhtml:link with rel='hreflang'的教科书用例。我们通常更喜欢从XSD生成类,这样我们就可以通过编程生成保证兼容的XML。我希望找到一个更新的XSD,在定义中包含xhtml:link。然而,我一直被指向基本站点地图xsd:,它不支持xhtml:link(在xhtml-link-1.xsd中定义)


谷歌似乎只支持带有其支持属性的xhtml:link元素,但在我尝试手动修改基本的sitemap.xsd以包含它之前,我想看看是否有人花时间发布了一个已经包含并包含的xsd?如果是这样,你能给我指出正确的方向吗?或者,如果我因为某种原因在这里走错了路,我也很欣赏被引导到正确的方向。提前感谢您的帮助

来自谷歌的带有hreflang的站点地图指南是错误的。由于命名空间中不存在xhtml:链接,因此站点地图未验证

将名称空间更改为下面的名称空间,它将进行验证

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

如果将名称空间更改为xmlns:xhtml=”http://www.w3.org/TR/xhtml11/xhtml11_schema.html“这是@datahell建议的,当您尝试验证站点地图时,您将收到来自google的命名空间警告

你应该在他们的例子中使用谷歌的例子。这将导致你的链接看起来像网页上的纯文本,这不是很吸引人

您可能希望也可能不希望设置xml的样式


快乐的多语言网站地图

我也遇到了同样的问题,我找到了解决办法。将所有XSD下载到本地驱动器,并创建一个新的XSD文件以导入所有名称空间

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


看起来不太有希望。如果我最终选择修改XSD,我一定会发布它,以防其他人需要它……谢谢你的评论。再过一两周,我将回到站点地图工作,到时候我会回来用我的发现更新这篇文章。