Add two SEO-optimized fields to category admin forms:
- Additional Headline: Secondary H1/headline for better SEO structure
- Additional Description: WYSIWYG editor for secondary content below main description
- Magento 2.4.x
- PHP 8.4+
- FlipDev_Core module (provides centralized FlipDev configuration tab)
composer config repositories.flipdev/mage2-core vcs https://github.com/sickdaflip/mage2-core.git
composer require sickdaflip/mage2-corecomposer config repositories.flipdev/mage2-category-additional vcs https://github.com/sickdaflip/mage2-category-additional.git
composer require sickdaflip/mage2-category-additional:dev-mainbin/magento module:enable FlipDev_Core FlipDev_CategoryAdditional
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush- Store View specific
- Text input field
- Optional H1 alternative for SEO
- Located in "Content" section of category admin
- Can be enabled/disabled via admin configuration
- Store View specific
- WYSIWYG editor enabled
- HTML allowed on frontend
- Perfect for additional SEO content below main description
- Can be enabled/disabled via admin configuration
Access via: Stores > Configuration > FlipDev > Category Additional
- Enable Module: Turn the entire module on/off globally
- Enable Additional Headline: Show/hide the headline field in category admin
- Make Required: Make headline mandatory when saving categories
- Default HTML Tag: Choose default HTML tag (H1-H6, DIV, SPAN, P)
- Enable Additional Description: Show/hide the description field in category admin
- Make Required: Make description mandatory when saving categories
- Allow HTML: Enable/disable WYSIWYG editor for HTML content
- Display Position: Suggested position (above/below main, after products, sidebar, custom)
- Cache Lifetime: Set custom cache duration in seconds
- Strip HTML from Headline: Automatically remove HTML tags from headline on frontend
<?php
/** @var \Magento\Catalog\Model\Category $category */
/** @var \FlipDev\CategoryAdditional\Helper\Config $configHelper */
$configHelper = $this->helper(\FlipDev\CategoryAdditional\Helper\Config::class);
// Check if module and headline are enabled
if ($configHelper->isHeadlineEnabled()) {
$additionalHeadline = $category->getData('additional_headline');
$htmlTag = $configHelper->getHeadlineHtmlTag(); // e.g., 'h2'
if ($additionalHeadline) {
if ($configHelper->shouldStripTagsFromHeadline()) {
$additionalHeadline = strip_tags($additionalHeadline);
}
echo "<{$htmlTag}>" . $escaper->escapeHtml($additionalHeadline) . "</{$htmlTag}>";
}
}
?><?php
/** @var \Magento\Catalog\Model\Category $category */
/** @var \FlipDev\CategoryAdditional\Helper\Config $configHelper */
$configHelper = $this->helper(\FlipDev\CategoryAdditional\Helper\Config::class);
// Check if module and description are enabled
if ($configHelper->isDescriptionEnabled()) {
$additionalDescription = $category->getData('additional_description');
$position = $configHelper->getDescriptionPosition();
if ($additionalDescription) {
?>
<div class="additional-description" data-position="<?= $escaper->escapeHtmlAttr($position) ?>">
<?php if ($configHelper->isHtmlAllowedInDescription()): ?>
<?= /* @noEscape */ $additionalDescription ?>
<?php else: ?>
<?= $escaper->escapeHtml($additionalDescription) ?>
<?php endif; ?>
</div>
<?php
}
}
?><?php
/** @var \Magento\Catalog\Model\Category $category */
$additionalHeadline = $category->getData('additional_headline');
$additionalDescription = $category->getData('additional_description');
?>
<?php if ($additionalHeadline): ?>
<h2><?= $escaper->escapeHtml($additionalHeadline) ?></h2>
<?php endif; ?>
<?php if ($additionalDescription): ?>
<div class="additional-description">
<?= /* @noEscape */ $additionalDescription ?>
</div>
<?php endif; ?>- Added backend configuration options
- Module can be enabled/disabled via admin panel
- ACL permissions for configuration access
- Complete rewrite using modern Magento 2.4.x standards
- Data Patches instead of deprecated InstallData
- PHP 8.4 compatibility
- Added i18n support (EN/DE)
- Improved attribute configuration
- Initial release