Schema Breadcrumbs in Typoscript

Damit kann man die Schema Breadcrumbs für TYPO3 automatisch generieren. So können Schema Breadcrumbs aussehen: https://www.luna-park.de/blog/29207-strukturierte-daten/#attachment_34620

Zuerst muss man die Breadcrumb Navigation ins Page Template hinzufügen:

page = PAGE
page {
    typeNum = 0

    10 = FLUIDTEMPLATE
    10 {
         dataProcessing {
            10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
            10 {
                special = rootline
                special.range = 0|-1
                as = rootlineNav
            }
         }
     }
}

Das kommt dahin, wo auch die Hauptnavigation konfiguriert wird, z.B. EXT:sitepackage/Configuration/TypoScript/setup.typoscript

Dann kann man das ins Fluid Template hinzufügen:

<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "WebSite",
        "name": "MyWebsiteTitle",
        "url": "<f:uri.page pageUid='1' absolute='true' />"
    }
</script>
<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement":
        [
            <f:for each="{rootlineNav}" as="item" iteration="iterator">
            {
                "@type": "ListItem",
                "position": "<f:format.raw>{iterator.cycle}</f:format.raw>",
                "item":
                {
                    "@id": "<f:uri.page pageUid='{item.data.uid}' absolute='true' />",
                    "name": "{item.title}"
                }
            }<f:if condition="{iterator.isLast} == FALSE">,</f:if>
            </f:for>
        ]
    }
</script>

Zum Testen kann man dann dieses Tool verwenden: https://search.google.com/structured-data/testing-tool

TYPO3 Versionsinfo: den Code habe ich entwickelt und getestet unter TYPO3 10.4 LTS.
In älteren Versionen musste man noch mit den geschweiften Klammern in Fluid aufpassen, das geht mit escaping oder CData.
Die Breadcrumb Navigation mit dataProcessing gibt es seit 8.7 LTS, davor konnte ging das aber auch: https://docs.typo3.org/m/typo3/tutorial-templating/6.2/en-us/Tasks/WorkingTypoScript/MarksSubparts/Breadcrumb/Index.html

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.