WordPress-spesialist for nedetid, skadevare og ytelse

5.00/5 - (17 votes)
5 min lesetid
Guide

WPPoland er Mariusz Szatkowski, seniorutvikler i WordPress siden 2006. Jeg tar saken en vanlig utvikler ikke får lukket: siden er nede etter en oppdatering, den er hacket, den er treg, eller WooCommerce-kassen feiler når trafikken øker. Nye nettsider står på utviklersiden. Her handler det om å finne årsaken og rette den.

Jeg jobber alene fra Gdynia i Polen, uten team og uten underleverandører. Koden du får, har jeg skrevet selv, og tilgangene dine deler jeg ikke med noen. Trenger du heller en frilanser til løpende utvikling, se WordPress freelancer.

#Når trenger du en WordPress-spesialist?

  • Siden gir kritisk feil etter en oppdatering av tema, utvidelse eller PHP.
  • Siden er hacket, sender spam eller videresender besøkende til fremmede domener.
  • LCP og INP er røde i Search Console, og ingen vet hvorfor.
  • WooCommerce-kassen henger eller mister ordre når trafikken går opp.
  • Du har arvet en installasjon ingen dokumenterte, og hver endring føles risikabel.

#Forskjellen på spesialist og generalist

Forskjellen vises i feil som ikke har et ferdig svar på Stack Overflow. Tre typer jeg ofte finner i gjennomganger:

  • Åpne REST-endepunkter. Et headless-oppsett med egne endepunkter for kladder bruker permission_callback => '__return_true' fordi noen mente at nginx tok seg av tilgangen. Da kan hvem som helst hente upubliserte kladder. Riktig løsning er permission_callback bundet til current_user_can('edit_post', $request['id']), et args-skjema med validate_callback og sanitize_callback per parameter, og rate limiting når endepunktet er åpent for anonym trafikk.
  • Callback fra betalingsleverandøren uten signaturkontroll. En utvidelse sjekker bare at forespørselen kommer fra en kjent IP-blokk. Signaturen må beregnes på nytt fra rå body i php://input, ikke fra $_POST, og alt som ikke stemmer, avvises.
  • Feil valuta i kassen. En butikk som selger i NOK, EUR og SEK viser kassen i feil valuta fordi handlekurven er lagret i sesjonen før valutafilteret kjører. Løsningen er å regne prisen på nytt i woocommerce_get_cart_item_from_session før totalen bygges.

#Hva jeg gjør som WordPress-spesialist

#Retting etter utfall

Jeg leser feilloggen, finner endringen som utløste feilen, ruller den tilbake på en kontrollert måte og retter årsaken. Hver retting testes på staging før den går til produksjon.

#Egne REST-endepunkter og integrasjoner

Endepunkter med ekte tilgangskontroll, validering per parameter og versjonert namespace fra første dag (merke/v1), slik at neste endring i API-et ikke krever en koordinert mobilrelease. Integrasjoner mot regnskap, lager og CRM bygges med logging, slik at du ser hvor en ordre stoppet.

#Egne Gutenberg-blokker

Blokker med InnerBlocks, allowedBlocks og templateLock, registrert i block.json, slik at redaksjonen får faste maler og en forhåndsvisning i editoren som stemmer med forsiden. Layout og grafisk design leverer du; jeg gjør dem om til blokker og tema.

#WooCommerce under last

Kassen, katalogen og filtrene er stedene der en butikk stopper opp. Jeg ser på hvilke kall som må skje synkront i kassen og hvilke som kan legges i kø, og rydder i spørringene bak filtrene. Mer om butikker på siden for WooCommerce-utvikler.

#Hvordan rydde opp i et hacket WordPress-nettsted

Gjenoppretting starter som etterforskning. Først leser jeg tilgangsloggen for å finne inngangen, så sammenligner jeg filene mot rene versjoner av kjernen, det aktive temaet og de installerte versjonene av utvidelsene. Reinfeksjon skjer som regel fordi noen gjenoppretter fra en sikkerhetskopi som allerede var infisert, eller fordi bakdøren ligger i wp_options som base64 med autoload og ikke i en fil. Derfor skanner jeg options-tabellen med wp-cli i hvert oppdrag. Hele forløpet står på siden om fjerning av skadevare i WordPress.

