
🛠️ Virhe 500 WordPressissä: 7 askelta valkoisesta ruudusta toimivaan sivustoon
Valkoinen ruutu. Viisi merkkiä: 500 Internal Server Error. Sivusto on alhaalla, asiakas laittaa viestiä, eikä sinulla ole aavistustakaan, mistä aloittaa.
500-virhe on turhauttavin HTTP-tilakoodi. Toisin kuin 404 ("sivua ei löydy") tai 403 ("pääsy estetty"), se ei nimeä syyllistä. Se vain sanoo "palvelimella tapahtui jokin virhe". Sen jälkeen olet omillasi: lisäosa, teema, rikkinäinen PHP, hosting, vioittunut .htaccess. Mahdollisuuksia on kymmeniä, ja jokainen vaatii eri korjauksen.
Hyvä uutinen: 500-virhe voidaan aina korjata. Ilman paniikkia, ilman WordPressin uudelleenasennusta tyhjästä, ja useimmissa tapauksissa ilman kehittäjää. Seitsemässä vaiheessa (30 sekunnin diagnostiikasta järjestelmätiedostojen kirurgiseen korvaamiseen) löydät syyn ja saat sivustosi takaisin verkkoon. Jokainen menetelmä sisältää tarkat tiedostot, koodirivit ja kuvakaappaukset.
💡 Pikayhteenveto:
- Vaihe 1: ota
WP_DEBUGkäyttöön ja lue lokit nähdäksesi heti, mikä tiedosto on viallinen - Vaihe 2: sulje pois hosting-ongelmat, kun kaivelet koodia
- Vaihe 3: korjaa
.htaccess, yleisin syy tukitilastojen mukaan - Vaihe 4: nosta PHP:n muistirajaa, yleinen syyllinen mediaa ladattaessa tai hallintaan kirjauduttaessa
- Vaihe 5: lataa WordPressin ydin uudelleen, kun tiedostot ovat vioittuneet automaattipäivityksen epäonnistuessa
- Vaihe 6: poista lisäosat käytöstä FTP:n kautta, menetelmä, joka ratkaisee yli puolet kaikista tapauksista
- Vaihe 7: palauta oletusteema, vaihe, joka usein unohdetaan
Mikä 500-virhe on ja mistä se johtuu
HTTP 500 on palvelimen vastaus, joka tarkoittaa "sisäistä virhettä". Selaimen pyyntö saapui, Apache tai Nginx otti sen vastaan, PHP alkoi suorittaa, ja sitten se kompastui. Toisin kuin 404 tai 403 (joissa palvelin vastaa tietoisesti "ei"), koodin alussa oleva viitonen tarkoittaa, että jokin hajosi skriptin sisällä, eikä palvelin tiedä mitä.

