Dostępne w Turynie

Programista WordPress w Turynie

Pomagamy ugruntowanym firmom w Turynie rozwijać obecność cyfrową dzięki niezawodnym, wydajnym stronom.

Programista WordPress → Turyn

Wspieramy społeczność WordPress w Turynie

Nie jesteśmy tylko zdalną agencją. Jesteśmy aktywną częścią ekosystemu. Wierzymy w Open Source i wnosimy wkład w społeczność, która napędza ponad 40% sieci (W3Techs).

Kontekst lokalny: Skalowalna architektura dla rosnących produktów, wysoki poziom bazowego bezpieczeństwa oraz wielojęzyczne ścieżki użytkownika zoptymalizowane pod rynek lokalny i międzynarodowy.

Programista WordPress & WooCommerce w Turynie

01. Wydajność dla lokalnego SEO

W Turynie, gdzie konkurencja jest wysoka, szybkość strony to Twój najważniejszy atut SEO. Nasz stack Astro + Headless WP gwarantuje wyniki, które zostawiają konkurencję w tyle.

02. Bezpieczeństwo poziomu Enterprise

Dla firm w Turynie obsługujących sektor Startupy i firmy korporacyjne, bezpieczeństwo danych jest priorytetem. Architektura Headless wirtualnie eliminuje najczęstsze wektory ataków na WordPressa.

Katalog części Tier 1 z okolic Mirafiori, portal rekrutacyjny spin-offu z I3P albo landing premiery modelu automotive w Lingotto to nie powód, żeby WordPress udawał system ERP albo platformę PLM. To powód, żeby motyw, bloki Gutenberg, CPT i wtyczki były napisane tak, jak oczekuje włoski dział prawny, redaktor katalogu B2B i zespół compliance, który czyta GDPR i wytyczne Garante Privacy, a nie tylko wynik Lighthouse.

WPPoland buduje ten WordPress z polskiego zespołu seniorów dla firm w Turynie i w szerszym Piemonte. Zakres to programowanie WordPress: motyw blokowy albo klasyczny, własne wtyczki, Gutenberg, CPT, ACF albo natywne bloki, integracje REST i przegląd kodu na Git. Sklep WooCommerce, abonament opieki i kontakt są osobnymi tematami, z linkami na końcu.

#Programowanie WordPress w Turynie

Turyn nie jest Mediolanem i nie jest Bolonią. Stolica Piemontu ma inny kalendarz, inny profil klienta i inny ekosystem vendorów niż fashion week w Porta Nuova albo Motor Valley wzdłuż A14. Turyn jest historyczną stolicą automotive Włoch: dziedzictwo FIAT i Stellantis w Mirafiori, Lingotto z charakterystyczną rampą testową na dachu, łańcuch dostawców Tier 1 w całym regionie, Politecnico di Torino z jednym z najsilniejszych wydziałów inżynierii w Europie Południowej oraz scena startupowa wokół I3P i OGR Torino (Officine Grandi Riparazioni). Brief od klienta w Turynie często brzmi: „mamy Elementor albo Divi, redakcja boi się migracji, a dyrektor digital chce Gutenberg i Git przed premierą modelu albo kampanią rekrutacyjną na wrzesień”. To jest problem modelu treści i procesu wdrożenia, nie problem szablonu z marketplace.

Politecnico di Torino to nie tylko ranking. To dzisiaj tysiące studentów inżynierii, biura transferu technologii, spin-offy w inkubatorze I3P przy kampusie i węzły badawcze w dziedzinach automotive, aerospace i materiałów kompozytowych. Strony tych podmiotów muszą obsługiwać publikacje projektowe, profile grantów finansowanych z UE (Horizon, PNRR), formularze zgłoszeniowe na konferencje i rekrutację kadry technicznej. WordPress w tym środowisku nie zastępuje repozytorium publikacji ani systemu HR, ale landing grantu, strona projektu H2020 albo portal rekrutacyjny wydziału musi wytrzymać deadline zgłoszeń o 23:59 w piątek, nie produkować incydentu operacyjnego w poniedziałek rano.

Piemont automotive to drugi filar briefów z Turynu. Stellantis w Mirafiori, Avio Aero (silniki lotnicze, część grupy GE Aerospace) w okolicach Turynu, Leonardo z zakładami w regionie, a między nimi setki dostawców części, elektroniki i materiałów. Strony B2B w tym korytarzu publikują katalogi produktów, specyfikacje techniczne, zapisy na spotkania w zakładzie produkcyjnym i formularze leadów dla dystrybutorów z całej Europy. Ruch rośnie wokół premier modeli, targów branżowych i kampanii rekrutacyjnych producentów OEM. Wdrożenie aktualizacji wtyczki consent w środku tygodnia premiery produktu to błąd operatorski, nie „drobny ticket po weekendzie”.

Typowy projekt, który trafia do seniorów Turynie, nie brzmi „zróbcie ładną stronę”. Brzmi: odziedziczone motywy z page builderem, redakcja publikująca katalogi części w krótkich oknach czasowych przed premierą, formularz rejestracji na event zbierający dane osobowe pod włoskim nadzorem Garante Privacy, a nowa podstrona pod linię produktową powstaje przez kopiowanie strony z zeszłego roku i ręczne podmienianie numeru wersji. To jest dług techniczny, który wychodzi w piątek wieczorem przed otwarciem kampanii, nie w audycie SEO.

#Motyw blokowy, motyw klasyczny i własna wtyczka

Nowa budowa w Turynie 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 trzyma tokeny: paletę, skalę typografii, odstępy, szerokości treści. Dla spin-offu z I3P oznacza to czytelną typografię techniczną z zachowaniem kontrastu WCAG 2.2 AA. Dla dostawcy części automotive z okolic Mirafiori oznacza to stonowany layout przemysłowy, czytelny krój bez ozdobników i komponenty, które nie pękają na długich numerach katalogowych albo specyfikacjach materiałów. Wzorce bloków opisują powtarzalne układy: hero z materiałem wideo z linii produkcyjnej, siatka produktów B2B, blok cytatu z dyrektorem technicznym, karta specyfikacji części z parametrami wymiarów, stopka z linkiem do informativa privacy zgodnej z GDPR.

Pełna edycja witryny (FSE) ma sens, gdy zespół redakcyjny naprawdę ma dostać kontrolę nad nagłówkiem i stopką. W praktyce wiele firm w Turynie tej kontroli nie chce: nagłówek jest elementem brandu i compliance, a nie placem zabaw. Wtedy motyw blokowy zostaje, ale szablony części (header, footer) są zablokowane, a redakcja pracuje w obrębie wzorców i własnych bloków. To kompromis, nie półśrodek.

Każdy własny blok dostaje block.json, kategorię, ikonę i atrybuty ze schematem. Tam, gdzie treść ma trafić do wyszukiwarki i do RSS, render idzie po stronie serwera. React w edytorze służy do InspectorControls i podglądu, nie do tego, żeby front był aplikacją SPA udającą WordPressa. Handbook na developer.wordpress.org jest źródłem kontraktu API, nie slajdem ze szkolenia.

#Kiedy klasyczny motyw PHP zostaje

Odziedziczone instalacje w Turynie 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żdą linię produktową. Przepisanie tego na FSE „bo tak wypada w 2026” jest droższe niż naprawa hierarchii szablonów, wyciągnięcie logiki do wtyczki i dokładanie Gutenberg tylko tam, gdzie redakcja naprawdę składa nowe landingi.

Klasyczny motyw zostaje, gdy:

  • logika warunkowa siedzi w szablonach (inne menu dla dystrybutora B2B, inne dla klienta końcowego, inne dla partnera badawczego) i przeniesienie jej do theme.json nic 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 klocki idą jako bloki, nie jako 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 produktu B2B, kolejka do CRM, endpoint REST dla intranetu dystrybutorów, rola „redaktor katalogu” bez publish_pages na produkcji publicznej: to wtyczka. Kolory, siatka, wzorzec hero: to motyw. Jeśli po zmianie motywu znika katalog części, 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 premier produktów, mapowanie pól do CRM, walidacja formularza rejestracji na event). Logika biznesowa nie trafia do functions.php motywu, bo functions.php umiera razem z motywem, a firma w Turynie zmienia partnera brandingowego częściej niż model treści.

