本文

之前 Google Console 不斷提醒網頁結構有問題。
就是這個…

之前都直接手動修改,昨天心血來潮決定把源頭找出來到底出在哪裡
經過同事幫忙,發現在主題資料夾下有一個 seo_schema.html 檔案。
詳細路徑在 themes\LeaveIt\layouts\partials\seo_schema.html
裡面長這樣:

一開始裡面就少了一個括號,只要把這邊補上就正常啦。

{
    "@context" : "http://schema.org",
    "@type" : "BlogPosting",
    "mainEntityOfPage": {
         "@type": "WebPage",
         "@id": "{{ .Site.BaseURL }}"
    },
    "articleSection" : "{{ .Section }}",
    "name" : "{{ .Title }}",
    "headline" : "{{ .Title }}",
    "description" : "{{ if .Description }}{{ .Description }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ end }}{{ end }}",
    "inLanguage" : "{{ .Site.LanguageCode }}",
    "author" : "{{ if isset .Params "author" }}{{ .Params.author }}{{ else }}{{ .Site.Params.author }}{{ end }}",
    "creator" : "{{ if isset .Params "author" }}{{ .Params.author }}{{ else }}{{ .Site.Params.author }}{{ end }}",
    "publisher": "{{ if isset .Params "author" }}{{ .Params.author }}{{ else }}{{ .Site.Params.author }}{{ end }}",
    "accountablePerson" : "{{ if isset .Params "author" }}{{ .Params.author }}{{ else }}{{ .Site.Params.author }}{{ end }}",
    "copyrightHolder" : "{{ if isset .Params "author" }}{{ .Params.author }}{{ else }}{{ .Site.Params.author }}{{ end }}",
    "copyrightYear" : "{{ .Date.Format "2006" }}",
    "datePublished": "{{ .Date }}",
    "dateModified" : "{{ .Date }}",
    "url" : "{{ .Permalink }}",
    "wordCount" : "{{ .WordCount }}",
    "keywords" : [{{ if isset .Params "tags" }}{{ range .Params.tags }}"{{ . }}",{{ end }}{{ end }} {{with .Site.Title}}"{{ .}}"{{ end }}]
}

目前還有另一個已知問題,字串中的逸出序列無效。

目前已知情況應該是時間格式不對查找其他相關 Hugo 發現原版日期格式應該是 yyyy-MM-dd’T’HH:mm:ss.SSSZ ,所以產生出來日期格式應該要是 2020-11-25 22:19:33 +0800 CST ,但從這邊可以發現+號變成了\x2b。

目前試過了幾個方法還找不到正常解法,以下提供偏方給大家參考。
打開 VS CODE,以資料夾方式打開 hugo 資料夾。

按下 Cirl+Shift+F,將\x2b全部取代為+。

後記

畢竟是開源的主題,作者似乎也沒再更新了。
這次找問題發現自己對前端真的是了解甚少,最後還是只能求助同事協助,之後如果有找到更好的解法再來更新這篇;或是直接換主題(?