Etterpå kommer herdingen: filredigering i admin skrus av, xmlrpc.php begrenses på webservernivå, oppslag av brukere via REST blokkeres, og alle API-nøkler og databasepassord byttes. Ingen kan love at en side aldri blir hacket igjen. Det jeg kan gjøre, er å fjerne de kjente inngangene og sette opp overvåking som varsler tidlig.

#Hvor WordPress faktisk blir treg

Generelle råd som lazy loading, HTTP/2 og CDN gjelder alle nettsider. Det WordPress-spesifikke ligger andre steder:

  • Autoload i wp_options. Rester etter deaktiverte utvidelser og serialiserte cron-lister lastes ved hver forespørsel. Jeg måler størrelsen og fjerner det som ikke hører hjemme der.
  • get_post_meta($post_id) uten nøkkel i temaets løkker, som henter alle metafelt for hvert innlegg.
  • meta_query med tekstsammenligning der en taksonomi med tax_query passer bedre.
  • posts_per_page => -1 i sidekolonner, som tømmer PHP-minnet når innholdet vokser.

Object cache med Redis hører hjemme etter at datalaget er ryddet. Jeg måler Core Web Vitals på ekte besøkende via CrUX, ikke på én enkelt Lighthouse-kjøring.

#Multisite, roller og tilganger

Multisite deler wp_users og wp_usermeta mellom alle nettstedene, lagrer roller per nettsted i wp_X_capabilities og skiller mellom superadministrator og vanlig administrator. Hvordan current_user_can svarer, avhenger av hvilket nettsted som er aktivt. En overgang til multisite trenger derfor en skriftlig plan: hvem eier hva, hvordan nye nettsteder opprettes, og hvilke utvidelser som aktiveres for hele nettverket.

Har du arvet en installasjon ingen skrev ned, starter jeg med et skriftlig kart over roller, nettsteder og avhengigheter, slik at neste beslutning tas på kjent grunn.

#Slik jobber jeg

  • Skriftlig. Kommunikasjon går på e-post, i dokumenter og i repositoriet. Trenger du en samtale, sier du fra.
  • Staging først. Endringer testes på staging, og du godkjenner dem der før de går til produksjon.
  • Personvern. Før jeg får tilgang til en side med personopplysninger, signerer vi en databehandleravtale etter GDPR artikkel 28. Jeg bruker ingen underdatabehandlere.
  • Vedlikehold. Vedlikeholdet omfatter oppetidsovervåking hvert 1. til 5. minutt, sikkerhetskopier i minst 30 dager i EU-land og oppdateringer testet på staging. Døgnvakt, garantert responstid og SLA tilbyr jeg ikke.
  • Avtale og faktura. B2B-avtale etter polsk rett og faktura med EU-mva-nummer PL7393037445.

#Neste steg

Er butikken nede eller kassen feiler, start med WooCommerce rescue sprint. Etter innbrudd eller skadevare: sikkerhetsrevisjon for WordPress. For løpende drift etter stabilisering: Store Reliability Plan. Du kan også sende en kort skriftlig beskrivelse av problemet.

Anbefalinger fra LinkedIn

Anbefalinger og erfaringer fra samarbeid med WPPoland

Utvalgte anbefalinger fra ledere innen WordPress, WordCamp og e-handel - med vekt på leveranse i tide, teknisk dybde og forretningsorientert tilnærming til WordPress-utvikling.

Karolina Czapla

Karolina Czapla

Markedsstrateg, Performance & Digital Strategy

“Samarbeidet med Mariusz på WordCamp har vist meg hvor sjelden det er å kombinere dyp teknisk kompetanse med ekte lederskap. Han planlegger, koordinerer og leverer med presisjon, samtidig som han gir teamet rom til å voks...”

Medarrangør, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“Porteføljen til Mariusz taler for seg. Den viser presisjon, allsidighet og et sterkt ansvarsfølelse. Du kan stole på at han følger et prosjekt fra idé til levering og holder alle interessenter godt informert.”

Vi jobbet på samme team

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT‑prosjektleder & Product Owner, Web/App

