Kuinka puhdistaa WordPress®-tietokanta

kirjoittaja

Performanssissa
optimoida wordpress-tietokanta

Lähes kaikilla näkemäni WordPress®-sivustoilla on paisuneet tietokannat. Tämä on melko normaalia. Kukaan ei syntynyt asiantuntijaksi erittäin tehokkaiden ja optimoitujen sivustojen rakentamisessa.

Kun aloitin WordPressin® käytön, vaihdoin teemoja kuukausittain ja testasin monia laajennuksia. Luin ennen "21 suosituinta pakollista laajennusta" -artikkeleita ja asensin ne kaikki. Pari viikkoa myöhemmin poistin ne.

Näin opit: yrität, testaat ja huomaat, mitä tarvitset ja mikä toimii sinulle.

Mutta vuosia myöhemmin sinulla on WordPress®-tietokanta täynnä vanhoja, hyödyttömiä asioita. Tämä johtuu siitä, että verkkosivustosi tietokanta ei sisällä vain sisältöäsi, vaan kaikki teemat ja laajennusasetukset.

Miksi puhdas tietokanta on välttämätöntä?

Yksi asiakas, ruokablogi, jossa on ~10 000 käyntiä/päivä, koki hitaita 13-15 sekunnin latausaikaa. Hosting-yrityksen tarjoama ratkaisu oli päivittää kalliimpaan hosting-suunnitelmaan.

Ratkaisumme oli erilainen – teimme sivuston auditoinnin isännöintialustallemme siirtymisen jälkeen.

Simplenetin isännöintisuunnitelmasta ; sinäkin voit hyötyä tästä.

Löysimme yli 25 000 tietokantamerkintää wp_options-taulukosta automaattisen latausasetuksen ollessa kyllä. "Autoload: kyllä" tarkoittaa, että kun WordPress® alustetaan, se lukee kyseiset vaihtoehdot tietokannasta, mikä kesti noin 11 sekuntia.

Poistimme vanhat, turhat vaihtoehdot, ja nyt WordPress® latautuu 2-3 sekunnissa. Optimoimme myös kuvia, korvasimme huonoja laajennuksia parempiin ja teimme muita pieniä muokkauksia.

Hän ei tarvinnut kalliimpaa suunnitelmaa; hän pysyi samassa suunnitelmassa vielä 8-9 kuukautta, kunnes hänen liikennemääränsä saavutti ~60 000 käyntiä päivässä, jolloin oli todella aika päivittää.

Puhtaan WordPress®-tietokannan etuna oli, että se auttoi häntä säästämään rahaa web-isännöinnissä, saamaan nopeamman verkkosivuston ja skaalautumaan paljon enemmän liikennettä vaivattomasti. 

Katsotaanpa, mitä voit tehdä optimoidaksesi WordPress®-tietokantasi saadaksesi samat edut.

Varmuuskopioi aina ensin

Ennen kuin suoritat tietokannan puhdistamista, sinun on luotava koko sivuston varmuuskopio, mukaan lukien tietokanta ja tiedostot – tai ainakin tietokanta –, koska siellä teemme muutoksia. Tämän suojauksen avulla voit palauttaa sivustosi nopeasti aiempaan tilaan, jos jokin menee pieleen, mikä säästää aikaa, stressiä ja mahdollisia menetyksiä.

Ilman varmuuskopiota et voi palauttaa vahingossa poistettuja viestejä, sivuja, käyttäjätilejä tai asetuksia. Virheet tietokannan siivouksen aikana – kuten tärkeiden taulukoiden poistaminen tai tietojen vioittaminen – voivat myös vahingoittaa verkkosivustoasi, jolloin vierailijat eivät pääse siihen.

Voit viedä tietokantasi phpMyAdminista. Palveluntarjoajasi tulee tarjota pääsy tähän tietokannan hallintatyökaluun (tai vastaavaan).

Tarjoamme pääsyn phpMyAdminiin sekä sisäänrakennetun varmuuskopiointityökalun, jonka avulla voit ottaa manuaalisia varmuuskopioita milloin tahansa. Tarjoamme myös lavastuspaikkoja. Tämä tarkoittaa, että voit kloonata live-verkkosivustosi esityssivustoksi ja tehdä siellä kaikki muutokset ennen kuin teet sen live-sivustolla.