Porównanie warstw przy kickoffie:

WarstwaCo tam żyjePrzykład w Turynie
Motywprezentacja, tokeny, wzorcelanding premiery, stopka z polityką prywatności
WtyczkaCPT, role, REST, integracjekatalog B2B, oferta pracy, profil projektu badawczego
Gutenbergredakcja bez HTMLwzorzec specyfikacji, blok osoby, karta części
środowisko testowe i Gitproces, nie featuregałąź, review, freeze przed premierą

#Gutenberg, CPT i ACF pod automotive, aerospace i B2B

Gutenberg bez modelu treści kończy się tym, że każda podstrona jest unikalnym kolażem bloków i nikt nie potrafi zrobić listy. W Turynie listy są konkretne: linie produktowe, katalogi części, oferty pracy w zakładzie, lokalizacje fabryk (Mirafiori to nie Grugliasco, Grugliasco to nie Rivalta), eventy branżowe, materiały prasowe. To są obiekty, nie „kolejne strony w drzewie”.

#Własne typy treści zamiast kopiowanych landingów

CPT rejestrujemy z własnymi capabilities, nie z mapowaniem na post. Redaktor katalogu ma edytować kartę produktu, a nie kasować wtyczek. Archiwum CPT dostaje szablon albo wzorzec zapytań. Pojedynczy obiekt ma szablon, który nie pozwala rozpychać layoutu poza ustalony układ. Taksonomie są osobne: linia produktowa (mechanika, elektronika, kompozyty) 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: numer referencyjny, data premiery, język wersji, plik PDF specyfikacji, flaga „embargo do”. Layout strony produktu albo artykułu składa Gutenberg. Mieszanie ACF Flexible Content z pełnym edytorem bloków na tym samym obiekcie kończy się dwoma źródłami prawdy i redaktorem, który nie wie, gdzie kliknąć.

Gdzie ACF jest zbędne, atrybuty bloku w block.json wystarczą. Blok „osoba z cytatem” nie potrzebuje grupy pól na każdej stronie. Potrzebuje atrybutów i ewentualnie InnerBlocks na biogram. Mniej wtyczek w panelu to mniej powierzchni ataku i mniej konfliktów z wtyczkami consent i cache.

Landing produktowy jako kopia strony z zeszłego roku jest długiem, który wychodzi w piątek wieczorem przed premierą. Obiekt CPT z polami wersji, daty i materiałów przeżywa premierę 2027 bez kopiowania drzewa. Szablon czyta obiekt. Redaktor zmienia numer wersji, nie HTML.

#Bloki serwerowe zamiast shortcode’ów

Shortcode w treści to dług, który widać dopiero przy migracji. Nowy kod w Turynie idzie jako blok z renderem serwerowym: znaczniki semantyczne, atrybuty w komentarzu bloku, możliwość filtrowania wyjścia. Blok katalogu B2B czyta CPT, cache’uje zapytanie transjentem z jawnym TTL i invalidacją przy save_post, a nie przy każdym requeście w szczycie kampanii premiery.

przegląd kodu bloku sprawdza trzy rzeczy, zanim gałąź wpadnie do main: czy blok działa po wyłączeniu JS w podglądzie frontu, czy atrybuty mają typy i defaulty, czy nie ładuje całego builda edytora na froncie. Gutenberg, który dokłada megabajt Reacta do strony biografii inżyniera, nie przejdzie review.

Włochy stosują rozporządzenie UE 2016/679 (GDPR) wraz z krajową implementacją w D.Lgs. 196/2003 (Codice Privacy), nadzorowaną przez Garante per la protezione dei dati personali. Dla strony WordPress w Turynie to nie jest abstrakcyjny paragraf prawny. To decyzje w formularzach, w wtyczkach consent, w informativa privacy i w logach audytowych.

Co wpisujemy w brief i w kod:

  • Formularze zbierające dane osobowe (rejestracja na event, newsletter, zapytania B2B od dystrybutorów, formularze leadów rekrutacyjnych) dostają jawną podstawę prawną, checkbox zgody tam, gdzie consent jest wymagany, i minimalizację pól. Pola, których nie potrzebujesz do celu formularza, nie istnieją.
  • Wtyczki consent (Iubenda, Cookiebot, Complianz i podobne popularne we Włoszech) konfigurujemy tak, żeby skrypty marketingowe nie ładowały się przed akceptacją. To jest decyzja w motywie i w kolejności enqueue, nie ticket opieki po pierwszym raporcie Garante.
  • Informativa privacy i cookie policy są szablonami z polami, nie blokami, które redaktor może usunąć z drzewa. W Turynie te strony są elementem compliance, nie stopką marketingową.
  • Integracje z CRM (HubSpot, Salesforce, Pipedrive) dostają dokumentację przepływu danych: co trafia do systemu zewnętrznego, jak długo, kto jest administratorem. Umowy powierzenia przetwarzania (DPA) to decyzja klienta, ale konfiguracja WordPressa musi umożliwiać realizację tej decyzji, w tym hosting w jurysdykcji UE tam, gdzie klient tego wymaga.
  • Logi audytowe dla formularzy i zmian w panelu admina pomagają przy incydentach. Jeśli ktoś pyta „kto zmienił ustawienia formularza rejestracji w piątek przed premierą”, odpowiedź nie może być „nie wiemy”.

Dla firm z sektora automotive i aerospace w Turynie compliance często dotyka też NIS2 i wymogów łańcucha dostaw: katalog B2B z danymi dystrybutorów, formularze z numerami VAT i identyfikatorami firm wymagają świadomej architektury, nie domyślnej konfiguracji Contact Form 7 bez logów. Nie obiecujemy certyfikatu ISO 27001, którego nie było, ale konfiguracja WordPressa musi umożliwiać audyt i minimalizację danych zgodnie z wytycznymi Garante.

Dla sklepów WooCommerce w EUR integracja z bramką płatniczą obsługującą euro, IVA i faktury zgodne z włoskim prawem podatkowym to osobny brief na stronie WooCommerce programista w Turynie. Ta strona trzyma się programowania WordPress, nie checkoutu.

#Hosting w UE i pytanie o origin

Dane osobowe pod GDPR ciągną pytanie: w której jurysdykcji stoi serwer. AWS eu-south-1 w Mediolanie, OVH we Francji, Hetzner w Niemczech, Aruba albo Seeweb we Włoszech, Scaleway w Paryżu to różne odpowiedzi dla compliance officer, ale wszystkie mieszczą się w UE. Ashburn albo Hillsboro to Stany i zwykle veto bez Standard Contractual Clauses albo innej podstawy transferu.

Pytanie „czy hosting jest w Turynie” wraca rzadziej niż „czy w UE”. Odpowiedź operacyjna jest dwuczęściowa. Jurysdykcja: UE, kopia nie wyjeżdża nocą na bucket w regionie US bez uzgodnienia. Latencja: origin w Mediolanie albo Frankfurt plus CDN z terminałem TLS w UE zwykle wystarcza dla użytkowników we Włoszech i w Europie Środkowej. Rozmowa o hostingu w onboardingu jest merytoryczna, nie wizerunkowa.

#Freeze przed premierami produktów i kampaniami rekrutacyjnymi

Kalendarz zamrożenia w Turynie nie jest opcjonalny. Premiera modelu automotive, kampania rekrutacyjna Politecnico na wrzesień albo event branżowy w OGR Torino dokładają okna, w których produkcja nie dostaje drobnej aktualizacji SEO ani eksperymentalnej wtyczki cache. Dostaje freeze zapisany w runbooku, dyżur na cache i DNS oraz zakaz ruszania WPML, Polylang albo wtyczki formularzy bez pełnej regresji na stagingu.