“I over to år kunne jeg alltid stole på Mariusz for WordPress‑oppgaver, fra styling og templating til integrasjoner. Han skaper ro i teamet og sørger for at frontend‑delen er under kontroll.”

Mariusz var hennes kunde på WordPress‑prosjekter

Argert Boja

Argert Boja

Senior Full‑Stack‑utvikler

“Mariusz er lagkameraten alle ønsker seg: sterke full‑stack‑WordPress‑ferdigheter, klare forklaringer og en positiv holdning selv under press. Han beveger seg lett mellom plugins, ytelse og Gutenberg‑layouts uten å miste ...”

Vi jobbet sammen på WordPress‑prosjekter

Varun Patil

Varun Patil

Growth‑ & CRM‑ansvarlig

“I tillegg til utvikling forstår Mariusz SEO, analyse og growth. Han snakker direkte med interessenter, stiller de riktige spørsmålene og leverer løsninger som faktisk påvirker forretningsmål, fra AMP til tracking og ytel...”

Var leder for Mariusz på growth‑initiativer

Rafał Osiński

Rafał Osiński

Gründer @ EasyTrips.pl, Senior WordPress‑utvikler

“Jeg har kjent Mariusz gjennom WordPress‑miljøet i mange år. Han er pålitelig, svært engasjert og rett og slett alltid til stede, på meetups, WordCamps og i prosjekter. Hvis du vil ha et langsiktig samarbeid og noen som b...”

Medarrangør av WordUp Trójmiasto & WordCamp

Daniel Blossfeld

Daniel Blossfeld

Konsulent for prosessoptimalisering og digitalisering

“Jeg hadde gleden av å jobbe med Mariusz i nesten tre år. I løpet av den tiden viste hans WordPress-utviklingsferdigheter seg å være uvurderlige i en rekke prosjekter, fra nettstedbygging til online medlemsområder og til ...”

Mariusz var hans kunde på WordPress‑prosjekter

Natalie Wiszczor

Natalie Wiszczor

CRM & E-postmarkedsføringsansvarlig

“Jeg hadde gleden av å jobbe med Mariusz i over 4 år innen det tekniske feltet. I løpet av denne tiden viste han seg å være en kompetent og pålitelig kollega. Det som spesielt utmerket seg var hans vennlige natur og hans ...”

Jobbet med Mariusz i forskjellige team

Mark Chalklen

Mark Chalklen

Head of Design & Build hos Itineris Limited

“Mariusz er et flott teammedlem, alltid glad for å ta fatt på enhver oppgave og lære nye ting. En flott kommunikator og en gjennomgående hyggelig fyr å jobbe med. Vanskelig å slå på vår ukentlige Strava-ledertavle!”

Ledet Mariusz direkte

Jessica Di Pasquale

Jessica Di Pasquale

Leder SEO-initiativer med datadrevne vekststrategier.

“Mariusz er en veldig dyktig, tålmodig og ekspert fyr. Alltid klar til å hjelpe og fikse feil, jeg satte stor pris på å jobbe med ham. Han er en så flott kollega!”

Ledet Mariusz direkte

Biki John

Biki John

Innholdsmarkedsføringsentusiast og SEO-entusiast

“Det var flott å jobbe med Mariusz. Jeg satte stor pris på hans omfattende kunnskap om WordPress og hvordan det kom godt med når jeg trengte støtte til å navigere i CMS. Jeg roser Mariusz fullt ut for hans tålmodighet, go...”

Jobbet med Mariusz i forskjellige team

Rafal Borowiec

Rafal Borowiec

Programvareutvikler, konsulent, leder og foreleser

“Jeg hadde muligheten til å jobbe med Mariusz i 7 måneder. Han utmerker seg innen teknisk optimalisering for søkemotorer (SEO). Mariusz har også sterk ekspertise innen AMP-utvikling, GTM og GA. Mariusz føler seg veldig ko...”

Ledet Mariusz direkte

Belinda Koch

Belinda Koch

Web-sporingsanalytiker hos TUI

“Mariusz er en flott person å jobbe med. Han er ekstremt motivert til å lære nye ting og dele sin kunnskap, og er svært kunnskapsrik innenfor et bredt spekter av emner. Vi jobbet sammen med digitale analyse- og sporingsem...”

Jobbet med Mariusz om digital analyse og sporing

