Filar usługowy

Programista Drupal: aktualizacje, migracje i własne moduły

Wyślij zapytanie o Drupal

Wyślij adres serwisu i dostęp do repozytorium.

Napisz, na jakiej wersji Drupala działa strona, jakie ma moduły własne i z drupal.org, gdzie jest hostowana i co musi działać bez przerwy w trakcie migracji.

Drupal 7 w urzędach i na uczelniach

Jeśli serwis urzędu, uczelni albo instytucji kultury nadal działa na Drupalu 7, od 5 stycznia 2025 nie dostaje poprawek bezpieczeństwa. Podmioty publiczne podlegają przy tym ustawie z dnia 4 kwietnia 2019 r. o dostępności cyfrowej stron internetowych i aplikacji mobilnych podmiotów publicznych. Migrację do Drupala 11 łączę z przeglądem dostępności, bo i tak przebudowuje się wtedy szablon.

Co robię

Aktualizacje bezpieczeństwa i wersji pomocniczych w powtarzalnym procesie opartym na Composerze, migracje z Drupala 7 na nową instalację Drupala 11 oraz aktualizacje z 10 do 11, własne moduły i motywy, wdrożenia przez Drush, cache i optymalizację bazy, integracje z systemami zewnętrznymi i logowaniem jednokrotnym, frontendy headless czytające treść przez JSON:API.

Czego nie robię

Nie namawiam na przepisanie strony ani na przejście na WordPressa, gdy Drupal pasuje do organizacji. Wiele serwisów na jednej instalacji, rozbudowane uprawnienia redaktorów i treści w kilku językach to mocne strony Drupala. Migrację między Drupalem a WordPressem, w dowolną stronę, proponuję tylko wtedy, gdy strona przerosła platformę albo zespół nie jest w stanie jej utrzymać.

Jak przebiega migracja z Drupala 7 do Drupala 11 krok po kroku?

Drupala 7 nie da się zaktualizować w miejscu. Stawiam czystą instalację Drupala 11 i przenoszę dane modułami Migrate i Migrate Drupal z rdzenia: najpierw typy treści i pola, potem taksonomie, użytkowników i pliki, na końcu węzły. Każdą migrację uruchamiam na kopii testowej poleceniem drush migrate:import i porównuję liczby rekordów ze starą bazą, aż się zgadzają. Widoki z modułu Views buduję od nowa ręcznie, kolekcje pól (field collection) zamieniam zwykle na Paragraphs, a stary motyw PHPTemplate zastępuje nowy motyw w Twigu. Moduł Migrate Drupal jest oznaczony jako przestarzały i znika w Drupalu 12.0, nie przejmie go też żaden moduł na drupal.org, dlatego serwis z Drupala 7 przenoszę najpierw na Drupala 11. Przed ostatnim importem redakcja na krótko wstrzymuje publikację, a stary serwis zostaje dostępny tylko do odczytu, dopóki oba nie przepracują równolegle uzgodnionego okresu.

Co sprawdzić przed aktualizacją Drupala 10 do 11?

Na kopii serwisu instaluję Composerem moduł Upgrade Status. Uruchamia on PHPStan na kodzie własnym i modułach z drupal.org, korzysta z mechanizmów drupal-check i wypisuje przestarzałe wywołania API oraz moduły, które nie mają jeszcze wydania dla Drupala 11. Poprawki mechaniczne robi Drupal Rector (pakiet palantirnet/drupal-rector), a ja przeglądam każdą przepisaną linię. Serwis musi już stać na Drupalu 10.3.0 lub nowszym, bo Drupal 11 usunął funkcje aktualizacji ze starszych wydań, a serwer potrzebuje PHP 8.3 lub nowszego, co na hostingu współdzielonym trzeba sprawdzić w panelu. Jeden moduł bez wydania dla Drupala 11 wystarczy, żeby Composer nie rozwiązał zależności całej aktualizacji. Gdy moduł wymaga tylko zmiany ograniczenia wersji, wtyczka Drupal Lenient pozwala zainstalować go z łatką, a gdy jego kod się sypie, poprawiam go albo zastępuję. Polecenie composer update --dry-run pokazuje, który to przypadek, zanim cokolwiek się zmieni. Wynik dostajesz jako oszacowanie pracy dla każdego modułu, do dołączenia do opisu przedmiotu zamówienia.

Na czym polega stała opieka nad stroną na Drupalu?

Wydania bezpieczeństwa rdzenia Drupala wychodzą w jedną środę w miesiącu, zwykle trzecią, a moduły z drupal.org mogą dostać poprawkę w każdą środę, między 16:00 a 22:00 UTC, czyli wieczorem czasu polskiego. Komunikat czytam tego samego wieczoru, a w czwartek rano poprawka jest już na serwerze testowym. Kolejność się nie zmienia: composer update dla pakietów, których dotyczy komunikat, drush updatedb, drush config:export, przejście przez strony najczęściej używane przez redakcję, kopia zapasowa bazy i plików, wdrożenie na produkcję. Nowe wersje pomocnicze rdzenia wchodzą tą samą drogą po kilku tygodniach, gdy pojawi się pierwsze wydanie poprawkowe. Eksport konfiguracji jest w tej kolejce celowo: funkcja aktualizacji modułu potrafi zmienić aktywną konfigurację, a jeśli ta zmiana nie trafi do katalogu synchronizacji, następne wdrożenie z drush config:import ją cofnie. W umowie serwisowej z urzędem zapisuję czas reakcji na krytyczny komunikat bezpieczeństwa, bo bez takiego zapisu poprawka czeka na kolejne zlecenie.

