Programista WordPress dla Zurychu i Szwajcarii
Nazywam się Mariusz Szatkowski i robię strony na WordPressie od 2006 roku. Strona szwajcarskiej firmy rzadko jest samą wizytówką. Zwykle łączy się z Bexio albo Abacusem, przyjmuje płatności TWINT i ma dwie albo trzy wersje językowe. Taką stronę buduję albo przejmuję i utrzymuję.
Pracuję sam. Kod piszę osobiście i nikomu nie przekazuję twoich dostępów. Makiety i projekt graficzny przynosisz ty, ja wdrażam je jako responsywny motyw.
Kim jestem
WPPoland to nazwa, pod którą pracuję jako programista WordPress. Mam siedzibę w Gdyni. Gdy potrzebujesz jednej osoby zamiast agencji, zobacz też stronę WordPress freelancer.
Co robię
Motywy blokowe, sklepy WooCommerce ze szwajcarskimi płatnościami, strony wielojęzyczne, migracje z TYPO3 i Drupala, poprawę wydajności i opiekę nad stroną.
Czy WordPress to dobry wybór dla firmy ze Szwajcarii?
Dla małych i średnich firm, biur usługowych i sklepów do kilku tysięcy produktów zwykle tak. WooCommerce z Datatrans, Wallee albo Saferpay obsłuży większość sklepów w regionach niemiecko- i francuskojęzycznych.
Granica pojawia się przy dużym katalogu. Gdy stany magazynowe płyną z Abacusa albo SAP, a liczba produktów idzie w tysiące, Shopify Plus może wyjść taniej w codziennej obsłudze. Przy B2B z cenami indywidualnymi i umowami dla każdego klienta czasem lepiej sprawdza się osobna aplikacja. Takie rzeczy mówię przed ofertą.
Płatności i faktury w szwajcarskim WooCommerce
Szwajcarski koszyk ma własne zwyczaje. Klient spodziewa się w nim metod, których nie ma w zwykłym sklepie z Niemiec.
- TWINT: szwajcarska aplikacja do płatności mobilnych. Na telefonie przełącza do aplikacji, na komputerze pokazuje kod QR. Podłączam ją przez Datatrans, Saferpay albo PostFinance Checkout.
- PostFinance Pay: ważne przy starszych klientach, którzy mają konto w PostFinance.
- QR-faktura (QR-Rechnung): w 2022 roku zastąpiła dawne blankiety wpłat. Generuję ją z numerem referencyjnym i dołączam jako PDF do potwierdzenia zamówienia.
- MWST i waluty: ustawiam szwajcarskie stawki MWST i ceny w CHF, a przy sprzedaży do UE także w euro.
Wysyłkę podpinam do Die Post, a przy paletach do przewoźnika, z którym już pracujesz. Etykiety drukujesz z poziomu zamówienia.
Strona w kilku językach urzędowych
Szwajcaria ma cztery języki narodowe: niemiecki, francuski, włoski i retoromański. Firmy z Zurychu publikują zwykle w DE-CH i po angielsku. Firmy sprzedające w całym kraju dokładają FR-CH i IT-CH.
| Liczba języków | Wtyczka | Jak pracuje redakcja |
|---|---|---|
| 2 (DE-CH i EN) | Polylang | Tłumaczenie ręczne, jedna osoba na język |
| 3 do 4 (DE-CH, FR-CH, IT-CH, EN) | WPML z String Translation | Osoba na język, wspólna pamięć tłumaczeń |
| 4 i więcej z automatyzacją | WPML z DeepL | Szkic maszynowy, człowiek sprawdza przed publikacją |
Szwajcarski niemiecki w piśmie nie używa ß i pisze ss (Strasse, gross, Schloss). Ma też własne słowa: Velo zamiast Fahrrad, Tram zamiast Strassenbahn, parkieren zamiast parken. Teksty sprawdza twoja redakcja. Ja ustawiam wtyczkę tak, żeby brakujące tłumaczenie było widać od razu.
Hreflang to najczęstszy błąd, jaki zastaję na szwajcarskich stronach. Minimum przy czterech wersjach:
de-CH,fr-CH,it-CHien(alboen-CH),x-defaultwskazujący przełącznik języków albo wersję DE-CH,- linki zwrotne: każda wersja wskazuje wszystkie pozostałe i samą siebie,
- te same pary w mapie strony przez
xhtml:link.
Polylang i WPML generują hreflang poprawnie. Psuje go zwykle własny kod, który wycina znaczniki z <head> na stronach z cache, albo reguła CDN, która rozróżnia wersje po ciasteczku zamiast po adresie URL.
Szwajcarska ochrona danych (nDSG)
Ustawa o ochronie danych (DSG, SR 235.1) w nowej wersji obowiązuje od 1 września 2023 roku. Dla strony WordPress liczą się trzy przepisy:
- Art. 19: przy zbieraniu danych informujesz, kto je przetwarza i po co. Jeśli dane wychodzą za granicę, podajesz też państwo odbiorcy. Polityka prywatności musi więc wymieniać, dokąd trafiają dane z analityki, newslettera i CDN.
- Art. 12: rejestr czynności przetwarzania. Ustawa przewiduje wyjątki dla firm poniżej 250 pracowników, których przetwarzanie niesie małe ryzyko.
- Art. 9: przetwarzanie danych na zlecenie. Zanim dostanę dostęp do strony z danymi osobowymi, podpisuję umowę powierzenia. Nie korzystam z dalszych podmiotów przetwarzających.
Przekazanie danych do Polski jest dopuszczalne na podstawie art. 16 ust. 1, bo Polska jest w załączniku 1 do rozporządzenia o ochronie danych (DSV) wśród państw z odpowiednim poziomem ochrony.
Hosting w Szwajcarii
Hostingu sam nie prowadzę. Jeśli baza ma leżeć w Szwajcarii, wybierasz dostawcę z serwerami w kraju, na przykład Cyon (Bazylea), Hostpoint (Rapperswil-Jona), Infomaniak (Genewa) albo Metanet (Zurych). Ja instaluję tam WordPressa albo przejmuję istniejącą instalację. Przed startem ustalam na piśmie, co zapewnia hosting (kopie poza serwerem, sprawdzona ścieżka odtworzenia), a co robię w WordPressie.
Migracja z TYPO3, Drupala i Magnolii
Sporo firm i organizacji branżowych w Zurychu ma jeszcze TYPO3, Drupala albo Magnolię. Licencje i obsługa kosztują, a programistów do starszych wersji jest mało. Przenoszę takie strony na WordPressa tak, żeby nie stracić widoczności w Google.ch. Opis metody: studium migracji TYPO3 do WordPress.
- Adresy URL: spisuję każdy adres i kieruję go przekierowaniem 301 na nowy. Odtwarzam canonical, Open Graph i dane strukturalne.
- Treści w kilku językach: wersje DE-CH, FR-CH, IT-CH i EN przenoszę skryptem do własnych typów treści i pól ACF, z zachowaniem powiązań między językami.
- Sklep: przenoszę konta klientów, historię zamówień i katalog. Stare hasła zamieniają się na format WordPressa przy pierwszym logowaniu.
Headless, gdy ma to sens
Część firm technologicznych chce WordPressa tylko jako panelu do treści, a frontendu w Astro albo Next.js. Robię to, gdy zysk jest konkretny: szybsza strona przy dużym ruchu albo treści dzielone z aplikacją. Przy zwykłej stronie firmowej taki podział tylko dokłada kosztów utrzymania. Integracje z Bexio, Abacusem albo SAP Business One robię przez REST.
Jak pracuję
- Umowa i faktura: umowa B2B według prawa polskiego, na życzenie z NDA i umową powierzenia. Fakturuję z moim NIP UE PL7393037445.
- Kontakt: piszę przez maila, w dokumentach i w repozytorium. Decyzje zostają na piśmie. Jeśli wolisz rozmowę telefoniczną, napisz.
- Wdrożenie: kod leży w prywatnym repozytorium Git. Każdą zmianę pokazuję na środowisku testowym i opisuję. Produkcję aktualizuję po twojej akceptacji.
- Opieka: monitoring dostępności co 1 do 5 minut, kopie zapasowe przez ponad 30 dni w krajach UE, aktualizacje najpierw na środowisku testowym.
- Przekazanie: na koniec dostajesz spis wtyczek, terminy odnowień płatnych licencji i opis kopii zapasowych.
Kontakt
Opisz zakres, termin i obecną technologię w formularzu kontaktowym. Odpiszę z kolejnymi krokami i ofertą z założeniami, na których się opiera.




