在 typo3 中维护 hreflang 外部页面

Maintain hreflang external pages in typo3

我想维护 Typo3 7.6.19 中页面的 hreflang。 这不可能自动实现,因为页面是外部的并且不同。

对于 Yoast-SEO,这种可能性(至少在我的版本中)不会出现。 这是一个旧的 Typo3 版本,所以我不能使用 TER 的扩展名 bgm_hreflang

有人有想法吗?

hreflang 元数据的结构已知。 https://developers.google.com/search/docs/advanced/crawling/localized-versions

我想我发现了。我检查了hreflang是在哪个位置生成的:

headerData {

    10 = HMENU
    10 {
        special = language
        special.value = 0,1
        special.normalWhenNoLanguage = 0
        1 = TMENU
        1 {
            NO = 1
            NO {
                stdWrap.cObject = TEXT
                stdWrap.cObject {
                    value = de || en
                }
                linkWrap = <link rel="alternate" hreflang="|
                doNotLinkIt = 1
                after.cObject = TEXT
                after.cObject {
                    stdWrap {
                        wrap = " href="|" />
                        typolink {
                            parameter.data = TSFE:id
                            #page:uid
                            additionalParams = &L=0 || &L=1
                            returnLast = url
                            forceAbsoluteUrl = 1
                            addQueryString = 1
                            addQueryString.method = GET
                            addQueryString.exclude = gclid,L,id,cHash,no_cache,backPid
                        }
                    }
                }
            }

            CUR = 1
            CUR.doNotShowLink = 1

            # No Translation
            USERDEF1 = 1
            USERDEF1.doNotShowLink = 1

            USERDEF2 < .CUR
        }
    }
 }

然后每页被模板扩展覆盖:

page.headerData.10 >
page.headerData.10 = TEXT
page.headerData.10.value (
(...)
<link rel="alternate" href="https://example.com/" hreflang="x-default" />
)

当然,如果编辑器只需输入 url 作为 HTML 代码就更好了,但目前它适合。