Closed TobiasKrais closed 1 year ago
Welche neuen OG Tags sind das? In dem verlinkten PR sind m.E. keine neuen zu sehen.
Wenn eine URL nicht von diesem URL Addon erzeugt wird, gibt die Methode Seo::getTags()
nur wenig Inhalte aus. Hier der Vergleich. Zuerst der Aufruf der Methode Seo::getTags()
wenn die URL nicht vom url Addon erzeugt wird:
<title>Titel</title>
<meta name="description" content="Beschreibung">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://www.example.org/de/" />
Dann die Ausgabe wenn eine URL vom url Addon erzeugt wird:
<title>Titel</title>
<meta name="description" content="Beschreibung">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://www.example.org/de/url-addon-url/" />
<meta property="og:title" content="Titel" />
<meta name="twitter:title" content="Titel" />
<meta property="og:url" content="https://www.example.org/de/url-addon-url/" />
<meta name="twitter:url" content="https://www.example.org/de/url-addon-url/" />
<link rel="alternate" hreflang="de" href="https://www.example.org/de/url-addon-url/" />
<link rel="alternate" hreflang="en" href="https://www.example.org/en/url-addon-url/" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="image" content="https://www.example.org/media/seo-image.jpg" />
<meta property="og:image" content="https://www.example.org/media/seo-image.jpg" />
<meta name="twitter:image" content="https://www.example.org/media/seo-image.jpg" />
<meta property="og:image:width" content="614" />
<meta property="og:image:height" content="869" />
Es wäre toll, wenn die Methode Seo::getTags()
auch bei Redaxo URLs ein vollständiges Ergebnis liefert.
Es wäre toll, wenn die Methode Seo::getTags() auch bei Redaxo URLs ein vollständiges Ergebnis liefert.
Das sollte doch jetzt von yrewrite geliefert werden. Das Url-AddOn kümmert sich nur um Datensätze die das Url-AddOn kennt.
Ja, das stimmt. Ich habe meinen Code auch angepasst (https://github.com/TobiasKrais/d2u_helper/blob/8a4d4c56725ce6e22b4097eb41d10e23a50b76e8/lib/d2u_addon_frontend_helper.php#L199-L214). Es könnte aber das eine oder andere Projekt geben, das die Änderung nicht bemerkt und somit nicht profitiert.
Lösung wäre eine einfache Änderung im Code: man prüft, ob das url Addon verantwortlich ist und wenn nicht wird einfach die Methode vom Rewriter aufgerufen und ausgegeben.
Lösung wäre eine einfache Änderung im Code: man prüft, ob das url Addon verantwortlich ist und wenn nicht wird einfach die Methode vom Rewriter aufgerufen und ausgegeben.
Das macht man zumeist schon über das Auflösen der Url.
Ich kann mir vorstellen, dass das Url-AddOn sich direkt an den EP hängt und dann selbst die Ausgabe beeinflusst.
Da man in URL-Profilen ja bspw ein Meta--SEO-Bild-Feld festlegen kann, wäre es sinnvoll, wenn dieses auch automatisch verwendet wird. So war's glaube ich gemeint von @TobiasKrais
Da man in URL-Profilen ja bspw ein Meta--SEO-Bild-Feld festlegen kann, wäre es sinnvoll, wenn dieses auch automatisch verwendet wird.
Das wird bereits hier berücksichtigt
Ja, bei URLs die vom url Addon erzeugt werden, wird es berücksichtigt, aber nicht bei URLs die von YRewrite erzeugt werden. Ich bin mir nicht sicher, ob ihr verstanden habt, was ich meine. Lasst es mich nochmals aus historischer Sicht erklären:
Bisher war der Output der Meta Tags auf gewöhnlichen Redaxo Artikelseiten beim url Addon und von YRewrite ziemlich gleich. Handelte es sich um eine URL die durch das url Addon erzeugt wurde, war der Output sogar viel besser, da hier Open Graph schon lang berücksichtigt wird. Deshalb habe ich YRewrite gar nicht mehr abgefragt sondern für alle Seiten die das url Addon verwenden, folgenden Code auf allen Seiten verwendet:
$urlSeo = new Url\Seo();
$meta_tags = $urlSeo->getTags();
Das ist mir jetzt zum Nachteil, denn für gewöhnliche Artikel erhalte ich keine Open Graph Tags wie YRewrite das jetzt kann. Es wäre doch super, wenn hier auf die neue getTags()
Funktion des YRewrite Addon zurückgegriffen wird, so dass immer OG Tags ausgegeben werden, also nicht nur auf URLs die vom url Addon generiert werden, sondern auch auf "herkömmlichen" Artikel URLs. Ist euch jetzt klarer, was ich meine?
Nur so als Idee:
<?php
\rex_extension::register('YREWRITE_SEO_TAGS', function($ep) {
$yrewriteTags = $ep->getSubject();
\rex_extension::register('URL_SEO_TAGS', function($ep) use ($yrewriteTags) {
$urlTags = $ep->getSubject();
return array_merge($yrewriteTags, $urlTags);
});
$seo = new Url\Seo();
$urlTags = $seo->getTags();
});
?><!DOCTYPE html>
<html>
<head>
<?php
$seo = new rex_yrewrite_seo();
echo $seo->getTags();
?>
</head>
</html>
Ich denke aber ich verstehe jetzt was du meinst. Sobald es keine Url-AddOn Seite ist, wird hier abgebrochen.
Ja genau das meine ich. Es wird abgebrochen. Ich könnte mir so eine Lösung wie du schreibst direkt im Code des url Addons vorstellen. Fände ich sehr schick.
Für mich zum Nachvollziehen, welches Verhalten wurde jetzt erwirkt?
Url überschreibt jetzt die Tags von yrewrite und es gehe so keine mehr verloren. Im Template am besten jetzt das verwenden:
$seo = new rex_yrewrite_seo();
echo $seo->getTags();
Url hakt sich dann bei yrewrite ein. Wenn ihr hier Probleme seht, dann gern melden.
Toll, das habe ich mir schon lange gewünscht. Ich gebe zeitnah Feedback.
Nachdem https://github.com/yakamara/redaxo_yrewrite/pull/310 gemerged wurde sind Anpassungen nötig, damit die Methode
Seo:getTags()
auch die neuen OG Tags von Artikeln ausgibt.