PHPackages                             zeroseven/z7-semantilizer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. zeroseven/z7-semantilizer

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

zeroseven/z7-semantilizer
=========================

Simplify your semantic heading structure.

v4.3.3(8mo ago)1151.4k↓18.2%6[1 issues](https://github.com/zeroseven/z7_semantilizer/issues)[2 PRs](https://github.com/zeroseven/z7_semantilizer/pulls)1GPL-2.0-onlyPHPCI failing

Since Aug 20Pushed 2mo ago7 watchersCompare

[ Source](https://github.com/zeroseven/z7_semantilizer)[ Packagist](https://packagist.org/packages/zeroseven/z7-semantilizer)[ RSS](/packages/zeroseven-z7-semantilizer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (48)Used By (1)

The Semantilizer
================

[](#the-semantilizer)

Simplify your semantic heading structure
----------------------------------------

[](#simplify-your-semantic-heading-structure)

The Semantilizer improves the SEO and accessibility of your TYPO3 Website and enhances your possibilities in creating content. Extend the functionality of headlines with this easy-to-use tool that automatically validates and corrects your heading structure.

Your content editors and your users will love it. Your SEO specialists and your designers will love it – and you’ll love the Semantilizer, too, for sure!

[![semantilizer during his work](./Resources/Public/Images/demo.gif)](./Resources/Public/Images/demo.gif)

Installation
------------

[](#installation)

- Get the extension via composer: `composer require zeroseven/z7-semantilizer`
- Make sure the TypoScript setup gets included after the configuration of `fluid_styled_content` to override their partials for the headlines

How it works
------------

[](#how-it-works)

The Semantilizer divides the headline setup of website content elements into two different fields. By detaching the semantic markup from the field `header_layout`, it becomes more simple and flexible for editors to e. g. change the font size of a headline without changing its position in the headline hierarchy.

[![detachment](./Resources/Public/Images/form.png)](./Resources/Public/Images/form.png)

The Semantilizer provides real-time validation in the TYPO3 backend. It instantly notifies you about illogical headline structures which can then automatically be fixed with just one click. Within the TYPO3 Page module, you can get a clear overview of a page and its structure, and easily adjust the headline hierarchy using drag-and-drop.

[![semantic overview](./Resources/Public/Images/overview.png)](./Resources/Public/Images/overview.png)

### Validation

[](#validation)

When displaying the headline structure of a page, the Semantilizer loads its frontend rather than just crawling information from the database. That way, it automatically includes information from other extensions and backend layouts – without any special configuration being necessary. It also includes headlines from RTE content and referenced content elements. This feature makes the extension highly reliable and flexible, as the overview includes all headlines that can possibly be there.

Setup
-----

[](#setup)

### Render headlines

[](#render-headlines)

You’ll need to render your headlines via an extra ViewHelper in order to be able to edit or correct them automatically in the backend overview. The `edit` attribute of the ViewHelper gives the Semantilizer all the necessary information about the current headlines.

```

        {data.header}

        {data.header}

```

💡 *These infos will only be added to the headline if the editor is logged in to the TYPO3 backend and if the request is made by the Semantilizer. Adding to that, a background check regarding the required editor access rights will be made.*

### Deactivate the Semantilizer

[](#deactivate-the-semantilizer)

Let's take a detail page of the "news" extension: It can make sense to deactivate the Semantilizer. On a page like this, you usually have different page content depending on parameters. Therefore you can disable the Semantilizer via TSconfig.

```
tx_semantilizer.disabledPages := addToList(22)

```

The same configuration can be made for page types in general:

```
tx_semantilizer.disabledDoktypes := addToList(33)

```

### Define validation areas

[](#define-validation-areas)

The Semantilizer checks the whole page `body` when standard settings are selected. If you want to have particular parts of the page checked, this can be adjusted in TSconfig settings by providing the necessary `querySelector`:

```
tx_semantilizer.contentSelectors = #main-content, .sidebar, div[role=banner]

```

### Connect headlines

[](#connect-headlines)

Create logical connections between your headlines with the Semantilizer by assigning a `relationId` to a headline so that others can connect to it. Now you can control their semantic markup either via the `ChildViewHelper` in a dynamic hierarchical way (see example). Or you can use the `SiblingViewHelper` to unchangedly mirror the semantic markup on connected headlines instead of making them hierarchical.

```

    {data.header}

            {product.header}
            {product.description}

```

💡 *As long as the `edit` attribute for the headline is set, there will be a standard fallback of `[tablename]:[uid]` as `relationId`.*

Tips
----

[](#tips)

If you want to make the labels of `header_layouts` more understandable, overwrite them like so:

```
TCEFORM.tt_content.header_layout {
  removeItems = 1,2,3,4,5,6
  altLabels.. = Medium
  addItems {
    large = Large
    small = Small
    pink_sparkling_bouncing_header = 🦄
  }
}

```

Release notes:
--------------

[](#release-notes)

### Version 4.0:

[](#version-40)

- Compatibility with TYPO3 12 (dropped support for TYPO3 10 and 11)
- Refactored JavaScript, based on TypeScript
- Working with [ES6 JavaScript modules](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/Backend/JavaScript/ES6/)

### Version 3.0:

[](#version-30)

- Refactored JavaScript based headline validation
- Refactored backend overview
- Custom viewHelpers

### Version 2.2

[](#version-22)

- Compatibility with TYPO3 11
- Switch from npm to yarn

### Version 2.1:

[](#version-21)

- Support multiple colPos (with ordering) depending on backend\_layout

### Version 2.0:

[](#version-20)

- Refactoring of backend validation on PHP side
- Introduce dashboard widget for TYPO3 10 🎉
- **Breaking change:** FixedTitleInterface has updated parameters, please adapt

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance73

Regular maintenance activity

Popularity38

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 56.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~75 days

Recently: every ~56 days

Total

32

Last Release

115d ago

Major Versions

v0.6.0 → v1.0.02020-03-05

v1.1.1 → v2.0.02020-06-12

v2.2.0 → v3.0.12022-03-24

v3.0.1 → v4.0.02023-05-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/6b22f8a50cfbda138fd9d18f9a9323a9ab93434487122956978e804dee700876?d=identicon)[zerosevendesignstudios](/maintainers/zerosevendesignstudios)

---

Top Contributors

[![srosskopf](https://avatars.githubusercontent.com/u/17512766?v=4)](https://github.com/srosskopf "srosskopf (22 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")[![ochorocho](https://avatars.githubusercontent.com/u/4623070?v=4)](https://github.com/ochorocho "ochorocho (2 commits)")[![lwinterhalder](https://avatars.githubusercontent.com/u/12656324?v=4)](https://github.com/lwinterhalder "lwinterhalder (2 commits)")[![revoltek-daniel](https://avatars.githubusercontent.com/u/5931272?v=4)](https://github.com/revoltek-daniel "revoltek-daniel (1 commits)")[![davidsteeb](https://avatars.githubusercontent.com/u/3862523?v=4)](https://github.com/davidsteeb "davidsteeb (1 commits)")[![teneris](https://avatars.githubusercontent.com/u/773723?v=4)](https://github.com/teneris "teneris (1 commits)")[![pdaether](https://avatars.githubusercontent.com/u/1213181?v=4)](https://github.com/pdaether "pdaether (1 commits)")[![raphaelthanner](https://avatars.githubusercontent.com/u/19648920?v=4)](https://github.com/raphaelthanner "raphaelthanner (1 commits)")[![raphaeludg](https://avatars.githubusercontent.com/u/218826395?v=4)](https://github.com/raphaeludg "raphaeludg (1 commits)")

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/zeroseven-z7-semantilizer/health.svg)

```
[![Health](https://phpackages.com/badges/zeroseven-z7-semantilizer/health.svg)](https://phpackages.com/packages/zeroseven-z7-semantilizer)
```

###  Alternatives

[in2code/powermail

Powermail is a well-known, editor-friendly, powerful and easy to use mailform extension for TYPO3 with a lots of features

982.5M38](/packages/in2code-powermail)[fluidtypo3/flux

The flux package from FluidTYPO3

152982.2k20](/packages/fluidtypo3-flux)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

96374.6k23](/packages/friendsoftypo3-content-blocks)[derhansen/sf_event_mgt

Configurable event management and registration extension based on ExtBase and Fluid

64313.9k6](/packages/derhansen-sf-event-mgt)[typo3/cms-t3editor

TYPO3 CMS T3Editor - JavaScript-driven editor with syntax highlighting and code completion. Based on CodeMirror.

115.9M50](/packages/typo3-cms-t3editor)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

39488.5k](/packages/wazum-sluggi)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
