Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

🔍 Kuinka etsiä ja korvata tekstiä koko WordPress-sivustollasi

🔍 Kuinka etsiä ja korvata tekstiä koko WordPress-sivustollasi

Olet kirjoittanut WordPress-julkaisua puoli tuntia, sormet lentävät, ajatukset virtaavat. Painat "Julkaise" ja… huomaat kirjoittaneesi lisäosan nimen väärin. Et yhdessä kohdassa. Vaan koko tekstissä. Sitten muistat: olet kirjoittanut nimen tällä tavoin viimeiset kuusi kuukautta sataan muuhunkin artikkeliin.

Avataanko jokainen julkaisu käsin ja etsitään kirjoitusvirheitä? Ehkä, jos niitä on viisi. Mutta entä jos niitä on viisisataa?

WordPress ei tarjoa "etsi ja korvaa" -painiketta suoraan paketista, ei editorissa eikä tietokannan tasolla. Mutta tämä on korjattavissa ilmaisilla lisäosilla ja yhdellä koodinpätkällä. Ei phpMyAdminia, ei raakoja SQL-kyselyitä, ei riskiä sivuston kaatumisesta väärällä komennolla.

💡 Pikakatsaus:

  • Rakenna etsi ja korvaa suoraan editoriin: Advanced Editor Tools -lisäosa lisää Etsi ja korvaa -painikkeen visuaaliseen editoriin kahdessa minuutissa
  • Korvaa tekstiä koko tietokannassa: Better Search Replace etsii ja korvaa merkkijonoja kaikista tauluista esikatselulla ja serialisoidun datan tuella
  • Aseta automaattiset korvaussäännöt: Real-Time Find and Replace vaihtaa tekstiä "lennossa" sivun renderöinnin yhteydessä, koskematta tietokantaan
  • Lisää automaattiset linkit avainsanojen perusteella: PHP-funktio tiedostossa functions.php käärii määritetyt sanat linkkeihin kaikissa julkaisuissa kerralla

Alla oleva video havainnollistaa etsi ja korvaa -toimintoa WordPress-sisällössä:

Tekstin etsiminen ja korvaaminen WordPress-editorissa

Klassisessa WordPress-editorissa ei ole "Etsi ja korvaa" -painiketta, toisin kuin Google Docsissa, Wordissa ja lähes kaikissa muissa tekstinkäsittelyohjelmissa. Gutenberg-lohkoeditorissa ei myöskään ole sellaista. Mutta voit lisätä sen.

Advanced Editor Tools -lisäosa hoitaa tämän (aiemmin nimeltään TinyMCE Advanced). Se laajentaa visuaalisen editorin työkalupalkkia, ja yksi saatavilla olevista painikkeista on Etsi ja korvaa.

Etsi ja korvaa -painike WordPressin visuaalisessa editorissa

Asennus on tavanomainen: "Lisäosat" → "Lisää uusi" → hae "Advanced Editor Tools" → "Asenna" → "Ota käyttöön". Käyttöönoton jälkeen:

  • Siirry kohtaan Asetukset → Advanced Editor Tools
  • Etsi Find and Replace käyttämättömien painikkeiden joukosta
  • Vedä se editorin työkalupalkkiin
  • Tallenna muutokset

Valmista. Nyt kun muokkaat mitä tahansa julkaisua visuaalisessa editorissa, etsi ja korvaa -painike ilmestyy yläreunaan. Syötä etsittävä teksti, syötä korvaava teksti, lisäosa korostaa osumat, ja voit korvata yksi kerrallaan tai kaikki kerralla.

Huono puoli: se toimii vain yhden julkaisun sisällä. Jos sinun täytyy käydä läpi satoja artikkeleita, tarvitset tehokkaamman työkalun.

Etsi ja korvaa koko tietokannasta Better Search Replacen avulla

Kun virhe on levinnyt kymmeniin tai satoihin tietueisiin, jokaisen julkaisun manuaalinen muokkaaminen muuttuu viikon mittaiseksi urakaksi. Tätä varten on Better Search Replace, WP Enginen ilmainen lisäosa, joka etsii ja korvaa tekstiä suoraan WordPress-tietokannassa.

Better Search Replace -etsi ja korvaa -käyttöliittymä WordPressissä

Ominaisuudet:

  • Hae koko tietokannasta tai valituista tauluista (wp_posts, wp_postmeta jne.)
  • Serialisoidun datan tuki: lisäosa käsittelee taulukot ja oliot oikein rikkomatta niitä
  • Dry Run -tila: testiajo ilman muutoksia; näet, kuinka moneen soluun muutos vaikuttaa, ja päätät sitten, otatko korvauksen käyttöön
  • Multisite-tuki

Näin se toimii: "Työkalut" → "Better Search Replace" → syötä etsittävä merkkijono ja korvaava merkkijono → valitse taulut → suorita Dry Run → tarkista tulos → jos kaikki näyttää hyvältä, poista Dry Run -valinta ja suorita varsinainen korvaus.

Ennen mitään tietokantaoperaatioita, tee varmuuskopio. Better Search Replace ei kumoa muutoksia. Jos teet virheen korvaavan merkkijonon kanssa, voit palauttaa tiedot vain varmuuskopiosta.

Lisäosaa päivitetään säännöllisesti: versio 1.4.10 julkaistiin tammikuussa 2025. Tekijä on WP Enginen tiimi, WordPress.orgissa on 543 arvostelua ja keskiarvo yli 4 tähteä. Aktiivisia asennuksia on yli miljoona.

Automaattinen tekstin korvaus lennossa Real-Time Find and Replacen avulla

Joskus et tarvitse kertaluontoista kirjoitusvirheen korjausta vaan pysyvän säännön: esimerkiksi kirosanojen korvaaminen kommenteissa, mainospaikkamerkin vaihtaminen JavaScript-koodiin tai uudelleenbrändätyn palvelun nimen automaattinen korjaus kaikissa olemassa olevissa ja tulevissa julkaisuissa.

Word Replacer hoiti tätä aiemmin, mutta lisäosa on suljettu eikä sitä ole päivitetty 12 vuoteen. Nykyinen vaihtoehto on Real-Time Find and Replace.

Real-Time Find and Replace -sääntöjen käyttöliittymä WordPressissä

Miten se toimii: lisäosa vaihtaa tekstin sillä hetkellä, kun sivu renderöidään, ennen kuin se saavuttaa käyttäjän selaimen. Tietokanta pysyy muuttumattomana. Kaikki säännöt sijaitsevat lisäosan asetuksissa, ja voit poistaa käytöstä tai muokata mitä tahansa sääntöä milloin tahansa ilman seurauksia.

Mitä ilmainen versio osaa:

  • Korvaa tekstiä ja HTML-koodia tarkalla osumalla
  • Tukee säännöllisiä lausekkeita (regex) monimutkaisille kaavoille
  • Korvaa sisältöä teemoissa ja muissa lisäosissa muokkaamatta niiden tiedostoja
  • Toimii AJAX-sisällön ja jQuerylla ladatun sisällön kanssa
  • Yli 70 000 aktiivista asennusta, testattu WordPress 7.0:aan asti

Pro-versio (elinikäinen lisenssi alle 15 $) lisää suodattimet julkaisutyypin, URL-osoitteen ja viittaajan mukaan, sääntöjen tuonnin ja viennin sekä mahdollisuuden korvata tekstiä ylläpitosivuilla.

Tyypillinen skenaario: haluat sanan computer muuttuvan aina linkiksi affiliate-kauppaasi. Luo sääntö: Etsi = computer, Korvaa = <a href="https://shop.example.com">computer</a>. Lisäosa soveltaa sitä kaikkiin julkaisuihin, sivuihin ja kommentteihin lennossa.

Automaattiset avainsanalinkit PHP:n avulla

Jos et halua asentaa erillistä lisäosaa tusinalle linkkejä, koodinpätkä teemasi functions.php-tiedostossa ratkaisee ongelman. Se käy läpi jokaisen julkaisun sisällön, etsii määritetyt sanat ja käärii ne linkkeihin.

Kun työskentelet teemasi functions.php-tiedoston kanssa, käytä lapsiteemaa, jotta muutoksesi eivät katoa päivitysten yhteydessä. Ja tee tiedostosta varmuuskopio ennen muokkaamista.

PHP-koodi automaattiseen linkkien lisäämiseen WordPressissä

Lisää tämä koodi tiedostoon functions.php:

1function techblog_auto_link_words( $text ) {
2 $replace = array(
3 'wordpress' => '<a href="https://wordpress.org">WordPress</a>',
4 'php' => '<a href="https://www.php.net">PHP</a>',
5 );
6 $text = str_replace( array_keys( $replace ), $replace, $text );
7 return $text;
8}
9add_filter( 'the_content', 'techblog_auto_link_words' );
10add_filter( 'the_excerpt', 'techblog_auto_link_words' );

Miten se toimii: str_replace-funktio etsii $replace-taulukon avaimia julkaisutekstistä ja korvaa ne arvoilla (linkeillä). the_content- ja the_excerpt-suodattimet soveltavat korvauksen koko julkaisutekstiin ja vastaavasti katkelmaan.