Voit myös käyttää WordPress®-varmuuskopiolaajennusta, kuten:

Kun käytät varmuuskopiolaajennusta, varmista, että varmuuskopioarkistoa voi käyttää WordPressin® ulkopuolella. Jos sivusto katkeaa, sinun on voitava palauttaa ilman wp-admin-käyttöoikeuksia.

WordPress® perussiivous

Helpoin tapa puhdistaa WordPress®-tietokanta, erityisesti ei-teknisille ihmisille, on käyttää WordPress®-laajennusta.

Suosituimmat tietokannan optimointilaajennukset ovat:

On myös välimuisti- ja optimointilaajennuksia, joihin on myös integroitu tietokannan puhdistusvaihtoehtoja, kuten:

Suosittelemme WP-Sweepiä , koska se käyttää mahdollisimman paljon oikeita WordPress®-poistotoimintoja suorien MySQL-poistokyselyjen sijaan.

Asenna ja aktivoi WP Sweep -laajennus ja mene sitten kohtaan Työkalut > Sweep. Näet eri osiot, joiden vieressä on Pyyhkäisy-painike, napsauta painiketta puhdistaaksesi sotkua.

Tämä laajennus auttaa sinua poistamaan:

  • Tarkistukset
  • Automaattiset luonnokset
  • Poistetut, hyväksymättömät ja roskapostiviestit
  • Orpo ja kopioitu viestin meta
  • Orpo ja päällekkäinen kommentti meta
  • Orpo ja monistettu käyttäjän meta
  • Orposuhteet
  • Käyttämättömät termit
  • Ohimenevät vaihtoehdot

Plugin voi myös optimoida taulukoita, ja se on helpompaa kuin tehdä se phpMyAdminin kautta.

Toinen suosittelemamme laajennus on LiteSpeed ​​Cache . Se voi puhdistaa WordPress®-tietokannan ja muuntaa tietokantataulukot MyISAMista InnoDB:ksi.

Voit myös nähdä luettelon automaattisesti latautuvista tiedoista, niiden lukumäärästä ja koon LiteSpeed-välimuistin avulla.

Bonuksena suosittelen Scalability Pro -laajennusta WooCommercelle; se ratkaisee joitain alkuperäisiä suorituskykyongelmia.

Edistynyt WordPress®-siivous

Helpolla puhdistuksen jälkeen kannattaa tarkistaa myös manuaalisesti, tarkemmin, onko tietokannassa vielä optimoitavissa olevia asioita.

WordPress®-tietokantaan voidaan tehdä monia optimointeja, mutta on joitain merkittäviä ongelmia, joiden ratkaisemisen jälkeen tietokantamme pitäisi toimia riittävän hyvin. Keskitytään siis näiden ongelmien ratkaisemiseen merkittävimmällä hyödyllä.

Nämä ovat:

  • meta-avainten puhdistaminen wp_postmetasta
  • Autoload-merkintöjen puhdistaminen wp_options-taulukosta
  • kadonneen ensisijaisen avaimen palauttaminen wp_options-taulukosta

Meta-avainten puhdistaminen wp_postmeta-taulukosta

Jopa tietokannan puhdistamisen jälkeen WP Sweep -laajennuksella, wp_postmeta-taulukossa voi silti olla tarpeettomia merkintöjä, koska kaikkea ei ole puhdistettu.

Pääset tietokantaan phpMyAdminilla tai millä tahansa tietokannan hallintatyökalulla, siirry wp_postmeta-taulukkoon ja katso, mitä merkinnät ovat.

Otetaan tämä esimerkki.

Voit nähdä, että eg_-etuliitteellä on monia merkintöjä. Voit etsiä Googlesta tai, mikä vielä parempaa, kysyä ChatGPT :

Mikä WordPress-laajennus on lisännyt wp_postmeta-taulukkooni merkintöjä etuliitteellä eg_?

