Skip to content

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.

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.

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.

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.

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:

noindex

Ein vorhandener index-Wert wird in diesem Fall entfernt.

Der Status selbst wird unter Übersetzungen und Routing beschrieben.

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 publish besitzt,
  • 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 Multilang WP erweitert den Filter:

fg_static_export_urls

mit 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.

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.

Ist Veraltete Übersetzungen überspringen aktiviert, werden Posts und Begriffe mit Status needs_update nicht in die URL-Liste aufgenommen.

Für Custom-Post-Type-Archive baut das Plugin die URL aus Sprachprefix und sprachabhängigem CPT-Slug auf.

Beispiel:

/kurse/
/en/course/

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.

Die URL-Liste kann direkt per Helper abgerufen werden:

<?php $urls = fgml_get_export_urls(); ?>

Weitere Informationen stehen unter Entwicklerschnittstellen.