5 Najczęstszych błędów popełnianych podczas migracji strony internetowej na nowy serwer i jak ich uniknąć

zenbox.pl 1 tydzień temu

Dobrze pamiętam gdy pierwszy raz zabierałem się za przeniesienie strony internetowej pomiędzy serwerami. Towarzyszyło mi uczucie zagubienia, kwestionowałem jeszcze wtedy bardzo swoje umiejętności, jednak powiedzenie „strach ma wielkie oczy” wyjątkowo dobrze wpisywało się w całą sytuację.

Czy migracja strony www może być wyzwaniem? Oczywiście, jednak użyję tutaj mojego ulubionego zwrotu, „to zależy” od na przykład tego, czy ścieżki do plików są zapisane w wartości bezwzględnej (pełna ścieżka w strukturze katalogów), czy względnej (w odniesieniu do bieżącego katalogu, na przykład ./script.sh, co odnosi się do pliku o nazwie script.sh w tym samym katalogu co plik wywołujący).

Stosowanie się do pewnych zasad może ułatwić cały proces i te zasady chciałbym dzisiaj Wam zaprezentować, odwrócę jednak formę i opiszę czego należy się szczególnie wystrzegać.

PS. Korzystanie z wtyczek do migracji, najprościej mówiąc, nie jest przez nas polecane.

Błąd #1: Brak pełnej kopii zapasowej przed migracją

W trakcie migracji nie wszystko może pójść po naszej myśli, a czasami wystarczy jeden błąd, który przyniesie za sobą nieprzyjemne konsekwencje. W zależności od popełnionego błędu, może nie być możliwości jego łatwego naprawienia, a wtedy możemy skorzystać z wcześniej utworzonego przez nas backupu. Wysiłek związany z utworzeniem kopii zapasowej przyczyni się do szybkiego rozwiązania problemu, ale jeżeli takiej kopii nie przygotowaliśmy, w najgorszym przypadku może okazać się, iż utracimy ją w poprawnie wyświetlającej się formie, na zawsze.

Jak uniknąć tego błędu?

Jeśli więc chcesz zaoszczędzić sobie nieprzyjemności, straconego czasu i nierzadko, pieniędzy, stwórz backup. Tylko Rambo nie prosił o backup, ale też nie każdy jest Sylvestrem Stallonem.

Jeśli jesteś ciekaw w jaki sposób przygotować własną kopię zapasową w WordPress, zachęcamy do przeczytania naszego artykułu Jak utworzyć kopię zapasową WordPress?

Błąd #2: Nieprawidłowa konfiguracja DNS

Migracja strony internetowej na nowy serwer to nie tylko przeniesienie plików i bazy danych. Kluczowym elementem, który często jest pomijany lub źle skonfigurowany, są ustawienia DNS (Domain Name System). Nieprawidłowa konfiguracja może prowadzić do niedostępności strony, problemów z pocztą e-mail lub długiego okresu propagacji zmian.

Na czym polega problem?

  • Po przeniesieniu strony na nowy serwer konieczna jest aktualizacja rekordów DNS, które wskazują, gdzie znajduje się hosting danej domeny. Do błędów należą:
  • Pozostawienie starych rekordów A lub CNAME, które wskazują na poprzedni serwer.
  • Zmiana DNS bez wcześniejszego obniżenia wartości TTL (Time to Live), co powoduje długi czas propagacji zmian.

Jak uniknąć tego błędu?

  • Przed migracją zapisz obecne rekordy z panelu zarządzania domeną do swojego dokumentu tekstowego.
  • Przed zmianą ustawień DNS ustaw TTL na niską wartość (np. 300 sekund), aby skrócić czas propagacji.
  • Upewnij się, iż rekordy A i CNAME wskazują na nowy serwer.
  • Monitoruj propagację DNS sprawdzając status propagacji dzięki narzędzi takich jak whatsmydns.net.

Błąd #3: Niekompatybilność wersji PHP i MySQL po migracji strony

Kluczowym aspektem, który często jest pomijany podczas migracji, jest kompatybilność wersji PHP i MySQL. jeżeli nowy serwer korzysta z innych wersji tych technologii niż poprzedni, może to prowadzić do błędów, a choćby całkowitego braku działania strony.

Każda strona internetowa wykorzystująca WordPress, PrestaShop czy inne systemy CMS opiera się na PHP i MySQL. Niektóre wtyczki, motywy lub niestandardowe skrypty mogą nie działać poprawnie, jeżeli wersja PHP lub MySQL na nowym serwerze jest:

  • Zbyt nowa – niektóre starsze wtyczki i skrypty mogą nie być kompatybilne z nowymi wersjami PHP.
  • Zbyt stara – nowoczesne systemy CMS (np. WordPress) wymagają aktualnych wersji PHP i MySQL, aby działać poprawnie, w zależności od tego czy są odpowiednio aktualizowane.
  • Źle skonfigurowana – mogą wystąpić różnice w ustawieniach PHP, np. brak obsługi niektórych rozszerzeń (cURL, GD, mbstring itp.).