Łatka bezpieczeństwa, która nie może czekać, idzie przez środowisko testowe w godzinach, nie w piątek wieczorem przed otwarciem kampanii. Wdrożenie nowego bloku Gutenberg w środku premiery produktu jest tym samym błędem co aktualizacja wtyczki płatności w Black Friday, tylko kalendarz jest piemontski.

Co konkretnie wpisujemy w runbook freeze:

  • Data rozpoczęcia i zakończenia okna krytycznego (premiera produktu, kampania rekrutacyjna, event branżowy).
  • Lista wtyczek i motywów objętych zakazem aktualizacji bez zgody osoby odpowiedzialnej po stronie klienta.
  • Procedura awaryjna: kto ma dostęp do hostingu, która kopia, który tag Git, kto zatwierdza wycofanie zmian.
  • Checklist regresji po każdej łatce w oknie freeze: formularz rejestracji na event, embed wideo produktowego, purge cache po publikacji szkicu future, webhook do CRM.

Stała opieka operatorska z kalendarzem freeze opisuje osobna strona opieki technicznej WordPress w Turynie. Ten brief trzyma się prac programistycznych, nie miesięcznego rytmu aktualizacji.

#Dostępność: WCAG 2.2 AA przy ciężkich katalogach technicznych

Dostępność w Turynie nie jest jednym przepisem. Sektor automotive i instytucje badawcze nie mają identycznego obowiązku prawnego w każdym przypadku, ale niedostępna strona katalogu B2B albo portalu rekrutacyjnego Politecnico to ryzyko wizerunkowe i prawne w relacjach z klientami instytucjonalnymi, nie „nice to have”. Europejski Akt o Dostępności (EAA) coraz częściej pojawia się w briefach od firm eksportujących do UE.

Co konkretnie robi zespół w kodzie:

  • Semantyczne znaczniki HTML, poprawna hierarchia nagłówków, etykiety formularzy powiązane z polami przez for/id, komunikaty błędów czytelne dla czytników ekranu.
  • Kontrast kolorów zgodny z WCAG 2.2 AA, focus widoczny na wszystkich interaktywnych elementach, nawigacja klawiaturą przez menu i modale.
  • Obrazy z sensownymi atrybutami alt, wideo z napisami tam, gdzie materiał jest publikowany na stronie publicznej.
  • Skan axe-core w CI plus ręczna ścieżka klawiatury na kluczowych szablonach: formularz rejestracji, nawigacja główna, strefa logowania dystrybutora.
  • Informativa privacy i cookie policy jako szablony z polami, nie jako strony zapomniane w stopce.

Dla firm automotive w Turynie dostępność ma też wymiar produktowy: materiał wideo z napisami, transkrypcje, playery, które da się obsłużyć klawiaturą. WordPress nie zastępuje platformy streamingowej, ale strona promocyjna produktu musi być użyteczna dla każdego odbiorcy, nie tylko dla użytkownika myszy na szybkim laptopie.

#Integracje, które się powtarzają w Turynie

Formularze leadów B2B z numerami VAT i identyfikatorami firm to najczęstszy punkt integracji dla dostawców Tier 1 z okolic Mirafiori. W praktyce oznacza to podłączenie WordPressa do CRM albo systemu zamówień, walidację pól zgodną z GDPR i limitowanie zapytań na endpointach publicznych, żeby formularz nie stał się wektorem spamu w godzinie otwarcia kampanii premiery.

Dla spin-offów z I3P druga powtarzalna integracja to portal projektów badawczych: profile grantów, publikacje, formularze zgłoszeniowe na konferencje, synchronizacja z repozytorium ORCID albo systemem zarządzania publikacjami. Każda integracja dostaje dokumentację webhooków, matrycę błędów i test end-to-end na środowisku testowym przed wdrożeniem na produkcję.

Dla firm z sektora aerospace trzecia integracja to często katalog części z parametrami technicznymi, wielojęzyczne treści (IT/EN/DE/FR) i embed z systemem konfiguracji produktu. Sklepy WooCommerce z checkoutem w EUR, integracją z kurierami działającymi we Włoszech i raportowaniem sprzedaży opisujemy na stronie WooCommerce programista.

#Przypadek: katalog B2B przed premierą, środowisko testowe zatrzymał wyciek

Serwis dostawcy części Tier 1 na WordPressie, katalog produktów pod premierę modelu, formularz zapisu na spotkanie w zakładzie, treść zaplanowana na wtorek 8:00, tydzień przed kampanią. W kolejce do produkcji leżała aktualizacja wtyczki cache obiektowego plus patch SEO, „drobny, na żywo, bo to tylko object cache”.

Na środowisku testowym, sklonowanym z produkcji razem z Redisem i z katalogiem w stanie „szkic”, publikacja o 8:00 serwowała specyfikacje z poprzedniej linii produktowej. Przyczyna: zmiana klucza cache po patchu, stary fragment w motywie wołał get_post bez sprawdzenia statusu future, CDN trzymał HTML bez Cache-Control dla zalogowanego redaktora. Na produkcji ten sam zestaw poszedłby w piątek wieczorem. Materiał wyszedłby przed terminem, formularz zbierałby dane bez zaktualizowanej informativa privacy, a wtorkowy ruch z newslettera do dystrybutorów trafiłby w 404 po panicznym cofnięciu wpisu.

środowisko testowe zatrzymał promocję. wycofanie zmian na kopii testowej potwierdził, że sama wtyczka SEO jest niewinna, gdy motyw nie woła szkicu po kluczu bez statusu. Motyw dostał poprawkę, checklista publikacji (szkic, future, formularz, purge, URL w newsletterze, cookie banner) przeszła, dopiero potem produkcja. Nie ma tu nazwy firmy, bo to kształt zdarzenia, nie case study z logotypem. Jest mechanizm: najpierw kopia, potem produkcja. Bez kopii zostałby post-mortem i rozmowa z prawnikiem o wycieku.

#Jak pracujemy

Każdy projekt w Turynie realizujemy według ustrukturyzowanego procesu minimalizującego ryzyko i maksymalizującego transparentność:

  1. Odkrywanie i audyt. Przeglądamy architekturę obecnej strony, strukturę treści, dane analityczne i cele biznesowe. Dokumentujemy dług techniczny, identyfikujemy szybkie wygrane i definiujemy mierzalne kryteria sukcesu zanim napiszemy pierwszą linię kodu. Sprawdzamy też kalendarz premier produktów, kampanii rekrutacyjnych albo eventów branżowych, żeby wdrożenie nie wpadło w okno krytyczne.
  2. Specyfikacja techniczna. Na podstawie audytu tworzymy szczegółową specyfikację obejmującą decyzje architektoniczne, wybory technologii, harmonogram, kamienie milowe i zakres. Zatwierdzasz plan zanim rozpoczną się prace programistyczne.
  3. Sprinty deweloperskie. Pracujemy w 1-2 tygodniowych iteracjach z demo na koniec każdego sprintu. Widzisz postęp na bieżąco, dajesz uwagi na czas i możesz zmieniać priorytety bez wykolejania projektu.
  4. Przegląd na środowisku testowym. Kompletne rozwiązanie działa na środowisku testowym identycznym z produkcją. Testujesz z prawdziwą treścią, weryfikujesz integracje i zatwierdzasz do uruchomienia. Naprawiamy wszelkie problemy przed uruchomieniem.
  5. Launch i przekazanie. Obsługujemy zmiany DNS, konfigurację SSL, rozgrzewanie cache’u, weryfikację przekierowań i konfigurację monitoringu. Po uruchomieniu zostajemy w gotowości przez uzgodnione okno do natychmiastowego rozwiązywania problemów.

