
🔍 Søk og erstatt i phpMyAdmin: slik erstatter du tekst og URL-er i en WordPress-database
💡 Kort oversikt:
- hva søk og erstatt i phpMyAdmin er og når du trenger det;
- steg-for-steg SQL-spørring for å erstatte tekst i en hel WordPress-database;
- hvordan du masseerstatter gamle URL-er med nye via phpMyAdmin;
- oversikt over to plugin-alternativer, Better Search Replace og Search & Replace.
Hva søk og erstatt i phpMyAdmin er og hvorfor du trenger det
Tenk deg at du har byttet domene, rebrandet eller oppdatert permalenkestrukturen. Et sted dypt inne i WordPress-databasen ligger hundrevis av gamle referanser igjen i innlegg, metafelter og temainnstillinger. Åpne hver post og fiks den manuelt? På et nettsted med fem sider, kanskje. På to hundre sider er det en tapt dag.
phpMyAdmin er et webgrensesnitt for å administrere MySQL som følger med cPanel hos praktisk talt alle hostingleverandører. Med det kjører du en SQL-spørring som finner og erstatter en angitt streng på tvers av alle databaseposter i én enkelt operasjon. Ingen plugins, ingen ekstra kode, bare deg, nettleseren din og riktig spørring.
Denne metoden har imidlertid et forbehold: en syntaksfeil kan påvirke feil data. Derfor skal vi bryte ned spørringene bit for bit, og til slutt viser vi et par plugins som eliminerer manuell risiko og gir en forhåndsvisning før erstatning.
Slik finner og erstatter du tekst via phpMyAdmin
Det vanligste scenarioet er å erstatte et ord eller en frase i alle innlegg på én gang. For eksempel et gammelt firmanavn med et nytt, et utdatert begrep eller en ødelagt e-postadresse. Du trenger bare én UPDATE-spørring i phpMyAdmin.
Steg 1: få tilgang til phpMyAdmin via cPanel
Åpne cPanel hos din hostingleverandør, finn seksjonen «Databases» og klikk på phpMyAdmin-ikonet. Logg inn (vanligvis er brukernavn og passord det samme som for cPanel).
Steg 2: velg databasen for nettstedet ditt
Etter innlogging vises en liste over databaser til venstre. Klikk på den som tilhører WordPress-nettstedet ditt. Hvis du ikke husker navnet, sjekk filen wp-config.php: linjen define('DB_NAME', 'database_name').
Steg 3: gå til SQL-fanen
I den øverste verktøylinjen klikker du på SQL-knappen for å åpne vinduet for spørringsinntasting.

Steg 4: skriv inn SQL-spørringen for å erstatte tekst
Den grunnleggende syntaksen ser slik ut:
1 UPDATE table_name SET field_name = 2 REPLACE(field_name, 'search_term', 'replacement_term');
For å erstatte tekst i alle WordPress-innlegg er spørringen:
1 UPDATE wp_posts SET post_content = 2 REPLACE(post_content, 'old text', 'new text');
Slik bryter du den ned: UPDATE wp_posts retter seg mot innleggstabellen; SET post_content endrer feltet post_content; REPLACE(post_content, 'A', 'B') er en funksjon som finner delstrengen A og erstatter den med B. Viktig: tabellprefikset er kanskje ikke wp_; sjekk verdien for $table_prefix i wp-config.php.
⚠️ Før du kjører spørringen, sørg for å ta sikkerhetskopi av databasen. I cPanel bruker du Backup-seksjonen, eller en plugin som UpdraftPlus. SQL-spørringer er irreversible; det finnes ingen «angre»-knapp.
Steg 5: kjør spørringen
Klikk på «Go»-knappen nederst til høyre. phpMyAdmin vil kjøre spørringen og vise en melding med antall berørte rader (for eksempel «Rows affected: 47»). Dette betyr at 47 poster inneholdt søketeksten og ble oppdatert.

Ferdig. Bla gjennom nettstedet ditt og sjekk noen sider; den gamle teksten skal være erstattet.
Slik erstatter du URL-er i en WordPress-database via phpMyAdmin
Å erstatte URL-er er mer komplekst enn å erstatte tekst fordi adresser ikke er lagret i én tabell, men spredt over flere. Her er hvor du bør lete:

