WPML-Fehler durch fehlenden Index: Tabelle wp_options füllt sich mit mehrfachen Einträgen von wpml_translation_services

Einer unserer Nutzer hat WP Staging Pro auf mehreren Websites parallel mit WPML (inkl. Translation Management) eingesetzt. Auf einer dieser Websites führte das Übertragen der Staging-Site auf die Live-Site mit WP Staging Pro sofort dazu, dass die Tabelle wp_options mit Einträgen mit dem wp_namewpml_translation_services‚ voll lief. Sobald diese gelöscht wurden, wurden keine weiteren Einträge mehr erstellt … bis zum nächsten Push von Staging zu Live. Wir haben diesen Eintrag bis zum WPML Translation Management zurückverfolgt. Wenn nur WP Staging Pro oder nur WPML Translation Management installiert ist, wird dieser Eintrag nicht erstellt. Sobald jedoch beide installiert sind und Änderungen von Staging zu Live übertragen werden, trat das Problem auf dieser speziellen Website erneut auf. Der WPML-Support hat uns eine Lösung für dieses Problem geliefert, die wir hier für alle veröffentlichen möchten, die denselben Fehler haben: Es sieht so aus, als sei das Problem aufgetreten, weil der Index in der Tabelle wp_options fehlt. Der Index der Options-Tabelle ist sehr spezifisch und entscheidend, und jedes Plugin oder Theme kann Probleme verursachen, wenn er fehlt. Bitte führen Sie nach einem vollständigen Site-Backup die folgenden Schritte aus:

  1. Melden Sie sich am Datenbankserver mit PHPMyAdmin oder einem ähnlichen Tool an.
  2. Wählen Sie die Datenbank aus und führen Sie zuerst die folgenden Abfragen aus: DELETE FROM `wp_options` WHERE `option_name` = 'wpml_dependencies:needs_validation'; DELETE FROM `wp_options` WHERE `option_name` = 'jetpack_callables_sync_checksum'; DELETE FROM `wp_options` WHERE `option_name` = 'gf_upgrade_lock'; DELETE FROM `wp_options` WHERE `option_name` = 'wpstg_license_key'; DELETE FROM `wp_options` WHERE `option_name` = 'wpstg_license_status'; DELETE FROM `wp_options` WHERE `option_name` = 'wpstg_settings'; DELETE FROM `wp_options` WHERE `option_name` = 'fs_accounts'; DELETE FROM `wp_options` WHERE `option_name` = 'jetpack_plugin_api_action_links'; DELETE FROM `wp_options` WHERE `option_name` = 'jpsq_sync_checkout'; DELETE FROM `wp_options` WHERE `option_name` = 'stats_cache';
  3. Führen Sie anschließend die folgende Abfrage aus, um die Options-Tabelle zu indizieren: ALTER TABLE `wp_options` ADD UNIQUE `option_name` (`option_name`);
  4. Erstellen Sie eine neue Staging-Site, da bei der vorhandenen Staging-Site eine hohe Wahrscheinlichkeit besteht, dass derselbe Fehler weiterhin auftritt.
  5. Nehmen Sie Änderungen auf der neuen Staging-Site vor und übertragen Sie diese auf die Live-Site.
  6. Prüfen Sie anschließend bitte, ob Sie mehrere Einträge für wpml_translation_services erhalten oder nicht.
Rene Hermenau

Autor: Rene Hermenau

Über den Autor: René Hermenau ist Gründer von WP STAGING. Er arbeitet an WordPress-Backups, Staging, Migrationen, Datenbankverarbeitung und sicheren Deployment-Workflows.