#Typowe wyzwania, które rozwiązujemy

Firmy w Turynie regularnie zgłaszają się do nas z tymi problemami:

  • Migracje z page builderów do Gutenberg FSE przed premierą produktu albo kampanią rekrutacyjną: wyodrębniamy treść, przebudowujemy layouty jako wzorce bloków i szkolimy 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 z ciężkimi katalogami technicznymi: audytujemy zainstalowane pluginy, zastępujemy ciężkie zależności lekkim kodem niestandardowym, implementujemy warstwy cachowania i redukujemy zapytania do bazy
  • Skalowanie WordPress dla tygodnia premiery i kampanii B2B: konfigurujemy Cloudflare full-page caching z wyjątkami dla formularzy i strefy dystrybutorów, optymalizujemy indeksy bazy danych, implementujemy cachowanie wyników zapytań i przeprowadzamy testy obciążeniowe przed startem kampanii
  • Hardening bezpieczeństwa dla stron zbierających dane z formularzy rejestracji albo leadów 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 kampanii premiery. Nie obiecujemy konkretnej delty procentowej przed audytem, bo skala poprawy zależy od stanu wejściowego konkretnej instalacji. To, co robimy 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 rejestracji albo embed wideo produktowego.
  • 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. Mierzymy przed i po, dokumentujemy wpływ i dołączamy baseline wydajności do dokumentacji projektu, żeby regresja po kolejnej aktualizacji wtyczki była widoczna od razu, a nie po fakcie w oknie premiery.

#Lokalne SEO i widoczność cyfrowa w Turynie

Dobrze zbudowana strona jest wartościowa tylko wtedy, gdy Twoja grupa docelowa w Turynie i w szerszym Piemonte może ją znaleźć. Nasze projekty programowania WordPress obejmują fundamentalną architekturę SEO od pierwszego szkicu:

  • Fundamenty techniczne SEO. Czyste struktury URL, mapy strony XML, konfiguracja robots.txt, tagi canonical i prawidłowa hierarchia nagłówków. Implementujemy 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 Turynie, spójność NAP (nazwa, adres, telefon) i strony przygotowane pod zapytania regionalne, uwzględniające Piemonte i sąsiednie ośrodki tam, gdzie biznes faktycznie działa w Mediolanie albo Genewie.
  • Core Web Vitals jako sygnały rankingowe. Google używa metryk doświadczenia strony w ocenie page experience. Budżety wydajnościowe ustalamy na starcie projektu i weryfikujemy je na danych terenowych z raportu CrUX, nie tylko w pomiarze laboratoryjnym.
  • Architektura treści. Układamy 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 nie jest dodatkiem po uruchomieniu strony, jest częścią decyzji architektonicznych od pierwszego szkicu.

#WordPress Torino Meetup i praktyka lokalna

WordPress Torino Meetup spotyka się w ekosystemie piemontskim. To nie jest kanał sprzedaży. To jest miejsce, w którym widać, jak lokalni maintainerzy aktualizują, jak rozmawiają o uprawnieniach i o hoście. Development, który nigdy nie wychodzi poza ticket, gubi ten kontekst: w Turynie część zespołów siedzi po stronie automotive albo aerospace i usłyszy te same pytania na eventach branżowych albo w coworkingach wokół OGR Torino.

WP-CLI w projekcie nie jest ozdobą meetupową. To sposób, żeby aktualizację, różnicę wtyczek i eksport listy użytkowników zrobić powtarzalnie, z logiem, bez klików wp-admin na produkcji. Po sesji o bezpieczeństwie w społeczności argument „zrobimy to ręcznie w panelu” brzmi jeszcze gorzej.

#Pytania, które zadają nam firmy w Turynie

Czy możecie zmigrować naszą istniejącą stronę? Tak. Obsługujemy migracje z dowolnego CMS do WordPress, z WordPress do architektury headless (Astro/Next.js) i między dostawcami hostingu. Każda migracja obejmuje mapowanie URL, implementację przekierowań 301 i monitoring SEO przez 90 dni po migracji, z uwzględnieniem kalendarza premier produktów albo kampanii rekrutacyjnych, żeby migracja nie wypadła w oknie krytycznym.

Czy pracujecie z firmami spoza Turynu? Tak. Znamy lokalny kontekst (Stellantis, Mirafiori, Politecnico, I3P, Piemonte), ale współpracujemy z klientami w całych Włoszech i za granicą. Wiele firm w Turynie obsługuje dystrybutorów Mediolanie, Monachium i Paryżu bez osobnej strony na każde miasto.

Jak obsługujecie strony wielojęzyczne? Implementujemy 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 dostaje prawidłowe tagi hreflang, zlokalizowane slugi URL i niezależne meta dane SEO. Dla firm z wersjami IT/EN/DE konfiguracja locale i hreflang wymaga osobnej decyzji architektonicznej.

Co obejmuje bieżące wsparcie? Po zakończeniu budowy projekt może przejść na dedykowane utrzymanie stron WordPress: testowane aktualizacje, kopie zapasowe, monitoring bezpieczeństwa i wydajności oraz priorytetowe wsparcie z udokumentowanym SLA. Szczegóły na stronie opieki, nie w tym briefie programistycznym.

Czym różni się współpraca z WPPoland od lokalnej agencji w Turynie? Przede wszystkim doświadczeniem w WordPress od 2007 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. Wycena jest indywidualna i zależy od zakresu, nie z gotowego cennika.

#Powiązane usługi i miasta

Jeśli Twoja firma prowadzi już sklep online albo planuje go zbudować, mamy dedykowaną stronę o tworzeniu sklepów WooCommerce w Turynie z checkoutem w EUR, integracją z włoskimi kurierami i przygotowaniem pod GDPR. Jeśli obecna strona działa i potrzebuje tylko stałej opieki, testowanych aktualizacji i monitoringu z kalendarzem freeze przed premierami produktów, zobacz opiekę techniczną WordPress w Turynie.

Pełny zakres prac programistycznych WordPress (motywy, wtyczki, Gutenberg, refaktoryzacje) opisuje strona programista WordPress. Dla porównania kontekstu lokalnego w innych włoskich ośrodkach: programista WordPress w Mediolanie, w Rzymie, w Bolonii i we Florencji. Jeśli chcesz omówić brief, wyślij krótki opis obecnej sytuacji przez formularz kontaktowy.

#Rozpocznij swój projekt w Turynie

Jeśli chcesz omówić programowanie WordPress, wyślij krótki opis obecnej sytuacji, celu biznesowego i ograniczeń technicznych. Na tej podstawie sprawdzamy konfigurację, wskazujemy ryzyka i proponujemy praktyczny plan działania.

Jeśli planujesz nową budowę, migrację do Gutenberg albo refaktoryzację odziedziczonego motywu przed premierą produktu albo kampanią rekrutacyjną, zacznij od spisania celów, ograniczeń i obecnego stanu projektu. Wycena jest indywidualna i zależy od zakresu prac.

Mapa w Turynie i okolic

Obsługujemy klientów w Turynie i pobliskich miejscowościach.

Treść dedykowana:

Ta strona zawiera informacje przygotowane specjalnie dla Turyn.

Katalog części Tier 1 z okolic Mirafiori, portal rekrutacyjny spin-offu z I3P albo landing premiery modelu automotive w Lingotto to nie powód, żeby WordPress udawał system ERP albo platformę PLM. To powód, żeby motyw, bloki Gutenberg, CPT i wtyczki były napisane tak, jak oczekuje włoski dział prawny, redaktor katalogu B2B i zespół compliance, który czyta GDPR i wytyczne Garante Privacy, a nie tylko wynik Lighthouse.

WPPoland buduje ten WordPress z polskiego zespołu seniorów dla firm w Turynie i w szerszym Piemonte. Zakres to programowanie WordPress: motyw blokowy albo klasyczny, własne wtyczki, Gutenberg, CPT, ACF albo natywne bloki, integracje REST i przegląd kodu na Git. Sklep WooCommerce, abonament opieki i kontakt są osobnymi tematami, z linkami na końcu.

