
🔍 Haku ja korvaa phpMyAdminissa: kuinka korvata tekstiä ja URL-osoitteita WordPress-tietokannassa
💡 Pikakatsaus:
- mitä haku ja korvaus phpMyAdminissa on ja milloin tarvitset sitä;
- vaiheittainen SQL-kysely tekstin korvaamiseen koko WordPress-tietokannassa;
- miten korvata vanhat URL-osoitteet uusilla massana phpMyAdminin kautta;
- yleiskatsaus kahdesta lisäosavaihtoehdosta, Better Search Replace ja Search & Replace.
Mitä haku ja korvaus phpMyAdminissa on ja miksi tarvitset sitä
Kuvittele, että vaihdoit verkkotunnusta, uudistit brändiä tai muutit osoiterakennetta. Jossain syvällä WordPress-tietokannassa on satoja vanhoja viittauksia artikkeleissa, metakentissä ja teema-asetuksissa. Avaat jokaisen tietueen ja korjaat sen käsin? Viiden sivun sivustolla ehkä. Kahdensadan sivun kohdalla se on hukattu päivä.
phpMyAdmin on web-käyttöliittymä MySQL:n hallintaan, ja se tulee cPanelin mukana käytännössä jokaisella hostauspalvelulla. Sen avulla ajat SQL-kyselyn, joka etsii ja korvaa määritetyn merkkijonon kaikista tietokannan tietueista yhdellä kertaa. Ei lisäosia, ei ylimääräistä koodia, vain sinä, selaimesi ja oikea kysely.
Tässä menetelmässä on kuitenkin yksi varoitus: syntaksivirhe voi vaikuttaa vääriin tietoihin. Siksi puretaan kyselyt pala palalta, ja lopuksi näytämme pari lisäosaa, jotka poistavat manuaalisen riskin ja tarjoavat esikatselun ennen korvausta.
Miten tekstiä etsitään ja korvataan phpMyAdminin kautta
Yleisin skenaario on sanan tai fraasin korvaaminen kaikista artikkeleista kerralla. Esimerkiksi vanha yrityksen nimi uudella, vanhentunut termi tai rikkinäinen sähköpostiosoite. Tarvitset vain yhden UPDATE-kyselyn phpMyAdminissa.
Vaihe 1: siirry phpMyAdminiin cPanelin kautta
Avaa hostauspalvelusi cPanel, etsi "Databases"-osio ja klikkaa phpMyAdmin-kuvaketta. Kirjaudu sisään (yleensä käyttäjätunnus ja salasana ovat samat kuin cPaneliin).
Vaihe 2: valitse sivustosi tietokanta
Sisäänkirjautumisen jälkeen vasemmalle ilmestyy luettelo tietokannoista. Klikkaa sitä, joka kuuluu WordPress-sivustollesi. Jos et muista nimeä, tarkista wp-config.php-tiedosto: rivi define('DB_NAME', 'database_name').
Vaihe 3: siirry SQL-välilehdelle
Klikkaa yläpalkin SQL-painiketta avataksesi kyselyn syöttöikkunan.

Vaihe 4: syötä SQL-kysely tekstin korvaamiseksi
Perussyntaksi näyttää tältä:
1 UPDATE table_name SET field_name = 2 REPLACE(field_name, 'search_term', 'replacement_term');
Korvataksesi tekstiä kaikissa WordPress-artikkeleissa kysely on:
1 UPDATE wp_posts SET post_content = 2 REPLACE(post_content, 'old text', 'new text');
Puretaan se: UPDATE wp_posts kohdistaa artikkelitauluun; SET post_content muokkaa post_content-kenttää; REPLACE(post_content, 'A', 'B') on funktio, joka etsii osamerkkijonon A ja korvaa sen B:llä. Tärkeää: taulun etuliite ei välttämättä ole wp_; tarkista $table_prefix-arvo wp-config.php-tiedostosta.
⚠️ Ennen kyselyn ajamista varmista, että varmuuskopioit tietokannan. Käytä cPanelissa Backup-osiota tai lisäosaa, kuten UpdraftPlus. SQL-kyselyt ovat peruuttamattomia; "kumoa"-painiketta ei ole.
Vaihe 5: aja kysely
Klikkaa "Go"-painiketta oikeassa alakulmassa. phpMyAdmin suorittaa kyselyn ja näyttää viestin, jossa on vaikutettujen rivien määrä (esimerkiksi "Rows affected: 47"). Tämä tarkoittaa, että 47 tietuetta sisälsi haetun tekstin ja ne päivitettiin.

