.. include:: /Includes.rst.txt

.. _introduction:

============
Introduction
============

.. contents:: Table of Contents
   :depth: 1
   :local:

.. _what-it-does:

What does it do?
================

Structured data is essential for search engine optimisation nowadays. This
extension allows the easy integration of structured data based on the
`schema.org vocabulary`_ on a TYPO3 website. A good introduction to the topic is
provided by Google: `Understand how structured data works`_.

The defined structured data is embedded on a web page in `JSON-LD`_ markup and
can be checked with the `Schema Markup Validator`_ and Google's
`Rich Results Test`_. The JSON-LD generated by this extension can also be
reviewed in the :ref:`Admin Panel <admin-panel>`.

.. tip::
   There is a Slack channel `#ext-schema`_ on `typo3.slack.com`_ for questions,
   suggestions, feedback, etc.


.. _vocabulary:

The schema.org vocabulary
=========================

Schema.org is a set of extensible schemas that enables webmasters to embed
structured data on their web pages for use by search engines and other
applications. The vocabulary is divided into different sections:

*  The **core** section provides all default types and properties, like
   `Person` or `Organization`.
*  The **pending** section is a staging area for work-in-progress terms which
   have yet to be accepted into the core vocabulary. `Pending terms`_ are subject
   to change and should be used with caution. On the schema.org website they
   are displayed in a blue colour.
*  The **auto** section provides additional terms related to `auto`_.
*  The **bib** section provides additional terms related to `bibliography`_.
*  The **health-lifesci** section provides additional terms related to
   `health and lifesciences`_.

.. note::
   This TYPO3 schema extension provides the terms for the core section. To
   use terms from other sections you can extend the vocabulary on your own as
   described in the :ref:`according chapter <extending-vocabulary>` or use one
   of the additional TYPO3 extensions provided by the author of this extension:

   *  `schema_auto`_
   *  `schema_bib`_
   *  `schema_health`_
   *  `schema_pending`_

The schema.org vocabulary is evolving, several times a year a new version is
`released`_. The TYPO3 extensions are updated when relevant changes are made to
the according vocabulary. The classes for the type models and view helpers are
generated by the `schema-generator`_ library.

You can browse through a :ref:`list of types <available-types>` available
in a TYPO3 installation.

.. _release-management:

Release management
==================

This extension uses `semantic versioning`_ which basically means for you, that

*  Bugfix updates (for example, 1.0.0 => 1.0.1) just includes small bug fixes or
   security relevant stuff without breaking changes.
*  Minor updates (for example, 1.0.0 => 1.1.0) includes new features and smaller
   tasks without breaking changes.
*  Major updates (for example, 1.0.0 => 2.0.0) breaking changes which can be
   refactorings, features or bug fixes.

The changes between the different versions can be found in the
:ref:`changelog <changelog>`.


.. _#ext-schema: https://typo3.slack.com/app_redirect?channel=CV36M73D5
.. _auto: https://schema.org/docs/auto.home.html
.. _bibliography: https://schema.org/docs/bib.home.html
.. _health and lifesciences: https://schema.org/docs/health-lifesci.home.html
.. _JSON-LD: https://json-ld.org/
.. _Pending terms: https://schema.org/docs/pending.home.html
.. _released: https://schema.org/docs/releases.html
.. _Rich Results Test: https://search.google.com/test/rich-results
.. _schema.org vocabulary: https://schema.org/
.. _Schema Markup Validator: https://validator.schema.org/
.. _schema-generator: https://github.com/brotkrueml/schema-generator
.. _schema_auto: https://extensions.typo3.org/extension/schema_auto
.. _schema_bib: https://extensions.typo3.org/extension/schema_bib
.. _schema_health: https://extensions.typo3.org/extension/schema_health
.. _schema_pending: https://extensions.typo3.org/extension/schema_pending
.. _semantic versioning: https://semver.org/
.. _typo3.slack.com: https://typo3.slack.com/
.. _Understand how structured data works: https://developers.google.com/search/docs/guides/intro-structured-data