ChatGTP kertoo minulle, että se on Essential Grid -laajennus. Jos et enää käytä tätä laajennusta, voit poistaa kaikki nämä merkinnät manuaalisesti tai suorittamalla kyselyn niiden poistamiseksi joukkona.

DELETE FROM wp_postmeta WHERE meta_key LIKE 'eg_%';


Tämä kysely poistaa kaikki meta-avaimet, jotka alkavat eg_. Älä unohda varmuuskopioida tietokantaasi tai ainakin wp_postmeta-taulukkoa ennen kuin alat suorittaa kyselyitä taulukon puhdistamiseksi.

Toista prosessi muiden meta-avainten kanssa, joita huomaat olevan suuri määrä etkä tunnista, mitä ne ovat ja mihin niitä käytetään.

Autoload-merkintöjen puhdistaminen wp_options-taulukosta

Tämä on ongelma, josta keskustelimme tämän artikkelin johdannossa: wp_options-taulukko paisui merkinnöistä, joiden Autoload-arvoksi on asetettu Kyllä.

Nämä merkinnät luetaan aina, kun WordPress alustetaan.

Helpoin tapa nähdä nämä merkinnät on käyttää LiteSpeed ​​​​Cache -laajennusta ja siirtyä Tietokanta-osioon. Vieritä kohtaan Tietokannan yhteenveto ja katso luettelo automaattisesti latautuvista tiedoista, niiden määrästä ja koosta.

Lataa automaattisesti LiteSpeed ​​Cache -laajennuksessa näkyvät merkinnät

Yllä olevassa esimerkissä ei ole ongelmia; se on puhdas tietokanta, mutta jos näet verkkosivustollasi valtavia merkintöjä, voit kysyä Chat GPT:ltä :

Mikä laajennus on lisännyt X-merkinnän WordPress-tietokantani wp_options-taulukkoon?


Näin voit tunnistaa tiedot lisänneen laajennuksen, ja jos et enää käytä sitä, voit poistaa vastaavan merkinnän.

DELETE FROM wp_options WHERE valinnan_nimi LIKE 'oma-vaihtoehdon-nimi';

Ylhäällä oleva SQL-kysely poistaa merkinnän, korvaa vain valintasi-nimi merkinnän todellisella nimellä.

Älä unohda varmuuskopioida tietokantaa tai ainakin wp_options-taulukkoa ennen siivouksen aloittamista.

Kadonneen ensisijaisen avaimen palauttaminen wp_options-taulukosta

Toinen kohtaamani ongelma liittyy wp_options-taulukkoon, nimittäin on tapauksia, joissa tämä taulukko menettää ensisijaisen avaimensa.

Option_id-kenttä on oletusarvoisesti määritetty ensisijaiseksi avaimeksi.

Ensisijainen avain takaa jokaisen taulukon rivin ainutlaatuisuuden ja mahdollistaa rivien indeksoinnin nopeaa käyttöä varten. Jos meillä on päällekkäisiä arvoja ja ensisijainen avain katoaa, tämän taulukon toiminnot ovat hitaampia, koska tiettyä riviä ei enää voida käyttää nopeasti. Suoritetaan täydellinen taulukkoskannaus – eli jokainen taulukon rivi luetaan tarvittavien tietojen löytämiseksi, mikä vie enemmän aikaa.

Joissakin tilanteissa, kuten manuaalisissa siirroissa mysqldumpilla palvelimelta toiselle, taulukko saattaa menettää ensisijaisen avaimensa, kun MySQL-versiot eroavat palvelimien välillä.

option_idvaihtoehdon_nimi
1vaihtoehto 1
2vaihtoehto 2
3vaihtoehto 3
0vaihtoehto 4
0vaihtoehto 5
0vaihtoehto 6

Tämän tilanteen ratkaisemiseksi meidän on tehtävä option_id-sarakkeesta jälleen ensisijainen avain. Emme kuitenkaan voi tehdä sitä, jos on päällekkäisiä arvoja, ne, joissa on 0, joten ne on poistettava tai numeroitava uudelleen.

Niiden poistaminen nollaa teeman tai laajennuksen kokoonpanot, mutta voimme numeroida ne uudelleen.

