RRZE-Webteam / FAU-Studium

Studiengangsdatenbank der FAU als Plugin
GNU General Public License v2.0
0 stars 0 forks source link

Link Rel Alternate für Sprachversionen ergänzen #100

Open xwolfde opened 1 year ago

xwolfde commented 1 year ago

In der Ausgabe der Shortcodes und der Endpoints von Studiengängen soll im Meta-Bereich bzw. (Contentbereich bei Shortcodes) folgende HTML-Anweisung eingefügt werden:

<link rel="alternate" hreflang="$lang" href="$url" />

ggf. auch optional auch der englische Titel mit lang="" Damit soll neben dem rel="canonical" jeweils die andere Domain und die dortige URI verlinkt werden.

(Der Sprachwechsler kann später nach dieser Umsetzung angesteuert werden).

Konkretere Beschreibung: Wenn ich auf der Domain A.fau.de bin und den Studiengang Studengangsslug anzeige, erscheint der Inhalt des Studiengangs unter /studiengang/studiengangsslug/ ja in der Sprache der Domain A.fau.de.

Um Bots und Clients die verlinkung zur anderen SPrache zu ermöglichen, soll daher in den HTML-Code von A.fau.de/studiengang/studiengangsslug/ der <link rel="alternate" hreflang="$lang" href="$url" /> im <head>-Bereich eingefügt werden.

Sollte es keine alternative Domain zur aktuellen eigenen Website geben, soll stattdessen auf meinstudium.fau.de (wenn die eigene Domain englischsprachig ist) oder auf meinstudium.fau.eu als Domain zzgl. dem Studiengangsslug verlinkt werden.

HInweise zur Ermittlung der anderssprachigen Domains oder Website siehe unten.

xwolfde commented 11 months ago

Umsetzungshinweis zur Ermittlung, ob es eine andere Sprachdomain gibt und welche URL diese hat:

1. Bei Nutzung des Multilang-Plugins des RRZE:

Wenn das Multilang-Plugin aktiv ist, kann man mit dem folgenden Code ermitteln, ob Übersetzungslinks für eine bestimmte Seite oder CPT vorhanden sind:

if (method_exists('\RRZE\Multilang\Helper', 'getLocaleInfo')) {
    error_log(print_r(get_locale(), true));
    error_log(print_r(\RRZE\Multilang\Helper::getLocaleInfo(), true));
}

Ausgabe:


de_DE_formal

Array
(
    [de_DE_formal] => Array
        (
            [locale] => de_DE_formal
            [lang] => de-DE-formal
            [title] => Deutsch (Sie)
            [native_name] => Deutsch
            [lang_tag] => 
            [href] => https://meinstudium.fau.de/studiengaenge/
            [default] => 
        )

    [en_US] => Array
        (
            [locale] => en_US
            [lang] => en-US
            [title] => English (United States)
            [native_name] => English
            [lang_tag] =>
            [href] => https://meinstudium.fau.eu/all-degree-programs/
            [default] => 
        )

)

Hinweis 1: Übersetzungslinks (href) werden nur angezeigt, wenn eine der folgenden Bedingungen erfüllt ist: is_singular() || !empty($wp_query->is_posts_page) D. h., wenn die CPT-Ausgabe gerendert wird.

Hinweis 2: In der vorherigen Ausgabe gibt es keinen lang_tag-Wert für en_US, da es sich um unterschiedliche Websites handelt. Andernfalls ist der Wert von lang_tag en. Beispiel: https://www.deutsche-website.fau.de/ (deutsche Ausgabe) https://www.deutsche-website.fau.de/en/ (englische Ausgabe)

2. Bei Nutzung des Workflow-Plugins

Wenn das Workflow-Plugin aktiv ist, kann man mit dem folgenden Code ermitteln, ob Übersetzungslinks für eine bestimmte Seite oder CPT vorhanden sind:

if (method_exists('\Workflow_Translation', 'get_locale_info')) {
    error_log(print_r(get_locale(), true));
    error_log(print_r(\Workflow_Translation::get_locale_info(), true));
}

Ausgabe:

de_DE_formal

Array
(
    [de_DE_formal] => Array
        (
            [locale] => de_DE_formal
            [href] => https://www.fau.de/education/studienangebot/
        )

    [en_GB] => Array
        (
            [locale] => en_GB
            [href] => https://www.fau.eu/education/degree-programmes/
        )

)

Hinweis: Übersetzungslinks (href) werden nur angezeigt, wenn die CPT-Ausgabe gerendert wird.

xwolfde commented 11 months ago

Ergänzende Information: Der Sprachschalter selbst wird im nächsten Schritt danach von uns aktualisiert, dass er dann auch auf den klickbaren LInk macht.

xwolfde commented 11 months ago

https://inpsyde.atlassian.net/browse/FAU-389