Voit laajentaa $replace-taulukkoa: lisää uusi pari 'keyword' => '<a href="...">anchor</a>', ja sääntö alkaa toimia välittömästi.

Rajoitukset: korvaus on kirjainkoosta riippuvainen, laukeaa tarkoilla osumilla eikä osaa sulkea pois sanoja tagien tai attribuuttien sisällä. Jos tekstissä oli jo linkki samalla ankkurilla, päädyt sisäkkäiseen linkkiin. Monimutkaisiin skenaarioihin käytä yllä kuvattua Real-Time Find and Replacea.

⁉️🤔 Usein kysytyt kysymykset

Voinko etsiä ja korvata tekstiä WordPressissä ilman lisäosia?

Kyllä, suoralla SQL-kyselyllä tietokantaan. Komento näyttää suunnilleen tältä: UPDATE wp_posts SET post_content = REPLACE(post_content, 'old', 'new'). Mutta tämä menetelmä ei käsittele serialisoitua dataa, vaatii pääsyn phpMyAdminiin tai WP-CLI:hin eikä tarjoa esikatselua. Virhe kyselyssä voi korruptoida tietokannan. Better Search Replace tekee saman asian turvallisemmin.

Mitä minun pitäisi tehdä, jos sivusto hajoaa korvauksen jälkeen?

Ensinnäkin, älä hätäänny. Jos otit Dry Run -tilan käyttöön ennen korvausta, tiedät tarkalleen, mihin tauluihin vaikutettiin. Jos et, palauta tietokanta varmuuskopiosta (teithän varmuuskopion ennen operaatiota?). Better Search Replace ei luo omia varmuuskopioita ilmaisversiossa, joten varmuuskopio on kriittinen.

Hidastaako Real-Time Find and Replace sivustoa?

Kohtuullisella määrällä sääntöjä (enintään 50) ei. Lisäosa suorittaa korvauksen ennen sivun tulostusta, palvelinpuolella, ilman ylimääräisiä tietokantakyselyitä. Jos käytät välimuistia, vaikutus on vielä pienempi. Ongelmia voi ilmetä vain monimutkaisten regex-sääntöjen kanssa, jotka sisältävät syntaksivirheitä.

Mikä on ero Real-Time Find and Replacen ja Better Search Replacen välillä?

Better Search Replace muokkaa dataa tietokannassa: muutokset ovat pysyviä. Real-Time Find and Replace vaihtaa tekstiä renderöintiajona: tietokanta pysyy koskemattomana. Ensimmäinen on kertaluontoisiin korjauksiin (kirjoitusvirheet, verkkotunnuksen vaihdot). Toinen on pysyviin sääntöihin (sensuuri, mainosten lisäykset, automaattiset linkit). Ne eivät ole kilpailijoita vaan työkaluja eri tehtäviin.

Mikä menetelmä minun pitäisi valita verkkotunnuksen korvaamiseen sivustoa siirrettäessä?

Vain Better Search Replace. Verkkotunnuksen korvaaminen tarkoittaa tuhansien URL-osoitteiden muokkaamista tietokannassa (sisällössä, metakentissä, asetuksissa). Real-Time Find and Replace ei toimi: se ei fyysisesti muuta dataa, ja verkkotunnuksen vaihto vaatii todellista kirjoittamista tietokantaan. Lisäksi Better Search Replace käsittelee oikein serialisoidut taulukot, joissa merkkijonon pituus on koodattu arvon mukana.

Mitä käyttää tehtävääsi

Tehtävä määrittää työkalun. WordPressissä ei ole universaalia "etsi ja korvaa" -toimintoa, mutta jokaiseen skenaarioon on valmis ratkaisu:

  • Tarve korjata muutama ilmaus yhdessä luonnoksessa: Advanced Editor Tools, Etsi ja korvaa -painike editorissa
  • Kirjoitusvirhe levinnyt sataan julkaisuun: Better Search Replace, yksi tietokantakysely esikatselulla
  • Haluat asiakkaan logon kääriytyvän automaattisesti linkkiin asiakkaan sivustolle kaikessa sisällössä: Real-Time Find and Replace, lennossa toimiva sääntö
  • Tarve lisätä linkkejä tusinalle avainsanaa ilman lisäosien asennusta: PHP-koodinpätkä tiedostossa functions.php, 10 riviä koodia

Ennen mitään korvausta: varmuuskopio. Ennen tietokantaan korvaamista: Dry Run. Nämä kaksi tapaa säästävät päivien palautustyöltä.