#Programowanie WordPress w Turynie

Turyn nie jest Mediolanem i nie jest Bolonią. Stolica Piemontu ma inny kalendarz, inny profil klienta i inny ekosystem vendorów niż fashion week w Porta Nuova albo Motor Valley wzdłuż A14. Turyn jest historyczną stolicą automotive Włoch: dziedzictwo FIAT i Stellantis w Mirafiori, Lingotto z charakterystyczną rampą testową na dachu, łańcuch dostawców Tier 1 w całym regionie, Politecnico di Torino z jednym z najsilniejszych wydziałów inżynierii w Europie Południowej oraz scena startupowa wokół I3P i OGR Torino (Officine Grandi Riparazioni). Brief od klienta w Turynie często brzmi: „mamy Elementor albo Divi, redakcja boi się migracji, a dyrektor digital chce Gutenberg i Git przed premierą modelu albo kampanią rekrutacyjną na wrzesień”. To jest problem modelu treści i procesu wdrożenia, nie problem szablonu z marketplace.

Politecnico di Torino to nie tylko ranking. To dzisiaj tysiące studentów inżynierii, biura transferu technologii, spin-offy w inkubatorze I3P przy kampusie i węzły badawcze w dziedzinach automotive, aerospace i materiałów kompozytowych. Strony tych podmiotów muszą obsługiwać publikacje projektowe, profile grantów finansowanych z UE (Horizon, PNRR), formularze zgłoszeniowe na konferencje i rekrutację kadry technicznej. WordPress w tym środowisku nie zastępuje repozytorium publikacji ani systemu HR, ale landing grantu, strona projektu H2020 albo portal rekrutacyjny wydziału musi wytrzymać deadline zgłoszeń o 23:59 w piątek, nie produkować incydentu operacyjnego w poniedziałek rano.

Piemont automotive to drugi filar briefów z Turynu. Stellantis w Mirafiori, Avio Aero (silniki lotnicze, część grupy GE Aerospace) w okolicach Turynu, Leonardo z zakładami w regionie, a między nimi setki dostawców części, elektroniki i materiałów. Strony B2B w tym korytarzu publikują katalogi produktów, specyfikacje techniczne, zapisy na spotkania w zakładzie produkcyjnym i formularze leadów dla dystrybutorów z całej Europy. Ruch rośnie wokół premier modeli, targów branżowych i kampanii rekrutacyjnych producentów OEM. Wdrożenie aktualizacji wtyczki consent w środku tygodnia premiery produktu to błąd operatorski, nie „drobny ticket po weekendzie”.

Typowy projekt, który trafia do seniorów Turynie, nie brzmi „zróbcie ładną stronę”. Brzmi: odziedziczone motywy z page builderem, redakcja publikująca katalogi części w krótkich oknach czasowych przed premierą, formularz rejestracji na event zbierający dane osobowe pod włoskim nadzorem Garante Privacy, a nowa podstrona pod linię produktową powstaje przez kopiowanie strony z zeszłego roku i ręczne podmienianie numeru wersji. To jest dług techniczny, który wychodzi w piątek wieczorem przed otwarciem kampanii, nie w audycie SEO.

#Motyw blokowy, motyw klasyczny i własna wtyczka

Nowa budowa w Turynie 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 trzyma tokeny: paletę, skalę typografii, odstępy, szerokości treści. Dla spin-offu z I3P oznacza to czytelną typografię techniczną z zachowaniem kontrastu WCAG 2.2 AA. Dla dostawcy części automotive z okolic Mirafiori oznacza to stonowany layout przemysłowy, czytelny krój bez ozdobników i komponenty, które nie pękają na długich numerach katalogowych albo specyfikacjach materiałów. Wzorce bloków opisują powtarzalne układy: hero z materiałem wideo z linii produkcyjnej, siatka produktów B2B, blok cytatu z dyrektorem technicznym, karta specyfikacji części z parametrami wymiarów, stopka z linkiem do informativa privacy zgodnej z GDPR.

Pełna edycja witryny (FSE) ma sens, gdy zespół redakcyjny naprawdę ma dostać kontrolę nad nagłówkiem i stopką. W praktyce wiele firm w Turynie tej kontroli nie chce: nagłówek jest elementem brandu i compliance, a nie placem zabaw. Wtedy motyw blokowy zostaje, ale szablony części (header, footer) są zablokowane, a redakcja pracuje w obrębie wzorców i własnych bloków. To kompromis, nie półśrodek.

Każdy własny blok dostaje block.json, kategorię, ikonę i atrybuty ze schematem. Tam, gdzie treść ma trafić do wyszukiwarki i do RSS, render idzie po stronie serwera. React w edytorze służy do InspectorControls i podglądu, nie do tego, żeby front był aplikacją SPA udającą WordPressa. Handbook na developer.wordpress.org jest źródłem kontraktu API, nie slajdem ze szkolenia.

#Kiedy klasyczny motyw PHP zostaje

Odziedziczone instalacje w Turynie 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żdą linię produktową. Przepisanie tego na FSE „bo tak wypada w 2026” jest droższe niż naprawa hierarchii szablonów, wyciągnięcie logiki do wtyczki i dokładanie Gutenberg tylko tam, gdzie redakcja naprawdę składa nowe landingi.

Klasyczny motyw zostaje, gdy:

  • logika warunkowa siedzi w szablonach (inne menu dla dystrybutora B2B, inne dla klienta końcowego, inne dla partnera badawczego) i przeniesienie jej do theme.json nic 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 klocki idą jako bloki, nie jako 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 produktu B2B, kolejka do CRM, endpoint REST dla intranetu dystrybutorów, rola „redaktor katalogu” bez publish_pages na produkcji publicznej: to wtyczka. Kolory, siatka, wzorzec hero: to motyw. Jeśli po zmianie motywu znika katalog części, 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 premier produktów, mapowanie pól do CRM, walidacja formularza rejestracji na event). Logika biznesowa nie trafia do functions.php motywu, bo functions.php umiera razem z motywem, a firma w Turynie zmienia partnera brandingowego częściej niż model treści.

Porównanie warstw przy kickoffie:

WarstwaCo tam żyjePrzykład w Turynie
Motywprezentacja, tokeny, wzorcelanding premiery, stopka z polityką prywatności
WtyczkaCPT, role, REST, integracjekatalog B2B, oferta pracy, profil projektu badawczego
Gutenbergredakcja bez HTMLwzorzec specyfikacji, blok osoby, karta części
środowisko testowe i Gitproces, nie featuregałąź, review, freeze przed premierą

#Gutenberg, CPT i ACF pod automotive, aerospace i B2B

Gutenberg bez modelu treści kończy się tym, że każda podstrona jest unikalnym kolażem bloków i nikt nie potrafi zrobić listy. W Turynie listy są konkretne: linie produktowe, katalogi części, oferty pracy w zakładzie, lokalizacje fabryk (Mirafiori to nie Grugliasco, Grugliasco to nie Rivalta), eventy branżowe, materiały prasowe. To są obiekty, nie „kolejne strony w drzewie”.

#Własne typy treści zamiast kopiowanych landingów

CPT rejestrujemy z własnymi capabilities, nie z mapowaniem na post. Redaktor katalogu ma edytować kartę produktu, a nie kasować wtyczek. Archiwum CPT dostaje szablon albo wzorzec zapytań. Pojedynczy obiekt ma szablon, który nie pozwala rozpychać layoutu poza ustalony układ. Taksonomie są osobne: linia produktowa (mechanika, elektronika, kompozyty) 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: numer referencyjny, data premiery, język wersji, plik PDF specyfikacji, flaga „embargo do”. Layout strony produktu albo artykułu składa Gutenberg. Mieszanie ACF Flexible Content z pełnym edytorem bloków na tym samym obiekcie kończy się dwoma źródłami prawdy i redaktorem, który nie wie, gdzie kliknąć.

