WPML logo

WordPress z WPML a zmiana serwera i domeny

WordPress Multilingual Plugin (WPML), to świetne narzędzie do tworzenia wielojęzykowych stron opartych o WordPressa.

Mamy zasadę, że nasze projekty najpierw pokazujemy i dajemy do przetestowania klientowi na naszym serwerze testowym. Tak było i tym razem…
Prawa Murphiego dały się nam jednak we znaki – wszystko „pięknie” działało pod tymczasową domeną roboczą, na maszynie docelowej niestety WPML się rozjechało…

A mogło być tak pięknie

Wykonałem standardowego mysqldumpa, następnie podmieniłem w kilku-megabajtowym pliku domeny i ścieżki z użyciem vima :%s/http:\/\/klient\.domenatestowa\.pl/http:\/\/www\.klient\.pl [cheatsheet]. Tak obrobiony dump zaimportowałem do świeżej bazy danych. I lipa… Niby wszystkie dane zostały przechwycone, ale WPML chce się konfigurować od nowa, a takie „rozwiązanie” powoduje, że wszystkie teksty, niezależnie od pierwotnej wersji języka, lądują nam w jednym worku. Trzeba inaczej…

Przyczyną problemu okazuje się globalna zmiana domen w zrzucie bazy danych, a dokładniej zmiana wartości jednej z opcji WPML.

Rozwiązanie… Prostsze niż myślisz

  1. Robimy dump bazy danych.
  2. Kopiujemy z tabelki wp_options (może być inny prefix niż „wp_„) wartość opcji icl_sitepress_settings.
  3. Obrabiamy dump np. w vimie – globalna zmiana ścieżek do plików i domen.
  4. Importujemy dump do nowej bazy.
  5. Nadpisujemy w wp_options wartość dla icl_sitepress_settings wartością z punktu 2.
  6. Oczywiście w tle lecą pliki. Pamiętamy także o dostosowaniu ustawień bazy w wp-config.php.

Warto spojrzeć

How to move a WP site with WPML the right way – według mnie to jednak nieco masochistyczne rozwiązanie problemu ;-)

Autor

Kamil Skrzypiński

Fullstack developer, programista aplikacji internetowych i mobilnych. Zna się m.in. na Ruby on Rails, JavaScript, Objective-C, PHP, HTML5 i CSS3. Instalacja i konfiguracja serwera z mniej i bardziej popularnymi usługami, to też dla niego nie problem. Niegdyś zapalony radiowiec - głównie od strony techniczno-informatycznej.

8 myśli na temat “WordPress z WPML a zmiana serwera i domeny”

  1. A może to po prostu był nie ten plugin? Ja używam qTranslate od gościa z Berlina. Qian Qin czy jakoś tak. Świetny gość i świetny plugin i nie miałem najmniejszego problemu z bazą danych prznosząc bloga w zeszłym roku.

    Można go zobaczyć (plugin) w akcji u mnie na blogu: http://hb.gracz.pro
    na http://bronek.gracz.pro też jest zainstalowany, tak na zaś i ustawiony na jeden język.

    BTW Polskie tłumaczenie interfejsu qTranslate jest mojego autorstwa :P To moja forma przyczynku do idei Open Source jako że nie jestem koderem.

    1. WPML jest naprawdę niezłe, ma swoje minusy, ale to jak każdy „duży” plugin. Ponadto jak już wejdziesz w Plugin do translacji i masz sporą bazę wpisów i stron, to ciężko od tak przejść na inny system – zwłaszcza już i teraz podczas przechodzenia na hosting produkcyjny.

      Swego czasu patrzyliśmy też na qTranslate, ale wybraliśmy WPML i w zasadzie sprawdza się (ale koderom zdarzają się też babole w kodzie, które wychodzą w specyficznych konfiguracjach i trzeba hackować).

      Z ciekawości zapytam, używałeś może qTranslate na różnych subdomenach dla języków z włączonym cachem?

    2. Nie no migrowanie zawartości to byłaby udręka bez jakiegoś sprytnego skryptu. A nie, nie konfigurowałem subdomen dla języków. Uznałem, że to by było mylne dla pająków. Strona jest jedna i ma jeden adres. Ma zawartość w wielu językach i to jest realizowane poprzez „czyste linki”, a nie subdomeny. Ale z tego co wiem jest to możliwe. Czy mieliście jakieś problemy? Jedną z zalet qTranslate jest to, że autor ma naprawde dobre serce…

      1. Jeżeli chodzi o linki i roboty, to warto spojrzeć co na ten temat ma do powiedzenia Google: Multi-regional and multilingual sites (dla celów poglądowych wystarczy tabelka na dole strony „URL structures”). Oczywiście Yandex i chiński wynalazek mogą pracować inaczej, ale wskazówki od G. w dużym uproszczeniu powinny być odpowiednie dla rynku z alfabetem łacińskim.

        Pytasz, co potrafi WPML w kwestii „adresów”, gdyż nie do końca chyba załapałem… [?] :)
        W każdym razie, WPML potrafi zmieniać wersję językową przez parametr, podkatalog lub subdomenę/domenę.

    3. Pytam czy mieliście jakieś problemy przy konfiguracji subdomen dla języków?

      Odnośnie wytycznych Google. Jednym słowem można używać wszystkiego co się mieści w pojęciu „clean url”. Nie mniej jednak to nie gwarantuje jednakowego zindeksowania wszystkich języków. Ogólnie Google słabo kmini zawartość wielo języczną. Moja strona najlepiej jest np zindeksowana w Angielskim gdyż tego adresu używa się jako domyślnego przy linkowaniu itd.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *