HTML <link rel="canonical"> 是关于 URL 还是内容或两者?

Is the HTML <link rel="canonical"> about URL or content or both?

HTML <link rel="canonical"> 是指 URL 还是内容或两者?

我有一部分网站是用 HTML + CSS + JavaScript 完成的,没有服务器端。当用户使用根 URL 进入站点时,将加载 /index.htm。根 index.htm 重定向到 /site1/index.htm

我想指出 /site1/index.htm 的规范 URL 应该是 /index.htm,而那个的规范 URL 又应该是 /,所以如果以后需要,重定向可以转到其他地方。从这个意义上讲,指定规范 URL 旨在表明用户在到达 /site1/index.htm.

时应尽可能通过指定路径进入站点。

我想知道在 /site1/index.htm 中指定 <link rel="canonical" href="/index.htm"> 并在 /index.htm 中指定 <link rel="canonical" href="/"> 是否可以实现此目的。 (我知道推荐绝对 URLs,但这可能并不总是可行的。)

Web 服务器可以是 IIS、Apache 或其他。我无法触摸服务器配置或 headers 或 htaccess。

这可以在 HTML 或 JavaScript 中完成吗? (我知道 JavaScript 不会影响 SEO,但它可能与重定向有关。目前,重定向是使用元刷新和 JavaScript location = '' 完成的,带有后备 link 供用户单击。如前所述,不能触摸 headers 或服务器配置。)

此外,如果按上述方式使用 <link rel="canonical">,搜索引擎会索引目标内容而不是指定页面吗?例如,搜索引擎会假定 /site1/index.htm 的内容与 /index.htm 相同,以便 URL /site1/index.htm 会与 [=14= 的实际内容相关联]?

我是新来的,所以我不知道这是否超出主题,但我会尽力回答这个问题。

<link rel="canonical"> 有点直截了当。它是这样工作的。

当搜索引擎蜘蛛抓取您的网页时,它会告诉他 URL 应该为该特定网页编制索引。在可能对特定内容进行不同 URL 访问的情况下,它非常有用。 (其他非 www 和 www URLs 中的一个示例)

示例:您的网站上的特定类别有多个产品页面,因为您使用了分页。在这种情况下,您的分页内容页面 1、页面 2、页面 3 等将有多个 URLs...添加指向所有这些页面的第一页的 <link rel="canonical"> 标记将告诉搜索引擎应该只索引第一页而不是索引所有分页页面。

基本上你告诉蜘蛛不要索引这个 URL 而索引其他 URL。

在您的特定情况下,/index.htm 很可能是到 /site1/index.htm 的 301 重定向。风险是 Google 不会索引您的页面,因为您告诉它不要索引 /site1/index.htm 上的内容,而是索引 index.htm 但此页面没有内容,因为它提供了重定向.

我知道您说过您无权访问 .htaccess 文件,但我唯一能在不触及 FTP 上的文件夹结构的情况下使用 .htaccess 重写 /site1/index.htm/index.htm 然后添加规范标签只是为了安全,因为拥有规范标签是一种很好的做法。