Wspieram społeczność WordPress w Marsylii
Nie jestem tylko zdalną agencją. Jestem aktywną częścią ekosystemu. Wierzę w Open Source i wnoszę wkład w społeczność, która napędza ponad 40% sieci (W3Techs).
Kontekst lokalny: Widoczność w lokalnym SEO, szybkie działanie na urządzeniach mobilnych oraz praktyczne integracje z CRM, rezerwacjami i płatnościami używanymi przez firmy regionalne.
- Członek Marseille WordPress Meetup
Nawiązywanie kontaktów z innymi programistami w regionie Marsylia.
Dołącz do nas na następnym spotkaniu →
Strona firmowa w Marsylii stoi przy Vieux-Port, w biurze w Euroméditerranée albo w centrum logistycznym w Joliette. To nie jest powód, żeby WordPress udawał system ERP albo platformę rezerwacji statków w Port de Marseille-Fos. To powód, żeby motyw, bloki Gutenberg, CPT i wtyczki były napisane tak, jak oczekuje francuski dział prawny, redaktor w wersji FR/EN i zespół compliance, który czyta RODO i CNIL, a nie tylko wynik Lighthouse.
WPPoland buduje ten WordPress dla firm w Marsylii i w Métropole Aix-Marseille Provence. Zakres to programowanie WordPress: motyw blokowy albo klasyczny, własne wtyczki, Gutenberg, CPT, ACF albo natywne bloki, integracje REST i code review w repozytorium Git. Sklep WooCommerce z checkoutem francuskim, abonament opieki i kontakt są osobnymi tematami, z linkami na końcu.
Co obejmuje programowanie WordPress w Marsylii?
Marsylia to największy port Morza Śródziemnego, drugie co do wielkości miasto Francji i ośrodek aglomeracji Aix-Marseille Provence. To nie jest Paryż fintech ani Lyon biotech. Tu serwis WordPress często obsługuje lokalne MŚP z branży logistycznej, turystyki przy Vieux-Port, usług portowych w Joliette, firm z Euroméditerranée i startupów z ekosystemu La French Tech Aix-Marseille. Strona musi przeżyć sezon letni, kiedy ruch rośnie trzykrotnie, i jednocześnie respektować francuską Loi Informatique et Libertés oraz wytyczne CNIL dla formularzy i plików cookie.
Euroméditerranée to największy projekt urbanistyczny w południowej Europie: nowe biurowce, Silo, CMA CGM Tower i strefa biznesowa między Vieux-Port a Joliette. WordPress w tym obszarze trzyma landingi usługowe, formularze zapytania ofertowego, blogi branżowe i strony employer branding dla firm, które właśnie otworzyły biuro w nowej wieży albo przygotowują kampanię B2B na rynek śródziemnomorski. Awaria po aktualizacji wtyczki formularza albo regresja w tłumaczeniach FR/EN boli w lipcu, kiedy Vieux-Port tętni życiem, a nie w listopadzie.
Joliette i Les Docks to serce portu handlowego: Terrasses du Port, centra logistyczne, operatorzy frachtu i firmy usługowe obsługujące Port de Marseille-Fos. WordPress obsługuje katalogi usług logistycznych, formularze rezerwacji slotów, strony dystrybutorów i treści FR/EN dla klientów z Maghrebu, Italii i całej Unii. Brief od klienta stąd często brzmi: „mam Elementor, redakcja boi się migracji, a CTO chce Gutenberg i Git”. To problem modelu treści i procesu wdrożenia, nie problem szablonu z marketplace.
Vieux-Port i dzielnice turystyczne to inny profil niż biuro w Euroméditerranée. Więcej treści sezonowych, więcej rezerwacji, więcej formularzy zbierających dane osobowe pod RODO i więcej wymagań dotyczących wydajności mobilnej. WordPress w tym środowisku to strona restauracji, hotelu, biura podróży albo operatora wycieczek, która zbiera rezerwacje i musi respektować francuską CNIL przy plikach cookie i trackingu marketingowym.
La French Tech Aix-Marseille i społeczność Marseille WordPress Meetup spotykają się w obszarze między Marsylia a Aix-en-Provence. WordPress obsługuje landingi SaaS, formularze rejestracji beta, blogi produktowe i treści wielojęzyczne FR/EN dla firm, które sprzedają do całego basenu Morza Śródziemnego. Startup, który po rundzie seed musi wdrożyć nową stronę przed demo day, nie potrzebuje kolejnego szablonu z ThemeForest. Potrzebuje motywu blokowego, CPT pod produkt i formularz zgodny z CNIL.
Typowy projekt, który trafia do seniorów w Marsylii, nie brzmi „zróbcie ładną stronę”. Brzmi: odziedziczone motywy z page builderem, firma logistyczna z Joliette publikująca ofertę B2B w krótkim oknie czasowym, formularz z polem SIRET zbierający dane osobowe pod RODO i CNIL, a nowa podstrona pod sezon letni powstaje przez kopiowanie strony z zeszłego roku i ręczne podmienianie dat. To dług techniczny, który wychodzi w poniedziałek rano, nie w audycie SEO.
Motyw blokowy, motyw klasyczny i własna wtyczka
Nowa budowa w Marsylii startuje od decyzji, która później kosztuje miesiącami: czy prezentacja żyje w motywie blokowym z theme.json, czy w klasycznych szablonach PHP, i co idzie do wtyczki. Ta decyzja jest zapisywana przed pierwszym commitem.
theme.json, wzorce i granica motywu
Motyw blokowy przechowuje tokeny projektu: paletę, skalę typografii, odstępy i szerokości treści. Dla firmy z Euroméditerranée oznacza to odważną paletę marki z zachowaniem kontrastu WCAG 2.2 AA. Dla operatora portowego z Joliette oznacza to stonowany layout, czytelny krój bez ozdobników i komponenty, które nie pękają na długich nazwach tras frachtowych albo kodach kontenerów. Wzorce bloków opisują powtarzalne układy: hero z mapą biur, siatka zespołu, blok komunikatu operacyjnego, karta oferty logistycznej z datą, stopka z linkiem do politique de confidentialité zgodnej z RODO.
Full Site Editing (FSE) ma sens, gdy redakcja naprawdę ma sama zmieniać nagłówek i stopkę. W praktyce wiele firm B2B i turystycznych w Marsylii tej kontroli nie chce: nagłówek jest elementem brandu i compliance, a nie placem zabaw. Wtedy motyw blokowy zostaje, ale części szablonu (nagłówek, stopka) są zablokowane, a redakcja pracuje na wzorcach i własnych blokach.
Każdy własny blok ma block.json, kategorię, ikonę i atrybuty opisane schematem. Tam, gdzie treść ma trafić do wyszukiwarki i RSS, renderuję ją po stronie serwera. React w edytorze służy do InspectorControls i podglądu. Front nie ma być aplikacją SPA udającą WordPressa. Dokumentacja na developer.wordpress.org to dla mnie źródło prawdy o API WordPressa.
Kiedy klasyczny motyw PHP zostaje
Odziedziczone instalacje w Marsylii często mają pięć, siedem lat: child theme na komercyjnym szkielecie, ACF wklejone w page.php, shortcode’y w treściach, jQuery z epoki przed blokami, osobna kopia strony pod każdy sezon letni. Przepisanie tego na FSE „bo tak wypada w 2026” kosztuje więcej niż uporządkowanie hierarchii szablonów, przeniesienie logiki do wtyczki i dodanie Gutenberga tylko tam, gdzie redakcja naprawdę składa nowe landingi.
Klasyczny motyw zostaje, gdy:
- logika warunkowa siedzi w szablonach (inne menu dla klienta B2B, inne dla partnera z Maghrebu, inne dla dystrybutora włoskiego) i przeniesienie jej do
theme.jsonnic nie upraszcza; - zespół redakcyjny publikuje setki stron w klasycznym edytorze i szkolenie z FSE byłoby większym ryzykiem niż dług;
- child theme jest cienki, a problemem są wtyczki i autoload, nie sam silnik szablonów.
Nawet wtedy nowe elementy robię jako bloki, nie kolejne shortcode’y. Shortcode w treści z 2019 roku zostaje do migracji. Nowy kod go nie dokłada.
Funkcja do wtyczki, wygląd do motywu
Granica jest prosta i zapisana w runbooku. Motyw umie pokazać. Wtyczka umie wiedzieć. CPT oferty logistycznej, kolejka do CRM, endpoint REST dla intranetu, rola „redaktor operacyjny” bez publish_pages na produkcji publicznej: to wtyczka. Kolory, siatka, wzorzec hero: to motyw. Jeśli po zmianie motywu znika katalog usług portowych, architektura była zła.
Własna wtyczka ma własny prefix, autoload PSR-4, plik główny z nagłówkiem Plugin Name i wersją semver oraz testy tam, gdzie logika liczy (daty sezonu, mapowanie pól do CRM, walidacja formularza z polem SIRET). Logika biznesowa nie trafia do functions.php motywu, bo functions.php umiera razem z motywem, a firma w Marsylii zmienia partnera brandingowego częściej niż model treści.
Porównanie warstw przy kickoffie:
| Warstwa | Co tam żyje | Przykład w Marsylii |
|---|---|---|
| Motyw | prezentacja, tokeny, wzorce | landing sezonu Vieux-Port, stopka z politique de confidentialité |
| Wtyczka | CPT, role, REST, integracje | oferta logistyczna, lokalizacja biura, logi audytowe |
| Gutenberg | redakcja bez HTML | wzorzec wydarzenia, blok lokalizacji, karta usługi |
| środowisko testowe i Git | proces, nie feature | gałąź, review, freeze przed sezonem |
Gutenberg, CPT i ACF pod lokalne MŚP i sektor portowy
Gutenberg bez modelu treści kończy się tym, że każda podstrona to inna układanka bloków i nie da się z nich zrobić listy. W Marsylii listy są konkretne: usługi logistyczne, oferty turystyczne, wydarzenia, lokalizacje biur (Euroméditerranée to nie Joliette, Joliette to nie Vieux-Port), publikacje, oferty pracy. To obiekty, nie „kolejne strony w drzewie”.
Własne typy treści zamiast kopiowanych landingów
CPT rejestruję z własnymi capabilities, bez mapowania na post. Redaktor operacyjny ma edytować kartę usługi, a nie kasować wtyczek. Archiwum CPT dostaje szablon albo wzorzec zapytań. Widok pojedynczego wpisu ma szablon, który trzyma ustalony układ i nie pozwala go rozjechać. Taksonomie są osobne: typ usługi (logistyka, turystyka, consulting) nie miesza się z tagami bloga.
ACF ma tu miejsce, ale nie jako substytut bloków. Pola ACF na CPT sprawdzają się przy danych, które są polami, nie layoutem: data sezonu, numer sezonu, język wersji, plik PDF katalogu, flaga „embargo do”. Layout strony oferty albo artykułu składa Gutenberg. ACF Flexible Content razem z pełnym edytorem bloków na tym samym wpisie daje dwa źródła prawdy i redaktora, który nie wie, gdzie kliknąć.
Tam, gdzie ACF nie jest potrzebne, wystarczą atrybuty bloku w block.json. Blok „lokalizacja z mapą” nie potrzebuje grupy pól na każdej stronie. Potrzebuje atrybutów i ewentualnie InnerBlocks na opis. Mniej wtyczek w panelu to mniejsza powierzchnia ataku i mniej konfliktów z wtyczkami do zgód i cache.
Landing sezonu letniego w Vieux-Port jako kopia strony z zeszłego roku jest długiem, który wychodzi w poniedziałek rano. Obiekt CPT z polami sezonu, dat i materiałów przeżywa lato 2027 bez kopiowania drzewa. Szablon czyta obiekt. Redaktor zmienia daty, nie HTML.
Bloki serwerowe zamiast shortcode’ów
Shortcode w treści to dług, który wychodzi dopiero przy migracji. Nowy kod w Marsylii idzie jako blok z renderem serwerowym: znaczniki semantyczne, atrybuty w komentarzu bloku, możliwość filtrowania wyjścia. Blok listy usług czyta CPT, cache’uje zapytanie transjentem z jawnym TTL i invalidacją przy save_post, a nie przy każdym requeście w szczycie sezonu letniego.
Przy review bloku sprawdzam trzy rzeczy, zanim gałąź trafi do main: czy blok działa z wyłączonym JS na froncie, czy atrybuty mają typy i wartości domyślne i czy nie ładuje na froncie całego kodu edytora. Gutenberg, który dokłada megabajt Reacta do strony katalogu B2B, nie przejdzie review.
RODO, CNIL i formularze w francuskim kontekście
Francja stosuje RODO (GDPR) oraz krajową ustawę Loi Informatique et Libertés. Organ nadzorczy to Commission Nationale de l’Informatique et des Libertés (CNIL). Dla strony WordPress w Marsylii to nie abstrakcyjny paragraf prawny. To decyzje w formularzach, w wtyczkach consent, w politique de confidentialité i w logach audytowych.
Co wpisuję w brief i w kod:
- Formularze zbierające dane osobowe (zapytania B2B z polem SIRET, newslettery, formularze rezerwacji na sezon letni, formularze kontaktowe dla dystrybutorów) dostają jawną podstawę prawną, checkbox zgody tam, gdzie consent jest wymagany, i minimalizację pól. Pól, których formularz nie potrzebuje do swojego celu, po prostu nie dodaję.
- Wtyczki consent (Axeptio, Tarteaucitron, Cookiebot, Complianz) konfiguruję tak, żeby skrypty marketingowe nie ładowały się przed akceptacją. Wytyczne CNIL wymagają świadomej zgody przed nieistotnymi plikami cookie. To decyzja w motywie i w kolejności enqueue, nie ticket opieki po pierwszym raporcie.
- Politique de confidentialité i politique des cookies są szablonami z polami, nie blokami, które redaktor może usunąć z drzewa. W Marsylii te strony są elementem compliance, nie stopką marketingową.
- Integracje z CRM (HubSpot, Pipedrive, Salesforce) dostają dokumentację przepływu danych: co trafia do systemu zewnętrznego, jak długo, kto jest administratorem. Umowy powierzenia przetwarzania to decyzja klienta, ale konfiguracja WordPressa musi umożliwiać realizację tej decyzji.
- Logi audytowe dla formularzy i zmian w panelu admina pomagają przy incydentach. Jeśli ktoś pyta „kto zmienił ustawienia formularza kontaktowego w piątek przed sezonem letnim w Vieux-Port”, odpowiedź nie może być „nie wiemy”.
CNIL publikuje rekomendacje dotyczące plików cookie i trackingu, które wpływają na konfigurację GTM, Meta Pixel i podobnych narzędzi. Wtyczka consent skopiowana z niemieckiego sklepu nie jest automatycznie „CNIL-compliant”, a brak bannera nie jest automatycznie legalny, gdy idzie tracking. Development nie sprzedaje opinii prawnej. Pilnuje, żeby narzędzia na stronie zgadzały się z tym, co stoi w politique de confidentialité, i żeby po aktualizacji GTM albo wtyczki consent logi zgód nadal się zapisywały.
Dla sklepów WooCommerce w EUR integracja z bramką płatniczą obsługującą Stripe, Payplug, Mollie, TVA i faktury zgodne z francuskim prawem podatkowym to osobny brief na stronie programista WooCommerce w Marsylii. Ta strona trzyma się programowania WordPress, nie checkoutu.
Hosting w UE i wersje FR/EN
Przy danych osobowych i RODO pada pytanie, w jakiej jurysdykcji stoi serwer. OVH we Francji, Scaleway w Paryżu, AWS w Irlandii (eu-west-1), Hetzner w Niemczech to różne odpowiedzi dla compliance officer, ale wszystkie mieszczą się w UE. Serwer w Ashburn albo Hillsboro stoi w Stanach i zwykle odpada, jeśli nie ma Standardowych Klauzul Umownych albo innej podstawy transferu danych.
Pytanie „czy hosting jest w Marsylii” wraca rzadziej niż „czy w UE”. Odpowiedź operacyjna jest dwuczęściowa. Jurysdykcja: UE, kopie nie trafiają na serwery w USA bez uzgodnienia. Latencja: origin we Francji albo Irlandii plus CDN z terminałem TLS w UE zwykle wystarcza dla użytkowników w Marsylii i w basenie Morza Śródziemnego. Decyzja rezydencji trafia do runbooku, a nie do hasła „hosting w Marsylii”.
Wielojęzyczność FR/EN (czasem FR/IT dla klientów z Ligurii albo Maghrebu) wymaga osobnej decyzji architektonicznej. WPML dla tradycyjnego WordPress albo natywny routing i18n dla buildów headless z Astro lub Next.js. Każda wersja językowa ma poprawne tagi hreflang, przetłumaczone slugi URL i własne metadane SEO. Formularz B2B w wersji francuskiej z polem SIRET i wersja angielska bez tego pola to nie kopia 1:1, tylko dwa szablony z różnymi polami walidacji.
Sezon turystyczny i okno freeze wdrożeń
Lato w Vieux-Port, festiwale przy Canebière, targi w Joliette albo kampanie produktowe skierowane na rynek śródziemnomorski tworzą okna, w których setki firm patrzą na landingi produktowe, formularze rezerwacji i integracje z systemami CRM. Awaria strony w środku lipca to nie „bug do backlogu”. To utracone leady i reputacja u partnerów, którzy mają pełny kalendarz na cały kwartał.
Runbook wdrożeniowy dla klientów w Marsylii ma wpisane zamrożenie deployów produkcyjnych na okno sezonu, zwykle od dwóch tygodni przed szczytem letnim do tygodnia po jego zakończeniu. Krytyczne poprawki bezpieczeństwa przechodzą przez środowisko testowe i trafiają na produkcję w nocy, reszta czeka. To nie preferencja developera. To decyzja operacyjna uzgodniona z klientem przed sezonem. Kto robi „drobny patch cache” w poniedziałek lipca, uczy się tego na własnej skórze, kiedy serwis nie wytrzymuje skoku ruchu z telefonów turystów przy Vieux-Port.
Jakie integracje powtarzają się w projektach w Marsylii?
Formularze kontaktowe B2B to najczęstszy punkt integracji dla firm z Euroméditerranée i operatorów logistycznych z Joliette. W praktyce oznacza to podłączenie WordPressa do CRM, walidację pól zgodną z RODO i limitowanie zapytań na endpointach publicznych, żeby formularz nie stał się wektorem spamu w godzinie ogłoszenia nowej oferty.
Dla firm z La French Tech Aix-Marseille druga powtarzalna integracja to landingi produktowe SaaS: synchronizacja z systemem demo, embed wideo z Vimeo albo YouTube, formularze rejestracji beta z polami zgodnymi z CNIL. Każda integracja dostaje dokumentację webhooków, tabelę błędów i test end-to-end na stagingu przed wdrożeniem na produkcję.
Dla branży turystycznej przy Vieux-Port trzecia integracja to rezerwacje i kalendarze: formularze z minimalizacją danych, integracja z systemem bookingowym, webhooki statusu rezerwacji. Webhooki i status formularza muszą przeżyć aktualizację wtyczki. Hotel, który po patchu traci log zgód CNIL, produkuje incydent compliance, nie ticket UX.
Jak pracuję
Każdy projekt w Marsylii realizuję według ustrukturyzowanego procesu minimalizującego ryzyko i maksymalizującego transparentność:
- Odkrywanie i audyt. Przeglądam architekturę obecnej strony, strukturę treści, dane analityczne i cele biznesowe. Spisuję dług techniczny, wskazuję szybkie poprawki i ustalam mierzalne kryteria sukcesu, zanim napiszę pierwszą linię kodu. Sprawdzam też kalendarz sezonu letniego, targów w Joliette albo demo day w La French Tech, żeby wdrożenie nie wpadło w okno krytyczne.
- Specyfikacja techniczna. Na podstawie audytu tworzę szczegółową specyfikację obejmującą decyzje architektoniczne, wybory technologii, harmonogram, kamienie milowe i zakres. Zatwierdzasz plan zanim rozpoczną się prace programistyczne.
- Sprinty deweloperskie. Pracuję w 1-2 tygodniowych iteracjach z demo na koniec każdego sprintu. Postęp widzisz na bieżąco, uwagi możesz zgłaszać od razu, a priorytety zmieniać bez wywracania projektu.
- Przegląd na środowisku testowym. Kompletne rozwiązanie działa na środowisku testowym identycznym z produkcją. Testujesz na prawdziwej treści, sprawdzasz integracje i akceptujesz wdrożenie. Naprawiam wszelkie problemy przed uruchomieniem.
- Launch i przekazanie. Obsługuję zmiany DNS, konfigurację SSL, rozgrzewanie cache’u, weryfikację przekierowań i konfigurację monitoringu. Przez 72 godziny po uruchomieniu pilnuję strony i poprawiam błędy, które się pojawią.
Typowe wyzwania, które rozwiązuję
Firmy w Marsylii regularnie zgłaszają się do mnie z tymi problemami:
- Migracje z page builderów do Gutenberg FSE przed sezonem letnim: wyodrębniam treść, przebudowuję layouty jako wzorce bloków i szkolę zespoły redakcyjne bez zakłócania ruchu na żywo czy pozycji SEO w tygodniach, gdy strona ma najwięcej odwiedzin
- Problemy wydajnościowe z nadmiaru wtyczek na stronach B2B i turystycznych: audytuję zainstalowane pluginy, zastępuję ciężkie zależności lekkim kodem niestandardowym, implementuję warstwy cachowania i redukuję zapytania do bazy z setek do pojedynczych
- Skalowanie WordPress dla sezonu letniego i wydarzeń w Vieux-Port: konfiguruję Cloudflare full-page caching z wyjątkami dla formularzy, optymalizuję indeksy bazy danych, implementuję cachowanie wyników zapytań i przeprowadzam testy obciążeniowe przed startem sezonu
- Hardening bezpieczeństwa dla stron zbierających dane kontaktowe albo formularze B2B: nagłówki Content Security Policy, wyłączony XML-RPC, wymuszone uwierzytelnianie dwuskładnikowe do panelu i limitowanie zapytań na endpointach logowania
Wydajność mierzona, nie obiecana z góry
Core Web Vitals są czynnikiem rankingowym Google i jednocześnie czynnikiem konwersji na stronie, która zbiera leady B2B w szczycie sezonu letniego albo w tygodniu targów w Joliette. Nie obiecuję konkretnej poprawy w procentach przed audytem, bo zależy ona od stanu danej instalacji. To, co robię systematycznie:
- Optymalizacja zasobów. Obrazy przetwarzane przez proces budowania w responsywne srcset w formatach WebP i AVIF, CSS purgowany i inlinowany dla treści above-the-fold, JavaScript tree-shaken i ładowany dynamicznymi importami.
- Architektura cachowania. Wielowarstwowe cachowanie: cache przeglądarki, CDN (Cloudflare), cache aplikacji (Redis), cache zapytań do bazy z inteligentną inwalidacją - z osobnym potraktowaniem dynamicznych fragmentów, jeśli strona ma formularz kontaktowy albo embed wideo.
- Optymalizacja sieci. HTTP/3 z QUIC, kompresja Brotli, hinty preconnect i dns-prefetch, priorytetyzacja zasobów krytycznych dla pierwszego widoku.
- Optymalizacja renderowania. Inlining krytycznego CSS, asynchroniczne ładowanie stylów, lazy loading obrazów i iframów, triggery animacji oparte na Intersection Observer.
Każda decyzja wydajnościowa jest oparta na danych. Mierzę przed i po, dokumentuję wpływ i dołączam baseline wydajności do dokumentacji projektu, żeby regresja po kolejnej aktualizacji wtyczki była widoczna od razu, a nie po fakcie w oknie sezonu letniego.
Jak zadbać o lokalne SEO i widoczność w sieci w Marsylii?
Dobrze zbudowana strona jest wartościowa tylko wtedy, gdy Twoja grupa docelowa w Marsylii i w Métropole Aix-Marseille Provence może ją znaleźć. W każdym projekcie WordPress od pierwszego dnia dbam o podstawy SEO:
- Fundamenty techniczne SEO. Czyste struktury URL, mapy strony XML, konfiguracja robots.txt, tagi canonical i prawidłowa hierarchia nagłówków. Wdrażam dane strukturalne Schema.org: LocalBusiness, Organization, Product, Service, FAQ i HowTo tam, gdzie mają sens.
- Optymalizacja wyszukiwania lokalnego. Integracja z Google Business Profile, lokalne dane strukturalne z adresem w Marsylii, spójność NAP (nazwa, adres, telefon) i strony przygotowane pod zapytania regionalne, uwzględniające Euroméditerranée, Joliette i Vieux-Port tam, gdzie biznes faktycznie działa w aglomeracji marsylskiej albo w basenie Morza Śródziemnego.
- Core Web Vitals jako sygnały rankingowe. Google używa metryk doświadczenia strony w ocenie page experience. Budżet wydajności ustalam na starcie projektu i sprawdzam go na danych od prawdziwych użytkowników z raportu CrUX, a nie tylko w testach laboratoryjnych.
- Architektura treści. Układam strony filarowe, artykuły pomocnicze i linkowanie wewnętrzne tak, żeby użytkownik szybko trafiał do właściwego tematu, a wyszukiwarka jasno rozumiała zakres kompetencji firmy.
SEO uwzględniam w decyzjach architektonicznych od pierwszego szkicu, a nie dopiero po uruchomieniu strony.
O co pytają firmy w Marsylii?
Czy możecie zmigrować naszą istniejącą stronę? Tak. Przenoszę strony z dowolnego CMS do WordPressa, z WordPressa do architektury headless (Astro/Next.js) i między hostingami. Każda migracja obejmuje mapowanie URL, implementację przekierowań 301 i monitoring SEO przez 90 dni po migracji, z uwzględnieniem kalendarza sezonu letniego albo targów, żeby migracja nie wypadła w oknie krytycznym.
Czy pracujecie z firmami spoza Marsylii? Tak. Znam lokalny kontekst (Euroméditerranée, Joliette, Vieux-Port, La French Tech Aix-Marseille), ale współpracuję z klientami w całej Francji i za granicą. Wiele firm w Marsylii obsługuje klientów w Paryżu, Lyonie i całej Unii bez osobnej strony na każde miasto.
Jak obsługujecie strony wielojęzyczne? Implementuję wielojęzyczność przez WPML dla tradycyjnego WordPress lub natywny routing i18n dla buildów headless z Astro lub Next.js. Każda wersja językowa ma poprawne tagi hreflang, przetłumaczone slugi URL i własne metadane SEO. Dla firm obsługujących rynek francuski i anglojęzyczny konfiguracja locale FR/EN wymaga osobnej decyzji architektonicznej.
Co obejmuje bieżące wsparcie? Po zakończeniu budowy projekt może przejść na dedykowaną opieka techniczna WordPress w Marsylii: testowane aktualizacje, kopie zapasowe, monitoring bezpieczeństwa i wydajności oraz wsparcie z udokumentowanym runbookiem. Szczegóły są na stronie opieki.
Czym różni się współpraca z WPPoland od lokalnej agencji w Marsylii? Przede wszystkim doświadczeniem w WordPress od 2006 roku, własnym zapleczem technicznym na Astro i headless WordPress oraz pracą na jasnych założeniach: zakres, etapy i odpowiedzialność są opisane przed wdrożeniem. Wyceniam indywidualnie, według zakresu, a nie z gotowego cennika.
Powiązane usługi
Jeśli Twoja firma prowadzi już sklep online albo planuje go zbudować, mam dedykowaną stronę o programista WooCommerce w Marsylii z checkoutem francuskim, integracją z Payplug i przygotowaniem pod RODO z CNIL. Jeśli obecna strona działa i potrzebuje tylko stałej opieki, testowanych aktualizacji i monitoringu, zobacz opieka techniczna WordPress w Marsylii - obie strony opisują ten sam stos techniczny z perspektywy operacyjnej, nie programistycznej.
Pełny zakres prac przy WordPressie (motywy, wtyczki, Gutenberg, refaktoryzacja) opisuję na stronie programista WordPress. Jeśli chcesz omówić brief, wyślij krótki opis obecnej sytuacji przez formularz kontaktowy.
Jak zacząć projekt w Marsylii?
Jeśli chcesz porozmawiać o stronie na WordPressie, napisz krótko, jak wygląda obecnie, jaki masz cel biznesowy i jakie są ograniczenia techniczne. Na tej podstawie sprawdzam konfigurację, wskazuję ryzyka i proponuję konkretny plan działania.
Jeśli planujesz nową budowę, migrację do Gutenberg albo refaktoryzację odziedziczonego motywu przed sezonem letnim w Vieux-Port albo kampanią w Euroméditerranée, zacznij od spisania celów, ograniczeń i obecnego stanu projektu. Wycena jest indywidualna i zależy od zakresu prac.
Mapa w Marsylii i okolic
Obsługujemy klientów w Marsylii i pobliskich miejscowościach.
Społeczność WordPress w Marsylii
Współorganizujemy WordCamp Gdynia od 2015 i pracujemy w zespole organizacyjnym WordCamp Europe od 2024. To, czego uczymy się na tych wydarzeniach, wraca do kodu, który piszemy dla klientów.
Marseille WordPress Meetup
Lokalna grupa społeczności dla programistów i użytkowników.
Dołącz do grupy →
Projekty WordPress zrealizowane w Marsylii i Francja
Zobacz wybrane realizacje, które wspierają biznes naszych klientów.
E-commerce Development: funderwear.pt
Funderwear.pt to sklep internetowy na WooCommerce, który zaspokoi potrzeby nawet najbardziej wymagających klientów szukających niezwykłych prezentów lub chcą...
E-commerce Development: haveabook.pl
Serwis haveabook.pl to platforma dla wydawnictwa i drukarni, która obsługuje wymagających klientów z krajów skandynawskich. Projekt powstał...
E-commerce Development: ILOVEHAIR
Ilovehair.pl to sklep internetowy oparty na platformie WordPress, dedykowany sprzedaży profesjonalnych produktów fryzjerskich marki Hair Saloon Products. Jak...
Wsparcie techniczne WordPress w Marsylii
Przewodniki metodyczne (SEO, GEO, compliance)
Te materiały opisują, jak pracujemy nad cytowaniami w modelach językowych, modernizacją WooCommerce B2B oraz odpornością operacyjną pod NIS2 i przetargi - niezależnie od miasta realizacji.
Co wyróżnia w Marsylii
Lokalna ekspertyza: - Seniorskie prace WordPress dla firm w Marsylii: dedykowane motywy, wzorce Gutenberg, CPT, ACF albo natywne atrybuty bloków oraz własne wtyczki - Kontekst lokalny: Euroméditerranée, Joliette, Vieux-Port, La French Tech Aix-Marseille, logistyka portowa i lokalne MŚP w Métropole Aix-Marseille Provence - WordPress Coding Standards, RODO z francuską CNIL, hosting w UE i wersje FR/EN wpisane w proces realizacji, bez certyfikatu, którego nie było Pracuję zdalnie i dopasowuję rozwiązania do potrzeb firm w Marsylii. Największą przewagą jest połączenie technicznej jakości z lokalnym kontekstem biznesowym Marsylii.
Potrzebujesz usługi: Programista WordPress w Marsylii?
Porozmawiajmy o tym, jak możemy wprowadzić Twoją stronę na wyższy poziom wydajności.
Umów bezpłatną konsultację w MarsyliiFAQ - Programista WordPress w Marsylii
Gdzie w Marsylii spotyka się środowisko webowe?
Lokalny meetup to Marseille WordPress Meetup, strona grupy: https://www.meetup.com/marseille-wordpress-meetup/. Zapytaj tam, zanim podpiszesz cokolwiek, ze mną też. Sala ludzi, którzy już kogoś lokalnie zatrudnili, weryfikuje szybciej niż jakiekolwiek portfolio.
Motyw od zera czy rozszerzenie istniejącego?
Oba podejścia. Nowy projekt w Marsylii zwykle zaczyna się od motywu blokowego opartego o API edytora: theme.json, wzorce bloków, warianty. Odziedziczone instalacje firm z Euroméditerranée albo operatorów portowych z Joliette częściej potrzebują skoncentrowanej refaktoryzacji hierarchii szablonów i procesu budowania zasobów niż przepisywania od zera. Decyzja zapada na bazie kosztu względem długu, a nie tego, co ciekawiej się buduje.
Gutenberg i FSE czy motyw klasyczny?
Dla nowych budów domyślem jest motyw blokowy z edycją całej witryny, bo tam zmierza edytor WordPressa. Klasyczne motywy PHP zostają, gdy istniejąca warstwa logiki w szablonach jest zbyt kosztowna do przeniesienia, albo gdy zespół redakcyjny pracuje w klasycznym edytorze i zmiana narzędzia byłaby większym ryzykiem niż dług techniczny. Wybór trafia do pisemnego kompromisu technicznego, nie do decyzji ideologicznej.
Technologie i specjalizacje - w Marsylii
Specjalizujemy się w:
Wspominamy o:
Sprawdź inne usługi WordPress i bazę wiedzy
Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.
Audyt CrUX i atrybucja LCP, INP, CLS per template.
Core Web Vitals, cache i szybki frontend.
Bezpłatne sprawdzenie publicznej wersji strony, wynik od razu.
Stabilność, aktualizacje i wsparcie po wdrożeniu.
Aktualizacje testowane przed wdrożeniem, z raportem.
Migracja do Astro, Next.js i headless WordPress.
Audyt, hardening i ochrona przed incydentami.
Powiązane kategorie
Artykuły wspierające temat

Jak zoptymalizować Interaction to Next Paint (INP) na stronach WordPress. Praktyczne poprawki najnowszej metryki Core Web Vitals wpływającej bezpośrednio na pozycje w Google.

Pole kontra lab, LCP, INP i CLS dla WordPressa w 2026. Zielone LCP Google to nadal 2,5 s w CrUX. 100/100 w Lighthouse to cel laboratoryjny. Consent, Cookiebot, widgety kasowe, cache HTML.

Jak zabraliśmy wolny sklep WooCommerce z wyniku 45 do 100. Techniczne zanurzenie w Reguły Spekulacji, AVIF i Krytyczny CSS w 2026.