Hallo zusammen,
ich bin aktuell dabei, die strukturierten Metadaten auf Kategorieseiten zu optimieren – konkret die Open Graph und Twitter Card Bilder (og:image
, twitter:image
). Die Idee ist ganz einfach:
Zeige das Kategoriebild – und wenn keines vorhanden ist, das Shoplogo als Fallback.
Doch egal was ich versuche: es wird immer nur das Shoplogo ausgegeben, auch wenn die Kategorie korrekt ein Bild hat.
Mein Setup:
- Shopware 6.6.10.3
- ThemeWare Electric (Pro)** aktiv
- Eigene Twig-Extension über Plugin
SeoCategoryStructuredData
- Ziel:
layout_head_meta_og_image
sauber überschreiben - Kategorie hat definitiv ein Bild (
category.media
) – mehrfach geprüft
Mein Template-Override:
{# Pfad: custom/plugins/SeoCategoryStructuredData/src/Resources/views/storefront/themeware/twt-base-meta-tags.html.twig #}
{% sw_extends '@TcinnThemeWareElectric/storefront/themeware/twt-base-meta-tags.html.twig' %}
{% block twt_layout_head_meta_tags %}
{% block layout_head_meta_og_image %}
{% set imageUrl = null %}
{% if category is defined %}
{% if category.media is defined and category.media is not null %}
{% set imageUrl = category.media.url %}
{% else %}
{% set imageUrl = asset('media/9f/6d/de/1696285257/Logo_254x174.jpg') %}
{% endif %}
{% elseif page.product is defined %}
{% set imageUrl = page.product.cover.media.url %}
{% endif %}
{% if imageUrl is not null %}
<meta property="og:image" content="{{ imageUrl|e('html_attr') }}">
<meta name="twitter:image" content="{{ imageUrl|e('html_attr') }}">
{% endif %}
{% endblock %}
{% endblock %}
Bereits geprüft / versucht:
- Kategorie-Bild ist gesetzt, korrekt im Backend sichtbar
- Twig Template wird geladen (Vererbung funktioniert)
- Symfony Profiler zeigt korrekten Blockbaum (bis runter zu
layout_head_meta_og_image
) - Cache mehrfach geleert, Theme kompiliert, Plugin neu gebaut
- Es greifen keine
parent()
-Aufrufe, wenn der Block nicht existiert - Keine Fehlermeldung im Frontend – Ausgabe ist nur falsch
- Auch beim SEO-Check (z. B.
https://validator.schema.org
) wird nur das Shoplogo gefunden - Weitere Plugins aktiv: GTM (DtgsGoogleTagManagerSw6), Sendinblue, Endereco, Doofinder – alle bereits auf Twig-Ebene verfolgt
Frage:
Was könnte der Grund sein, dass category.media
an dieser Stelle immer null
ist – obwohl ein Kategoriebild gepflegt ist?
Muss category.media
evtl. aktiv in den Storefront-Context geladen werden?
Oder überschreibt ThemeWare Electric hier etwas so, dass die Daten aus dem Scope verschwinden?
Bin echt ratlos – für jeden konkreten Hinweis dankbar