Gdzie ACF jest zbędne, atrybuty bloku w block.json wystarczą. Blok „osoba z cytatem” nie potrzebuje grupy pól na każdej stronie. Potrzebuje atrybutów i ewentualnie InnerBlocks na biogram. Mniej wtyczek w panelu to mniej powierzchni ataku i mniej konfliktów z wtyczkami consent i cache.

Landing produktowy jako kopia strony z zeszłego roku jest długiem, który wychodzi w piątek wieczorem przed premierą. Obiekt CPT z polami wersji, daty i materiałów przeżywa premierę 2027 bez kopiowania drzewa. Szablon czyta obiekt. Redaktor zmienia numer wersji, nie HTML.

#Bloki serwerowe zamiast shortcode’ów

Shortcode w treści to dług, który widać dopiero przy migracji. Nowy kod w Turynie idzie jako blok z renderem serwerowym: znaczniki semantyczne, atrybuty w komentarzu bloku, możliwość filtrowania wyjścia. Blok katalogu B2B czyta CPT, cache’uje zapytanie transjentem z jawnym TTL i invalidacją przy save_post, a nie przy każdym requeście w szczycie kampanii premiery.

przegląd kodu bloku sprawdza trzy rzeczy, zanim gałąź wpadnie do main: czy blok działa po wyłączeniu JS w podglądzie frontu, czy atrybuty mają typy i defaulty, czy nie ładuje całego builda edytora na froncie. Gutenberg, który dokłada megabajt Reacta do strony biografii inżyniera, nie przejdzie review.

Włochy stosują rozporządzenie UE 2016/679 (GDPR) wraz z krajową implementacją w D.Lgs. 196/2003 (Codice Privacy), nadzorowaną przez Garante per la protezione dei dati personali. Dla strony WordPress w Turynie to nie jest abstrakcyjny paragraf prawny. To decyzje w formularzach, w wtyczkach consent, w informativa privacy i w logach audytowych.

Co wpisujemy w brief i w kod:

  • Formularze zbierające dane osobowe (rejestracja na event, newsletter, zapytania B2B od dystrybutorów, formularze leadów rekrutacyjnych) dostają jawną podstawę prawną, checkbox zgody tam, gdzie consent jest wymagany, i minimalizację pól. Pola, których nie potrzebujesz do celu formularza, nie istnieją.
  • Wtyczki consent (Iubenda, Cookiebot, Complianz i podobne popularne we Włoszech) konfigurujemy tak, żeby skrypty marketingowe nie ładowały się przed akceptacją. To jest decyzja w motywie i w kolejności enqueue, nie ticket opieki po pierwszym raporcie Garante.
  • Informativa privacy i cookie policy są szablonami z polami, nie blokami, które redaktor może usunąć z drzewa. W Turynie te strony są elementem compliance, nie stopką marketingową.
  • Integracje z CRM (HubSpot, Salesforce, Pipedrive) dostają dokumentację przepływu danych: co trafia do systemu zewnętrznego, jak długo, kto jest administratorem. Umowy powierzenia przetwarzania (DPA) to decyzja klienta, ale konfiguracja WordPressa musi umożliwiać realizację tej decyzji, w tym hosting w jurysdykcji UE tam, gdzie klient tego wymaga.
  • Logi audytowe dla formularzy i zmian w panelu admina pomagają przy incydentach. Jeśli ktoś pyta „kto zmienił ustawienia formularza rejestracji w piątek przed premierą”, odpowiedź nie może być „nie wiemy”.

Dla firm z sektora automotive i aerospace w Turynie compliance często dotyka też NIS2 i wymogów łańcucha dostaw: katalog B2B z danymi dystrybutorów, formularze z numerami VAT i identyfikatorami firm wymagają świadomej architektury, nie domyślnej konfiguracji Contact Form 7 bez logów. Nie obiecujemy certyfikatu ISO 27001, którego nie było, ale konfiguracja WordPressa musi umożliwiać audyt i minimalizację danych zgodnie z wytycznymi Garante.

Dla sklepów WooCommerce w EUR integracja z bramką płatniczą obsługującą euro, IVA i faktury zgodne z włoskim prawem podatkowym to osobny brief na stronie WooCommerce programista w Turynie. Ta strona trzyma się programowania WordPress, nie checkoutu.

#Hosting w UE i pytanie o origin

Dane osobowe pod GDPR ciągną pytanie: w której jurysdykcji stoi serwer. AWS eu-south-1 w Mediolanie, OVH we Francji, Hetzner w Niemczech, Aruba albo Seeweb we Włoszech, Scaleway w Paryżu to różne odpowiedzi dla compliance officer, ale wszystkie mieszczą się w UE. Ashburn albo Hillsboro to Stany i zwykle veto bez Standard Contractual Clauses albo innej podstawy transferu.

Pytanie „czy hosting jest w Turynie” wraca rzadziej niż „czy w UE”. Odpowiedź operacyjna jest dwuczęściowa. Jurysdykcja: UE, kopia nie wyjeżdża nocą na bucket w regionie US bez uzgodnienia. Latencja: origin w Mediolanie albo Frankfurt plus CDN z terminałem TLS w UE zwykle wystarcza dla użytkowników we Włoszech i w Europie Środkowej. Rozmowa o hostingu w onboardingu jest merytoryczna, nie wizerunkowa.

#Freeze przed premierami produktów i kampaniami rekrutacyjnymi

Kalendarz zamrożenia w Turynie nie jest opcjonalny. Premiera modelu automotive, kampania rekrutacyjna Politecnico na wrzesień albo event branżowy w OGR Torino dokładają okna, w których produkcja nie dostaje drobnej aktualizacji SEO ani eksperymentalnej wtyczki cache. Dostaje freeze zapisany w runbooku, dyżur na cache i DNS oraz zakaz ruszania WPML, Polylang albo wtyczki formularzy bez pełnej regresji na stagingu.

Łatka bezpieczeństwa, która nie może czekać, idzie przez środowisko testowe w godzinach, nie w piątek wieczorem przed otwarciem kampanii. Wdrożenie nowego bloku Gutenberg w środku premiery produktu jest tym samym błędem co aktualizacja wtyczki płatności w Black Friday, tylko kalendarz jest piemontski.

Co konkretnie wpisujemy w runbook freeze:

  • Data rozpoczęcia i zakończenia okna krytycznego (premiera produktu, kampania rekrutacyjna, event branżowy).
  • Lista wtyczek i motywów objętych zakazem aktualizacji bez zgody osoby odpowiedzialnej po stronie klienta.
  • Procedura awaryjna: kto ma dostęp do hostingu, która kopia, który tag Git, kto zatwierdza wycofanie zmian.
  • Checklist regresji po każdej łatce w oknie freeze: formularz rejestracji na event, embed wideo produktowego, purge cache po publikacji szkicu future, webhook do CRM.

Stała opieka operatorska z kalendarzem freeze opisuje osobna strona opieki technicznej WordPress w Turynie. Ten brief trzyma się prac programistycznych, nie miesięcznego rytmu aktualizacji.

#Dostępność: WCAG 2.2 AA przy ciężkich katalogach technicznych

Dostępność w Turynie nie jest jednym przepisem. Sektor automotive i instytucje badawcze nie mają identycznego obowiązku prawnego w każdym przypadku, ale niedostępna strona katalogu B2B albo portalu rekrutacyjnego Politecnico to ryzyko wizerunkowe i prawne w relacjach z klientami instytucjonalnymi, nie „nice to have”. Europejski Akt o Dostępności (EAA) coraz częściej pojawia się w briefach od firm eksportujących do UE.

