[Gelöst] Probleme mit URL-Erkennung und falschen Links bei WPML nach Migration zur Live-Umgebung
Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem: Nach der Migration von einer Testumgebung auf die Live-Umgebung bleiben die Links und Button-Links in der deutschen Version sowie in der Übersetzungsansicht mit der alten URL-Struktur versehen. Trotz Neuregistrierung von WPML, Cache-Leerung, Überprüfung der Permalink-Struktur und Anpassung interner Links über WPML-Einstellungen, aktualisieren sich die Links nicht korrekt auf die Live-URL. Lösung: Eine direkte Lösung für das Problem ist derzeit nicht verfügbar. Wir empfehlen die Verwendung unseres Add-ons Sticky Links, das WPML veranlasst, die IDs der Seiten für die Übersetzung zu verwenden. Dadurch wird zwar die URL im Backend als die alte angezeigt, dies ist jedoch nur ein ästhetisches Problem und beeinträchtigt nicht die Funktionalität im Frontend. Weitere Informationen finden Sie hier: Sticky Links Dokumentation
Falls diese Lösung veraltet ist oder nicht auf Ihr Problem zutrifft, empfehlen wir Ihnen, ein neues Support-Ticket zu eröffnen. Überprüfen Sie auch die bekannten Probleme, bestätigen Sie die Version der dauerhaften Lösung und stellen Sie sicher, dass Sie die neuesten Versionen von Themes und Plugins installiert haben.
Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.
Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.
Hintergrund des Themas:
Ich habe ein Problem mit WPML nach der Migration von einer Testumgebung auf die Live-Umgebung (versteckter Link). Wenn ich eine Sprache übersetze, bleiben die Links und Button-Links in der deutschen Version sowie in der Übersetzungsansicht weiterhin mit der alten URL-Struktur versehen.
Folgende Schritte habe ich bereits unternommen:
WPML neu registriert und Cache geleert.
Permalink-Struktur überprüft und gespeichert.
Die Option "WPML > Einstellungen > Interne Links anpassen" durchlaufen lassen, um sicherzustellen, dass die Site-URL auf alle Übersetzungen verweist.
Das Problem besteht weiterhin.
Die Symptome:
Diese Links werden nicht korrekt auf die Live-URL aktualisiert, was dazu führt, dass beim Speichern der Übersetzung die alten, falschen Links wieder erscheinen und die Live-Seite überschrieben wird.
Fragen:
Wie können wir sicherstellen, dass WPML die korrekten Live-URLs verwendet und die alten Links nicht mehr überschreibt?
Leider haben wir nur begrenzte Möglichkeiten, dieses Problem zu lösen:
1. **Base64-Codierung**: Die URLs im Übersetzungseditor sind base64-codiert. Das Dekodieren und Ersetzen ist komplex und aufgrund der erforderlichen zusätzlichen Logik nicht zu empfehlen.
2. **Auswirkungsbewertung**: Obwohl die base64-codierten URLs in den Übersetzungsfeldern ein kleines Ärgernis darstellen, beeinträchtigen sie nicht die tatsächlichen Beitragsanpassungen. Die Post- und Postmeta-Einträge werden korrekt durch alle Such- und Ersetzungsmethoden modifiziert.
3. **Duplicator-Einschränkungen**: Duplicator hat Einschränkungen in Bezug auf die Feldgröße bei der Verarbeitung. Wenn ein Feld zu groß ist, wird es von Duplicator nicht verarbeitet.
Zusammenfassend lässt sich sagen, dass die base64-codierten URLs ein geringfügiges Problem darstellen, das die Funktionalität nicht beeinträchtigt. Aufgrund der Komplexität und Einschränkungen können wir hier leider nicht viel tun.
Das ist für mich nicht nur ein geringfügiges Problem, wenn ich jedes Mal, nachdem ich eine Übersetzung bearbeitet habe, falsche Verlinkungen auf der Website habe, weil WPML sich nicht die richtige URL ziehen kann und ich erstmal Bettersearch Replace drüber laufen lassen muss. Wie soll man zukünftig arbeiten, wenn man die Website und Übersetzungen auf einer Testumgebung aufbaut und dann die Website-URL ändert? Muss doch irgendwo die Möglichkeit geben, dass WPML sich die aktuelle richtige URL zieht?
ich sehe, was passiert also, wenn Sie die Originalseite ändern, den Übersetzungseditor öffnen, in dem Sie noch die alten URLs sehen können, und die Übersetzung erneut speichern, werden diese alten URLs in die Übersetzung übernommen?
Genau, wie Sie im angehängten Screenshot sehen, ist bei der Original deutschen Sprache immer die alte URL. Die Lösung wäre, dass nicht "elatet-haslet..." URL steht, sondern die neue quantec.eu URL.
Die Übersetzung funktioniert. Es ist ein backend Problem. Ich habe die Datenbank und Sever durchsucht und nirgends ist der alte Link hinterlegt aber trotzdem wird er auf der linken Seite im backend angezeigt.
Da wir zunehmend den Advanced Translation Editor und die automatische Übersetzung verwenden, können wir nicht garantieren, dass dieses Problem behoben wird, insbesondere da die Übersetzungen im Frontend ordnungsgemäß funktionieren, selbst wenn die Werte der ursprünglichen Sprache nach der Migration falsch sind. Vielen Dank für Ihr Verständnis!
Okay, ich habe auch die Dateien und die Datenbank durchsucht. Nirgendwo taucht der alte Link noch auf, nur bei WPML im Backend. Gibt es nirgendwo die Möglichkeit, das zu ändern, entweder durch die Datenbank oder indem man WPML sagt, sich den korrekten Link zu ziehen? Eine Art Cache-Löschung?
Vielen Dank für Ihre Geduld. Ich werde dieses Ticket übernehmen, da Bruno in den nächsten Tagen nicht verfügbar sein wird. Ich habe alle Details gelesen, sodass wir dort weitermachen können, wo er aufgehört hat 🙂
Dieser Fehler ist sehr selten. Als WPML-Support mache ich seit Jahren täglich Migrationen mit dem Duplicator und dem All In One WP Migration und hatte dieses Problem noch nie.
Eine Sache ist mir nicht ganz klar: Haben Sie versucht, den Import erneut durchzuführen? Falls möglich, bitte ich Sie, es erneut zu testen, damit ich bestätigen kann, ob der Fehler konsistent auftritt. Ich warte auf Ihre Rückmeldung und danke Ihnen für Ihre Geduld.
nein, ich habe die Seite nicht mit Duplicator oder All in One WP migriert oder importiert.
Die Seite wird in einer WordPress-Umgebung mit einer temporären Domain erstellt. Nachdem das Design final ist, wird in derselben WordPress-Umgebung die Domain und DNS auf die registrierte Domain geändert. Dann wird mit Better Search Replace die alte temporäre Domain gegen die neue Domain ersetzt.