Loading...
Skip navigation
Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.

Schema.org for TYPO3

This extension is very easy to use. Simply install and include the delivered static template.

Configuration

You can configure the schema data by using Setup-TypoScript. So, the default configuration looks like:

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
            }
        }
    }
}

For your own schema data, simply modify the structure in settings.page as you need. The parser will build an equal JSON structure and extends the type nodes with an @.

Your root template Setup-TypoScript could look like:

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
            }
        }
    }
}

Different opening hours on different days

If you have different opening hours on different days, for example on saturday, you can configure it like that:

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
                }
            }
            #
            #...
            #
        }
    }
}

How to add social media profiles

Links for some social media profiles or pages can be added like this:

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

Insert video schema data for YouTube, Vimeo, or other

Usage by 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>

Result:

<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

Documentation
TYPO3 Schema-org Extension

TYPO3 Schema-org

This extension is very easy to use. Simply install and include the delivered static template.

Contact request

You can contact us at any time

Stop! Playing in the meantime?
Stop! Playing in the meantime?
Stop! Playing in the meantime?

Stop! Playing in the meantime?

Break the highscore

Press Start
Contact request
Screenreader label
Security question
_A__________J5W______
KB_____R______P___ZN9
_W____WHP_____O______
_8_____D______F___W71
862___________2______