Typowe objawy problemu:

  • Białe ekrany (tzw. White Screen of Death – WSOD).
  • Błędy 500 po migracji strony.
  • Komunikaty o braku obsługi niektórych funkcji PHP.
  • Niepoprawne działanie bazy danych (np. brak możliwości logowania się do panelu administracyjnego).

Jak uniknąć tego błędu?

Sprawdź wersję PHP i MySQL na starym serwerze
Przed migracją sprawdź, jakich wersji PHP i MySQL używa Twoja strona. Można to zrobić w panelu hostingowym lub dzięki pliku phpinfo.php, który wystarczy umieścić na serwerze z poniższą zawartością, następnie odwołując się do pliku w przeglądarce internetowej:

<?php
phpinfo();
?>

Dostosuj wersję PHP na nowym serwerze
Większość nowoczesnych hostingów pozwala na zmianę wersji PHP w panelu administracyjnym (np. cPanel, DirectAdmin). Wybierz taką, jaka była na poprzednim serwerze, a dopiero potem przetestuj nowsze wersje.

Sprawdź kompatybilność wtyczek i motywów
Upewnij się, iż używane motywy i wtyczki obsługują wersję PHP dostępną na nowym serwerze. jeżeli korzystasz z WordPressa, można to sprawdzić w repozytorium wtyczek lub na stronie twórców motywu.

Przetestuj stronę na środowisku testowym
Zanim skierujesz domenę na nowy serwer, sprawdź działanie strony na subdomenie lub lokalnym serwerze testowym (np. XAMPP, LocalWP).

Włącz rejestrowanie błędów PHP
Jeśli po migracji strona nie działa, włącz debugowanie w WordPressie, edytując plik wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Błędy znajdziesz w pliku wp-content/debug.log.

Błąd #4: Migracja bez odpowiednich testów

3D illustration of pen putting blue ticks on checklist papers. Election voting, successful fulfillment of business tasks, action plan for effective time management, quality control assessment form

Jednym z najczęstszych błędów podczas migracji strony internetowej jest brak testów po jej finalnym uruchomieniem na nowym serwerze. Wiele osób przenosi pliki i bazę danych, aktualizuje rekordy DNS i zakłada, iż wszystko będzie działać poprawnie. Niestety, choćby jeżeli proces migracji wydaje się prosty, mogą pojawić się nieoczekiwane problemy, które wpłyną na działanie strony, jeżeli nie od razu to w przyszłości.

Na czym polega problem?

  • Niekompletne przeniesienie plików lub bazy danych
  • Błędne ścieżki i URL-e, nowy serwer może mieć inną strukturę katalogów, co prowadzi do błędów 404 lub problemów z przekierowaniami.
  • Różnice w ustawieniach PHP, bazy danych czy serwera HTTP (Apache/Nginx/LiteSpeed) mogą powodować błędy w działaniu strony.
  • Nieprawidłowe uprawnienia plików
  • Niekompatybilność wtyczek i motywów do wersji PHP i MySQL na nowym serwerze

Typowe objawy problemu:

  • Strona ładuje się wolno lub wcale.
  • Błędy 500 lub białe ekrany (WSOD – White Screen of Death).
  • Nieprawidłowe linki i przekierowania.
  • Formularze i inne dynamiczne elementy nie działają.

Jak uniknąć tego błędu?

Skonfiguruj plik hosts do testowania przed zmianą DNS
Zamiast zmieniać rekordy DNS od razu, możesz manualnie wskazać komputerowi, aby ładował stronę z nowego serwera. W systemie Windows/Mac/Linux edytuj plik hosts:

123.123.123.123 twojadomena.pl
123.123.123.123 www.twojadomena.pl

Gdzie 123.123.123.123 to adres IP nowego serwera. Dzięki temu zobaczysz, jak działa strona przed oficjalnym przełączeniem.

Informujemy: Posiadamy dedykowany poradnik jak skonfigurować plik hosts, zapraszamy do przeczytania Podgląd strony przed zmianą DNS przy wykorzystaniu pliku hosts

Testuj wszystkie najważniejsze funkcje

  • Sprawdź, czy strona ładuje się poprawnie i nie ma błędów.
  • Przetestuj logowanie do panelu administracyjnego.
  • Sprawdź działanie formularzy kontaktowych, systemów płatności i linków.
  • Upewnij się, iż wszystkie obrazy i pliki są poprawnie załadowane.
  • Zmierz czas ładowania strony w narzędziach takich jak GTmetrix lub Google PageSpeed Insights.