Ali Nezamolmaleki

Ali Nezamolmaleki

Vekst, SEO, Analytisk tenkning, AMP

“Mariusz er en ekstremt talentfull person innen sitt fagfelt. Han er alltid i stand til å gi et nytt perspektiv for å løse problemer og tenke utenfor boksen i situasjoner der alt ser ut til å være låst. Det er alltid en g...”

Jobbet med Mariusz i samme team

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript-utvikler

“Mariusz er en utrolig erfaren WordPress-utvikler og SEO/SEM-spesialist som jeg har hatt gleden av å jobbe med i nesten to år. Han var en av nøkkelpersonene med ansvar for konstant forbedring av lastetid og siderangering....”

Jobbet med Mariusz i samme team

Paweł Lewczuk

Paweł Lewczuk

Front-end-utvikler, WordPress-utvikler

“Jeg samarbeidet med Mariusz på flere prosjekter, og samarbeidet vårt var alltid eksemplarisk. Jeg tror det ligger mange flere felles prosjekter foran oss. Anbefales på det sterkeste!”

Mariusz var Pawels kunde

Przemek Wroblewski

Przemek Wroblewski

Programvareutvikler med over 20 års erfaring

“Jeg fant Mariusz som en person med stor ekspertise og dyp kunnskap om frontend-løsninger. En kraftig, kunnskapsrik og ansvarlig WordPress-utvikler. Han har lett for å bygge mellommenneskelige relasjoner. Han hadde visjon...”

Jobbet med Mariusz i forskjellige team

Ofte stilte spørsmål

Spørsmål om omfang, levering, pris og kvalitet.

WordPress-spesialist, hva gjør WPPoland konkret?#
WPPoland er Mariusz Szatkowski, seniorutvikler i WordPress siden 2006. Jeg tar saker en vanlig utvikler ikke får lukket: nedetid etter oppdatering, skadevare, treg side og WooCommerce-kasse som feiler under last. Nye nettsider står på utviklersiden. Jeg jobber alene, uten team og underleverandører.
Når bør jeg leie en WordPress-spesialist i stedet for en vanlig utvikler?#
Når feilen kommer tilbake etter hver retting, når siden er hacket, eller når ingen vet hvorfor den er treg. Da trengs diagnose i kode, database og server før noe nytt bygges.
Hvor raskt kan en hacket nettside ryddes?#
Det avhenger av hvor infeksjonen sitter og hvor gamle sikkerhetskopiene er. Jeg gir ingen garantert responstid eller reparasjonstid og har ingen døgnvakt. Oppetidsovervåkingen i vedlikeholdet varsler meg automatisk innen 1 til 5 minutter etter et utfall.
Hva er inkludert i en teknisk WordPress-gjennomgang?#
Kode i tema og utvidelser, serveroppsett og PHP-versjon, databasen og autoload i wp_options, Core Web Vitals fra ekte brukere, brukerkontoer og tilganger, og teknisk SEO. Resultatet er en skriftlig liste sortert etter betydning.
Kan dere jobbe med vår eksisterende nettside?#
Ja, de fleste oppdrag gjelder en side som allerede finnes. Jeg starter med en gjennomgang av koden og oppsettet og skriver ned hva jeg fant før jeg endrer noe.
Tilbyr du vedlikehold etter rettingen?#
Ja. Vedlikeholdet omfatter oppetidsovervåking hvert 1. til 5. minutt, sikkerhetskopier i minst 30 dager i EU-land og oppdateringer som testes på staging før produksjon. Pris avtales individuelt og står på prissiden.
Hvordan foregår kommunikasjonen?#
Skriftlig, på e-post, i dokumenter og i repositoriet. Da kan beslutninger leses i etterkant. Trenger du en samtale, sier du fra.
Hvilke betalingsløsninger støtter WooCommerce i Norge?#
Vipps, Klarna, kort via Stripe eller Nets, og PayPal kobles til via leverandørenes egne utvidelser. Jeg setter opp de løsningene du har avtale med, og verifiserer signaturen på hvert callback fra betalingsleverandøren.

Trenger du FAQ tilpasset bransje og marked? Jeg lager en versjon som støtter dine forretningsmål.

Ta kontakt

Relaterte artikler