Valmista. Selaa sivustoasi ja tarkista muutama sivu; vanhan tekstin pitäisi olla korvattu.
Miten URL-osoitteita korvataan WordPress-tietokannassa phpMyAdminin kautta
URL-osoitteiden korvaaminen on monimutkaisempaa kuin tekstin korvaaminen, koska osoitteita ei ole tallennettu yhteen tauluun vaan hajallaan useissa. Tässä on, mistä etsiä:

- Artikkelit ja sivut:
post_content-kenttäwp_posts-taulussa - Metakentät (mukautetut kentät):
meta_valuewp_postmeta-taulussa - Teeman ja lisäosien asetukset:
option_valuewp_options-taulussa - Kommentit:
comment_contentwp_comments-taulussa - Valikot (vanha linkkienhallinta):
link_urljalink_imagewp_links-taulussa - Käyttäjien metatiedot:
meta_valuewp_usermeta-taulussa
Kattaaksesi kaiken kerralla aja nämä kyselyt (kopioi yksi kerrallaan ja klikkaa Go jokaisen jälkeen):
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');
⚠️ Vielä kerran: tee täysi varmuuskopio ennen ajamista. Jos sivustosi käyttää serialisoitua dataa (useimmat teemat ja lisäosat käyttävät), pelkkä tekstin korvaaminen voi rikkoa rakenteen. Siinä tapauksessa on parempi käyttää seuraavan osion lisäosia, jotka käsittelevät serialisoinnin oikein.
Lisäosat hakuun ja korvaukseen WordPressissä
Manuaalinen phpMyAdmin-menetelmä on nopea, mutta aloittelijalle turvaton. Lisäosat ratkaisevat kaksi pääongelmaa: ne tarjoavat esikatselun ennen korvausta (dry run) ja käsittelevät serialisoidun datan oikein. Katsotaan kahta toimivaksi todettua vaihtoehtoa.
Better Search Replace

Better Search Replace on tämän tehtävän suosituin ilmainen lisäosa, jolla on yli miljoona aktiivista asennusta. Se pohjautuu avoimen lähdekoodin interconnect/it Search Replace DB -skriptiin ja käyttää natiiveja WordPress-funktioita raakojen SQL-kyselyjen sijaan.
Näin käytät lisäosaa:
- Asenna ja aktivoi se kohdasta "Lisäosat → Lisää uusi".
- Siirry kohtaan "Työkalut → Better Search Replace".
- Kirjoita "Search for" -kenttään etsittävä teksti tai URL-osoite.
- Kirjoita "Replace with" -kenttään korvaava teksti.
- Valitse "Select tables" -lohkosta tarvittavat taulut (tai kaikki).
- Ota käyttöön "Run as dry run" testiajoa varten ilman todellista korvausta. Lisäosa näyttää, kuinka monta osumaa löytyi ja mistä tauluista.

Tarkistuksen jälkeen poista "Dry run" käytöstä ja aja korvaus uudelleen, tällä kertaa niin, että muutokset tallennetaan.
Plussat: käsittelee serialisoidun datan oikein, joten URL-osoitteet eivät hajoa korvauksen jälkeen. Miinukset: ei luo automaattista varmuuskopiota ennen korvausta (tee se itse esimerkiksi UpdraftPlusilla tai vastaavalla).
Hinta: ilmainen.
🔗 Better Search Replace WordPress.orgissa
Search & Replace