WordPressissä 500-virhe ilmenee neljässä tyypillisessä tilanteessa:
- Asensit tai päivitit lisäosan, ja se on ristiriidassa muun järjestelmän koodin kanssa.
- Muokkasit
.htaccess-tiedostoa, ja syntaksivirhe kaatoi Apachen. - PHP-skripti käytti sille varatun muistin loppuun (valkoinen ruutu ja lokissa
Allowed memory size of X bytes exhausted). - Ydintiedostot ovat vioittuneet: automaattipäivityksen epäonnistuminen, rikkinäinen FTP-siirto, häiriköivä lisäosa, joka peukaloi järjestelmäkansioita.
Harvinaisempia: teema, jossa on vakava virhe functions.php-tiedostossa, hosting-puolen ongelmat (ylikuormitus, poistettu PHP-moduuli) tai rikkinäinen shortcode poistetusta lisäosasta sivun sisällössä.
Ennen kuin aloitat: tee täydellinen varmuuskopio sivustostasi. Ilman varmuuskopiota mikä tahansa toimenpide palvelimen tiedostoille on riski. Useimmat hostit tarjoavat varmuuskopiointipainiketta hallintapaneelissa (cPanel, ISPmanager, aaPanel) vain kahdella napsautuksella.
1. Ota WP_DEBUG käyttöön ja lue lokit
Nopein tapa löytää syy on saada WordPress paljastamaan se. Oletuksena ydin piilottaa PHP-virheet valkoisen ruudun taakse (tämä on "älä pelottele kävijöitä" -tila). Mutta WordPressissä on sisäänrakennettu virheenkorjausmekanismi: WP_DEBUG-vakiot.
Virheenkorjaustilan käyttöönotto
Avaa wp-config.php sivustosi juuressa FTP:n tai hostisi tiedostonhallinnan kautta. Etsi tämä rivi:
1 /* That's all, stop editing! Happy blogging. */
Ennen sitä, lisää tämä lohko:
1 // Enable debug mode 2 define( 'WP_DEBUG', true ); 3 4 // Write errors to /wp-content/debug.log 5 define( 'WP_DEBUG_LOG', true ); 6 7 // Do not show errors to visitors on screen 8 define( 'WP_DEBUG_DISPLAY', false ); 9 @ini_set( 'display_errors', 0 );
Mitä tässä tapahtuu:
WP_DEBUGon pääkytkin; ilmantrue-arvoa muut vakiot eivät toimi.WP_DEBUG_LOGohjaa kaikki virheet tiedostoonwp-content/debug.logruudun sijaan. Kävijät eivät näe pelottavia viestejä.WP_DEBUG_DISPLAY+@ini_setpiilottaa virheet väkisin sivun tulosteesta.
Tallenna tiedosto, päivitä ongelmasivu sivustollasi ja lataa wp-content/debug.log FTP:n kautta. Lokissa näet tarkan tiedoston ja rivin: Fatal error: Cannot redeclare my_function() in /home/user/public_html/wp-content/plugins/broken-plugin/broken.php on line 42.
Poista virheenkorjaus käytöstä diagnostiikan jälkeen. Kommentoi pois tai poista lisäämäsi rivit. WP_DEBUG elävässä sivustossa hidastaa suorituskykyä, ja debug.log voi kasvaa gigatavuihin ajan myötä.
2. Ota yhteyttä hosting-palveluntarjoajaasi
Jos lokit ovat tyhjiä tai niitä ei luotu, virhe saattaa olla palvelinpuolella eikä WordPressin koodissa. Tämä on erityisen yleistä halvoissa jaetuissa hosting-paketeissa, joissa on tiukat prosessirajoitukset.
Avaa tukipyyntö ja liitä mukaan kolme asiaa:
- Tarkka aika, jolloin virhe ilmeni, palvelimen aikavyöhykkeen mukaan.
- Sen sivun URL-osoite, jossa virhe toistuu.
- Kuvakaappaus virheestä, jos saatavilla.
Tuki tarkistaa Apachen tai Nginxin palvelinlokit, suorittimen ja muistin kuormituksen sekä käytettävissä olevat PHP-moduulit. Ongelmat ratkeavat usein tässä vaiheessa: hostin ylläpitäjä käynnistää PHP-FPM:n uudelleen tai säätää prosessirajaa.
Miten selvittää, kummalla puolella ongelma on
Luo tiedosto nimeltä info.php, jossa on yksi rivi:
1 <?php phpinfo(); ?>
Lataa se sivustosi juureen FTP:n kautta ja avaa your-site.com/info.php. Jos näet taulukon PHP-parametreista, palvelin toimii ja virhe on WordPressin koodissa. Jos näet 500-virheen, virhe on palvelintasolla; toimita tämä URL-osoite tuelle.
Testin jälkeen **poista **info.php. phpinfo() paljastaa palvelimen versiot, polut ja moduulit, mikä luo tietoturva-aukon.
3. Korjaa.htaccess-tiedosto
.htaccess on Apachen asetustiedosto sivustosi juuressa. WordPress käyttää sitä selkokielisiin URL-osoitteisiin, uudelleenohjauksiin ja perustietoturvasääntöihin. Yksi ylimääräinen sulkumerkki, ristiriita kahden lisäosan sääntöjen välillä, ja koko sivusto kaatuu 500-virheeseen. Tukipyyntötilastojen mukaan .htaccess osoittautuu yleisimmäksi syyksi.
Pikatarkistus: nimeä .htaccess uudelleen muotoon .htaccess_old FTP:n kautta ja päivitä sivusto. Jos se toimii, ongelma on ehdottomasti tässä tiedostossa.
Palauta nyt .htaccess: mene WordPressin hallintaan, Asetukset → Pysyvät linkit ja klikkaa "Tallenna muutokset" muuttamatta rakennetta. WordPress luo uuden, puhtaan .htaccess-tiedoston vakiosäännöillä:
1 RewriteEngine On 2 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 3 RewriteBase / 4 RewriteRule ^index\.php$ - [L] 5 RewriteCond %{REQUEST_FILENAME} !-f 6 RewriteCond %{REQUEST_FILENAME} !-d 7 RewriteRule . /index.php [L]
Jos sinulla oli .htaccess-tiedostossa omia sääntöjä (uudelleenohjauksia, välimuistitusta, tietoturvaa), lisää ne takaisin yksi kerrallaan ja tarkista sivusto jokaisen lisäyksen jälkeen. Näin löydät ongelman aiheuttavan rivin.
4. Nosta PHP:n muistirajaa
WordPressin PHP-skriptit tarvitsevat keskusmuistia. Kun lisäosa tai teema pyytää enemmän kuin on varattu, skripti kaatuu. Tuloksena on 500-virhe tai valkoinen sivu, jossa lukee Allowed memory size of X bytes exhausted.
Monilla palveluntarjoajilla vakioraja on yhä 64 Mt. Nykyaikaiselle WordPress-sivustolle, jossa on tusina lisäosaa, se on katastrofaalisen vähän. Suositeltu vähimmäismäärä on 256 Mt.
Tapa 1: wp-config.php:n kautta (suositeltava)
Lisää tämä wp-config.php-tiedostoon ennen riviä /* That's all, stop editing! */:
1 define( 'WP_MEMORY_LIMIT', '256M' );
Tämä vakio ohittaa PHP:n muistirajan sivuston julkisella puolella. Hallinta-aluetta varten WordPress nostaa katon automaattisesti arvoon WP_MAX_MEMORY_LIMIT (oletuksena 256 Mt).
Tapa 2: php.ini-tiedoston kautta (jos palveluntarjoajasi ei salli wp-config.php:n muokkaamista)
Luo php.ini-tiedosto, jossa on tämä sisältö:
1 memory_limit = 256M
Lataa se sivuston juureen ja wp-admin/-kansioon. Jos sekään ei auta, luo tai muokkaa .user.ini-tiedostoa sivuston juuressa samalla rivillä.
Jos kumpikaan tapa ei toimi, hosting-palvelusi paketti rajoittaa muistia fyysisesti. On aika päivittää pakettisi tai vaihtaa palveluntarjoajaa.
5. Lataa WordPress-ydintiedostot uudelleen
Vioittunut ydintiedosto on harvinainen mutta salakavala syy. Automaattipäivityksen epäonnistuminen, rikkinäinen FTP-siirto, järjestelmätiedostoja muokannut lisäosa, ja wp-admin tai wp-includes sisältää roskaa.

