-

Jak przeprowadzić migrację strony internetowej? Przewodnik na przykładzie Drupala

Migracja strony internetowej to dla wielu osób zmiana witryny na nową. Warto jednak zrozumieć, na czym tak właściwie polega to działanie. To nie tylko zmienienie lub aktualizacja CMS-a, ale również proces, który może znacząco wpłynąć na wydajność, bezpieczeństwo i dostosowanie serwisu do nowoczesnych standardów. W tym artykule skupimy się na ogólnym podejściu do migracji, jednak jako przykład posłuży nam Drupal, aby zapewnić kompleksową perspektywę dla tego tematu.

Co to jest migracja strony internetowej?

Migracja strony internetowej to proces przenoszenia jej do nowszej wersji systemu CMS lub do innej platformy. W praktyce może to oznaczać np. aktualizację Drupala 7, którego wsparcie niedługo się skończy, do najnowszego Drupala 10. Pod tym pojęciem kryje się też zmiana z jednego systemu (takiego jak WordPress czy Joomla) lub mniej popularnego i niewspieranego już CMSa na zupełnie inny system. 

Podczas migracji bierzemy na warsztat dane, funkcjonalności, integracje z zewnętrznymi systemami. Piszemy na nowo frontend strony internetowej, wykorzystując przy tym najnowsze możliwości techniczne i dbając o zachowanie szybkości strony (np. patrząc na wynik w Page Speed Insights). Z perspektywy właściciela lub edytora strony zyskujemy naprawdę dużo, o czym piszemy w dalszej części tekstu.

Dlaczego warto przeprowadzić migrację strony?

Proces migracji przynosi liczne korzyści. Poprawia wydajność strony, zwiększa jej bezpieczeństwo i dostosowuje do aktualnych standardów programowania. Przyjrzymy się zaletom tego procesu na podstawie konkretnego przykładu – migracji Drupala. 

Poprawa bezpieczeństwa i funkcjonalności strony 

Przeniesienie na nowszą wersję tego systemu może istotnie poprawić funkcjonalność i zabezpieczenia serwisu. Musimy pamiętać o tym, że regularne aktualizacje bezpieczeństwa są kluczowe, ponieważ poprawiają one luki, minimalizując ryzyko ataków oraz utraty lub wycieku danych. Decydując się na migrację serwisu, zapewniamy w ten sposób ochronę przed nowymi zagrożeniami. 

Zmiana designu strony na bardziej nowoczesny

Migracja strony stanowi doskonałą okazję do redesignu witryny internetowej, czyli odświeżenia jej wyglądu. Możemy na tym etapie zaprojektować i zastosować nowoczesne wzorce projektowe, a nawet zmienić całą koncepcję wizualną naszego serwisu. 

Aktualizacja designu nie tylko przyciąga uwagę użytkowników, ale także może poprawić funkcjonalność i czytelność strony, co jest istotne dla ogólnej satysfakcji odwiedzających. Odświeżony layout to najbardziej widoczny dla końcowego użytkownika element, który sprawia, że witryna przestaje wyglądać na przestarzałą. 

Modyfikacja i ewentualna archiwizacja danych

Podczas migracji istnieje możliwość dokładnego przeglądu i modyfikacji danych. Nieaktualne lub zbędne informacje mogą być poddane archiwizacji, co pozwoli utrzymać porządek w bazie danych. Podczas takiej rewizji możemy dojść do wniosku, że niektóre pola są nieużywane, można je scalić z innymi lub rozwiązać kwestię w inny sposób. Może to być m. in. usunięcie osobnego pola na podsumowanie artykułu czy użycie słownika w przypadku tagów. 

Jednocześnie można wprowadzić korekty w danych, dostosowując je do nowszej wersji CMSa i modułów Drupala. Przykładowo od Drupala 8 mamy do czynienia z modułem Media, który zmienił podejście do obrazów, dokumentów czy filmów umieszczanych na stronie. 

Zmiana sposobu przechowywania danych

Migracja umożliwia nie tylko sprawną modyfikację czy archiwizację, ale także przemyślane dostosowanie sposobu przechowywania danych. Zmiana systemu na wyższą wersję Drupala wraz ze wszystkimi nowymi modułami może pozwolić na optymalne przechowywanie informacji przy wykorzystaniu typów zawartości, grup czy taksonomii. 

Typy zawartości, encje czy taksonomie w Drupalu pozwalają porządkować przechowywane dane w systemie. 


Przykłady encji (grup), taksonomii i typów zawartości w Drupalu 

Przemyślane zarządzanie encjami i danymi pozwala na optymalizację wydajności strony i możliwość wprowadzania łatwiejszych zmian w przyszłości, co ograniczy koszty w trakcie funkcjonowania strony.

Przepisanie istniejących integracji i funkcjonalności

Podczas migracji strony warto ponownie ocenić istniejące integracje i funkcje. Czasem na tym etapie okazuje się, że dane elementy są praktycznie nieużywane i przeniesienie ich jest niezasadne. Może to być np. formularz kontaktowy, który nie znajduje się już na stronie lub wyłączona integracja z zewnętrznym serwisem, do którego subskrypcja dawno wygasła. Mogą to być stricte porządkowe sprawy, takie jak strony, których zawartość została w przeszłości przeniesiona lub usunięta.

