WordPress stran preusmerja na drugo stran: poiščite in odstranite preusmeritev

Obiskovalci pristanejo na strani loterije, spletne lekarne ali lažne tehnične podpore, vi pa svojo stran vidite čisto normalno. To je znak vrinjene preusmeritve, najpogosteje pogojne. Ta vodnik pokaže, kako jo namerno sprožite, jo poiščete v datotekah ali v podatkovni zbirki in zaprete vrata, skozi katera je prišla.

Objavljeno 21. septembra 2026 Čas branja: 10 minut

Vsi vodniki

Na kratko

  1. Preusmeritev sprožite tako kot obiskovalec: zasebno okno, telefon na mobilnih podatkih, klik na rezultat iskanja.
  2. Preden kar koli spremenite, naredite popolno kopijo strani v obstoječem stanju, datoteke in podatkovno zbirko.
  3. Zamenjajte gesla za gostovanje, FTP, podatkovno zbirko in skrbnike WordPressa, nato zamenjajte še varnostne ključe v wp-config.php.
  4. Preusmeritev iščite na štirih mestih: .htaccess, datoteke PHP, podatkovna zbirka in nastavitve naslova strani.
  5. Odstranite tudi vstopno točko: neznane skrbniške račune, datoteke PHP v wp-content/uploads, vtičnike, ki jih je treba znova namestiti ali izbrisati.
  6. Preverite poročilo Varnostne težave v konzoli Google Search Console in zahtevajte pregled, če je stran tam navedena.

Zakaj se preusmeritev pri vas ne zgodi

Preusmeritev, podtaknjena ob vdoru, si izbira tarče. Navadno prizanese osebi, ki stran upravlja, saj tako dlje ostane na mestu. Najpogostejši pogoji:

Ko vam stranka piše „vaša stran me pošlje nekam drugam“, ji zato verjemite, tudi če je na vašem zaslonu vse v redu.

Ponovite preusmeritev

Postavite se v vlogo obiskovalca, ki ga preusmeritev doleti:

  1. Odprite zasebno okno, poiščite ime svojega podjetja in kliknite svoj rezultat.
  2. Enako storite s telefona, na mobilnih podatkih namesto na omrežju Wi-Fi.
  3. Zapišite ciljni naslov, uro in napravo. Te podatke bo potreboval vaš ponudnik gostovanja, pozneje pa tudi zahteva za pregled pri Googlu.

Če imate terminal, ta ukaz naloži vašo domačo stran in se pri tem predstavi kot iPhone, ki prihaja z Googla:

Terminal (v sistemu Windows namesto curl vpišite curl.exe)
curl -s -i -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -e "https://www.google.com/" https://www.vasa-stran.com/

Preberite prve vrstice odgovora. Status 301 ali 302, ki mu sledi vrstica Location: z neznanim naslovom, pomeni, da preusmerja strežnik: iščite v .htaccess ali v datoteki PHP. Status 200, medtem ko je brskalnik vseeno preusmerjen, pomeni, da se preusmeritev izvede znotraj strani, v JavaScriptu: navadno je shranjena v podatkovni zbirki ali v datoteki teme.

Trije koraki, preden se lotite strani

  1. Popolna kopija v obstoječem stanju. Datoteke in podatkovna zbirka, z datumom, shranjene zunaj strežnika. To je vaš dokaz, vaša točka primerjave in vaša varnostna mreža, če čiščenje odstrani kaj, kar ste potrebovali.
  2. Nova gesla, z neokužene naprave. Vaš račun pri ponudniku gostovanja, računi FTP ali SFTP, uporabnik podatkovne zbirke (nato posodobite DB_PASSWORD v wp-config.php) in vsak skrbniški račun v WordPressu.
  3. Novi varnostni ključi. Osem vrstic od AUTH_KEY do NONCE_SALT v wp-config.php zamenjajte z novim naborom z naslova https://api.wordpress.org/secret-key/1.1/salt/. Vse odprte seje se odjavijo, tudi vsiljivčeva.
Z WP-CLI je tretji korak en sam ukaz
wp config shuffle-salts

Kje se preusmeritev skriva

1. Datoteka .htaccess

V korenski mapi strani, včasih pa tudi v podmapi, lahko .htaccess vsebuje pravila za prepisovanje, ki jih je dodal napadalec. Blok, ki ga zapiše WordPress sam, je kratek in stoji med # BEGIN WordPress in # END WordPress:

