- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这不是 SEO 问题。
我很好奇如何以与所用语言相关的语义正确方式标记 HTML。如果我的标记有误,请纠正我。
我的问题是:当我已经在 中使用了
标签? hreflang
属性时,我还需要在 html
标签中使用 lang
属性吗?链接
这两个指令在语义上是否不同?我的意思是:两个示例中 link
标记中的自引用在语义上是否会被理解为指示文档的语言?
下面的代码示例可能会澄清我的问题:
英文网页示例
http://example.com/en/
<!DOCTYPE html>
<html lang="en">
<head>
<title>English webpage</title>
<link rel="canonical" href="http://example.com/en">
<link rel="alternate" href="http://example.com/en/" hreflang="en">
<link rel="alternate" href="http://example.com/nl/" hreflang="nl">
<link rel="alternate" href="http://example.com/en/" hreflang="x-default">
</head>
<body>
<p>This is a webpage written in English.
This page is also available in Dutch.
The default language of this page is English.
</body>
</html>
荷兰网页示例
http://example.com/nl/
<!DOCTYPE html>
<html lang="nl">
<head>
<title>Nederlandse webpagina</title>
<link rel="canonical" href="http://example.com/nl">
<link rel="alternate" href="http://example.com/en/" hreflang="en">
<link rel="alternate" href="http://example.com/nl/" hreflang="nl">
<link rel="alternate" href="http://example.com/en/" hreflang="x-default">
</head>
<body>
<p>Dit is een Nederlandstalige web pagina.
Deze pagina is beschikbaar in het Engels.
De standaardtaal van deze pagina is Engels.
</body>
</html>
最佳答案
您应该始终在 html
元素上提供 lang
属性。
与您的案例相关的两个原因:
HTML 规范描述了 how the language of a node gets determined . hreflang
属性在这里不起作用。
如果您没有在 html
元素上提供 lang
,此节点没有语言。
安alternate
如果 link
-hreflang
的值与 的值不同,+
-hreflang
链接仅被解释为指向当前文档的翻译>htmllang
:
If the
alternate
keyword is used with thehreflang
attribute, and that attribute’s value differs from the root element’s language, it indicates that the referenced document is a translation.
如果您不在 html
元素上提供 lang
,alternate
+hreflang
链接不被视为指向翻译。
即使用户代理通过考虑自引用¹ alternate
+hreflang
链接来推断文档的语言,也有可能失败的情况:
如果 HTML 文档在本地打开,它不再有 HTTP URL,因此用户代理无法推断出 alternate
+hreflang
链接引用这个文档。
如果通过不同的 URL 检索 HTML 文档(例如,使用跟踪参数),alternate
+hreflang
链接不再指向当前 URL ,因此用户代理无法推断它也适用于此 URL。
(使用 canonical
链接,这两种情况都可以缓解,但这是用户代理必须支持的另一件事。并非所有人都支持。)
¹ 严格来说,自引用alternate
+hreflang
超链接不是语义的,因为alternate
被定义为引用“当前文档的替代表示”,但文档当然不是其自身的替代表示。然而,作为Google Search documents its use ,现在看到此标记很常见。
关于html - hreflang 和 lang 属性的语义使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438763/
关于 Google's hreflang documentation ,在 2 种语言的例子中,它说: Imagine you have an English language page hosted
基于Google info about hreflang ,我想出了这个,但我有 en 和默认指向相同的 URL,而不是有另一个 en/。那会好吗?我不想创建另一个文件夹,因为它需要额外维护。 基本上
我需要一些帮助来修复我的多语言网站上的潜在错误。它有3种语言;英语、土耳其语和俄语。默认为英文。 关于主页的问题 当我们通过http://example.com/访问页面时,有如下元数据:
我的问题是 应该像上面的所有页面一样,或者应该用每个页面的实际 url 来改变,比如: " hreflang="en"> " hreflang="it"> " hreflang="x-defaul
我在下面的链接标签中使用了多种语言,有两个问题 我应该添加 吗?在网址中 http://domain.com/?hl=en或 http://domain.com/?hl=es ? 我应该添加 吗?
我正在做多语言搜索引擎优化,我有英语、法语、西类牙语版本的网页。因此,对于英文页面,我有 example.com/en,页面内容默认为英文页面。 但是,在法语页面中,http://example
希望在多语言网站上使用 hreflang。场景如下: 最初,同一个网站有 3 个版本(过时的、不符合 SEO 标准的、包含 Flash 的)。英文、韩文、中文。我们将英文版本更新为全新(SEO 友好)
我的任务是更新我们的 hreflang 标签以与用户所在的站点相关。例如... 目前它是硬编码的,如 但是说用户已经导航到 products/tabletimes页面所以 URL 实际上是 https
我的网站没有多种语言 - 因此,添加一种语言会有什么好处或坏处?例如: 最佳答案 稍微增加下载页面大小可能会有一些小危害。我认为您的情况没有任何好处。 关于html - 我需要单一语言网站的 hre
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我在 HTML 下有这样的东西 : 我只为 x-default 触发索引链接,Google 会抓取所有这些但不会在搜索结果中显示它们,除了 x-default一个,无论我的位置在哪里。
我最近在我的网站上添加了德语支持,现在我想在搜索结果中向讲德语的访问者显示我网站的德语版本,并向所有其他访问者显示英语版本。我已将此链接标记添加到我的默认页面 (https://example.com
我最近在 Google 网站管理员控制台上遇到越来越多的“hreflang no return tags”错误,我不知道我错过了什么。我的网站是 www.example.com,它可以用不同的语言访问
我需要 hreflang 标签吗?我的网站结构有点像这样: mysite.com/zh-cn/producta mysite.com/zh-cn/producta mysite.com/en-in/p
我们在 Magento 中有一个多商店设置 - 嗯,两个商店设置: 美元交易英语, CAD 交易英语 “en”商店使用默认 URL — 即 domain.com/“en-ca”商店设置为子文件夹——即
我对适用于 BR 和 EN 版本的巴西网站的 hreflang 代码有疑问。我从事 SEO 服务,我需要知道为什么 Googlebot 无法识别这个英文版本。网址是:http://presscell.
所以我只在我的 INDEX 页面上使用 href lang,像这样: 但我在谷歌网站管理员工具中不断收到这些错误 Google has detected that some pages on you
这看起来对吗? SEO 专家说这是这样做的方法,但出于某种原因我认为这可能是错误的,因为我们对不同的 hreflang 使用相同的 url Google 会因此惩罚网站吗?
我一直都明白,因为没有 en-EU IETF 标签,要定位欧洲,我必须使用 en 或列出一个 hreflang 适用于欧洲的每个国家/地区。 查看 Think With Google 的来源,我注意到
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 去年关闭。 Improve this
我是一名优秀的程序员,十分优秀!