
Kuinka poistaa vanhat WordPress-versiot: 4 vaihetta
Onko WordPress-tietokantasi paisunut, hallintapaneelisi hidastunut ja varmuuskopiosi kasvanut keskikokoisen sivustoarkiston kokoiseksi? Syyllinen on todennäköisesti versiohistoria: luonnoskopiot jokaisesta tallennuksesta, joita järjestelmä kerryttää vuosien mittaan.
Yksittäinen sivu kerää elinkaarensa aikana kymmeniä muokkauksia. Kerro se sadoilla artikkeleilla, ja lopputuloksena on gigatavuja roskaa wp_posts-taulussa. Pahempaa vielä, versiot tallennetaan samaan tauluun kuin julkaistu sisältö, joten jokainen ylimääräinen rivi hidastaa kyselyitä.
Alla on neljä tapaa siivota vanhat versiot tietokannastasi: turvallisesta lisäosasta suoraan SQL:ään. Lisäksi bonuskikka, joka estää versiosotkun kertymisen uudelleen.
💡 Pikaopas:
- WP-Sweep, turvallisin reitti: lisäosa poistaa versiot käyttäen natiiveja WordPress-funktioita ilman suoria tietokantakyselyitä.
- wp-config.php, kolmella koodirivillä voit poistaa tai rajoittaa luonnosten tallennuksen kokonaan järjestelmätasolla.
- SQL-kysely, välitön siivous yhdellä kyselyllä; vaatii täyden tietokantavarmuuskopion ennen ajamista.
- Automaattitallennuksen aikaväli, ei poista jo kertynyttä, mutta hidastaa tulevaa versiohistorian kasvua merkittävästi.
Vaihe 1: Poista versiot WP-Sweep-lisäosalla
Yksinkertaisin ja turvallisin tapa niille, jotka eivät halua koskea koodiin. WP-Sweep kutsuu natiiveja WordPress-funktioita (wp_delete_post_revision) eikä kirjoita raakoja kyselyitä, joten tietokannan vahingoittumisen riski on minimaalinen.

Tavallinen asennus:
- Siirry kohtaan Lisäosat → Lisää uusi.
- Etsi WP-Sweep, klikkaa Asenna ja sitten Ota käyttöön.
- Avaa Työkalut → Sweep.
- Etsi Versiot-rivi ja klikkaa Sweep-painiketta.
Lisäosa näyttää, kuinka monta versiota poistettiin ja kuinka paljon tilaa vapautui. Versioiden lisäksi WP-Sweep voi siivota roskakommentit, automaattitallennetut luonnokset, käyttämättömät taksonomiatermit ja orvot metakentät, kaikki natiivin WordPress-rajapinnan kautta.
Vaihe 2: Poista versiot käytöstä wp-config.php:n kautta
Jos et tarvitse versioita lainkaan, poista ne käytöstä yhdellä rivillä. Etsi wp-config.php-tiedosto sivustosi juuresta ja lisää koodi ennen riviä /* That's all, stop editing! */:
1 define( 'WP_POST_REVISIONS', false );

Tämän jälkeen WordPress lopettaa luonnosten tallentamisen jokaisen automaattitallennuksen ja jokaisen "Päivitä"-klikkauksen yhteydessä. Tietokantaan jää vain kunkin artikkelin uusin versio.
Huomaa, että tämä rivi ei poista jo kertyneitä versioita; se ainoastaan estää uusien syntymisen. Siivoa olemassa oleva sotku vaiheella 1 tai alla olevalla bonus-SQL-kyselyllä.
Ota versiot uudelleen käyttöön korvaamalla false arvolla true tai yksinkertaisesti poistamalla rivi.
Vaihe 3: Rajoita versioiden määrää
Täysi käytöstä poisto ei sovi kaikille. Jos kolmen hengen toimitustiimi muokkaa samaa artikkelia ja tarvitsee muutoshistoriaa, versioita ei kannata poistaa käytöstä, vaan niiden määrää kannattaa rajoittaa.
Lisää seuraava wp-config.php-tiedostoon ennen riviä /* That's all, stop editing! */:
1 define( 'WP_POST_REVISIONS', 3 );
Numero 3 tarkoittaa, että WordPress säilyttää enintään kolme uusinta versiota kustakin artikkelista. Neljäs versio korvaa vanhimman, joten tietokanta ei jatka kasvamistaan.

