
🔍 Sök och ersätt i phpMyAdmin: hur man ersätter text och URL:er i en WordPress-databas
💡 Snabb översikt:
- vad sök och ersätt i phpMyAdmin är och när du behöver det;
- steg-för-steg SQL-fråga för att ersätta text i en hel WordPress-databas;
- hur du massersätter gamla URL:er med nya via phpMyAdmin;
- översikt över två plugin-alternativ, Better Search Replace och Search & Replace.
Vad sök och ersätt i phpMyAdmin är och varför du behöver det
Tänk dig att du bytte domän, gjorde en rebranding eller uppdaterade din permalänkstruktur. Någonstans djupt i WordPress-databasen finns hundratals gamla referenser kvar i inlägg, metafält och temainställningar. Öppna varje post och fixa den manuellt? På en sajt med fem sidor, kanske. På tvåhundra sidor är det en förlorad dag.
phpMyAdmin är ett webbgränssnitt för att hantera MySQL som medföljer cPanel på i stort sett alla webbhotell. Med det kör du en SQL-fråga som hittar och ersätter en angiven sträng i alla databasposter i en enda körning. Inga plugins, ingen extra kod, bara du, din webbläsare och rätt fråga.
Den här metoden har dock en hake: ett syntaxfel kan påverka fel data. Därför går vi igenom frågorna bit för bit, och på slutet visar vi ett par plugins som eliminerar den manuella risken och ger en förhandsvisning innan ersättningen.
Så här hittar och ersätter du text via phpMyAdmin
Det vanligaste scenariot är att ersätta ett ord eller en fras i alla inlägg på en gång. Till exempel ett gammalt företagsnamn med ett nytt, en föråldrad term eller en trasig e-postadress. Du behöver bara en UPDATE-fråga i phpMyAdmin.
Steg 1: öppna phpMyAdmin via cPanel
Öppna ditt webbhotells cPanel, leta upp avsnittet "Databases" och klicka på phpMyAdmin-ikonen. Logga in (vanligtvis är användarnamn och lösenord samma som för cPanel).
Steg 2: välj din sajts databas
Efter inloggning visas en lista över databaser till vänster. Klicka på den som tillhör din WordPress-sajt. Om du inte minns namnet, kontrollera filen wp-config.php: raden define('DB_NAME', 'database_name').
Steg 3: gå till SQL-fliken
I det övre verktygsfältet klickar du på SQL-knappen för att öppna frågefönstret.

Steg 4: ange SQL-frågan för att ersätta text
Den grundläggande syntaxen ser ut så här:
1 UPDATE table_name SET field_name = 2 REPLACE(field_name, 'search_term', 'replacement_term');
För att ersätta text i alla WordPress-inlägg ser frågan ut så här:
1 UPDATE wp_posts SET post_content = 2 REPLACE(post_content, 'old text', 'new text');
Så här fungerar den: UPDATE wp_posts riktar sig mot inläggstabellen; SET post_content ändrar fältet post_content; REPLACE(post_content, 'A', 'B') är en funktion som hittar delsträngen A och ersätter den med B. Viktigt: tabellprefixet är kanske inte wp_; kontrollera värdet $table_prefix i wp-config.php.
⚠️ Innan du kör frågan, se till att säkerhetskopiera din databas. I cPanel använder du avsnittet Backup, eller använd ett plugin som UpdraftPlus. SQL-frågor är oåterkalleliga; det finns ingen "ångra"-knapp.
Steg 5: kör frågan
Klicka på "Go"-knappen i nedre högra hörnet. phpMyAdmin kör frågan och visar ett meddelande med antalet påverkade rader (till exempel "Rows affected: 47"). Det betyder att 47 poster innehöll söktexten och har uppdaterats.

Klart. Bläddra igenom din sajt och kontrollera några sidor; den gamla texten bör vara ersatt.
Så här ersätter du URL:er i en WordPress-databas via phpMyAdmin
Att ersätta URL:er är mer komplext än att ersätta text eftersom adresser inte lagras i en enda tabell utan är utspridda över flera. Här är var du ska leta:

- Inlägg och sidor: fältet
post_contenti tabellenwp_posts - Metafält (anpassade fält):
meta_valueiwp_postmeta - Tema- och plugininställningar:
option_valueiwp_options - Kommentarer:
comment_contentiwp_comments - Menyer (äldre länkhanteraren):
link_urlochlink_imageiwp_links - Användarmetadata:
meta_valueiwp_usermeta
För att täcka allt på en gång, kör den här uppsättningen frågor (kopiera en i taget och klicka på Kör efter varje):
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');
⚠️ Än en gång: skapa en fullständig säkerhetskopia innan du kör. Om din webbplats använder serialiserad data (vilket de flesta teman och tillägg gör), kan enkel textersättning förstöra strukturen. I så fall är det bättre att använda tillägg från nästa avsnitt, som hanterar serialisering korrekt.
Tillägg för sök och ersätt i WordPress
Den manuella metoden med phpMyAdmin är snabb men osäker för nybörjare. Tillägg löser två huvudproblem: de ger en förhandsvisning före ersättning (torrkörning) och hanterar serialiserad data korrekt. Låt oss titta på två beprövade alternativ.
Better Search Replace