Search & Replace WP Media -tiimiltä on vaihtoehto, jossa on sisäänrakennettu varmuuskopiointi. Ennen korvausta lisäosa voi luoda tietokantavedoksen ja tallentaa sen. Jos jokin menee pieleen, palautat varmuuskopiosta kahdella napsautuksella.
Lisäominaisuudet:
- yhden napsautuksen domain-/URL-korvaus (erillinen "Replace Domain / URL" -välilehti);
- CSV-tuki eräkorvaukselle (muoto: "hakusana; korvaava termi");
- taulun etuliitteen vaihto;
- multisite-tuki.
Lisäosalla on yli 100 000 aktiivista asennusta ja 4,3 arvosana. Virallisesti sitä ei ole testattu uusimmilla WordPress-versioilla, mutta käyttäjäarviot vahvistavat vakaan toiminnan WP 6.8:ssa PHP 8.2:lla.
Miinukset: käyttöliittymä on vähemmän intuitiivinen kuin Better Search Replacessa, ja oppimiskynnys on hieman korkeampi.
Hinta: ilmainen.
🔗 Search & Replace WordPress.orgissa
Kumpi valita: lisäosa vai phpMyAdmin?
Pikaopas: jos korvaat 1-2 sanaa artikkelitekstissä ja hallitset SQL-syntaksin, phpMyAdmin on nopeampi. Jos vaihdat domaineja, käsittelet serialisoitua dataa tai et halua koskea tietokantaan manuaalisesti, asenna Better Search Replace ja tee kuivaharjoitus. Jos tarvitset sisäänrakennetun varmuuskopion ja eräkorvauksen, käytä Search & Replacea.
⁉️🤔 Usein kysytyt kysymykset
Voinko perua korvauksen SQL-kyselyn ajamisen jälkeen?
Et, SQL-kysely phpMyAdminissa on peruuttamaton. Juuri siksi täysi tietokantavarmuuskopio on pakollinen ennen mitään korvausta. Luo se cPanelin kautta (Backup → Download MySQL Database) tai lisäosalla kuten UpdraftPlus. Varmuuskopion avulla voit aina palauttaa tietokannan aiempaan tilaansa.
Mitä on serialisoitu data ja miksi pelkkä URL-osoitteen korvaaminen rikkoo sen?
Serialisointi on tapa pakata monimutkaisia rakenteita (taulukoita, olioita) merkkijonoksi tietokantatallennusta varten. WordPress käyttää sitä teema-asetuksiin, lisäosien tietoihin ja vimpaimiin. Merkkijono
s:26:"http://old-domain.com"tarkoittaa "26 merkin pituinen merkkijono". Jos korvaat verkkotunnuksen lyhyemmällä tai pidemmällä, pituus kohdassas:26ei enää vastaa todellista sisältöä, eikä WordPress pysty lukemaan dataa. Lisäosat (Better Search Replace, Search & Replace) laskevat pituuden automaattisesti uudelleen. Suora SQL-korvaus ei tee niin.
Onko minun pakko käyttää phpMyAdminia vai voinko käyttää WP-CLI-työkalua?
WP-CLI on erinomainen vaihtoehto, jos sinulla on SSH-yhteys. Komento
wp search-replace 'old-domain' 'new-domain'tekee saman asian, mutta automaattisella serialisoinnin käsittelyllä. Se on itse asiassa turvallisempi kuin phpMyAdmin, koska WP-CLI toimii WordPressin API:n kautta eikä suoraan MySQL:n kanssa. Kaikki hosting-palveluntarjoajat eivät kuitenkaan tarjoa SSH-yhteyttä edullisemmissa paketeissa, kun taas phpMyAdmin on saatavilla lähes kaikkialla.
Voinko korvata vain tietyissä artikkeleissa koko tietokannan sijaan?
Kyllä, lisää
WHERE-ehto SQL-kyselyyn. Jos haluat esimerkiksi korvata tekstiä vain tietyn kategorian artikkeleista: etsi ensin kategorian ID ja sitten:
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 >
Mutta on paljon helpompaa tehdä täysi korvaus kuivaharjoitteluna Better Search Replacessa; lisäosa näyttää taulun ja osumien määrän, ja voit poistaa valinnat tarpeettomista tauluista käsin.
Mitä minun pitäisi tehdä, jos sivusto lakkaa latautumasta URL-osoitteen korvauksen jälkeen?
Ensinnäkin, älä hätäänny. Toiseksi, palauta tietokanta varmuuskopiostasi (teithän varmuuskopion, ethän?). Kolmanneksi, todennäköinen syy on rikkoutunut serialisoitu data. Käytä Better Search Replace -lisäosaa, joka on suunniteltu nimenomaan verkkotunnuksen korvaamiseen ja käsittelee serialisoinnin oikein. Palauta tietokanta ja aja korvaus sen kautta.
Mikä haku- ja korvausmenetelmä kannattaa valita: loppuyhteenveto
Valinta riippuu kolmesta tekijästä: mitä olet muuttamassa, kuinka suuri sivusto on ja mikä on osaamistasonsa SQL:n kanssa.
- Teksti muutamassa artikkelissa → phpMyAdmin ja
UPDATE wp_posts. Nopea, mutta ei esikatselua. - Koko verkkotunnuksen vaihto tai HTTPS-siirto → Better Search Replace. Kuivaharjoittelu näyttää kaikki muuttuvat rivit ennen varsinaista korvausta, ja sisäänrakennettu serialisoinnin käsittely estää rikkoutuneen datan. Tämä on siirtojen kultainen standardi.
- Sisäänrakennetun varmuuskopion tarve → Search & Replace. Luo tietokantavedoksen ennen korvausta ja voi palauttaa sen.
Kultainen sääntö pysyy muuttumattomana: varmuuskopioi, varmuuskopioi ja varmuuskopioi vielä kerran ennen kuin kosket tietokantaan millään tavalla. Yksi UPDATE-komento ilman varmuuskopiota voi kaataa sivustosi, mutta varmuuskopion kanssa se on vain toimiva työkalu, joka säästää tunteja rutiinityötä.



