Oferta Realizacje Stała opieka CRM i AI Blog O mnie Kontakt
Zadzwoń: 501 178 850 Napisz wiadomość

Static Site Importer przekształca dowolną witrynę HTML w motyw blokowy WordPressa

Chris Huber, inżynier oprogramowania w firmie Automattic, przedstawił narzędzie Static Site Importer, które automatycznie przekształca statyczne strony HTML i CSS w edytowalne motywy blokowe WordPressa. Rozwiązanie powstało w ramach inicjatywy Data Liberation, aby ułatwić przenoszenie serwisów z zamkniętych platform bez konieczności ręcznego odtwarzania układu stron. Narzędzie najlepiej sprawdza się przy prostych witrynach informacyjnych, natomiast rozbudowane portale oraz sklepy internetowe nadal stanowią dla niego techniczne wyzwanie.

Inicjatywa Data Liberation rozszerza definicję przenośności danych

Projekt Data Liberation prowadzony w ekosystemie WordPressa zmienił w ostatnim czasie swoje pierwotne założenia. Jak wyjaśnił Chris Huber w rozmowie z Nathanem Wrigleyem w podcaście Jukebox, wcześniej inicjatywę tę postrzegano głównie jako zestaw narzędzi ułatwiających bezpośrednie przejście z systemów zarządzania treścią, takich jak Drupal czy Joomla, do WordPressa. Obecnie cel został przedefiniowany: chodzi o umożliwienie użytkownikom pobrania pełnej, niezależnej i przenośnej kopii dowolnej strony internetowej, niezależnie od tego, czy działa ona na platformach Wix, Squarespace, Weebly, czy na innych platformach komercyjnych lub open source.

Pierwszym etapem tego procesu jest narzędzie o nazwie Data Liberation Agent. Rozwiązanie to przyjmuje wskazany adres URL, uruchamia stronę w przeglądarce i pobiera każdą podstronę, tworząc kopię zawierającą strukturę kodu, style oraz animacje. Całość działa wyłącznie z zewnątrz witryny, co oznacza, że pobierany jest tylko kod wyjściowy dostępny publicznie w przeglądarce, bez bezpośredniego dostępu do wewnętrznej bazy danych źródłowego serwera. Wygenerowana w ten sposób statyczna paczka danych staje się materiałem wejściowym dla kolejnych narzędzi migracyjnych.

Static Site Importer generuje motywy blokowe z kodu HTML

Drugim elementem procesu jest Static Site Importer, czyli wtyczka do WordPressa, której zadaniem jest przetworzenie statycznej strony HTML, CSS i JavaScript w pełnoprawny motyw blokowy. Narzędzie nie ogranicza się do wklejenia treści do bazy, lecz tworzy kompletną strukturę witryny, w tym nagłówki, stopki oraz szablony stron powiązane z edytorem blokowym Gutenberg.

Mechanizm rozwiązuje także problem tworzenia witryn za pomocą modeli sztucznej inteligencji, takich jak Claude czy Codex. Chris Huber wskazał, że wygenerowanie bezpośrednio przez sztuczną inteligencję poprawnego technicznie motywu blokowego wymaga zazwyczaj wielu iteracji i często kończy się błędami. Static Site Importer zdejmuje tę odpowiedzialność z modeli językowych: użytkownik lub programista może wygenerować prostą stronę statyczną w HTML i CSS, a wtyczka samoczynnie przetłumaczy elementy interfejsu na natywne bloki WordPressa.

Sercem wtyczki jest pakiet PHP o nazwie Block Engine. Odpowiada on za mapowanie poszczególnych znaczników HTML na odpowiadające im bloki Gutenberga. Paragrafy zamieniane są na bloki akapitu, grafiki na bloki obrazu, a układy wielokolumnowe na bloki grup. Block Engine zawiera również gotowe definicje bloków dla elementów, których edytor blokowy nie obsługuje domyślnie, na przykład dla przesuwających się pasków informacyjnych typu marquee. Dzięki temu niestandardowe komponenty ze starej strony zachowują swój wygląd i stają się edytowalne w panelu administracyjnym.

Deterministyczny proces konwersji i automatyzacja poprawek

