指定站点地图语言(所有站点地图的语言相同)

Posted

技术标签:

【中文标题】指定站点地图语言(所有站点地图的语言相同)【英文标题】:Specify sitemap language (same language for all sitemap) 【发布时间】:2020-10-15 07:24:43 【问题描述】:

根据 Google 的说法,您可以像这样在站点地图中指定语言:

<url>
<loc>http://www.example.com/english/page.html</loc>
<xhtml:link 
           rel="alternate"
           hreflang="de"
           href="http://www.example.com/deutsch/page.html"/>
<xhtml:link 
           rel="alternate"
           hreflang="en"
           href="http://www.example.com/english/page.html"/>
</url>

但是,我只需要指定所有站点地图/网站都是西班牙语,这意味着它不是多语言站点地图,而是一种语言站点地图,但该语言恰好是“西班牙语”。

我应该为每个 URL 添加一个hreflang 标签吗?还是有更好的方法来做到这一点,比如在标题部分指定它?

【问题讨论】:

XML 是一种特定的站点地图语言,woorank.com/en/edu/seo-guides/xml-sitemaps 【参考方案1】:

不,为站点地图 xml 设置标题只会为 sitemap.xml 设置它,而不是为站点地图中声明的所有位置设置它。您必须为所有位置声明它。

检查了URL inspection tool 以查看 Google 尝试为您的网站编制索引时是否有任何错误。

如果您有权访问服务器,则可以按照以下几行设置Link 响应标头。

Nginx

add-header Link <$scheme://$host$request_uri>; rel="alternate"; hreflang="es"

阿帕奇

Header set Link "<%REQUEST_SCHEME://%HTTP_HOST%REQUEST_URI>; rel=\"alternate\"; hreflang=\"es\""

此外,您可以在您网站中每个页面的“html”标签或“link”标签上设置“lang”属性。如果您的网站是使用静态网站生成器构建的,则可以为此使用模板。

如果您只能在 Cloud Console 中访问,则必须在 sitemap.xml 中为您网站中的每个位置输入一个条目。

【讨论】:

我拥有对服务器的完全访问权限。那么,没有办法在站点地图 xml 文件的标题中指定语言吗?我正在尝试这样做,因为 Google 仅索引了我大约 2% 的网页(有 50,000 个),所以我认为未指定语言可能是其中的一个因素。 否,为站点地图 xml 设置标头仅针对站点地图.xml 设置它,而不是站点地图中声明的所有位置。您必须为所有位置声明它。您是否使用 URL 检查工具检查过 Google 尝试将您的网站编入索引时是否有任何错误support.google.com/webmasters/answer/9012289 好的,这澄清了我的问题。那么,就 Google 效率而言,为每个链接指定语言/区域是否有帮助?是的,我已经使用搜索控制台进行 URL 检查,并且有数千个链接被标记为“已发现,未编入索引”而没有错误。您能否将您之前的评论发布为答案,以便我将其标记为正确答案? 是的,为每个链接指定语言对 SEO 的好处很有帮助。 非常感谢!!请将您之前的评论发布为答案,以便我将其标记为“已接受的答案”(我不能为 cmets 这样做)

以上是关于指定站点地图语言(所有站点地图的语言相同)的主要内容,如果未能解决你的问题,请参考以下文章

利用ASP.NET里自带的站点地图工具制作网站站点地图

在 Heroku 中构建可下载的站点地图 zip 文件

Scrapy抓取所有站点地图链接

同一站点的多个域的站点地图

Google站点地图索引 - 包含参数的站点地图位置

使用 PHP 动态创建站点地图 [重复]