Najczęściej zadawane pytania

Programista Drupal czy software house?

Do opieki, aktualizacji i modułów dla jednego serwisu lub kilku stron wystarczy doświadczony programista, a koordynacja jest prostsza. Software house ma sens, gdy równolegle potrzebujesz projektanta, redakcji treści i kilku programistów. Po przejrzeniu kodu powiem, który wariant jest dla ciebie.

Jak wygląda migracja Drupal 7 do Drupal 11?

Stawiam nową instalację Drupala 11 i przenoszę treści, użytkowników, pliki i adresy URL skryptami migracji. Moduły bez odpowiednika w Drupalu 11 zastępuję innymi albo własnym kodem. Stare adresy dostają przekierowania, żeby nie stracić ruchu z wyszukiwarki.

Co jeśli zostaniemy na Drupalu 7?

Strona będzie działać, ale od 5 stycznia 2025 zespół bezpieczeństwa Drupala nie publikuje dla niej poprawek, a zewnętrzne skanery oznaczają ją jako niebezpieczną. Każda nowa luka zostaje otwarta.

Czy przeniesiesz stronę z Drupala na WordPressa?

Tak, i z WordPressa na Drupala również. Doradzam to tylko wtedy, gdy platforma przestała pasować, na przykład gdy mała strona firmowa stoi na Drupalu i nikt nie umie jej aktualizować. Treści, media i przekierowania przenoszę skryptami.

Ile kosztuje opieka nad stroną na Drupalu?

Wycena zależy od liczby modułów, ilości własnego kodu i tego, jak często trzeba aktualizować rdzeń. Najpierw robię przegląd serwisu, potem podaję stały zakres miesięczny albo wycenę jednorazowej migracji. Wyślij adres strony i wersję Drupala.

Powiązany klaster

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.

Powiązane usługi

Programista Drupal: aktualizacje bezpieczeństwa, migracja Drupal 7 i 10 do 11, własne moduły, Composer i Drush, headless JSON:API i dostępność dla urzędów.

Rekomendacje z LinkedIn

Rekomendacje i opinie o współpracy z WPPoland

Wybrane rekomendacje liderów branży WordPress, WordCamp i e-commerce - z naciskiem na terminowość, głębię techniczną i biznesowe podejście do rozwoju serwisów.

Karolina Czapla

Karolina Czapla

Strateg Marketingowy, Performance & Digital Strategy

“Praca z Mariuszem przy WordCampie pokazała mi, jak rzadko łączy się głębokie umiejętności techniczne z prawdziwym przywództwem. Planuje, koordynuje i dowozi z ogromną dbałością o szczegóły, a jednocześnie daje zespołowi ...”

Współorganizatorka WordCamp Gdynia 2024 i 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR Business Partner

“Portfolio Mariusza mówi samo za siebie. Widać w nim precyzję, wszechstronność i ogromne poczucie odpowiedzialności. Można mu zaufać przy prowadzeniu projektu od pomysłu do wdrożenia, przy jednoczesnym dbaniu o komunikacj...”

Pracowaliśmy w tym samym zespole

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT Project Management & Product Owner, Web/App

“Przez ponad dwa lata mogłam liczyć na Mariusza przy zadaniach WordPress, od stylowania i szablonów po integracje z zewnętrznymi usługami. Wnosi spokój do zespołu i trzyma front‑end projektu w ryzach.”

Mariusz był jej klientem przy pracach WordPress

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz jest takim współpracownikiem, jakiego każdy chciałby mieć: mocne kompetencje full‑stack WordPress, jasne tłumaczenie decyzji technicznych i pozytywne nastawienie nawet pod presją. Sprawnie przechodzi między wtycz...”

Pracowaliśmy razem przy projektach WordPress

Varun Patil

Varun Patil

Lider Growth & CRM

“Poza samym developmentem Mariusz świetnie rozumie SEO, analitykę i growth. Rozmawia bezpośrednio z interesariuszami, zadaje właściwe pytania i dowozi rozwiązania, które realnie wpływają na wyniki biznesowe, od AMP, przez...”

Był przełożonym Mariusza przy inicjatywach growth

Rafał Osiński

Rafał Osiński

Founder @ EasyTrips.pl, Senior WordPress Dev

“Znam Mariusza z polskiej społeczności WordPress od wielu lat. Jest niezawodny, bardzo zaangażowany i po prostu zawsze 'jest', na meetupach, WordCampach i w projektach. Jeśli zależy Ci na długofalowej współpracy i kimś, k...”