W tym momencie można również poszukać nowych, bardziej efektywnych rozwiązań, które zwiększą funkcjonalność strony. Elementy kluczowe dla działania strony możemy napisać w bardziej przemyślany sposób, zwiększając tym samym bezpieczeństwo, wydajność oraz przyszłą rozszerzalność o nowe funkcje. 

Jak przeprowadzić migrację strony internetowej?

Proces migracji strony jest dość uniwersalny, niezależnie od systemu. Najważniejsze to przemyśleć go jeszcze przed tworzeniem nowego wyglądu czy pisaniem pierwszych linijek kodu. Migrację należy zaplanować, ponieważ może oszczędzić to dużo czasu przy późniejszych zmianach. Musimy pamiętać o tym, że w przypadku wyższych wersji systemu, np. Drupala 10, wiele modułów uległo zmianie względem poprzednich, a niektóre nie są już nawet wspierane. 

Migrujemy więc zawartość (content) strony, którą musimy porządnie przetestować w poszukiwaniu ewentualnych błędów. Zależy nam, aby wyłapać przede wszystkim niepoprawnie zmigrowane lub puste pola, do których nie przeniosły się dane. Witrynę wraz z nowo napisanymi funkcjonalnościami wdrażamy w miejsce starej strony i gotowe. Ale czy to faktycznie takie proste? I tak, i nie. Przyjrzyjmy się temu procesowi bardziej szczegółowo.

Krok 1. Zaplanowanie migracji strony internetowej

W pierwszym kroku planowania migracji, szczególnie w przypadku Drupala 7, ważne jest skupienie się na dokładnym określeniu, co zostanie przeniesione i skąd. Czasami zdarza się, że np. właściciele serwisu nie potrzebują już starych newsów, które mają ponad 10 lat. Migracja stanowi więc okazję do optymalizacji struktury danych i wyeliminowania zbędnych informacji, co ułatwia późniejsze zarządzanie treściami.

Jeśli witryna wykorzystuje zewnętrzną integrację, taką jak np. Mautic, konieczne jest uwzględnienie tego w procesie migracji. Ten element może zostać zaimplementowany na nowej stronie zgodnie z aktualnymi standardami, co pozytywnie wpłynie na bezpieczeństwo i łatwość w późniejszym administrowaniu. 

Planując odpowiednią listę zadań, rozpisując je, nadając im priorytety i wskazując zależności między nimi wspieramy rozwój serwisu. To nie tylko ułatwia skuteczne zarządzanie zadaniami, ale również zapewnia jasność w kierunku projektu, umożliwiając elastyczne reagowanie na ewentualne zmiany podczas migracji strony internetowej.

Krok 2. Przygotowanie do migracji strony

Następnym etapem jest przygotowanie do migracji strony, które może obejmować stworzenie środowiska lokalnego oraz opracowanie odpowiedniej struktury danych. Tworząc grupy, content typy czy taksonomie z odpowiednimi polami, przygotowujemy sobie środowisko docelowe, aby w uporządkowany sposób przenieść dane ze starej witryny na nową. 

W tym miejscu bardzo ważny jest również backup. Robimy kopię zapasową poprzedniej wersji strony internetowej, a zwłaszcza bazy danych, ponieważ to z niej będziemy przenosić content. 

Krok 3. Migracja zawartości strony internetowej

Niezależnie od systemu, starajmy się przenosić zawartość strony jeszcze przed implementacją nowych funkcji. Umożliwi nam to wczesne wykrycie tzw. edge case’ów, czyli specyficznych sytuacji, które mogą zaburzyć działanie serwisu. Dzięki zachowaniu takiej kolejności możemy zająć się nimi od razu na względnie wczesnym etapie tworzenia strony. Minimalizujemy tym samym liczbę błędów przed wdrożeniem. 

W przypadku Drupala, kluczowym aspektem jest wykorzystanie modułów do migracji oraz modyfikowanie danych przy użyciu pluginów migracyjnych. Umożliwia to dostosowanie struktury danych do nowej wersji Drupala. Migracja z innych systemów może być nieco bardziej złożona i wymaga zrozumienia, w jaki sposób działał poprzedni system CMS, a właściwie jego baza danych. 

Krok 4. Testy przeprowadzonej migracji

Testy to kluczowy moment, aby sprawdzić, czy wszystkie dane zostały poprawnie zmigrowane. Weryfikujemy, czy dane w nowej bazie odpowiadają tym z poprzedniej, co może pomóc uniknąć problemów na dalszych etapach. W końcu nie chcemy na przykład, aby niektóre artykuły nie miały przypisanych tagów lub autora.