Istotną cechą narzędzia Static Site Importer jest jego deterministyczny charakter. Sam proces konwersji kodu nie wykorzystuje sztucznej inteligencji w trakcie importu, co oznacza, że przetworzenie tego samego adresu URL zawsze daje identyczny wynik techniczny. Sztuczna inteligencja została wykorzystana wyłącznie na etapie projektowania i ciągłego rozwijania reguł parsera.

Chris Huber opracował system automatycznego testowania oparty na bezgłowej przeglądarce Playwright oraz modelach językowych. Skrypt ładuje stronę oryginalną oraz stronę zaimportowaną do WordPressa, po czym sztuczna inteligencja analizuje widok w edytorze blokowym z perspektywy nietechnicznego właściciela strony. Jeśli model wykryje nieprawidłowości w renderowaniu elementów, uruchamia równoległe podagenty, które wprowadzają poprawki w kodzie wtyczki i otwierają pull requesty w trzech repozytoriach. Repozytorium na GitHubie zostało skonfigurowane tak, że każde zatwierdzenie zmian do głównej gałęzi kodu automatycznie publikuje nową wersję narzędzia, podnosząc jakość kolejnych konwersji.

Metody uruchomienia oraz aktualne ograniczenia techniczne

Static Site Importer nie trafił jeszcze do oficjalnego katalogu wtyczek wordpress.org, ale kod jest publicznie dostępny w repozytorium GitHub organizacji Automattic. Narzędzie nie posiada graficznego interfejsu użytkownika w panelu i komunikuje się przez API lub wiersz poleceń. Najprostszą metodą przetestowania rozwiązania lokalnie jest użycie narzędzia WordPress Studio. Dodano do niego komendę studio create-from z parametrem adresu URL, która w tle pobiera stronę przez Data Liberation Agent, instaluje importer i po 10 do 15 minutach generuje gotową lokalną instalację WordPressa. Mechanizm ten zasila również serwis liberate.sh przygotowany przez Riada, bazujący na API wordpress.com.

Skuteczność narzędzia zależy bezpośrednio od wielkości i złożoności migrowanej witryny. Według informacji podanych przez Hubera:

  • Niewielkie serwisy informacyjne i strony wizytówkowe liczące od 1 do kilkunastu podstron importują się poprawnie w ponad połowie przypadków, czasami nie wymagając żadnych korekt.
  • Elementy sprawiające najczęstsze problemy to powielanie nagłówka i stopki jako zwykłej treści na każdej podstronie zamiast wyodrębnienia ich do części szablonu, a także błędy w interpretacji pól formularzy, przycisków oraz menu nawigacyjnych.
  • WordPress miewa problemy z poprawnym przetwarzaniem plików graficznych w formacie SVG zawartych w kodzie źródłowym.
  • Duże serwisy, sklepy z dużą liczbą produktów oraz witryny zawierające dużo obrazów sprawiają obecnie problemy. Próba przetworzenia oficjalnego portalu wix.com wykazała, że proces zająłby około dwóch tygodni i wygenerował 10 000 stron bezużytecznych danych.

W strukturach wordpress.com narzędzie jest obecnie wykorzystywane przez zespoły realizujące asystowane migracje klientów. Wcześniej ręczne przenoszenie małych serwisów było nieopłacalne ekonomicznie, przez co właścicielom takich stron oferowano jedynie surowy eksport samych wpisów blogowych. Obecnie około jedna na dziesięć witryn jest konwertowana na tyle dokładnie, że można ją przekazać klientowi niemal od razu, podczas gdy w pozostałych przypadkach narzędzie stanowi punkt wyjścia, który pracownicy uzupełniają ręcznie lub z pomocą narzędzia Claude Code. Huber poinformował, że rozwija ten projekt na pełny etat od trzech miesięcy, od czasu konferencji WordCamp US.

Opracowanie na podstawie: WP Tavern

Chcesz, żebym się tym zajął?

Jeśli wolisz nie grzebać w tym samodzielnie, chętnie pomogę. Robię to od 14 lat.

Zobacz, jak mogę pomóc →
Zadzwoń Napisz Awaria / WP