- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想将一些网址添加到站点地图,这些网址仅针对特定位置,但我不知道如何执行此操作。有大量关于如何将位置特定的 替代品 添加到站点地图(使用 hreflang )的文档,但我找不到任何关于如何仅为特定位置添加页面的资源。我最初的想法是省略 <loc>
值并仅指定 <xhtml:link rel="alternate">
标签,但根据 specification <loc>
是必需的。
那么,将特定位置的 URL 添加到站点地图的正确方法是什么?
最佳答案
备注1
请注意,除 Google 外,还有其他搜索引擎也接受站点地图。 xmlns:xhtml
hreflang
所需的 namespace 站点地图中的属性是站点地图扩展,可能不会被所有搜索引擎接受。站点地图规范没有提到该属性。因此,无论如何我都不会使用它。
备注2
在您的问题中,您使用的是术语 location
和 language
.我不确定你所说的 location
到底是什么意思.但请注意,目标语言、目标语言的特定地区和目标地区之间存在差异(可能与语言或地区无关) .
这个题目有点题外话,这里就不赘述了。我在下面链接的页面中的“支持的语言值”部分有一些相关信息。
可能的解决方案
即使您只关心 Google,您也可能无法做您想做的事 - 乍一看,我也找不到您问题的任何直接答案。
但幸运的是,您不需要将此类元信息填充到站点地图中。相反,您可以将其添加到 <head>
您的 HTML 文件。来自 this document (强调我的):
If you have multiple language versions of a URL, each language page should identify different language versions, >>>>>> including itself <<<<<<. For example, if your site provides content in French, English, and Spanish, the Spanish version must include a rel="alternate" hreflang="x" link >>>>>> for itself <<<<<< in addition to links to the French and English versions. Similarly, the English and French versions must each include >>>>>> the same <<<<<< references to the French, English, and Spanish versions.
很明显,页面不仅可以,而且应该包含rel="alternate" hreflang="<insert uri of page itself here>"
链接。
这可能令人担忧,因为没有一个通情达理的人会称某个给定页面为同一页面的替代页面;另一方面,如果所有这些 <link>
都有意义并简化了事情条目具有相同的形式。这样,您可以插入完全相同的一堆 <link>
进入每个页面(例如通过复制粘贴或让它执行某些工具或脚本)。
这里的关键点是,无论页面是否具有合理的人可以称为“替代”的内容,这都有效。如果没有,则该页面是其自身唯一的“替代”页面,因此只需添加一个,适当的 <link>
到它的<head>
.
现在,回到你的问题,你可以
- 删除所有 xhtml:link
元素和 xmlns:xhtml
站点地图中的命名空间
- 在每一页中,准确添加 hreflang
需要的链接;值得注意的是,在每个只应针对一种语言的页面中,只需添加一个引用该页面本身的链接(具有适当的 hreflang
属性)。
非常不安全的推理
如果您仍然想仅使用站点地图文件来解决您的问题,您最终可以得出结论(通过类推)每个 <loc>
只包含一个备用链接。将产生与 <link>
相同的结果在相应页面的 <head>
.
恕我直言,这个结论很危险,我完全不知道它是否有效。但是您可以尝试使用一个不会影响您的生产网站的新测试页面,看看它是如何工作的。
不过,出于上述原因,我不会那样做。
关于localization - 如何将特定于位置的网址添加到站点地图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41225783/
我正在通过 NodeSchool.io 练习学习 React 和 Express 框架。 我想将所有练习文件存储在具有多个页面的单个应用程序中,例如 索引 索引2 索引3 索引4 .... local
从这里:http://developer.android.com/reference/android/os/AsyncTask.html doInBackground(URL... urls) onP
我最近收到了一封电子邮件,其中包含以下内容(请勿点击!): UNS 这是原始电子邮件的链接:https://gist.github.com/anonymous/16963a230cab0a3a1bc
在 android 中,可以单击带有 URL 的 TextView 以在网络中打开 URL,方法是: android:autoLink="web" 我想做的是捕获这次点击,如果这个 TextView
我在我的网站上以 mysite.anotherdomain.org 的形式实现 Facebook 登录。我在 JavaScript SDK 的文档中做了所有解释,但由于我遇到了一些问题,我想知道错误是
我在 window.location.href 中有响应网址,我需要其中的 error、error_description 和 state 的值 http://localhost:4200/#erro
我正在创建无限加载,意味着当用户到达页面底部/特定 div 时会加载新页面。目前我有这个代码可以在点击时加载新页面。 $("#about").click(function(){ // load
当我们在谷歌引擎中搜索时,它也会显示热门网站标签或链接。就像我们搜索“bing”或“net beans”时一样。 问:它如何显示这些链接。我们是否必须告诉它显示这些链接。 问:它是否与 sitemap
我想从我的网址中获取我的产品。例如: http://www.website.com/product-category/iphone 我想获取 iphone,这对我的代码来说没问题,但我有一个下拉菜单来
我对 Pythonanywhere 完全陌生,我不知道为什么静态文件没有加载...这是我存储 css 和图像的路径,即 static/images/wikiLang.png 等 /static/adm
我正在使用这个正则表达式来验证 youtube 网址。 ^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$ 它很好用。 但我有这个
我刚刚在 gist.github 上传了一个我正在处理的小编码项目,因为它似乎是一次上传几个类的好方法。 我想将某人与我的“要点”联系起来,并在角落里写着: Public Clone URL: git
我正在使用 jQuery 验证引擎来解析我的表单数据: https://github.com/posabsolute/jQuery-Validation-Engine 验证 Twitter URL 的
我有一个 Django 应用程序,它可以在 localhost 上正常工作。即使对于 utf-8 URL 路径也是如此。但是当我在生产中使用它时,它给了我一个错误: 2019-09-01 14:32:
我已经安装了Laravel并开始尝试编写一个应用程序。我在/ app所在的目录中为 Assets 创建了一些目录。但是,当我尝试访问本地主机中的图像时,例如:http://localhost/asse
我们正在寻找一种方法来检查一长串 YouTube 网址,以查找目前私有(private)、已删除或不再可用的视频。我们可以检查状态,但即使视频不再公开可用,URL 也会返回 200。例如这两个: ht
我在 YouTube 上有现场事件,我想在我的网站上播放它。我想将我的事件设为私有(private),获取它的 RTMP 广播 URL 并将其粘贴到我的网站上,在 JWPlayer 中。 那可能吗?
当我在谷歌上搜索我的域时,它会显示我网站上的几个 https 网址,因为谷歌喜欢 https,但出于特殊原因我不想索引 https/ssl 版本。 如何避免这种情况,全世界都只通过 htaccess
我想获取在 Salesforce.com 授权期间作为回调收到的当前 URL。 url 中的数据位于片段部分。 最佳答案 您可以使用 $_SERVER['HTTP_HOST'] 和 $_SERVER[
我正在使用 ionic 创建一个应用程序,其中我使用 iframe 显示 URL。 这是 HTML 代码: 这是 Angular js: $scope.iframeHeight = windo
我是一名优秀的程序员,十分优秀!