网址重复

时间:2018-08-01 08:44:03

标签: go hugo

我想使用架构输出我的面包屑,但是@id重复两次URL,有时重复多次?因此,如果我访问about页面,则会看到:

"@id":"http://localhost:1313/about/http://localhost:1313/about/",

当我使用分页时,它会更重复URL:

"@id":"http://localhost:1313/blog/http://localhost:1313/blog//http://localhost:1313/blog/http://localhost:1313/blog//http://localhost:1313/blog/http://localhost:1313/blog/",

我正在使用的代码: 摘自:https://gohugohq.com/partials/breadcrumb-partial-with-structured-data-in-hugo/

{{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" }}
{{ $.Scratch.Add "path" .Site.BaseURL }}

{{ $.Scratch.Add "breadcrumb" (slice (dict "url" .Site.BaseURL "name" "home" "position" 1 )) }}
{{ range $index, $element := split $url "/" }}
{{ $.Scratch.Add "path" $element }}
{{ $.Scratch.Add "path" "/" }}
{{ if ne $element "" }}
{{ $.Scratch.Add "breadcrumb" (slice (dict "url" ($.Scratch.Get "path") "name" . "position" (add $index 2))) }}
{{ end }}
{{ end }}

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [{{ range $.Scratch.Get "breadcrumb" }}{{ if ne .position 1 }},{{ end }}{
        "@type": "ListItem",
        "position": {{ .position }},
        "item": {
          "@id": "{{ .url }}",
          "name": "{{ .name }}"
        }
    }{{ end }}]
}
</script>

2 个答案:

答案 0 :(得分:1)

所以我不确定您的列表页面模板是什么样的,但是例如在我的个人模板中

(name=Alic,  sortValue=2)

应该在什么时候

name   sortValue
Paul       1
Alic       2
Jack       3
April      30

这删除了重复的URL。我在标题部分中渲染了所有相同的代码。

答案 1 :(得分:0)

网址重复的原因有两个

  1. 其已知错误是 Hugo 热重载。但最终的生产版本不会有它。因此,运行 hugo 并检查公共文件夹。
  2. 如果公共文件夹上的问题仍然存在,请检查您正在执行多少部分{{ $.Scratch.Add "path" .Site.BaseURL }}。添加一次后,可以在同一页面的所有部分上从头开始使用相同的数据。

我有关于 breadcrumb partial for hugo with json-ld

的博文

我重复使用相同的划痕在页面上显示面包屑。

不要只是为搜索引擎添加面包屑。也向用户展示。