Loading...
Skip navigation

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

Contact request
Screenreader label
Security question
GX8_________OIY______
__M____6______K___2HS
__E___N9R_____S______
__6____J______X___X9L
__9___________8______