Każdy, kto korzysta z iPhone’a i prowadzi własną stronę internetową opartą na WordPressie, prędzej czy później staje przed tym samym problemem. Robisz zdjęcie, przenosisz je na komputer i próbujesz dodać do wpisu lub galerii. Telefon zapisał fotografię w formacie HEIC, a Ty zastanawiasz się, czy WordPress sobie z tym poradzi, czy znowu trzeba będzie sięgać po konwerter.
Format HEIC jest domyślnym formatem zapisu zdjęć w iPhone’ach od wielu lat. Oferuje lepszą kompresję niż klasyczny JPEG przy zachowaniu wysokiej jakości obrazu, ale przez długi czas był źródłem problemów podczas pracy z różnymi aplikacjami i systemami zarządzania treścią. WordPress przez lata wymagał, żeby zdjęcia były wcześniej przekonwertowane do bardziej uniwersalnego formatu. Dopiero nowsze wersje systemu zaczęły adresować ten problem bezpośrednio.
Co zmieniło się w WordPressie 7.1?
WordPress 7.1 wprowadził nowy mechanizm przetwarzania multimediów po stronie przeglądarki. Zamiast wysyłać oryginalny plik na serwer i zlecać hostingowi całą pracę związaną ze skalowaniem, generowaniem miniaturek i konwersją formatów, część tych operacji może teraz zostać wykonana bezpośrednio na komputerze użytkownika, jeszcze przed przesłaniem danych. Do realizacji tego zadania WordPress korzysta między innymi z WebAssembly oraz biblioteki libvips.
W teorii oznacza to, że zdjęcie HEIC prosto z iPhone’a powinno zostać odczytane przez przeglądarkę, przekonwertowane do formatu JPEG i dopiero w tej postaci wysłane do biblioteki mediów. Serwer nie musi wtedy sam posiadać pełnej obsługi HEIC. Brzmi świetnie, prawda? Właśnie dlatego warto sprawdzić, jak to działa w praktyce, na prawdziwym pliku, bez żadnego przygotowania.
Szczegółowy test tego mechanizmu, przeprowadzony na rzeczywistym zdjęciu wykonanym iPhone’em 11, znajdziesz pod adresem https://www.s90.pl/zdjecia-z-iphonea-w-wordpressie-bez-konwertowania-testujemy-heic/ – opisaliśmy tam krok po kroku, co się wydarzyło podczas próby przesłania oryginalnego pliku HEIC do edytora blokowego WordPressa.
Dlaczego ten temat dotyczy właśnie Ciebie?
Jeśli prowadzisz bloga, sklep internetowy, portfolio lub stronę firmową i używasz iPhone’a do robienia zdjęć, ten problem jest bardzo realny. Fotografie produktów, zdjęcia z realizacji, materiały do wpisów blogowych – wszystko to może być zapisane w formacie HEIC i wszystko to w pewnym momencie trafia do WordPressa.
Przez lata standardowym rozwiązaniem było jedno z kilku podejść:
- Ręczna konwersja HEIC na JPEG przed przesłaniem do WordPressa
- Zmiana ustawień aparatu w iPhonie na format „Najbardziej zgodny”
- Przesyłanie zdjęć bezpośrednio z telefonu, gdzie iOS sam wykonuje konwersję
- Instalowanie dodatkowych wtyczek obsługujących format HEIC
- Korzystanie z zewnętrznych narzędzi do konwersji wsadowej
Każde z tych rozwiązań działa, ale każde wiąże się z dodatkowym krokiem lub pewnym kompromisem. Zmiana ustawień aparatu oznacza rezygnację z zalet kompresji HEIC. Ręczna konwersja zajmuje czas i wymaga osobnego narzędzia. Dodatkowe wtyczki dokładają kolejny element do strony, który może interferować z innymi mechanizmami zarządzania mediami.
Obietnica WordPressa 7.1 i rzeczywistość testów
Nowa wersja WordPressa miała uprościć cały ten proces. Mechanizm przeglądarkowy zaprojektowano tak, żeby właściciel strony mógł przeciągnąć zdjęcie HEIC prosto z folderu na komputerze i dodać je do wpisu bez żadnych dodatkowych kroków. To byłaby realna zmiana dla tysięcy użytkowników iPhone’ów prowadzących strony na WordPressie.
Rzeczywistość okazała się jednak bardziej skomplikowana. Nowy mechanizm faktycznie istnieje i faktycznie jest zaprojektowany z myślą o obsłudze HEIC. Problem polega na tym, że jego działanie zależy od wielu czynników: systemu operacyjnego, przeglądarki, dostępnych kodeków i sposobu, w jaki przeglądarka raportuje typ pliku do WordPressa. Na niektórych konfiguracjach wszystko działa zgodnie z założeniami. Na innych – i to jest właśnie interesujący przypadek – przetwarzanie zatrzymuje się w połowie drogi z powodu szczegółu, który na pierwszy rzut oka nie ma nic wspólnego z samym formatem HEIC.
Kluczowe okazuje się to, co przeglądarka przekazuje WordPressowi w momencie wyboru pliku. Jeśli wartość właściwości File.type jest pusta, WordPress może nie rozpoznać pliku jako HEIC i nie uruchomić odpowiedniej ścieżki przetwarzania, nawet jeśli rozszerzenie pliku jest prawidłowe i przeglądarka technicznie obsługuje format HEVC.
Co warto wiedzieć przed aktualizacją
Jeśli właśnie zaktualizowałeś WordPressa do wersji 7.1 lub planujesz to zrobić w najbliższym czasie, warto mieć świadomość kilku rzeczy. Po pierwsze, nowy mechanizm przetwarzania multimediów działa najlepiej w aktualnych przeglądarkach opartych na Chromium, takich jak Chrome i Edge. Po drugie, samo posiadanie nowej wersji WordPressa nie gwarantuje, że każdy plik HEIC zostanie obsłużony prawidłowo na każdym komputerze.
Po trzecie, i to jest może najważniejsza informacja praktyczna: jeśli przesyłanie HEIC z komputera z Windowsem sprawia problemy, najprostszym obejściem jest wysłanie zdjęcia bezpośrednio z iPhone’a. W takim przypadku iOS może samodzielnie przekonwertować fotografię przed przekazaniem jej do przeglądarki, co omija problem pustego typu MIME po stronie Windowsa.
Warto też wiedzieć, że problem z zawieszającymi się plikami HEIC jest już znany twórcom Gutenberga i trwają prace nad poprawką. Planowana zmiana pozwoli WordPressowi nie polegać wyłącznie na typie MIME zgłaszanym przez system lub przeglądarkę. Gdy ta wartość jest pusta, WordPress będzie mógł sprawdzić nagłówek pliku i na podstawie jego zawartości rozpoznać kontener HEIC lub HEIF.
Testowanie na prawdziwych plikach ma znaczenie
Historia z HEIC w WordPressie 7.1 jest dobrym przykładem tego, dlaczego warto testować nowe funkcje na rzeczywistych materiałach, a nie tylko czytać dokumentację. Dokumentacja opisuje, jak mechanizm powinien działać w idealnych warunkach. Prawdziwe zdjęcie z telefonu pokazuje, jak działa w środowisku, które ma swoje specyficzne właściwości i ograniczenia.
Różnica między „WordPress obsługuje HEIC” a „WordPress obsługuje HEIC na Twoim konkretnym komputerze z Twoją przeglądarką i Twoją konfiguracją systemu” jest istotna dla każdego, kto codziennie zarządza treścią na stronie. Funkcja może istnieć i być poprawnie zaimplementowana, a mimo to nie działać w konkretnym środowisku z powodu jednego szczegółu, który na pozór nie ma z nią związku.
Dlatego zanim uznasz, że WordPress 7.1 rozwiązał Twój problem z HEIC raz na zawsze, warto przeprowadzić własny test na pliku, który faktycznie pochodzi z Twojego telefonu i który zamierzasz przesłać na swoją stronę. Jeśli wszystko działa – świetnie. Jeśli nie – teraz wiesz, gdzie szukać przyczyny i jakie masz opcje.

