Schema.org für TYPO3

Diese Erweiterung für TYPO3 ist einfach zu verwenden - einfach installieren und das mitgelieferte Static-Template einbinden.

Konfiguration

Sie können die Schema-Daten einfach mit Hilfe von Setup-TypoScript konfigurieren. Die Standard-Konfigration sieht wie folgt aus:

plugin.tx_schemaorg {
    settings {
        page {
            # context is not required
            # Find other types on:
            # http://schema.org/LocalBusiness
            type = ProfessionalService
            name = Your company name
            url = {$themes.configuration.baseurl}
            telephone = +49 12 34 56 78 0
            image {
                type = ImageObject
                url = https://www.../logo.svg
                caption = Your company name
            }
            address {
                type = PostalAddress
                streetAddress = Musterstrasse 123
                addressLocality = Musterstadt
                postalCode = 54321
            }
            geo {
                type = GeoCoordinates
                latitude = 51° 54' 15.48'' N
                longitude = 7° 38' 51.65'' E
            }
            # Opening hours
            openingHoursSpecification {
                type = OpeningHoursSpecification
                dayOfWeek {
                    # Builds a JSON array into node dayOfWeek
                    ARRAY = Monday,Tuesday,Wednesday,Thursday,Friday
                }
                opens = 09:00
                closes = 21:00
            }
            # Contact
            contactPoint {
                type = ContactPoint
                telephone = +49 12 34 56 78 0
                # contact types for phone numbers:
                # https://developers.google.com/search/docs/data-types/corporate-contacts
                contactType = customer service
            }
        }
    }
}

Für Ihre eigenen Schema-Daten müssen Sie einfach die Struktur in settings.page nach Ihren Bedürfnissen anpassen. Der interne Parser erstellt aus dieser Struktur ein JSON und erweitert type Knoten mit einem @.

Ihr Setup-TypoScript könnte wie folgt aussehen:

plugin.tx_schemaorg {
    settings {
        page >
        page {
            type = ProfessionalService
            name = company name
            url = {$themes.configuration.baseurl}
            telephone = +49 123 456 789
            image {
                type = ImageObject
                url = https://www.../logo.svg
                caption = coding.ms
            }
        }
    }
}

Unterschiedliche Öffnungszeiten an Wochentagen

Wenn Sie unterschiedliche Öffnungszeiten an Wochentagen haben, bspw. am Samstag, können Sie das wie folgt konfigurieren:

plugin.tx_schemaorg {
    settings {
        page {
            #
            #...
            #
            # Opening hours
            openingHoursSpecification {
                0 {
                    type = OpeningHoursSpecification
                    dayOfWeek {
                        # Builds a JSON array into node dayOfWeek
                        ARRAY = Monday,Tuesday,Wednesday,Thursday,Friday
                    }
                    opens = 09:00
                    closes = 21:00
                }
                1 {
                    type = OpeningHoursSpecification
                    dayOfWeek {
                        # Builds a JSON array into node dayOfWeek
                        ARRAY = Saturday
                    }
                    opens = 09:00
                    closes = 12:00
                }
            }
            #
            #...
            #
        }
    }
}

Socialmedia-Profile hinzufügen

Links zu Socialmedia-Profilen oder anderen Seiten können wie folgt hinzugefügt werden:

plugin.tx_schemaorg {
    settings {
        page {
            #
            #...
            #
            sameAs {
                # Simply add multiple pages divided by comma
                ARRAY = https://twitter.com/codingms,https://www.instagram.com/codingms/
            }
            #
            #...
            #
        }
    }
}

Video Schema-Daten für YouTube, Vimeo, und weitere

Verwendung via ViewHelper:

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
      xmlns:schemaOrg="http://typo3.org/ns/CodingMs/SchemaOrg/ViewHelpers"
      data-namespace-typo3-fluid="true">

    <f:for each="{product.otherImages}" as="videoItem" iteration="videoItemsIteration">
        <f:if condition="{videoItem.originalResource.originalFile.properties.mime_type} === 'video/youtube'">
            <schemaOrg:video file="{videoItem}" />
        </f:if>
    </f:for>

</html>

Ergebnis:

<script type="application/ld+json">{
    "@context": "https:\/\/schema.org",
    "@type": "VideoObject",
    "contentURL": "https:\/\/www.youtube.com\/watch?v=1ZuZlPbomGg",
    "description": "EIBACH | PRO-KIT | Performance Fahrwerksfedern (Deutsch)",
    "name": "EIBACH | PRO-KIT | Performance Fahrwerksfedern (Deutsch)",
    "thumbnailUrl": "https:\/\/i.ytimg.com\/vi\/1ZuZlPbomGg\/hqdefault.jpg",
    "uploadDate": "2019-02-28T08:05:48+00:00"
}
</script>

Links