SEO und Static Export
FG Multilang WP ergänzt ausgewählte WordPress-Ausgaben für mehrsprachige Seiten. Dazu gehören das HTML-Sprachattribut, hreflang, Canonical-URLs und optional noindex für als veraltet markierte Übersetzungen.
HTML-Sprachattribut
Section titled “HTML-Sprachattribut”Im Frontend filtert das Plugin language_attributes.
Ist für die aktuelle Sprache eine Locale hinterlegt, verwendet es diese mit Bindestrich, beispielsweise:
<html lang="en-US">Ist keine Locale vorhanden, wird der Sprachcode verwendet.
Wenn die WordPress-Ausgabe xml:lang enthält, wird auch dieses Attribut angepasst.
hreflang
Section titled “hreflang”Auf übersetzbaren Einzelinhalten gibt FG Multilang WP für aktive Sprachen <link rel="alternate">-Elemente aus.
Eine Sprachversion wird nur aufgenommen, wenn:
- eine Übersetzungszuordnung existiert,
- der Zielpost öffentlich sichtbar ist.
Für die Default-Sprache wird zusätzlich x-default ausgegeben.
Beispielhafte Struktur:
<link rel="alternate" hreflang="de" href="https://example.test/beispiel/" /><link rel="alternate" hreflang="x-default" href="https://example.test/beispiel/" /><link rel="alternate" hreflang="en" href="https://example.test/en/example/" />Das Plugin erzeugt diese Tags nur für is_singular() und aktivierte Post Types.
Canonical-URL
Section titled “Canonical-URL”Ist SEO Canonical aktiviert, filtert das Plugin get_canonical_url für übersetzbare Post Types und verwendet den Permalink des konkreten aktuell betrachteten Posts.
Dabei berücksichtigt die Implementierung auch:
- Beitrags-Paginierung über
page, - Kommentar-Paginierung über
cpage.
FG Multilang WP generiert keine eigenen SEO-Titel oder Meta-Descriptions.
Noindex für veraltete Übersetzungen
Section titled “Noindex für veraltete Übersetzungen”Die Option Noindex für veraltete Übersetzungen ist standardmäßig deaktiviert.
Ist sie aktiviert und besitzt ein übersetzbarer Einzelinhalt den Status needs_update, ergänzt das Plugin über wp_robots:
noindexEin vorhandener index-Wert wird in diesem Fall entfernt.
Der Status selbst wird unter Übersetzungen und Routing beschrieben.
Datenschutzseiten-URL
Section titled “Datenschutzseiten-URL”Für get_privacy_policy_url() besitzt FG Multilang WP einen eigenen Filter.
In einer Zusatzsprache wird die WordPress-Datenschutzseiten-URL nur dann auf die Sprachversion umgestellt, wenn:
- eine Übersetzungszuordnung vorhanden ist,
- die Zielseite den WordPress-Status
publishbesitzt, - ein Permalink ermittelt werden kann.
Der sichtbare Linktext von get_the_privacy_policy_link() wird dadurch nicht übersetzt. Der Code kommentiert ausdrücklich, dass WordPress dafür keinen ausreichend spezifischen separaten Hook bereitstellt und eine globale Titelmanipulation vermieden wird.
Für diese URL-Logik enthält das Projekt einen eigenständigen manuellen PHP-Test.
FG Static Export
Section titled “FG Static Export”FG Multilang WP erweitert den Filter:
fg_static_export_urlsmit seiner eigenen URL-Liste. FG Static Export ist dafür die externe konsumierende Integration; FG Multilang WP kann seine URL-Liste auch ohne dieses Plugin berechnen und im Adminbereich anzeigen.
Enthaltene URLs
Section titled “Enthaltene URLs”Die generierte Liste enthält grundsätzlich:
- Sprach-Startseiten aller aktiven Sprachen,
- Permalinks aller veröffentlichten Posts aus aktivierten Post Types.
Optional, standardmäßig aktiviert:
- Archive aktivierter Custom Post Types mit
has_archive, - Begriffsseiten aktivierter Taxonomien.
Veraltete Übersetzungen auslassen
Section titled “Veraltete Übersetzungen auslassen”Ist Veraltete Übersetzungen überspringen aktiviert, werden Posts und Begriffe mit Status needs_update nicht in die URL-Liste aufgenommen.
Archive je Sprache
Section titled “Archive je Sprache”Für Custom-Post-Type-Archive baut das Plugin die URL aus Sprachprefix und sprachabhängigem CPT-Slug auf.
Beispiel:
/kurse//en/course/Vorschau im Adminbereich
Section titled “Vorschau im Adminbereich”Die Seite Static Export zeigt die Gesamtzahl der ermittelten URLs und maximal die ersten 160 URLs in der Vorschau an.
Unter Tools werden bei vorhandenen URLs zusätzlich die ersten 80 Einträge angezeigt.
Entwicklerzugriff
Section titled “Entwicklerzugriff”Die URL-Liste kann direkt per Helper abgerufen werden:
<?php $urls = fgml_get_export_urls(); ?>Weitere Informationen stehen unter Entwicklerschnittstellen.