- Innlegg og sider: feltet
post_contenti tabellenwp_posts - Metafelter (egendefinerte felter):
meta_valueiwp_postmeta - Tema- og plugin-innstillinger:
option_valueiwp_options - Kommentarer:
comment_contentiwp_comments - Menyer (eldre lenkebehandler):
link_urloglink_imageiwp_links - Brukermetadata:
meta_valueiwp_usermeta
For å dekke alt på én gang, kjør dette settet med spørringer (kopier én om gangen og klikk Kjør etter hver):
1 UPDATE wp_options SET option_value = 2 REPLACE(option_value, 'http://old-domain.com', 'https://new-domain.com') 3 WHERE option_name = 'home' OR option_name = 'siteurl'; 4 5 UPDATE wp_posts SET post_content = 6 REPLACE(post_content, 'http://old-domain.com', 'https://new-domain.com'); 7 8 UPDATE wp_postmeta SET meta_value = 9 REPLACE(meta_value, 'http://old-domain.com', 'https://new-domain.com'); 10 11 UPDATE wp_comments SET comment_content = 12 REPLACE(comment_content, 'http://old-domain.com', 'https://new-domain.com'); 13 14 UPDATE wp_links SET link_url = 15 REPLACE(link_url, 'http://old-domain.com', 'https://new-domain.com'); 16 17 UPDATE wp_usermeta SET meta_value = 18 REPLACE(meta_value, 'http://old-domain.com', 'https://new-domain.com');
⚠️ En gang til: før du kjører, opprett en fullstendig sikkerhetskopi. Hvis nettstedet ditt bruker serialiserte data (noe de fleste temaer og plugin-er gjør), kan enkel teksterstatning ødelegge strukturen. I så fall er det bedre å bruke plugin-ene fra neste avsnitt, som håndterer serialisering korrekt.
Plugin-er for søk og erstatt i WordPress
Den manuelle phpMyAdmin-metoden er rask, men utrygg for nybegynnere. Plugin-er løser to hovedproblemer: de gir en forhåndsvisning før erstatning (tørrkjøring) og håndterer serialiserte data korrekt. La oss se på to velprøvde alternativer.
Better Search Replace

Better Search Replace er den mest populære gratis-plugin-en for denne oppgaven, med over en million aktive installasjoner. Den er bygget på det åpne interconnect/it Search Replace DB-skriptet og bruker native WordPress-funksjoner i stedet for rå SQL-spørringer.
Slik bruker du plugin-en:
- Installer og aktiver den fra «Plugins → Legg til ny».
- Gå til «Verktøy → Better Search Replace».
- I feltet «Søk etter» skriver du inn teksten eller URL-en du vil finne.
- I feltet «Erstatt med» skriver du inn erstatningen.
- I blokken «Velg tabeller» velger du de nødvendige tabellene (eller alle).
- Aktiver «Kjør som tørrkjøring» for en testkjøring uten faktisk erstatning. Plugin-en vil vise hvor mange treff som ble funnet og i hvilke tabeller.

Etter gjennomgang, deaktiver «Tørrkjøring» og kjør erstatningen på nytt, denne gangen med faktiske endringer som lagres.
Fordeler: håndterer serialiserte data korrekt, slik at URL-er ikke ødelegges etter erstatning. Ulemper: oppretter ikke en automatisk sikkerhetskopi før erstatning (gjør det selv med UpdraftPlus eller lignende).
Pris: gratis.
🔗 Better Search Replace på WordPress.org
Search & Replace