SET @new_option_id := 4; PÄIVITYS wp_options SET option_id = (@uusi_vaihtoehdon_tunnus := @uusi_optiotunnus + 1) WHERE option_id IN ( SELECT option_id FROM ( SELECT option_id FROM wp_options WHERE option_id = 0 GROUP BY option_id HAVING COUNT(*) > 1 ) kaksoiskappaleina); DELETE FROM wp_options WHERE option_id = 0; ALTER TABLE wp_options ADD PRIMARY KEY (option_id); ALTER TABLE wp_options AUTO_INCREMENT = 7; ALTER TABLE wp_options MODIFY option_id bigint(20) unsigned EI NULL auto_increment; TARKISTA TABLE wp_options; KORJAUSTAULUKKO wp_options;

Näytöllä näkyvät kyselyt toimivat seuraavasti:

  • Asettaa aloituspisteen option_id:lle. Esimerkiksi numerointi pysähtyi 3:een yllä olevassa esimerkissä, joten asetimme 4 uudeksi aloituspisteeksi.
  • Tunnistaa option_id kaksoiskappaleet arvolla 0 ja päivittää ne uusilla arvoilla alkaen asetetusta arvosta
  • Poistaa kaikki jäljellä olevat rivit, joissa option_id on 0
  • Lisää ensisijaisen avaimen option_id:hen
  • Asettaa uuden aloitusarvon AUTO_INCREMENT:lle viimeiseen numeroon – esimerkissämme ne pysähtyivät 6:een, joten asetamme 7 uudeksi aloituspisteeksi
  • Otamme käyttöön auto_incrementin option_id-sarakkeessa
  • Teemme tarkistustaulukon
  • Ja korjauspöytä

Ennen kuin aloitat tämän toiminnon, älä unohda varmuuskopioida tietokantaasi tai ainakin wp_options-taulukkoa.

Huomautus: muista vaihtaa oletusetuliite (wp_) tietokannassasi käyttämäksi.

Voit suorittaa nämä kyselyt phpMyAdminissa (työkalu, johon pääsee isännöinnin ohjauspaneelista) tai tietokannan hallintatyökalulla, kuten Sequel Ace (Mac) tai MySQL Workbench (Windows, Linux, Mac).

Käytän Sequel Acea ja pidän siitä enemmän kuin phpMyAdminia, koska se on nopeampi ja vakaampi. PhpMyAdmin voi joskus kaatua PHP-rajoitusten vuoksi, etenkin jaetuissa isännöissä.

Parhaat käytännöt pitääksesi WordPress®-tietokantasi puhtaana

Useimmat laajennukset ja teemat eivät puhdistu itsestään, joten sinun on suoritettava siivous ajoittain varmistaaksesi, että kaikki on huippukunnossa.

Optimointilaajennuksissa on tämä ominaisuus, joka ajoittaa automaattisen puhdistuksen ja vähentää tietokannan turvotusta:

  • FlyingPress
  • WP raketti
  • Perfmatters
Perfmattersin ajoitettu optimointi

Voit asettaa sen viikoittain, kuukausittain tai mihin tahansa haluamaasi aikatauluun.

Suosittelen myös poistamaan käyttämättömät laajennukset ja teemat. Tämä auttaa myös turvallisuuden näkökulmasta. Suosittelen, että et säilytä palvelimellasi muita PHP-skriptejä (laajennuksia, teemoja, muita PHP-tiedostoja) kuin mitä käytät aktiivisesti.

Voit poistaa käyttämättömät laajennukset kirjautumalla sisään wp-adminiin ja siirtymällä kohtaan Plugins > Installed plugins. Napsauta Ei-aktiivinen nähdäksesi passiiviset laajennukset ja poistaaksesi ne.

Voit poistaa käyttämättömät teemat valitsemalla Ulkoasu > Teemat. Napsauta jokaista poistettavaa teemaa ja napsauta sitten oikeasta alakulmasta Poista.

Suosittelen säilyttämään vain aktiivisen teemasi ja yhden oletusteeman (jos joudut testaamaan yhteensopimattomuutta).