Toimenpiteet:
- Lataa tuore WordPress ZIP -paketti osoitteesta wordpress.org.
- Pura paketti tietokoneellasi.
- Mene FTP:llä sivustosi juureen ja poista
wp-admin- jawp-includes-kansiot (vain nämä kaksi; älä koskewp-content-kansioon!). - Siirrä
wp-admin- jawp-includes-kansiot tuoreesta paketista palvelimelle. - Älä korvaa
wp-content-kansiota; siellä sijaitsevat teemasi, lisäosasi ja latauksesi.

Juuren tiedostot (wp-settings.php, index.php ja muut) voi myös korvata paketin tuoreilla versioilla. **Paitsi **wp-config.php; älä koske siihen, sillä se sisältää tietokantatunnuksesi. Korvaamisen jälkeen päivitä sivusto; virhe katoaa, jos syynä olivat vioittuneet järjestelmätiedostot.
6. Poista lisäosat käytöstä
Viallinen lisäosa on todennäköisin 500-virheen aiheuttaja. Päivitit useita lisäosia kerralla, ja yksi törmäsi toiseen: hei, valkoinen ruutu.
Jos hallintapaneeli toimii
Mene kohtaan Lisäosat → valitse kaikki → massatoiminto "Poista käytöstä" → "Suorita." Jos virhe katoaa, ota lisäosat käyttöön yksi kerrallaan ja päivitä sivusto jokaisen jälkeen. Kun löydät syyllisen, poista se tai ilmoita ongelmasta kehittäjälle.
Jos hallintapaneeliin ei pääse
Yhdistä palvelimelle FTP:llä ja nimeä wp-content/plugins-kansio uudelleen nimellä plugins_off. WordPress lopettaa kaikkien lisäosien lataamisen ja sivusto herää henkiin. Palauta kansion alkuperäinen nimi ja nimeä lisäosien alikansioita uudelleen yksi kerrallaan; näin löydät ongelmallisen lisäosan kirjautumatta hallintapaneeliin.
Mitä tarkkailla: välimuistilisäosat (W3 Total Cache, WP Rocket) kirjoittavat joskus omia sääntöjään tiedostoihin .htaccess ja wp-config.php. Kun poistat tällaisen lisäosan käytöstä, virhe saattaa jatkua; tarkista nämä tiedostot ja poista rivit merkintöjen kuten # BEGIN W3TC ja # END W3TC tai vastaavien välistä.
7. Vaihda oletusteemaan
Aktiivinen teema on aliarvioitu mutta todellinen 500-virheiden lähde. Varsinkin jos lisäsit functions.php-tiedostoon koodinpätkän, jossa on fataali virhe.
Tarkistus on yksinkertainen: nimeä FTP:llä aktiivisen teeman kansio uudelleen hakemistossa wp-content/themes/ (esimerkiksi mytheme → _mytheme). WordPress havaitsee, että aktiivinen teema puuttuu, ja vaihtaa automaattisesti vakioon: Twenty Twenty-Five tai johonkin muuhun järjestelmään asennettuun oletusteemaan.
Jos sivusto toimii oletusteemalla, ongelma on sinun teemassasi. Palauta teeman alkuperäinen nimi, avaa functions.php ja etsi virheitä mukautetusta koodista. Jos et lisännyt koodia itse, ota yhteyttä teeman kehittäjään.
⁉️🤔 Usein kysytyt kysymykset
Mitä teen, jos 500-virhe ilmestyy vain hallintapaneeliin kirjautuessa?
Todennäköisesti PHP:n muistiraja ei riitä nimenomaan hallintapaneelille, joka lataa kaikki lisäosat kerralla ja on raskaampi kuin julkinen puoli. Lisää rivi
define( 'WP_MAX_MEMORY_LIMIT', '512M' );tiedostoonwp-config.php; tämä on erillinen, julkisen puolenWP_MEMORY_LIMIT-rajaa korkeampi raja hallintapaneelille. Tarkista myös lisäosakansiosi: kokemuksemme mukaan yleisimmät syylliset ovat tietoturvalisäosat, kuten Wordfence, tai varmuuskopiolisäosat, jotka kuluttavat muistia ladatessaan hallintapalkkia. Poista ne käytöstä FTP:llä (vaiheen 6plugins_off-kansio) ja tarkista.
Voinko korjata 500-virheen ilman FTP-yhteyttä?
Kyllä. Useimmat palveluntarjoajat tarjoavat tiedostonhallinnan ohjauspaneelissa: cPanel → File Manager, ISPmanager → Tiedostot. Sen kautta voit nimetä uudelleen
.htaccess-tiedoston, lisäosa- ja teemakansiot sekä muokatawp-config.php-tiedostoa; kaikki vaiheet ovat samat. Ilman minkäänlaista tiedostojen käyttöoikeutta ainoa vaihtoehtosi on palveluntarjoajan tuki. Vinkki: jos sinulla on koodinpätkälisäosa asennettuna (Code Snippets, WPCode) ja viimeinen toimenpiteesi oli koodinpätkän lisääminen, kokeile avatayour-site.com/?code_snippets_safe_mode=1tai vastaava vikasietotilan URL lisäosallesi. Tämä poistaa kaikki koodinpätkät käytöstä ilman FTP:tä.
500-virhe näkyy vain yhdellä sivulla. Mikä on syynä?
Rikkinäinen funktio tai shortcode kyseisen sivun sisällössä. Avaa sivu WordPress-editorissa (jos hallintapaneeli toimii) ja poista väliaikaisesti kaikki shortcodet, Gutenberg-lohkot ja koodiupotukset. Jos hallintapaneeliin ei pääse, etsi artikkeli tietokannasta phpMyAdminin kautta (
wp_posts-taulu), kopioi sisältö tekstieditoriin ja poista epäilyttävät shortcodet. Yleisimmät syylliset: poistettujen lisäosien shortcodet ([dead_plugin]on jäljellä, mutta lisäosa on poissa), rikkinäinen PHP sisältölohkoissa tai virheellisesti sisäkkäiset Gutenberg-lohkot.
Palautuksen jälkeen 500-virhe palaa muutaman tunnin kuluttua. Miten löydän syyn?
Syklinen, tietyin väliajoin toistuva virhe on lähes aina yksi kolmesta skenaariosta: WordPressin cron-tehtävä ajaa rikkinäistä prosessia aikataulun mukaan, välimuistilisäosa tuottaa vioittunutta välimuistia, tai palveluntarjoaja saavuttaa ajoittain prosessirajat (etenkin halvoissa jaetuissa palveluissa). Asenna WP Crontrol ja tarkista cron-tehtävien luettelo; etsi se, joka osuu yhteen kaatumisajan kanssa. Tyhjennä välimuistilisäosasi välimuisti. Kysy palveluntarjoajaltasi Entry Processes- tai PHP Workers -rajasta; jaetuissa palveluissa ne on usein leikattu 5-10:een, ja liikennepiikki kaataa sivuston.
Täytyykö minun käydä läpi kaikki 7 vaihetta, vai voinko ohittaa joitakin?
Kaksi ensimmäistä vaihetta (WP_DEBUG ja palveluntarjoaja) ovat diagnostisia: ne eivät riko mitään ja antavat tietoa. Kokemuksemme mukaan WordPress-sivustojen tuesta vaihe 3 (
.htaccess) ja vaihe 6 (lisäosat) ratkaisevat valtaosan tapauksista. Loput liittyvät PHP-muistiin, vioittuneeseen ytimeen ja teemaan. Tyypillisessä tilanteessa ratkaiset ongelman vaiheessa 3 tai 6 käymättä läpi koko ketjua.
Mistä aloittaa juuri nyt
Älä toista tyypillistä skenaariota: paniikki → poista kaikkea sattumanvaraisesti → pahenna tilannetta. Noudata järjestystä diagnoosista korjaukseen:
Tilanne | Ensimmäinen vaihe |
|---|---|
Virhe lisäosan tai teeman päivityksen jälkeen | Siirry suoraan vaiheeseen 6: poista lisäosat tai teema käytöstä |
Virhe | Vaihe 3: nimeä |
Valkoinen ruutu kaikkialla, myös hallintapaneelissa | Vaihe 1: ota |
Virhe ladatessa kuvia tai kirjautuessa hallintapaneeliin | Vaihe 4: nosta |
Kaikki 7 vaihetta suoritettu, mikään ei auttanut | Ota yhteyttä palveluntarjoajaasi (vaihe 2) debug.log-tiedoston kanssa; kyseessä on palvelintason ongelma |
WordPress-korjausten pääsääntö: yksi toimenpide, yksi tarkistus. Älä koskaan tee kahta korjausta kerralla; et tiedä, kumpi toimi. Ja kirjoita ylös tarkalleen, mikä lisäosa tai muokkaus aiheutti virheen. Ensi kerralla korjaat kaiken 30 sekunnissa.