Blok, ki ga WordPress v slovenščini zapiše za stran, nameščeno v korenu domene
# BEGIN WordPress
# Direktive (vrstice) med "BEGIN WordPress" in "END WordPress" so dinamično
# ustvarjene, in bi se smele spreminjati zgolj preko WordPressovih filtrov.
# Vse spremembe direktiv med tema označevalnikoma bodo prepisane.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Pravilo RewriteCond, ki preverja %{HTTP_REFERER} (google, bing, facebook) ali %{HTTP_USER_AGENT} (android, iphone, mobile), in za njim RewriteRule na zunanji naslov sta preusmeritev. Tudi vtičniki za predpomnjenje in varnost zapišejo svoje bloke, označene s svojim imenom: vsak blok primerjajte s seznamom svojih vtičnikov, preden ga odstranite.

2. Datoteke PHP

WP-CLI primerja datoteke jedra WordPressa in vtičnikov s kontrolnimi vsotami, ki jih objavlja WordPress.org, in navede vsako spremenjeno ali dodano datoteko:

Terminal, v korenski mapi strani
wp core verify-checksums
wp plugin verify-checksums --all

Drugi ukaz zajema vtičnike, ki se distribuirajo prek imenika WordPress.org. Vtičnik, kupljen pri izdajatelju, primerjate s svežo kopijo, preneseno iz vašega računa pri tem izdajatelju. To je pogosto: med 540 stranmi malih in srednjih podjetij na WordPressu iz naše meritve z dne 1. septembra 2026 jih 66 % uporablja vsaj en vtičnik, ki ga ni v javnem imeniku.

Brez WP-CLI vam dve iskanji dasta prvi ožji izbor:

Terminal, v korenski mapi strani
find . -name "*.php" -mtime -30
find wp-content/uploads -name "*.php"

Prvo navede datoteke PHP, spremenjene v zadnjih 30 dneh, drugo datoteke PHP v mapi z mediji, kjer so že same po sebi sumljive (nekateri vtičniki tja postavijo prazno datoteko index.php, kar je v redu). Datume sprememb je mogoče ponarediti, zato si tudi stara datoteka na napačnem mestu zasluži pogled.

