Zanim zaproponuję pisanie kodu, zawsze sprawdzam, czy istnieje gotowa wtyczka lub moduł, który pokrywa zadanie, bo w typowych przypadkach to szybsza i tańsza droga. Dedykowane rozwiązanie rekomenduję dopiero wtedy, gdy gotowca trzeba obchodzić, uzupełniać kolejnymi dodatkami albo płacić za niego szybkością strony. Poniżej rozkładam tę decyzję na kryteria, które dotyczą tak samo wtyczek WordPress i WooCommerce, jak modułów PrestaShop.
Co znaczy „gotowa” i „dedykowana” wtyczka
Gotowa wtyczka to rozwiązanie pisane dla wielu odbiorców naraz: darmowe z katalogu WordPress.org, płatne z licencją od autora albo moduł z PrestaShop Addons. Autor musi przewidzieć setki konfiguracji, więc wtyczka ma dużo opcji, a każdy użytkownik włącza tylko część z nich.
Dedykowana wtyczka powstaje pod jedną stronę lub jeden sklep. Robi to, co zostało ustalone w specyfikacji, pracuje na Twoich danych i wpina się tylko w te miejsca, w których jest potrzebna.
Jest też wariant pośredni: gotowa wtyczka plus mały dodatek, który zmienia jej działanie przez udostępnione akcje i filtry. Często to najrozsądniejszy wybór, bo płacisz tylko za brakującą część, a resztę utrzymuje autor.
Przykład: gotowa wtyczka do wystawiania faktur działa dobrze, ale numeruje dokumenty inaczej, niż wymaga Twoja księgowość. Zamiast zamawiać całą wtyczkę do faktur od zera, wystarczy dodatek, który zmienia format numeru przez filtr udostępniony przez autora. Warunek jest jeden: autor musi takie miejsca w kodzie przewidzieć i opisać w dokumentacji.
Gotowa i dedykowana wtyczka w jednej tabeli
Porównanie dotyczy wtyczek WordPress i WooCommerce oraz modułów PrestaShop. Koszty opisuję jako rodzaje wydatków, bo kwoty zależą od zakresu.
| Kryterium | Gotowa wtyczka | Dedykowana wtyczka |
|---|---|---|
| Czas wdrożenia | Instalacja i konfiguracja, bez etapu programowania. | Specyfikacja, programowanie, testy na kopii strony i wdrożenie. |
| Dopasowanie do procesu | Działa tak, jak zaplanował autor. Nietypowe zasady obchodzisz albo upraszczasz. | Odwzorowuje Twoje zasady: sposób liczenia ceny, obieg zamówienia, pola w panelu. |
| Koszt startu | Brak albo cena licencji, plus czas na konfigurację. | Jednorazowa praca programisty, zależna od zakresu i liczby integracji. |
| Koszt utrzymania | Odnawiana licencja przy wtyczkach płatnych, czasem płatne dodatki do głównej wtyczki. | Bez licencji. Dostosowanie przy dużych zmianach wersji systemu lub PHP. |
| Bezpieczeństwo i aktualizacje | Zależą od tempa, w jakim autor publikuje poprawki. Aktualizacje instalujesz na bieżąco. | Mniej kodu do pilnowania. Poprawki robi wykonawca, więc liczą się ustalenia w umowie. |
| Wpływ na wydajność | Bywa, że ładuje skrypty i style na każdej podstronie, także tam, gdzie nie pracuje. | Kod i zapytania tylko w miejscach, w których wtyczka jest potrzebna. |
| Licencje | Katalog WordPress.org wymaga zgodności z GPL. Płatne wtyczki i moduły mają własne warunki aktualizacji i wsparcia. | Zakres praw do kodu ustalasz w umowie, bez odnawianej licencji. |
| Wsparcie | Forum lub system zgłoszeń autora, według jego priorytetów. | Bezpośrednio u wykonawcy, który zna kod i Twoją konfigurację. |
| Ryzyko porzucenia | Autor może przestać rozwijać wtyczkę albo zmienić model licencji. | Kod zostaje u Ciebie. Z dokumentacją przejmie go inny programista. |
Wtyczki i moduły od autorów, którzy regularnie publikują aktualizacje, to dobry wybór do większości typowych zadań. Tabela pokazuje różnice, a nie przewagę jednej z opcji.
Kiedy gotowa wtyczka wystarczy
- Zadanie jest typowe i wiele firm realizuje je tak samo: formularz kontaktowy, galeria, mapa, popularny kurier lub bramka płatności.
- Wtyczka ma aktualizacje z ostatnich miesięcy i deklarowaną zgodność z Twoją wersją WordPressa, WooCommerce lub PrestaShop.
- Korzystasz z większości jej funkcji, a nie z jednej opcji spośród kilkudziesięciu.
- Po instalacji strona nie zwalnia, co sprawdzasz pomiarem przed instalacją i po niej.
- Autor odpowiada na zgłoszenia, a dokumentacja opisuje konfigurację, której potrzebujesz.
Kiedy dedykowana wtyczka się opłaca
- Żeby uzyskać jeden efekt, łączysz kilka wtyczek, a każda z nich robi tylko część zadania.
- Twój proces ma zasady, których nie ustawisz w panelu gotowca: cenę liczoną z kilku parametrów, nietypowy obieg zamówienia, dodatkowe dane w finalizacji.
- Łączysz sklep z systemem, dla którego nie ma gotowego konektora, albo istniejący nie przenosi potrzebnych pól. Wtedy wtyczka jest częścią integracji API.
- Gotowe rozwiązanie wyraźnie wydłuża czas ładowania, a jego wyłączenie poprawia wynik pomiaru.
- Funkcja jest dla Ciebie na tyle ważna, że nie chcesz zależeć od decyzji zewnętrznego autora.
Czas wdrożenia i dopasowanie do procesu
Gotową wtyczkę instalujesz i konfigurujesz, bez etapu programowania. Jeśli pasuje do Twojego sposobu pracy, działa tego samego dnia. Jeśli pasuje częściowo, czas wraca w innej postaci: ręczne poprawki w zamówieniach, obejścia w panelu, instrukcje dla pracowników, co robić, gdy wtyczka czegoś nie obsługuje.
Dedykowana wtyczka wymaga specyfikacji, programowania, testów na kopii strony i wdrożenia. W zamian odwzorowuje Twój proces, zamiast zmuszać Cię do jego uproszczenia. Warto to ocenić uczciwie: jeśli proces da się zmienić bez straty dla klientów, czasem prościej dopasować go do gotowca niż pisać kod.
Koszt startu i utrzymania - jak porównywać
Gotowa wtyczka wygląda na tańszą, bo start kosztuje mało albo nic. Żeby porównanie było rzetelne, policz wszystkie pozycje w okresie kilku lat:
- licencje odnawiane cyklicznie, także dla płatnych dodatków do głównej wtyczki,
- czas, który Ty lub Twoi pracownicy tracicie na obejścia i ręczne poprawki,
- kolejne wtyczki dokładane po to, żeby uzupełnić brakującą funkcję,
- pracę programisty przy konflikcie dwóch wtyczek albo po aktualizacji, po której coś przestało działać.
Po stronie dedykowanej licz jednorazowe napisanie oraz utrzymanie, czyli dostosowanie do nowych wersji systemu i PHP. Jeśli suma pierwszej listy w ciągu kilku lat zbliża się do kosztu dedykowanego rozwiązania, warto je rozważyć. Z czego składa się wycena dedykowanej wtyczki, opisuję we wpisie Ile kosztuje wtyczka WordPress lub moduł PrestaShop.
Bezpieczeństwo i aktualizacje
Każda wtyczka to kod z dostępem do Twojej bazy danych. W gotowej wtyczce bezpieczeństwo zależy od autora i od tego, czy instalujesz aktualizacje na bieżąco. Przed instalacją sprawdź datę ostatniej aktualizacji, zgodność z Twoją wersją systemu i historię zgłoszeń. Wtyczka, której nikt nie aktualizuje od dawna, to sygnał, żeby szukać alternatywy.
W dedykowanej wtyczce kodu jest mniej, bo nie obsługuje funkcji, z których nie korzystasz, więc jest też mniej miejsc, w których może pojawić się luka. Odpowiedzialność za poprawki przechodzi jednak na wykonawcę. Dlatego przy zamawianiu ustal od razu, kto i na jakich zasadach dostosuje wtyczkę do nowych wersji systemu.
Niezależnie od rodzaju wtyczki każdą aktualizację najpierw sprawdzam na kopii roboczej strony, a dopiero potem instaluję na serwerze produkcyjnym, po wykonaniu kopii zapasowej. Dzięki temu konflikt dwóch rozszerzeń wychodzi na kopii, a nie przy zamówieniu klienta.
Wpływ na wydajność
Gotowa wtyczka musi działać w każdej konfiguracji, dlatego bywa, że ładuje skrypty i style na wszystkich podstronach i przy każdym wyświetleniu wykonuje zapytania, których wynik nie jest potrzebny. Zanim zdecydujesz o wymianie, zmierz stronę z wtyczką i bez niej, na przykład w PageSpeed Insights. Dopiero różnica w pomiarze pokazuje, czy problem leży w tej wtyczce.
Dedykowaną wtyczkę piszę tak, żeby jej kod ładował się tylko tam, gdzie jest używany. Różnica jest najbardziej widoczna w sklepach z dużym ruchem i rozbudowaną finalizacją zamówienia.
Licencje i prawa do kodu
WordPress jest rozpowszechniany na licencji GPL, a wtyczki w oficjalnym katalogu muszą być z nią zgodne, co zapisano w wytycznych katalogu wtyczek WordPress.org. Płatne wtyczki zwykle sprzedają dostęp do aktualizacji i wsparcia na określony czas. Po wygaśnięciu licencji wtyczka najczęściej działa dalej, ale bez nowych wersji i poprawek bezpieczeństwa. Moduły z PrestaShop Addons mają własne warunki zakupu i aktualizacji, które warto przeczytać przed zakupem.
Przy dedykowanej wtyczce zakres praw zapisuje się w umowie. U mnie kod źródłowy wraz z prawem do modyfikacji przechodzi na Ciebie po opłaceniu całości, więc możesz go rozwijać także z innym programistą.
Wsparcie, gdy coś przestaje działać
W gotowej wtyczce zgłaszasz problem autorowi: na forum przy wtyczkach darmowych albo w jego systemie zgłoszeń przy płatnych. Czas odpowiedzi zależy od jego priorytetów. Najtrudniejsze są konflikty dwóch wtyczek, bo każdy z autorów może wskazywać na drugiego.
Przy dedykowanej wtyczce piszesz do osoby, która zna kod i Twoją konfigurację. W usłudze Wtyczki WordPress / WooCommerce pierwszy miesiąc po wdrożeniu obejmuje bezpłatne poprawki błędów, a krytyczne błędy bezpieczeństwa naprawiam bez opłaty także później. Ta sama zasada dotyczy błędów bezpieczeństwa w usłudze Moduły PrestaShop.
Jak podjąć decyzję w praktyce
- Opisz zadanie w kilku zdaniach: co ma się dziać, kto z tego korzysta i na jakich danych.
- Znajdź dwie lub trzy gotowe wtyczki lub moduły i sprawdź, czy pokrywają cały opis, czy tylko jego część.
- Przetestuj najlepszą z nich na kopii strony i zmierz jej wpływ na szybkość.
- Policz koszty w perspektywie kilku lat: licencje, obejścia, dodatki.
- Jeśli gotowiec nie przechodzi tych kroków, zamów wycenę dedykowanego rozwiązania.
Najczęstsze pytania
Czy dedykowana wtyczka zawsze jest szybsza od gotowej?
Nie zawsze. Dobrze napisana gotowa wtyczka, w której można wyłączyć nieużywane funkcje, potrafi działać równie lekko. Przewaga dedykowanej wynika z tego, że nie zawiera kodu dla funkcji, których nie używasz, ale wymaga to starannego wykonania.
Czy mogę przerobić gotową wtyczkę zamiast zamawiać nową?
Zmiana kodu cudzej wtyczki sprawia, że jej aktualizacja nadpisze Twoje poprawki. Bezpieczniej dopisać mały dodatek, który zmienia jej działanie przez udostępnione akcje i filtry. Przy wtyczce kupionej lub odziedziczonej po innym wykonawcy zaczynam od przeglądu kodu i listy poprawek.
Ile trwa napisanie dedykowanej wtyczki WordPress?
Prosta wtyczka powstaje zwykle w 1-2 tygodnie, średnia w 3-5 tygodni, a rozbudowana z integracjami w 6-12 tygodni. Termin zależy od zakresu i od tego, jak szybko testujesz kolejne wersje.
Co z dedykowaną wtyczką, gdy zmienię wykonawcę?
Jeśli masz kod źródłowy, dokumentację i prawo do modyfikacji, inny programista może ją przejąć. Przy odbiorze sprawdź, czy dostałeś wszystkie trzy elementy.
Jeśli nie wiesz, czy Twoje zadanie wymaga dedykowanego kodu, opisz je w kilku zdaniach. Najpierw sprawdzę dostępne gotowe rozwiązania, a jeśli żadne nie wystarczy, przygotuję wycenę w ramach usług z kategorii Moduły i wtyczki.