Search & Replace fra WP Media-teamet er et alternativ med innebygd sikkerhetskopi. Før erstatningen kan plugin-en opprette en databasedump og lagre den. Hvis noe går galt, gjenoppretter du fra sikkerhetskopien med to klikk.
Tilleggsfunksjoner:
- erstatning av domene/URL med ett klikk (egen fane «Replace Domain / URL»);
- CSV-støtte for masseerstatning (format: «søkeord; erstatningsord»);
- endring av tabellprefiks;
- støtte for multisite.
Plugin-en har over 100 000 aktive installasjoner og en vurdering på 4,3. Offisielt er den ikke testet med de nyeste WordPress-versjonene, men brukeromtaler bekrefter stabil drift på WP 6.8 med PHP 8.2.
Ulemper: grensesnittet er mindre intuitivt enn Better Search Replace, med en noe brattere læringskurve.
Pris: gratis.
🔗 Search & Replace på WordPress.org
Hva bør du velge: plugin eller phpMyAdmin?
Hurtigguide: hvis du erstatter 1-2 ord i innleggstekst og er komfortabel med SQL-syntaks, er phpMyAdmin raskest. Hvis du endrer domener, jobber med serialiserte data eller ikke vil røre databasen manuelt, installer Better Search Replace og kjør en tørrkjøring. Hvis du trenger innebygd sikkerhetskopi og masseerstatning, bruk Search & Replace.
⁉️🤔 Ofte stilte spørsmål
Kan jeg angre en erstatning etter å ha kjørt en SQL-spørring?
Nei, en SQL-spørring i phpMyAdmin er irreversibel. Det er nettopp derfor en full databasebackup er obligatorisk før enhver erstatning. Opprett den via cPanel (Backup → Download MySQL Database) eller med en plugin som UpdraftPlus. Med en backup kan du alltid rulle databasen tilbake til sin forrige tilstand.
Hva er serialiserte data og hvorfor ødelegger enkel URL-erstatning dem?
Serialisering er en måte å pakke komplekse strukturer (tabeller, objekter) inn i en streng for databaselagring. WordPress bruker det for temainnstillinger, plugindata og widgeter. Strengen
s:26:"http://old-domain.com"betyr «en streng på 26 tegn». Hvis du erstatter domenet med et kortere eller lengre ett, vil lengden is:26ikke lenger samsvare med det faktiske innholdet, og WordPress vil ikke kunne lese dataene. Pluginer (Better Search Replace, Search & Replace) beregner lengden på nytt automatisk. Direkte SQL-erstatning gjør ikke det.
Må jeg bruke phpMyAdmin eller kan jeg bruke WP-CLI?
WP-CLI er et utmerket alternativ hvis du har SSH-tilgang. Kommandoen
wp search-replace 'old-domain' 'new-domain'gjør det samme, men med automatisk serialiseringshåndtering. Det er faktisk tryggere enn phpMyAdmin fordi WP-CLI jobber gjennom WordPress-API-et i stedet for direkte mot MySQL. Imidlertid tilbyr ikke alle hosting-leverandører SSH-tilgang på billigere abonnementer, mens phpMyAdmin er tilgjengelig nesten overalt.
Kan jeg erstatte bare i bestemte innlegg i stedet for hele databasen?
Ja, legg til en
WHERE-betingelse i SQL-spørringen. For eksempel, for å erstatte tekst bare i innlegg fra en bestemt kategori: finn først kategori-ID-en, deretter:
1 > UPDATE wp_posts SET post_content = 2 > REPLACE(post_content, 'old', 'new') 3 > WHERE ID IN ( 4 > SELECT object_id FROM wp_term_relationships WHERE term_taxonomy_id = 12 5 > ); 6 >
Men det er mye enklere å gjøre en full erstatning med en testkjøring i Better Search Replace; pluginen vil vise tabellen og antall treff, og du kan manuelt fjerne avhukingen for unødvendige tabeller.
Hva bør jeg gjøre hvis nettstedet slutter å laste etter en URL-erstatning?
For det første, ikke få panikk. For det andre, gjenopprett databasen fra backupen din (du tok vel en backup?). For det tredje, den sannsynlige årsaken er ødelagte serialiserte data. Bruk Better Search Replace-pluginen, som er spesielt utviklet for domeneerstatning og håndterer serialisering korrekt. Etter at du har gjenopprettet databasen, kjør erstatningen gjennom den.
Hvilken søk- og erstatt-metode du bør velge: endelig oppsummering
Valget avhenger av tre faktorer: hva du endrer, hvor stor nettstedet er, og hvor komfortabel du er med SQL.
- Tekst i noen få innlegg → phpMyAdmin med
UPDATE wp_posts. Raskt, men ingen forhåndsvisning. - Fullt domenebytte eller HTTPS-migrering → Better Search Replace. Testkjøring viser alle berørte rader før faktisk erstatning, og innebygd serialiseringshåndtering forhindrer ødelagte data. Dette er gullstandarden for migreringer.
- Behov for innebygd backup → Search & Replace. Oppretter en databasedump før erstatning og kan gjenopprette den.
Den gylne regelen forblir uendret: backup, backup og atter backup før du rører databasen på noen som helst måte. En enkelt UPDATE-kommando uten backup kan ta ned nettstedet ditt, men med en backup er det bare et nyttig verktøy som sparer timer med rutinearbeid.



