我想使用架构输出我的面包屑,但是@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>
答案 0 :(得分:1)
所以我不确定您的列表页面模板是什么样的,但是例如在我的个人模板中
(name=Alic, sortValue=2)
应该在什么时候
name sortValue
Paul 1
Alic 2
Jack 3
April 30
这删除了重复的URL。我在标题部分中渲染了所有相同的代码。
答案 1 :(得分:0)
网址重复的原因有两个
hugo
并检查公共文件夹。{{ $.Scratch.Add "path" .Site.BaseURL }}
。添加一次后,可以在同一页面的所有部分上从头开始使用相同的数据。我有关于 breadcrumb partial for hugo with json-ld
的博文我重复使用相同的划痕在页面上显示面包屑。
不要只是为搜索引擎添加面包屑。也向用户展示。