Manchmal erkennt Yoast SEO die benutzerdefinierten Felder und manchmal nicht. Damit du benutzerdefinierte Felder oder ACF (Advanced Custom Fields) immer verwenden kannst, musst du Yoast sagen, dass es diese Felder gibt. Dies erledigst du mit sogenannten Variablen, die du direkt für Yoast mit eigenem Inhalt registrierst. Diese kannst du dann mit %%meine_variable%%
innerhalb von Yoast verwenden.
Yoast SEO Variable registrieren
Zuerst wollen wir mit einer Funktion unsere Yoast SEO Variable registrieren. Erst dann können wir sie in Yoast SEO verwenden.
add_action('wpseo_register_extra_replacements', function () {
wpseo_register_var_replacement('%%mein_feld%%', function () {
return get_field('mein_feld');
}, 'advanced', 'Eine Beschreibung für meine Variable');
});
Code-Sprache: JavaScript (javascript)
Hier haben wir jetzt die Variable %%mein_feld%%
registriert. Sie ist immer mit dem ACF-Feld mein_feld
verknüpft und gibt das Feld immer für den aktuellen Inhalt aus. So kannst du bspw. Metabeschreibungen mit benutzerdefinierten Feldern erweitern, falls Yoast SEO das Feld für dich nicht erkannt hat. Die Variable funktioniert hier nämlich immer.
Nachteile
Meiner Meinung nach gibt es keine Nachteile. Es ist ein schönes Feature, welches man erst einmal finden muss. Man kann Yoast so um eigene nützliche Variablen erweitern. Wichtig ist, dass Yoast immer die Metabeschreibung bevorzugt, die man bspw. in der Metabox Yoast SEO eingibt, selbst wenn du in den Einstellungen sagst, dass dort deine Variable verwendet werden soll.
Alternativen
Für mich ist Yoast SEO leider nicht das Maß der Dinge. Ich bin inzwischen bei Rank Math SEO und hier vollends zufrieden. Rank Math bietet von Haus aus eine Kompatibilität mit ACF und generell wird einem hier wesentlich mehr geboten. In der Pro-Version stecken so viele nützliche Funktionen und kaum Limitierungen. Solltest du dir mal anschauen.