Wenn Sie einen normalen Link zu einer Seite oder einem Beitrag hinzufügen, speichert WordPress die URL dieser Seite als Link. Das heißt: Wenn die URL sich ändert, funktioniert der Link nicht mehr.

WordPress macht es nur zu einfach, Adressen zu ändern, was alle eingehenden Links zerstört (404-Fehler). Hier nur einige Möglichkeiten dazu:

  • Ändern des übergeordneten Elements der Seite
  • Ändern des Slugs
  • Ändern der Permalink-Struktur der Seite

WPML verhindert Änderungen in URLs durch zerstörte, eingehende Links. Wenn Sie einen Link erstellen, macht WPML diesen automatisch zu einem Sticky-Link. Statt die URL der Seite zu speichern (zum Zeitpunkt der Erstellung des Links), speichert es die Seitennummer. Diese kann sich nie ändern, egal, was Sie tun.

Wenn dann die Seite angezeigt wird, fügt WPML den Permalink der Seite ein, auf die Sie verlinken. Immer, wenn die URL sich ändert, aktualisieren alle Seiten, die darauf verlinken, sich sofort und verlinken auf die korrekte Adresse.

Der folgende Screenshot zeigt, wie interne Links in der Datenbank aussehen, sobald Sticky-Links aktiviert wurden:

Sticky-Links“ src=“https://wpml.org/wp-content/uploads/2009/03/sticky-links.png“ alt=“Links, die von WPML in Sticky-Links umgewandelt wurden“ width=“628″ height=“254″>
Links, die von WPML in Sticky-Links umgewandelt wurden

Ihre Nutzer sehen diese „seltsamen“ Links nie. Stattdessen ersetzt WPML sie beim Anzeigen der Seiten durch die aktuellen Permalinks.

Sobald Sie das Sticky-Links-Modul aktivieren, können Sie steuern, was es bewirkt. Rufen Sie dazu die WPML -> Sticky Links -Seite auf.

Sticky-Links vor der Verarbeitung
Sticky-Links vor der Verarbeitung

Per Standard wandelt WPML alle Links im Text des Beitrags in Sticky-Links um. Sie können Links auch in Widgets umwandeln sowie Strings in Sticky-Links.

In WPML können Sie alle normalen Links stapelweise durch Sticky-Links ersetzen. Zudem meldet WPML alle kaputten Links und hilft Ihnen, diese zu reparieren.

Wenn Sie Sticky-Links aktiviert haben, nachdem Sie bereits einige Inhalte erstellt haben, werden die Links in diesen schon vorhandenen Inhalten nicht sofort in Sticky-Links umgewandelt.

Der Sticky-Links-Admin-Bildschirm verrät Ihnen, wie viel Inhalt normale Links (keine Sticky-Links) enthalten könnte. WPML kann diesen Inhalt durchsuchen und alle Links in Sticky-Links umwandeln. Klicken Sie auf den Durchsuchen-Button, um dies zu tun.

Mit einem Klick auf Sticky-URLs wieder zu Permalinks machen können Sie Ihre Links später immer wieder in normale (keine Sticky-Links) zurückverwandeln.

Verlinken auf Seiten in einer anderen Sprache

Manchmal wollen Sie einen Link auf eine Seite in einer anderen Sprache einfügen. Da Sticky-Links die Links automatisch anpassen, könnten sie Sie daran hindern, dies zu tun und den Link stattdessen auf die gleiche Sprache verweisen.

Um Links auf Seiten in anderen Sprachen hinzuzufügen, müssen Sie den folgenden Filter zur Datei functions.php in Ihrem Theme hinzufügen.

Allow links to pages in other languages
add_filter( 'wpml_sl_blacklist_requests', 'wpml_sl_blacklist_requests', 10, 2 );

function wpml_sl_blacklist_requests( $blacklist, $sitepress ) {
    $blacklist[] = 'documentation';
    return $blacklist;
}

Benutzen Sie im Code oben den Array $blacklist , um alle URL-Slugs für die Seiten in den Originalsprachen anzugeben, auf die Sie verlinken wollen.

In unserem Beispiel wollen wir auf die englische Version der „Dokumentation“ verlinken (Slug „Dokumentation“) sowie auf die „Seitenersteller“-Seiten (Slug „Seitenersteller“), darum verwenden wir die folgenden zwei Zeilen:

Example of specifying the list of URLs to allow linking to
$blacklist[] = 'documentation';

$blacklist[] = 'page-builders';