Co konkretnie robi zespół w kodzie:

  • Semantyczne znaczniki HTML, poprawna hierarchia nagłówków, etykiety formularzy powiązane z polami przez for/id, komunikaty błędów czytelne dla czytników ekranu.
  • Kontrast kolorów zgodny z WCAG 2.2 AA, focus widoczny na wszystkich interaktywnych elementach, nawigacja klawiaturą przez menu i modale.
  • Obrazy z sensownymi atrybutami alt, wideo z napisami tam, gdzie materiał jest publikowany na stronie publicznej.
  • Skan axe-core w CI plus ręczna ścieżka klawiatury na kluczowych szablonach: formularz rejestracji, nawigacja główna, strefa logowania dystrybutora.
  • Informativa privacy i cookie policy jako szablony z polami, nie jako strony zapomniane w stopce.

Dla firm automotive w Turynie dostępność ma też wymiar produktowy: materiał wideo z napisami, transkrypcje, playery, które da się obsłużyć klawiaturą. WordPress nie zastępuje platformy streamingowej, ale strona promocyjna produktu musi być użyteczna dla każdego odbiorcy, nie tylko dla użytkownika myszy na szybkim laptopie.

#Integracje, które się powtarzają w Turynie

Formularze leadów B2B z numerami VAT i identyfikatorami firm to najczęstszy punkt integracji dla dostawców Tier 1 z okolic Mirafiori. W praktyce oznacza to podłączenie WordPressa do CRM albo systemu zamówień, walidację pól zgodną z GDPR i limitowanie zapytań na endpointach publicznych, żeby formularz nie stał się wektorem spamu w godzinie otwarcia kampanii premiery.

Dla spin-offów z I3P druga powtarzalna integracja to portal projektów badawczych: profile grantów, publikacje, formularze zgłoszeniowe na konferencje, synchronizacja z repozytorium ORCID albo systemem zarządzania publikacjami. Każda integracja dostaje dokumentację webhooków, matrycę błędów i test end-to-end na środowisku testowym przed wdrożeniem na produkcję.

Dla firm z sektora aerospace trzecia integracja to często katalog części z parametrami technicznymi, wielojęzyczne treści (IT/EN/DE/FR) i embed z systemem konfiguracji produktu. Sklepy WooCommerce z checkoutem w EUR, integracją z kurierami działającymi we Włoszech i raportowaniem sprzedaży opisujemy na stronie WooCommerce programista.

#Przypadek: katalog B2B przed premierą, środowisko testowe zatrzymał wyciek

Serwis dostawcy części Tier 1 na WordPressie, katalog produktów pod premierę modelu, formularz zapisu na spotkanie w zakładzie, treść zaplanowana na wtorek 8:00, tydzień przed kampanią. W kolejce do produkcji leżała aktualizacja wtyczki cache obiektowego plus patch SEO, „drobny, na żywo, bo to tylko object cache”.

Na środowisku testowym, sklonowanym z produkcji razem z Redisem i z katalogiem w stanie „szkic”, publikacja o 8:00 serwowała specyfikacje z poprzedniej linii produktowej. Przyczyna: zmiana klucza cache po patchu, stary fragment w motywie wołał get_post bez sprawdzenia statusu future, CDN trzymał HTML bez Cache-Control dla zalogowanego redaktora. Na produkcji ten sam zestaw poszedłby w piątek wieczorem. Materiał wyszedłby przed terminem, formularz zbierałby dane bez zaktualizowanej informativa privacy, a wtorkowy ruch z newslettera do dystrybutorów trafiłby w 404 po panicznym cofnięciu wpisu.

środowisko testowe zatrzymał promocję. wycofanie zmian na kopii testowej potwierdził, że sama wtyczka SEO jest niewinna, gdy motyw nie woła szkicu po kluczu bez statusu. Motyw dostał poprawkę, checklista publikacji (szkic, future, formularz, purge, URL w newsletterze, cookie banner) przeszła, dopiero potem produkcja. Nie ma tu nazwy firmy, bo to kształt zdarzenia, nie case study z logotypem. Jest mechanizm: najpierw kopia, potem produkcja. Bez kopii zostałby post-mortem i rozmowa z prawnikiem o wycieku.

#Jak pracujemy

Każdy projekt w Turynie realizujemy według ustrukturyzowanego procesu minimalizującego ryzyko i maksymalizującego transparentność:

  1. Odkrywanie i audyt. Przeglądamy architekturę obecnej strony, strukturę treści, dane analityczne i cele biznesowe. Dokumentujemy dług techniczny, identyfikujemy szybkie wygrane i definiujemy mierzalne kryteria sukcesu zanim napiszemy pierwszą linię kodu. Sprawdzamy też kalendarz premier produktów, kampanii rekrutacyjnych albo eventów branżowych, żeby wdrożenie nie wpadło w okno krytyczne.
  2. Specyfikacja techniczna. Na podstawie audytu tworzymy szczegółową specyfikację obejmującą decyzje architektoniczne, wybory technologii, harmonogram, kamienie milowe i zakres. Zatwierdzasz plan zanim rozpoczną się prace programistyczne.
  3. Sprinty deweloperskie. Pracujemy w 1-2 tygodniowych iteracjach z demo na koniec każdego sprintu. Widzisz postęp na bieżąco, dajesz uwagi na czas i możesz zmieniać priorytety bez wykolejania projektu.
  4. Przegląd na środowisku testowym. Kompletne rozwiązanie działa na środowisku testowym identycznym z produkcją. Testujesz z prawdziwą treścią, weryfikujesz integracje i zatwierdzasz do uruchomienia. Naprawiamy wszelkie problemy przed uruchomieniem.
  5. Launch i przekazanie. Obsługujemy zmiany DNS, konfigurację SSL, rozgrzewanie cache’u, weryfikację przekierowań i konfigurację monitoringu. Po uruchomieniu zostajemy w gotowości przez uzgodnione okno do natychmiastowego rozwiązywania problemów.

#Typowe wyzwania, które rozwiązujemy

Firmy w Turynie regularnie zgłaszają się do nas z tymi problemami:

  • Migracje z page builderów do Gutenberg FSE przed premierą produktu albo kampanią rekrutacyjną: wyodrębniamy treść, przebudowujemy layouty jako wzorce bloków i szkolimy 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 z ciężkimi katalogami technicznymi: audytujemy zainstalowane pluginy, zastępujemy ciężkie zależności lekkim kodem niestandardowym, implementujemy warstwy cachowania i redukujemy zapytania do bazy
  • Skalowanie WordPress dla tygodnia premiery i kampanii B2B: konfigurujemy Cloudflare full-page caching z wyjątkami dla formularzy i strefy dystrybutorów, optymalizujemy indeksy bazy danych, implementujemy cachowanie wyników zapytań i przeprowadzamy testy obciążeniowe przed startem kampanii
  • Hardening bezpieczeństwa dla stron zbierających dane z formularzy rejestracji albo leadów 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 kampanii premiery. Nie obiecujemy konkretnej delty procentowej przed audytem, bo skala poprawy zależy od stanu wejściowego konkretnej instalacji. To, co robimy 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 rejestracji albo embed wideo produktowego.
  • 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. Mierzymy przed i po, dokumentujemy wpływ i dołączamy baseline wydajności do dokumentacji projektu, żeby regresja po kolejnej aktualizacji wtyczki była widoczna od razu, a nie po fakcie w oknie premiery.

#Lokalne SEO i widoczność cyfrowa w Turynie

