JetEngine Callback: Importierte Titel automatisch bereinigen
Importierter Titel:
3-Zimmer Wohnung in München Schwabing | Immobilien Müller GmbH!!! Ausgabe nach Callback:
3-Zimmer Wohnung in München Das Snippet
<?php
function rb_clean_property_title( $value ) {
if ( empty( $value ) ) {
return $value;
}
$remove_terms = array(
'Immobilien Müller GmbH',
'Immobilien Müller',
'München Schwabing',
'Schwabing',
'Maxvorstadt',
'Glockenbach',
'Altstadt',
'Haidhausen',
'Lehel',
'Sendling',
'Neuhausen',
);
foreach ( $remove_terms as $term ) {
$value = preg_replace( '/\b' . preg_quote( $term, '/' ) . '\b/i', '', $value );
}
// Trennzeichen bereinigen
$value = preg_replace( '/\s*\|\s*/', ' ', $value );
// Ausrufezeichen entfernen
$value = preg_replace( '/\!+/', '', $value );
// doppelte Leerzeichen entfernen
$value = preg_replace( '/\s{2,}/', ' ', $value );
return trim( $value );
}
add_action( 'jet-engine/callbacks/register', function( $callbacks ) {
$callbacks->register_callback( 'rb_clean_property_title', 'Clean Property Title' );
} ); Was macht der Code?
Die Funktion rb_clean_property_title() nimmt den vorhandenen Titel oder Feldwert entgegen und entfernt definierte Begriffe daraus.
In diesem Beispiel werden unter anderem entfernt:
'Immobilien Müller GmbH',
'Schwabing',
'Maxvorstadt',
'Haidhausen', Zusätzlich werden störende Zeichen bereinigt:
|
!!!
doppelte Leerzeichen Dadurch wird aus einem technisch importierten Titel eine deutlich sauberere Ausgabe für das Frontend.
Wo wird das Snippet eingefügt?
Anwendung in Elementor mit JetEngine
Nach dem Einfügen des Codes steht der Callback in JetEngine zur Verfügung.
So wird er verwendet:
- Elementor Template oder Listing öffnen
- Ein Dynamic Field Widget einfügen
- Als Quelle z. B. den Titel oder ein Meta Field auswählen
- In den Dynamic Field Einstellungen den Bereich Callback aktivieren
- Callback auswählen:
Clean Property Title Wann ist dieses Snippet sinnvoll?
- Immobilien-Portale
- Event-Listings
- Jobbörsen
- Restaurant-Verzeichnisse
- Produktimporte
- API- oder CSV-Importe
Wichtig
Das bedeutet:
Backend-Wert bleibt original
Frontend-Ausgabe wird bereinigt
SEO-Einordnung
Der Callback wirkt sich direkt auf das aus, was Google sieht, weil er den Titel im Frontend verändert.
Wichtig zu verstehen
Google indexiert das gerenderte HTML – nicht den Backend-Wert
Wenn dein Dynamic Field als Überschrift (z. B. H2/H3) ausgegeben wird, dann ist der bereinigte Titel SEO-relevant.
Vorteile für SEO
- Sauberere Titles → bessere Lesbarkeit
- weniger Spam/Noise (z. B. „GmbH“, „!!!“, doppelte Infos)
- klarere Keywords im sichtbaren Content
- bessere CTR, weil verständlicher
Mögliche Nachteile
Wichtige Abgrenzung
Der Callback beeinflusst nur die Ausgabe, nicht automatisch:
- <title>(SEO-Title im Head)
- Meta Description
- Open Graph Tags
Wenn du z. B. RankMath oder Yoast nutzt, musst du dort separat entscheiden, ob du:
- den Originaltitel nutzt
- oder ebenfalls bereinigte Werte einbindest
Fazit
Mit einem eigenen JetEngine Callback kannst du importierte Inhalte gezielt im Frontend optimieren, ohne die Originaldaten zu verändern. Gerade bei automatisierten Imports (z. B. Immobilien, Events oder Jobs) ist das ein sauberer und flexibler Ansatz.
Anstatt Daten bereits beim Import aufwendig zu bereinigen oder zu überschreiben, steuerst du die Darstellung direkt in Elementor – dynamisch und jederzeit anpassbar.
Das macht diese Methode besonders geeignet für Projekte mit externen Datenquellen, wiederkehrenden Imports oder komplexen Listings.
Wenn du regelmäßig mit JetEngine, APIs oder CSV-Imports arbeitest, ist ein eigener Callback ein extrem nützliches Werkzeug in deinem Setup.