Bardzo ważną kwestią są pliki, które po migracji z poprzedniego serwisu powinny być dostępne również w nowym. To nie tylko kopiowanie z jednego miejsca na drugie, ale również ingerencja w ich ścieżki. Dlatego trzeba zwrócić szczególną uwagę podczas ich testowania. Na przykład, pliki PDF, które mają podgląd, powinny być dostępne razem z nim, a obrazy muszą mieć zmigrowane pole z tekstem alternatywnym. Jest dużo tego rodzaju małych elementów, o które musimy zadbać, aby zminimalizować późniejsze poprawki. 

Krok 5. Stylowanie strony

Jeżeli w trakcie migracji zechcemy zmienić design naszego serwisu, to przed kolejnym krokiem następuje również wstępne stylowanie strony internetowej. 

To proces, w którym układamy na stronie zawartość, nadajemy jej odpowiedni wygląd i dodajemy niezbędne animacje itd. Staramy się tym działaniem zbliżyć stronę maksymalnie do przygotowanego wcześniej designu, pamiętając przy tym o jej responsywności. 

Stylowanie strony internetowej to proces układania zawartości serwisu zgodnie z planowanym designem.


Przykład strony internetowej ze stylowaniem oraz bez, źródło: Droopler Demo 

Kolejność tutaj może być różna w zależności od złożoności serwisu, ale zazwyczaj ten proces następuje już w momencie, gdy mamy gotowe dane na stronie. Pozwala nam to oszczędzić czas ze względu na brak konieczności dodawania tymczasowych czy testowych treści. W ten sposób możemy zobaczyć, jak nowa strona już ze zmigrowanymi danymi prezentuje się w zupełnie nowym “ubraniu”.

Krok 6. Migracja funkcjonalności na stronie

Następnym krokiem będzie przeniesienie bardziej złożonej logiki biznesowej istniejącej na poprzedniej stronie. 

W przypadku Drupala, na tym etapie napotkamy wyzwania związane z różnicami między wersjami PHP, ale to również doskonała okazja do odświeżenia kodu. W Drupalu 10 przy użyciu PHP 8 piszemy kod obiektowy, który jest znacznie bardziej czytelny i otwarty na nowe funkcjonalności. Nie możemy więc w większości przypadków przekopiować starego kodu na nową stronę, bo to nie będzie działać. Możemy jednak wzorować się na starym kodzie, dopasowywać go do nowoczesnego podejścia i przy okazji modyfikować go, aby spełniał dodatkową logikę biznesową, która została zatwierdzona na etapie planowania.

Migracja funkcjonalności to także idealny moment na refaktoringu kodu. Możemy wtedy dokonać jego optymalizacji, odświeżyć, aby był czytelniejszy. Często podczas tego procesu usuwamy zbędne części kodu i używamy narzędzi, które od początku dbają o jakość kodu.

Wiele modułów używanych na starej wersji strony może być już niedostępnych. Czasami okazuje się jednak, że nie musimy pisać ich we własnym zakresie, a wystarczy poszukać podobnego, który realizuje zbliżone zadania. To może oszczędzić sporo czasu i dostarczyć nowych funkcji do strony. 

Krok 7. Wdrożenie strony internetowej

Ostatnim etapem jest tzw. deployment, czyli wdrożenie strony internetowej na nowej platformie. Testujemy, czy funkcjonalności działają zgodnie z oczekiwaniami i naszymi założeniami. Mamy tutaj również punkt odniesienia w postaci poprzedniej strony, także scenariusze testowe mogą wyglądać podobnie. 

Możemy tutaj zadbać o rozdzielenie konfiguracji, aby po wdrożeniu wszystkie klucze dostępu do API były prawidłowe oraz wszystkie integracje były aktywne. Dodatkowo, aktywujemy minifikację plików, poprawiając wydajność strony poprzez redukcję rozmiaru plików. Dzięki temu strona internetowa będzie wczytywała się szybciej, wpływając na poprawę wyników SEO

Migracja strony internetowej na Drupalu

Migracja strony internetowej to kompleksowy proces przenoszenia danych, funkcjonalności i integracji, mający wpływ na wydajność, bezpieczeństwo i dostosowanie do nowoczesnych standardów. Do nich zalicza się m. in. używanie najnowszych wersji języków programowania i frameworków czy też pisanie obiektowego, bezpiecznego kodu. Takie odświeżenie kodu minimalizuje ryzyko błędów lub ewentualnych ataków. 

Przeszliśmy przez ten złożony temat krok po kroku, aby dać lepszy pogląd na to, jak przygotować się do migracji oraz czego można się spodziewać w jej trakcie. Każdy etap procesu – od planowania, po wdrożenie – jest konieczny i niesamowicie ważny w kontekście stworzenia prawidłowo działającej strony. Proces ten wygląda dość podobnie niezależnie od CMS-a. 

Jeśli potrzebujesz wsparcia w przeniesieniu serwisu, służymy pomocą. Przy wykonywaniu takich realizacji nabraliśmy doświadczenia, na co zwracać uwagę i jak do tego tematu podchodzić. Chętnie podzielimy się naszą wiedzą, zaplanujemy i przeprowadzimy migrację Twojej strony na Drupalu

W ramach wsparcia dla Drupala utrzymujemy istniejące strony internetowe i rozbudowujemy je o nowe funkcjonalności