Najprej odprite wp-config.php, index.php v korenski mapi, functions.php in header.php aktivne teme ter mapo wp-content/mu-plugins, katere vtičniki se naložijo samodejno in jih na nadzorni plošči ni mogoče izklopiti. Kaj iskati: eval(, base64_decode(, gzinflate(, str_rot13(, dolge neberljive nize ali window.location, ki mu sledi naslov, ki ga ne poznate.

3. Podatkovna zbirka

Preusmeritev v JavaScriptu je pogosto shranjena v vsebini prispevkov ali v nastavitvah, kjer je nobena datoteka ne pokaže. WP-CLI poišče niz v vseh tabelah WordPressa:

Terminal
wp db search "<script"
wp db search "fromCharCode"

Brez WP-CLI ista iskanja zaženete v phpMyAdminu, na zavihku SQL:

SQL (wp_ zamenjajte s predpono, nastavljeno v wp-config.php, spremenljivka $table_prefix)
SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
SELECT option_name FROM wp_options WHERE option_value LIKE '%<script%';

Nekateri zadetki so upravičeni: koda za merjenje obiska, pasica za piškotke, gradnik, ki ste ga dodali sami. Vse, kar se ne ujema z ničemer, kar ste namestili, si zasluži natančnejši pogled, zlasti skripta, ki naslov sestavi iz kod znakov.

4. Nastavitve naslova in računi

V meniju Nastavitve > Splošno morata polji „Naslov za WordPress (URL)“ in „Naslov spletišča (URL)“ kazati vašo domeno. Isti vrednosti je mogoče vsiliti tudi v wp-config.php s konstantama WP_HOME in WP_SITEURL, zato preverite obe mesti.

Terminal
wp option get home
wp option get siteurl
wp user list --role=administrator

Kadar sta konstanti določeni, prva dva ukaza vrneta njuni vrednosti. Zadnji navede skrbnike z datumom registracije; na nadzorni plošči isti seznam dobite v meniju Uporabniki, filtriranem po vlogi Skrbnik. Račun, ki ga nihče ne prepozna, izbrišete, njegovo vsebino pa pripišete upravičenemu računu.

Odstranite preusmeritev, nato še vstopno točko

Izbris vrstice, ki preusmerja, ustavi simptom. Dostop, ki ga je uporabil napadalec, ostane odprt, dokler ga ne najdete, preusmeritev pa se vrne v nekaj dneh. Vrstni red, ki zdrži:

  1. Datoteke jedra zamenjajte s svežo kopijo: izbrišite mapi wp-admin in wp-includes, nato zaženite wp core download --skip-content --force, ki jedro zapiše znova, ne da bi se dotaknil vaših vtičnikov, tem in medijev. Ukaz prepiše obstoječe datoteke, ne izbriše pa ničesar, kar je bilo dodano: zato gresta mapi prvi, neznane datoteke PHP v korenski mapi pa odstranite ročno.
  2. Temo in vsak vtičnik znova namestite iz uradnega vira, tiste, ki jih stran ne uporablja več, pa izbrišite, tudi deaktivirane: njihove datoteke so še vedno na strežniku.
  3. Odstranite odvečne datoteke PHP iz wp-content/uploads, pravila, dodana v .htaccess, in skripte, najdene v podatkovni zbirki.
  4. Preglejte načrtovana opravila z ukazom wp cron event list: opravilo z neznanim imenom lahko kodo vrne nazaj.
  5. Posodobite WordPress, temo in vtičnike.
  6. Preizkuse z začetka ponovite z več naprav, več dni zapored.

Če stran hrani osebne podatke (obrazci, računi strank, naročila), zapišite, kdaj ste vdor odkrili. V Evropski uniji Splošna uredba o varstvu podatkov zahteva, da upravljavec o kršitvi varstva osebnih podatkov uradno obvesti pristojni nadzorni organ najpozneje v 72 urah po seznanitvi s kršitvijo, razen če ni verjetno, da bi bile s kršitvijo ogrožene pravice in svoboščine posameznikov.

Google in to, kar vidijo vaši obiskovalci

Ko Google preusmeritev zazna, lahko Chrome pred odprtjem strani prikaže rdeče opozorilo „Nevarno spletno mesto“, Google pa lahko pod vaš rezultat iskanja zapiše „Na tem spletnem mestu je morda prišlo do vdora“. Poročilo Varnostne težave v konzoli Google Search Console pokaže, kaj je bilo najdeno in na katerih URL-jih. Ko je stran očiščena, pregled zahtevate iz tega poročila: gumb se v angleškem vmesniku imenuje Request Review.

Stran, prevzeta in vzdrževana

Ko je preusmeritev odstranjena, ostane eno vprašanje: kdo bo odslej skrbel za stran? Simafri prevzame vašo stran na WordPressu, jo vrne na splet na osnovi, ki jo gostimo, varujemo in vzdržujemo, nato pa zanjo skrbi mesec za mesecem. Domena in vsebina ostaneta vaši.

Želim predati svojo stran

Pogosta vprašanja

Zakaj moja WordPress stran preusmerja samo na telefonu?

Vrinjena koda bere User-Agent brskalnika in preusmerja samo telefone, zato oseba, ki stran upravlja, pogosto z računalnika, ne vidi ničesar. Preizkusite s telefona na mobilnih podatkih ali z ukazom curl, ki pošlje identifikator mobilnega brskalnika.

Ali ponovna namestitev WordPressa odstrani preusmeritev?

Ponovna namestitev jedra znova zapiše datoteke WordPressa, ne izbriše pa tistih, ki jih je morda dodal napadalec. Podatkovna zbirka, tema, vtičniki in mapa z mediji ostanejo, kakršni so, prav tam pa sta navadno preusmeritev in napadalčev dostop. Sveže jedro je en korak čiščenja, poleg podatkovne zbirke, vtičnikov, računov in gesel.

Stran je bila očiščena, zakaj se preusmeritev vrača?

Ker je dostop, prek katerega je bila podtaknjena, še vedno tam: dodan skrbniški račun, datoteka PHP, skrita med mediji, načrtovano opravilo, ranljiv vtičnik. Vsak od njih omogoča, da se koda po čiščenju vrne. Preverite račune, mapo wp-content/uploads, načrtovana opravila in različice vtičnikov, nato znova zamenjajte gesla.

Kako vem, ali je Google preusmeritev opazil?

Odprite Google Search Console in poročilo Varnostne težave: navaja najdene težave in primere URL-jev. Če stran v Search Console še ni preverjena, preverjanje z zapisom DNS zajame celotno domeno.

Stopite v stik z nami