Voit myös estää versioiden kasaantumisen rajoittamalla tietokantaan tallennettujen versioiden määrää, esimerkiksi 30. Lisää seuraava koodi wp-config.php-tiedostoon.

define('WP_POST_REVISIONS', 30);

Älä jätä kommentteja hyväksymättä – hyväksy ne, lähetä ne roskapostiksi tai siirrä ne roskakoriin.

Varo laajennuksia, jotka tallentavat paljon tietoa:

  • tilastolaajennukset
  • suojauslaajennuksia
  • roskapostin esto-laajennukset
  • liittyvät viestit -laajennukset
  • linkkien seurantalaajennukset

En sano, että sinun ei pitäisi käyttää mitään yllä olevista laajennuksista, vaan käytä laajennuksia, jotka tarjoavat kyseiset toiminnot ja tallentavat tietoja ulkoisesti, ei WordPress®-tietokantaan.

Jos mahdollista, vältä turvotusta lisäävien lisäosien käyttöä. Pidä WordPress®-tietokanta mahdollisimman kevyenä. Turvotusta on parempi ehkäistä kuin hoitaa.

Tehokas tietokannan optimointi varmistaa nopeat, luotettavat ja skaalautuvat verkkosivut. Parhaiden käytäntöjen käyttöönotto voi parantaa merkittävästi tietokannan suorituskykyä ja vähentää samalla käyttökustannuksia. Muista, että tietokannan optimointi ei ole kertaluonteinen tehtävä, vaan jatkuva prosessi, joka kehittyy järjestelmäsi tarpeiden ja kasvun mukana.

Kiitos, että luit tämän artikkelin tietokannan optimoinnista. Toivon, että se on tarjonnut arvokkaita oivalluksia ja käytännön vinkkejä WordPress®-tietokantojesi suorituskyvyn parantamiseen.

Jos sinulla on kysyttävää, palautetta tai muita tekniikoita, jotka haluat jakaa, jätä kommentti tai ota yhteyttä. Yhdessä voimme rakentaa parempia, nopeampia ja tehokkaampia verkkosivustoja!


Kommentit

11 vastausta

  1. Upea resurssi WP-tietokannan puhdistamiseen. Kiitos tämän jakamisesta.

    1. Kiitos. Jos tarvitset muita tietoja tai opetusohjelmia, joita voimme kirjoittaa, ilmoita siitä meille.

  2. Oletko kokeillut TablePlusia? Se on samanlainen kuin Sequel Pro, mutta se tukee useita ohjaimia.

    1. En ole koskaan kuullut siitä tähän mennessä.

  3. Käytän Akismetiä. Pitäisikö sekin poistaa? Kokeilin UPDRATPLUS-ilmaista versiota useita kertoja, mutta aina muisti tyhjenee ja sivusto alas. Lisätty muistia php.inissä ja yritetty, mutta ei onnistunut. Minulla on Godaddy jaettu Linux-isännöinti.

    1. Pidän enemmän Antispam Beesta , mielestäni se on tehokkaampi roskapostin torjunnassa kuin Akismet.
      Useimmissa varmuuskopiolaajennuksissa on ongelmia jaetun isännöinnin kanssa. Ratkaisu, joka saattaa toimia paremmin, on käyttää ManageWP- varmuuskopiota tai WP Time Capsule -varmuuskopiota.
      Nämä ratkaisut tekevät asteittain varmuuskopioita, joten pakkaamista ja pakkaamista ei tarvita, ja tämä kuluttaa vähemmän palvelinresursseja.

  4. Artikkelistasi saatujen tietojen avulla tietokannan puhdistaminen osoittautui melko helpoksi ja ilman virheitä tai ongelmia.

  5. Tämä on todella hieno artikkeli, kiitos jakamisesta, ja haluaisin sanoa, että jaa tietosi meille.

  6. Kiitos.
    Toimii kuin hurmaa!

  7. Erittäin hyvää tietoa jaettu, kiitos tästä.

  8. Erittäin hyvä artikkeli jaettu, kiitos tästä.

Jätä vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *