VOOZH about

URL: https://www.coding.ms/documentation/typo3-schema-org

⇱ TYPO3 Schema-org | TYPO3 Schema-org: coding.ms


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

Last change: 2022-11-18
Documentation

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

About Cookies

We use cookies on our website. Some of them are essential, while others help us to improve this website and your experience. You can optionally decide which cookies or rather which use you approve to at any time under "cookies settings". You can find further information regarding this, as well as your constant right of cancellation under our Data Protection Declaration. Our Imprint can be found here.