Useimmille sivustoille kolme versiota on enemmän kuin tarpeeksi. Jos julkaiset pitkiä artikkeleita, joissa on kymmeniä iteraatioita, aseta arvoksi 5 tai 10. Ylärajaa ei ole; voit määrittää minkä tahansa kokonaisluvun.
Vaihe 4: Muuta automaattitallennuksen aikaväliä
Oletuksena WordPress tallentaa luonnoksen 60 sekunnin välein. Aktiivisen muokkauksen aikana tämä luo kymmeniä versioita tunnissa. Voit pidentää aikaväliä, jotta automaattitallennukset tapahtuvat harvemmin ja tietokanta kasvaa hitaammin.
Lisää seuraava wp-config.php-tiedostoon:
1 define( 'AUTOSAVE_INTERVAL', 600 );

Arvo 600 on sekunteina (10 minuuttia). Tällä asetuksella luonnos kirjoitetaan tietokantaan kerran 10 minuutissa joka minuutin sijaan. Minimiarvo, jonka WordPress hyväksyy, on 60 sekuntia; suositeltu maksimi on 3600 (yksi tunti).
Tämä kikka ei siivoa olemassa olevia versioita, mutta vähentää uusien kertymistä huomattavasti. Yhdistä se vaiheen 3 rajoitukseen, niin saat puhtaan tietokannan ilman säännöllistä manuaalista siivousta.
Bonus: Versioiden poistaminen suoraan SQL-kyselyllä
Nopein reitti, jos lisäosasiivous ei jostain syystä ole vaihtoehto. Varoitus: tämä kysely on peruuttamaton. Ennen sen ajamista tee täydellinen tietokantavarmuuskopio phpMyAdminin, WP-CLI:n tai varmuuskopiolisäosan kautta.
Ensin turvallinen kuiva-ajo, jolla näet, kuinka moneen versioon kysely vaikuttaa poistamatta niitä:
1 SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';
Jos taulun etuliite ei ole wp_, korvaa se omallasi (tarkista wp-config.php-tiedostosta $table_prefix-rivi).
Kun olet varmistanut, että luku on kohtuullinen, suorita poisto:
1 DELETE FROM wp_posts WHERE post_type = 'revision';
Kysely poistaa kaikki versiot kaikista artikkeleista yhdellä kertaa. Tämän jälkeen tietokanta kevenee välittömästi, erityisesti vanhemmilla sivustoilla, joissa on satoja sivuja.
Mihin kysely ei koske: julkaistut artikkelit, luonnokset (post_status='draft'), sivut, liitetiedostot, valikot ja roskakori. Se kohdistuu tarkasti riveihin, joiden post_type='revision', joita järjestelmä käyttää vain versioiden tallentamiseen.
⁉️🤔 Usein kysytyt kysymykset
Vaikuttavatko versiot todella sivuston nopeuteen?
Kyllä, mutta epäsuorasti. Itse versioita ei ladata julkiselle puolelle; ne sijaitsevat
wp_posts-taulussa ja kasvattavat taulun kokonaiskokoa. Sivustolla, jossa on yli 10 000 riviä, jokainen ylimääräinen tuhat riviä hidastaaWP_Query-kyselyitä, erityisesti ilman objektivälimuistia (Redis). Versioiden siivouksen jälkeen ero on havaittavissa hallintapaneelissa ja artikkeleita tallennettaessa.
Onko versioiden poistaminen lisäosalla turvallista?
WP-Sweep on turvallinen juuri siksi, ettei se kirjoita raakoja SQL-kyselyitä. Se kutsuu funktiota
wp_delete_post_revision(), samaa funktiota, jota WordPress käyttää poistaessaan luonnoksen normaalisti. Sääntö "tee varmuuskopio ennen mitään tietokantatoimenpidettä" pätee kuitenkin edelleen.
Mitä tapahtuu automaattitallennuksille versioiden käytöstä poiston jälkeen?
Automaattitallennukset jatkavat toimintaansa; ne ovat teknisesti erillinen mekanismi. WordPress säilyttää yhden automaattitallennuksen artikkelia kohden (uusimman), ja se korvataan, ei kerrytetä. Versioiden poistaminen käytöstä
WP_POST_REVISIONS-asetuksella ei vaikuta automaattitallennuksiin.AUTOSAVE_INTERVAL-asetuksen muuttaminen sen sijaan ohjaa niitä suoraan.
Voinko poistaa versioita vain tietyille sisältötyypeille?
Kyllä,
wp_revisions_to_keep-suodattimen kautta. Lisää seuraava teemasifunctions.php-tiedostoon tai Code Snippetsiin:
1 add_filter( 'wp_revisions_to_keep', function( $num, $post ) { 2 if ( 'product' === $post->post_type ) { 3 return 0; // do not keep revisions for WooCommerce products 4 } 5 return $num; 6 }, 10, 2 );
Tämä koodi poistaa versiot käytöstä vain tuotteille ja jättää oletuskäyttäytymisen artikkeleille ja sivuille. Jo kertyneiden tietyn tyypin versioiden massapoistoon käytä SQL:ää, jossa on ehto
post_parent-kentälle.
Korvaako Perfmatters WP-Sweepin?
Perfmatters on kaupallinen suorituskykylisäosa, ja versioiden hallinta on vain yksi sen yli 40 ominaisuudesta. Se voi rajoittaa versioiden määrää (samoin kuin
WP_POST_REVISIONS) ja siivota niitä aikataulutetusti. Mutta jos tarvitset vain versioiden siivousta, WP-Sweep on täysin ilmainen ja hoitaa homman yhtä hyvin. Perfmatters on järkevä, kun tarvitset myös lazy loadingia, emoji-skriptien poistamista käytöstä ja muita hienosäädettyjä suorituskykyasetuksia.
Tarvitseeko versioita siivota uudella sivustolla?
Tuoreella sivustolla, jossa on tusina artikkelia, versiot vievät kilotavuja, joten siivouksessa ei ole järkeä. Mutta omaksu tapa: jos aiot blogata aktiivisesti, aseta
WP_POST_REVISIONS-rajoitukseksi 3-5 heti. Sinun ei tarvitse käsitellä sotkua myöhemmin.
Mitä sinun kannattaa valita tilanteeseesi?
Pikamatriisi:
- Haluat turvallisen ja nopean siivouksen ilman koodia → WP-Sweep (vaihe 1) + rajoita versiot kolmeen (vaihe 3).
- Et tarvitse versioita lainkaan ja työskentelet yksin → poista käytöstä
WP_POST_REVISIONS, false(vaihe 2). - **Valtava tietokanta, lisäosa on hidas **hostingissasi → SQL-kysely bonusosiosta (ehdottomasti varmuuskopion jälkeen).
- Jo puhdas, haluat pitää sen sellaisena → versiorajoitus 3-5 (vaihe 3) + automaattitallennuksen aikaväli 300-600 sekuntia (vaihe 4).
Käytä viisi minuuttia nyt, niin tietokantasi lakkaa paisumasta vuosien mittaan. Jos sivusto on edelleen hidas versioiden siivouksen jälkeen, tutustu muihin tapoihin nopeuttaa WordPressiä: kyselyiden välimuistitus ja kevyt teema tuovat usein suuremman parannuksen kuin versioiden poistaminen.