Współorganizator WordUp Trójmiasto i WordCampów

Daniel Blossfeld

Daniel Blossfeld

Konsultant ds. Optymalizacji Procesów i Digitalizacji

“Miałem przyjemność współpracować z Mariuszem przez prawie trzy lata. W tym czasie jego umiejętności w zakresie rozwoju WordPressa okazały się nieocenione w wielu projektach, od budowy stron internetowych po obszary człon...”

Mariusz był jego klientem przy pracach WordPress

Natalie Wiszczor

Natalie Wiszczor

CRM & E-Mail Marketing Manager

“Miałem przyjemność współpracować z Mariuszem przez ponad 4 lata w dziedzinie technicznej. W tym czasie okazał się kompetentnym i niezawodnym kolegą. Szczególnie wyróżniała się jego przyjazna natura i niezwykła wytrwałość...”

Pracowaliśmy z Mariuszem w różnych zespołach

Mark Chalklen

Mark Chalklen

Head of Design & Build w Itineris Limited

“Mariusz to świetny członek zespołu, zawsze chętny do podjęcia każdego zadania i nauki nowych rzeczy. Świetny komunikator i ogólnie miły facet do współpracy. Trudno go jednak pokonać w naszej cotygodniowej tabeli liderów ...”

Bezpośrednio zarządzał Mariuszem

Jessica Di Pasquale

Jessica Di Pasquale

Prowadzenie inicjatyw SEO z strategiami wzrostu opartymi na danych.

“Mariusz to bardzo utalentowany, cierpliwy i doświadczony człowiek. Zawsze gotowy do pomocy i naprawiania błędów, naprawdę doceniałem pracę z nim. Jest wspaniałym kolegą!”

Bezpośrednio zarządzała Mariuszem

Biki John

Biki John

Entuzjasta Content Marketingu i SEO

“Wspaniale było pracować z Mariuszem. Naprawdę doceniałem jego rozległą wiedzę na temat WordPressa i to, jak przydawała się za każdym razem, gdy potrzebowałem wsparcia w nawigacji po CMS. Całkowicie pochwalam Mariusza za ...”

Pracowaliśmy z Mariuszem w różnych zespołach

Rafal Borowiec

Rafal Borowiec

Software Developer, Konsultant, Manager i Wykładowca

“Miałem okazję współpracować z Mariuszem przez 7 miesięcy. Doskonale radzi sobie z optymalizacją techniczną dla wyszukiwarek (SEO). Mariusz posiada również silne doświadczenie w rozwoju AMP, GTM i GA. Mariusz czuje się ba...”

Bezpośrednio zarządzał Mariuszem

Belinda Koch

Belinda Koch

Analityk Web-Tracking w TUI

“Mariusz to wspaniała osoba do współpracy. Jest niezwykle zmotywowany do nauki nowych rzeczy i dzielenia się swoją wiedzą, a także posiada szeroką wiedzę na wiele tematów. Pracowaliśmy razem nad analityką cyfrową i temata...”

Pracowaliśmy z Mariuszem nad analityką cyfrową i tematami śledzenia

Ali Nezamolmaleki

Ali Nezamolmaleki

Growth, SEO, Myślenie Analityczne, AMP

“Mariusz to niezwykle utalentowana osoba w swojej dziedzinie. Zawsze potrafi spojrzeć na problem z nowej perspektywy i myśleć nieszablonowo w sytuacjach, które wydają się być bez wyjścia. Współpraca z nim to zawsze przyje...”

Pracowaliśmy z Mariuszem w tym samym zespole

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript Developer

“Mariusz to niesamowicie doświadczony programista WordPress i specjalista SEO/SEM, z którym miałem przyjemność pracować przez prawie dwa lata. Jako lider zespołu odpowiedzialnego za rozwój strony AirHelp, był jedną z kluc...”

Pracowaliśmy z Mariuszem w tym samym zespole

Paweł Lewczuk

Paweł Lewczuk

Front-end developer, WordPress developer

“Współpracowałem z Mariuszem przy kilku projektach i nasza współpraca zawsze przebiegała wzorowo. Myślę, że jeszcze niejeden wspólny projekt przed nami. Polecam!”

Mariusz był klientem Pawła

Przemek Wroblewski

Przemek Wroblewski

Software Developer z ponad 20-letnim doświadczeniem

“Mariusz to osoba z ogromnym doświadczeniem i głęboką wiedzą o rozwiązaniach frontendowych. Silny, kompetentny i odpowiedzialny programista WordPress. Ma łatwość w budowaniu relacji międzyludzkich. Miał wizję dostrzegania...”

Pracowaliśmy z Mariuszem w różnych zespołach

Wyślij adres serwisu i dostęp do repozytorium.

Napisz, na jakiej wersji Drupala działa strona, jakie ma moduły własne i z drupal.org, gdzie jest hostowana i co musi działać bez przerwy w trakcie migracji.

Wyślij zapytanie o Drupal