Better Search Replace är det mest populära kostnadsfria tillägget för den här uppgiften, med över en miljon aktiva installationer. Det bygger på det öppna källkods-skriptet interconnect/it Search Replace DB och använder WordPress inbyggda funktioner istället för råa SQL-frågor.
Så här använder du tillägget:
- Installera och aktivera det från "Tillägg → Lägg till nytt".
- Gå till "Verktyg → Better Search Replace".
- I fältet "Sök efter" anger du texten eller webbadressen du vill hitta.
- I fältet "Ersätt med" anger du ersättningen.
- I blocket "Välj tabeller" väljer du de tabeller som behövs (eller alla).
- Aktivera "Kör som torrkörning" för en testkörning utan faktisk ersättning. Tillägget visar hur många träffar som hittades och i vilka tabeller.

Efter granskning avaktiverar du "Torrkörning" och kör ersättningen igen, denna gång med faktiska ändringar som sparas.
Fördelar: hanterar serialiserad data korrekt, så webbadresser går inte sönder efter ersättning. Nackdelar: skapar ingen automatisk säkerhetskopia före ersättning (gör det själv med UpdraftPlus eller liknande).
Pris: gratis.
🔗 Better Search Replace på WordPress.org
Search & Replace

Search & Replace från WP Media-teamet är ett alternativ med inbyggd backup. Innan ersättningen kan pluginet skapa en databasdump och spara den. Om något går fel återställer du från backupen med två klick.
Ytterligare funktioner:
- ersättning av domän/URL med ett klick (separat flik "Replace Domain / URL");
- CSV-stöd för batch-ersättning (format: "sökterm; ersättningsterm");
- byte av tabellprefix;
- stöd för multisite.
Pluginet har över 100 000 aktiva installationer och betyget 4,3. Officiellt har det inte testats med de senaste WordPress-versionerna, men användarrecensioner bekräftar stabil drift på WP 6.8 med PHP 8.2.
Nackdelar: gränssnittet är mindre intuitivt än Better Search Replace, med en något högre inlärningströskel.
Pris: gratis.
🔗 Search & Replace på WordPress.org
Vad ska du välja: plugin eller phpMyAdmin?
Snabbguide: om du ersätter 1-2 ord i inläggstext och är bekväm med SQL-syntax är phpMyAdmin snabbare. Om du byter domäner, arbetar med serialiserad data eller inte vill röra databasen manuellt, installera Better Search Replace och kör en torrkörning. Om du behöver inbyggd backup och batch-ersättning, använd Search & Replace.
⁉️🤔 Vanliga frågor
Kan jag ångra en ersättning efter att ha kört en SQL-fråga?
Nej, en SQL-fråga i phpMyAdmin är oåterkallelig. Det är just därför en fullständig databasbackup är obligatorisk före varje ersättning. Skapa den via cPanel (Backup → Download MySQL Database) eller med ett tillägg som UpdraftPlus. Med en backup kan du alltid återställa databasen till sitt tidigare tillstånd.
Vad är serialiserad data och varför förstör en enkel URL-ersättning den?
Serialisering är ett sätt att packa komplexa strukturer (arrayer, objekt) till en sträng för databaslagring. WordPress använder det för temainställningar, tilläggsdata och widgetar. Strängen
s:26:"http://old-domain.com"betyder "en sträng på 26 tecken". Om du ersätter domänen med en kortare eller längre kommer längden is:26inte längre att stämma med det faktiska innehållet, och WordPress kan inte läsa datan. Tillägg (Better Search Replace, Search & Replace) räknar om längden automatiskt. Direkt SQL-ersättning gör det inte.
Måste jag använda phpMyAdmin eller kan jag använda WP-CLI?
WP-CLI är ett utmärkt alternativ om du har SSH-åtkomst. Kommandot
wp search-replace 'old-domain' 'new-domain'gör samma sak men med automatisk serialiseringshantering. Det är faktiskt säkrare än phpMyAdmin eftersom WP-CLI arbetar via WordPress API snarare än direkt mot MySQL. Alla webbhotell erbjuder dock inte SSH-åtkomst på billigare abonnemang, medan phpMyAdmin finns tillgängligt nästan överallt.
Kan jag ersätta endast i specifika inlägg istället för hela databasen?
Ja, lägg till ett
WHERE-villkor i SQL-frågan. För att till exempel ersätta text endast i inlägg från en specifik kategori: hitta först kategori-ID:t, sedan:
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 är mycket enklare att göra en fullständig ersättning med en torrkörning i Better Search Replace; tillägget visar tabellen och antalet träffar, och du kan manuellt avmarkera onödiga tabeller.
Vad ska jag göra om webbplatsen slutar ladda efter en URL-ersättning?
Först, få inte panik. Sedan, återställ databasen från din backup (du gjorde en backup, eller hur?). För det tredje, den troliga orsaken är trasig serialiserad data. Använd tillägget Better Search Replace, som är särskilt utformat för domänersättning och hanterar serialisering korrekt. Efter att ha återställt databasen, kör ersättningen genom det.
Vilken sök- och ersättningsmetod ska jag välja: slutlig sammanfattning
Valet beror på tre faktorer: vad du ändrar, hur stor webbplatsen är och din bekvämlighetsnivå med SQL.
- Text i några få inlägg → phpMyAdmin med
UPDATE wp_posts. Snabbt, men ingen förhandsvisning. - Fullständigt domänbyte eller HTTPS-migrering → Better Search Replace. Torrkörning visar alla berörda rader före faktisk ersättning, och inbyggd serialiseringshantering förhindrar trasig data. Detta är guldstandarden för migreringar.
- Behöver inbyggd backup → Search & Replace. Skapar en databasdump före ersättning och kan återställa den.
Den gyllene regeln förblir oförändrad: backup, backup och åter backup innan du rör databasen på något sätt. Ett enda UPDATE-kommando utan backup kan ta ner din webbplats, men med en backup är det bara ett fungerande verktyg som sparar timmar av rutinarbete.