Dobrze zbudowana strona jest wartościowa tylko wtedy, gdy Twoja grupa docelowa w Turynie i w szerszym Piemonte może ją znaleźć. Nasze projekty programowania WordPress obejmują fundamentalną architekturę SEO od pierwszego szkicu:

  • Fundamenty techniczne SEO. Czyste struktury URL, mapy strony XML, konfiguracja robots.txt, tagi canonical i prawidłowa hierarchia nagłówków. Implementujemy 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 Turynie, spójność NAP (nazwa, adres, telefon) i strony przygotowane pod zapytania regionalne, uwzględniające Piemonte i sąsiednie ośrodki tam, gdzie biznes faktycznie działa w Mediolanie albo Genewie.
  • Core Web Vitals jako sygnały rankingowe. Google używa metryk doświadczenia strony w ocenie page experience. Budżety wydajnościowe ustalamy na starcie projektu i weryfikujemy je na danych terenowych z raportu CrUX, nie tylko w pomiarze laboratoryjnym.
  • Architektura treści. Układamy 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 nie jest dodatkiem po uruchomieniu strony, jest częścią decyzji architektonicznych od pierwszego szkicu.

#WordPress Torino Meetup i praktyka lokalna

WordPress Torino Meetup spotyka się w ekosystemie piemontskim. To nie jest kanał sprzedaży. To jest miejsce, w którym widać, jak lokalni maintainerzy aktualizują, jak rozmawiają o uprawnieniach i o hoście. Development, który nigdy nie wychodzi poza ticket, gubi ten kontekst: w Turynie część zespołów siedzi po stronie automotive albo aerospace i usłyszy te same pytania na eventach branżowych albo w coworkingach wokół OGR Torino.

WP-CLI w projekcie nie jest ozdobą meetupową. To sposób, żeby aktualizację, różnicę wtyczek i eksport listy użytkowników zrobić powtarzalnie, z logiem, bez klików wp-admin na produkcji. Po sesji o bezpieczeństwie w społeczności argument „zrobimy to ręcznie w panelu” brzmi jeszcze gorzej.

#Pytania, które zadają nam firmy w Turynie

Czy możecie zmigrować naszą istniejącą stronę? Tak. Obsługujemy migracje z dowolnego CMS do WordPress, z WordPress do architektury headless (Astro/Next.js) i między dostawcami hostingu. Każda migracja obejmuje mapowanie URL, implementację przekierowań 301 i monitoring SEO przez 90 dni po migracji, z uwzględnieniem kalendarza premier produktów albo kampanii rekrutacyjnych, żeby migracja nie wypadła w oknie krytycznym.

Czy pracujecie z firmami spoza Turynu? Tak. Znamy lokalny kontekst (Stellantis, Mirafiori, Politecnico, I3P, Piemonte), ale współpracujemy z klientami w całych Włoszech i za granicą. Wiele firm w Turynie obsługuje dystrybutorów Mediolanie, Monachium i Paryżu bez osobnej strony na każde miasto.

Jak obsługujecie strony wielojęzyczne? Implementujemy 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 dostaje prawidłowe tagi hreflang, zlokalizowane slugi URL i niezależne meta dane SEO. Dla firm z wersjami IT/EN/DE konfiguracja locale i hreflang wymaga osobnej decyzji architektonicznej.

Co obejmuje bieżące wsparcie? Po zakończeniu budowy projekt może przejść na dedykowane utrzymanie stron WordPress: testowane aktualizacje, kopie zapasowe, monitoring bezpieczeństwa i wydajności oraz priorytetowe wsparcie z udokumentowanym SLA. Szczegóły na stronie opieki, nie w tym briefie programistycznym.

Czym różni się współpraca z WPPoland od lokalnej agencji w Turynie? Przede wszystkim doświadczeniem w WordPress od 2007 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. Wycena jest indywidualna i zależy od zakresu, nie z gotowego cennika.

#Powiązane usługi i miasta

Jeśli Twoja firma prowadzi już sklep online albo planuje go zbudować, mamy dedykowaną stronę o tworzeniu sklepów WooCommerce w Turynie z checkoutem w EUR, integracją z włoskimi kurierami i przygotowaniem pod GDPR. Jeśli obecna strona działa i potrzebuje tylko stałej opieki, testowanych aktualizacji i monitoringu z kalendarzem freeze przed premierami produktów, zobacz opiekę techniczną WordPress w Turynie.

Pełny zakres prac programistycznych WordPress (motywy, wtyczki, Gutenberg, refaktoryzacje) opisuje strona programista WordPress. Dla porównania kontekstu lokalnego w innych włoskich ośrodkach: programista WordPress w Mediolanie, w Rzymie, w Bolonii i we Florencji. Jeśli chcesz omówić brief, wyślij krótki opis obecnej sytuacji przez formularz kontaktowy.

#Rozpocznij swój projekt w Turynie

Jeśli chcesz omówić programowanie WordPress, wyślij krótki opis obecnej sytuacji, celu biznesowego i ograniczeń technicznych. Na tej podstawie sprawdzamy konfigurację, wskazujemy ryzyka i proponujemy praktyczny plan działania.

Jeśli planujesz nową budowę, migrację do Gutenberg albo refaktoryzację odziedziczonego motywu przed premierą produktu albo kampanią rekrutacyjną, zacznij od spisania celów, ograniczeń i obecnego stanu projektu. Wycena jest indywidualna i zależy od zakresu prac.

Społeczność WordPress w Turynie

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.

  • WordPress Torino Meetup

    Lokalna grupa społeczności dla programistów i użytkowników.

    Dołącz do grupy →

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.

Zobacz też w innych miastach Włoch

Co wyróżnia w Turynie

Lokalna ekspertyza: - Seniorskie prace WordPress dla firm w Turynie: dedykowane motywy, wzorce Gutenberg, CPT, ACF albo natywne atrybuty bloków oraz własne wtyczki - Kontekst lokalny: Stellantis i Mirafiori, Politecnico di Torino, I3P, OGR Torino, jurysdykcja UE i włoski nadzór Garante Privacy - WordPress Coding Standards, GDPR (UE) i włoski Codice Privacy, dostępność WCAG 2.2 AA wpisane w proces realizacji, bez certyfikatu, którego nie było Nasz zespół rozumie specyfikę rynku w Turynie i dostosowuje rozwiązania do lokalnych potrzeb biznesowych. Kluczowe decyzje projektowe podejmujemy na podstawie realnych danych z rynku w Turynie, a nie szablonowych założeń.

Potrzebujesz usługi: Programista WordPress w Turynie?

Porozmawiajmy o tym, jak możemy wprowadzić Twoją stronę na wyższy poziom wydajności.

Umów bezpłatną konsultację w Turynie

FAQ - Programista WordPress w Turynie

Gdzie w Turynie spotyka się środowisko webowe?

Lokalny meetup to WordPress Torino Meetup, strona grupy: https://www.meetup.com/wordpress-meetup-torino/. Zapytaj tam, zanim podpiszesz cokolwiek, ze mną też. Sala ludzi, którzy już kogoś lokalnie zatrudnili, weryfikuje szybciej niż jakiekolwiek portfolio.

Jak wygląda przekazanie i dalsze utrzymanie?

Żyjąca dokumentacja dla redaktorów i programistów, ślad przegląd kodu na każdej gałęzi, pisemny zapis decyzji architektonicznych oraz sesja przekazania na koniec zlecenia. Projekt może następnie trafić do zespołu klienta albo na opcjonalną opiekę z tą samą dokumentacją. Stałe aktualizacje, WAF i kalendarz freeze przed premierami produktów opisuje osobna strona utrzymania WordPress, nie ten brief.

Jakie projekty WordPress podejmujecie w Turynie?

Dedykowane motywy zgodne z WordPress Coding Standards, własne wtyczki, wzorce bloków Gutenberg, modele treści oparte na CPT plus ACF albo natywne atrybuty bloków, integracje REST oraz refaktoryzacje starszych motywów. Zakres trzyma się prac programistycznych WordPress. Jeśli inny stack faktycznie byłby lepszy, zespół zapisuje to na piśmie zamiast zmieniać temat strony. Sklep WooCommerce i stała opieka są osobnymi briefami.

Technologie i Specjalizacje - w Turynie

Wspominamy o:

WordPressGutenberg (editor)General Data Protection RegulationSEOWydajność stron internetowych
Powiązany klaster

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.