Zabezpiecz uprawnienia plików

  • Ustaw katalogi na 755 oraz pliki na 644 (chyba iż serwer wymaga innych ustawień).
  • Sprawdź, czy pliki .htaccess (Apache) lub nginx.conf (Nginx) zostały poprawnie przeniesione.

Błąd #5: Nieaktualizowanie ścieżek w bazie danych po migracji

Po migracji strony internetowej na nowy serwer, jednym z najczęściej pomijanych kroków jest aktualizacja ścieżek w bazie danych. Może to prowadzić do problemów z wyświetlaniem zawartości strony, szczególnie jeżeli struktura URL lub lokalizacja plików zmienia się podczas migracji, a tak najczęściej jest. Niezaktualizowane ścieżki mogą skutkować niepoprawnym ładowaniem obrazów, skryptów, stylów, a także problemami z działaniem linków wewnętrznych.

Na czym polega problem?

Jeśli po migracji struktura URL strony uległa zmianie (np. zmiana domeny, zmiana folderów), w bazie danych mogą pozostać zapisy ze starą ścieżką. Może to prowadzić do sytuacji, w której linki wewnętrzne, obrazy lub inne zasoby nie są dostępne, ponieważ odwołują się do nieaktualnych adresów.

Obrazy, pliki CSS, JS, a także inne zasoby mogą być zapisane w bazie danych z pełną ścieżką (np. https://stara-domena.pl/wp-content/uploads/...), która po migracji nie będzie już poprawna.

Przy problemach z linkami wewnętrznymi po migracji mogą wystąpić błędy 404 lub brak przekierowań, jeżeli linki wewnętrzne odwołują się do poprzednich lokalizacji. Dotyczy to również linków w treści postów, które mogą zawierać stare adresy.

Jak uniknąć tego błędu?

Użyj narzędzi do masowej aktualizacji ścieżek
Po migracji warto zaktualizować wszystkie ścieżki w bazie danych, które odnoszą się do starych adresów URL. Istnieją narzędzia, które ułatwiają ten proces:

  • WP-CLI – narzędzie linii poleceń do WordPressa, które pozwala na masową zmianę ścieżek w bazie danych.
    Przykład komendy: wp search-replace '/home/user-stary/domains/' '/home/user-nowy/domains/' –all-tables
  • Better Search Replace – popularna wtyczka do WordPressa, która umożliwia wyszukiwanie i zastępowanie tekstu (np. URL-i) w bazie danych.
  • Phpmyadmin pozwalaja na manualne zaktualizowanie ścieżek w tabelach bazy danych, jednak może się to okazać czasochłonne.

Informujemy: Nie wiesz jak połączyć się z SSH i wykonywać komendy w WP-CLI? Zapoznaj się z naszym poradnikiem WP-CLI – Wprowadzenie i obsługa

Sprawdź ścieżki multimediów
Po migracji należy upewnić się, iż wszystkie ścieżki do plików multimedialnych są poprawne. Można to zrobić poprzez:

  • Przjrzenie bazy danych pod kątem nieaktualnych ścieżek do plików.
  • Aktualizację ścieżek multimediów w panelu administracyjnym WordPressa (np. poprzez wtyczki takie jak „Media File Renamer”).

Zaktualizuj linki wewnętrzne
Przy migracji strony warto zaktualizować linki wewnętrzne, szczególnie te, które odwołują się do pełnych ścieżek URL. Można to zrobić dzięki wtyczki Velvet Blues Update URLs lub poprzez manualne wyszukiwanie i zastępowanie w bazie danych. Sprawdź również, czy wszystkie linki do stron, postów i mediów działają prawidłowo.

Przeprowadź testy po migracji
Po zaktualizowaniu ścieżek w bazie danych należy dokładnie przetestować stronę, aby upewnić się, iż wszystkie obrazy, pliki i linki działają poprawnie. Sprawdź działanie formularzy, przekierowań i wszelkich zasobów dynamicznych, które mogły być zależne od ścieżek URL.

Podsumowanie

Migracja strony internetowej na nowy serwer to skomplikowany proces, który wiąże się z wieloma potencjalnymi błędami. Niezaktualizowanie ścieżek w bazie danych to jeden z najczęstszych problemów, który może prowadzić do błędów 404, braku multimediów i problemów z linkami wewnętrznymi. Aby uniknąć tych trudności, warto skorzystać z narzędzi do masowej aktualizacji URL-i, takich jak WP-CLI czy wtyczki do WordPressa, oraz przeprowadzić dokładne testy po migracji. Odpowiednia dbałość o te detale zapewni płynne działanie strony po migracji, bez zakłóceń w jej funkcjonowaniu.

Idź do oryginalnego materiału