WordPress stranica preusmjerava na drugu stranicu: pronađite preusmjeravanje

Vaši posjetitelji završavaju na stranici lutrije, ljekarne ili lažne tehničke podrške, a vi svoju stranicu vidite sasvim normalno. To je znak ubačenog preusmjeravanja, najčešće uvjetnog. Ovaj vodič objašnjava kako ga ponoviti, pronaći u datotekama ili u bazi podataka i zatvoriti pristup kroz koji je postavljeno.

Objavljeno 21. rujna 2026. Vrijeme čitanja: 10 minuta

Svi vodiči

Najvažnije

  1. Ponovite preusmjeravanje kao posjetitelj: privatni prozor preglednika, mobitel na mobilnim podacima, dolazak preko rezultata pretraživanja.
  2. Prije bilo kakve izmjene napravite potpunu kopiju stranice u zatečenom stanju, datoteke i bazu podataka.
  3. Promijenite lozinke za hosting, FTP, bazu podataka i administratore WordPressa, a zatim obnovite sigurnosne ključeve u wp-config.php.
  4. Preusmjeravanje tražite na četiri mjesta: .htaccess, PHP datoteke, baza podataka i postavke adrese stranice.
  5. Uklonite i pristup kroz koji je postavljeno: nepoznate administratorske račune, PHP datoteke u wp-content/uploads, dodatke koje treba ponovno instalirati ili izbrisati.
  6. Pogledajte izvješće Sigurnosni problemi u Google Search Consoleu i zatražite pregled ako se stranica ondje nalazi.

Zašto ne vidite preusmjeravanje

Preusmjeravanje postavljeno pri hakiranju bira na koga se primjenjuje. Najčešće poštedi osobu koja upravlja stranicom, kako bi što dulje ostalo na mjestu. Najčešći uvjeti:

Poruku kupca koji piše „vaša me stranica šalje negdje drugdje” zato shvatite ozbiljno, čak i kada se kod vas sve prikazuje ispravno.

Ponovite preusmjeravanje

Stavite se u položaj posjetitelja kojega ono pogađa:

  1. Otvorite privatni prozor preglednika, potražite naziv svoje tvrtke na tražilici i kliknite svoj rezultat.
  2. Ponovite to s mobitela, na mobilnim podacima umjesto na Wi-Fi mreži.
  3. Zabilježite odredišnu adresu, vrijeme i uređaj: te tri informacije trebat će pružatelju hostinga, a kasnije i zahtjevu za pregled koji šaljete Googleu.

Ako imate pristup terminalu, ova naredba traži vašu početnu stranicu i pritom se predstavlja kao iPhone koji dolazi s Googlea:

Terminal (u Windowsu upišite curl.exe umjesto curl)
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-stranica.com/

Pročitajte prve retke odgovora. Statusni kod 301 ili 302 iza kojega slijedi redak Location: s nepoznatom adresom znači da preusmjeravanje radi poslužitelj: nalazi se u .htaccess ili u PHP datoteci. Statusni kod 200, dok preglednik ipak biva preusmjeren, znači da se preusmjeravanje odvija unutar stranice, u JavaScriptu: najčešće se nalazi u bazi podataka ili u datoteci teme.

Prije nego što dirate stranicu: tri koraka

  1. Potpuna kopija u zatečenom stanju. Datoteke i baza podataka, s datumom, pohranjene izvan poslužitelja. Služi kao dokaz, kao točka usporedbe i kao zaštitna mreža ako čišćenje ukloni nešto korisno.
  2. Lozinke, s čistog uređaja. Korisnički račun kod pružatelja hostinga, FTP ili SFTP računi, korisnik baze podataka (novu lozinku upišite u wp-config.php, konstanta DB_PASSWORD), a zatim svaki administratorski račun u WordPressu.
  3. Sigurnosni ključevi. Osam redaka od AUTH_KEY do NONCE_SALT u wp-config.php zamijenite novim skupom, generiranim na https://api.wordpress.org/secret-key/1.1/salt/. Sve otvorene sesije se zatvaraju, uključujući i uljezovu.
S WP-CLI-jem treći korak stane u jednu naredbu
wp config shuffle-salts

Gdje se preusmjeravanje skriva

1. Datoteka .htaccess

U korijenskoj mapi stranice, a ponekad i u podmapi, .htaccess može sadržavati pravila prepisivanja koja je dodao uljez. Blok koji WordPress sam zapisuje kratak je i omeđen redcima # BEGIN WordPress i # END WordPress:

Blok koji WordPress na hrvatskom zapisuje za stranicu instaliranu u korijenu domene
# BEGIN WordPress
# Direktive (redci) između "BEGIN WordPress" i "END WordPress" su
# dinamički generirani, i trebalo bi ih mijenjati samo koristeći WordPressove filtre.
# Sve promjene direktiva između navedenih markera bit će 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 koje ispituje %{HTTP_REFERER} (google, bing, facebook) ili %{HTTP_USER_AGENT} (android, iphone, mobile), iza kojega slijedi RewriteRule prema vanjskoj adresi, upravo je preusmjeravanje. Dodaci za predmemoriju i sigurnost također zapisuju vlastite blokove, označene svojim imenom: usporedite svaki blok s popisom svojih dodataka prije nego što ga uklonite.

2. PHP datoteke

WP-CLI uspoređuje datoteke jezgre WordPressa i dodataka s kontrolnim zbrojevima koje objavljuje WordPress.org i navodi svaku izmijenjenu ili dodanu datoteku:

Terminal, u korijenskoj mapi stranice
wp core verify-checksums
wp plugin verify-checksums --all

Druga naredba obuhvaća dodatke distribuirane kroz direktorij WordPress.org. Dodatak kupljen kod izdavača uspoređuje se sa svježom kopijom preuzetom s vašeg računa kod tog izdavača. Taj je slučaj čest: od WordPress stranica malih i srednjih poduzeća iz našeg mjerenja od 1. rujna 2026., njih 540, 66 % nosi barem jedan dodatak kojega nema u javnom repozitoriju.

Bez WP-CLI-ja dvije pretrage daju prvi izbor:

Terminal, u korijenskoj mapi stranice
find . -name "*.php" -mtime -30
find wp-content/uploads -name "*.php"

Prva navodi PHP datoteke izmijenjene u posljednjih 30 dana, druga PHP datoteke smještene u mapu medija, gdje su same po sebi sumnjive (neki dodaci ondje postavljaju prazan index.php, što je legitimno). Datum izmjene može se krivotvoriti: staru datoteku na pogrešnom mjestu svejedno treba pregledati.

Najprije otvorite wp-config.php, index.php u korijenskoj mapi, functions.php i header.php aktivne teme te mapu wp-content/mu-plugins: dodaci koji se ondje nalaze učitavaju se automatski i ne isključuju se iz administracije. Znakovi koje tražite: eval(, base64_decode(, gzinflate(, str_rot13(, dugi nečitljivi nizovi znakova ili window.location iza kojega slijedi adresa koju ne poznajete.

3. Baza podataka

Preusmjeravanje u JavaScriptu rado se smješta u sadržaj stranica ili u postavke, gdje ga nijedna datoteka ne pokazuje. WP-CLI traži niz znakova u svim tablicama WordPressa:

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

Bez WP-CLI-ja iste se pretrage pokreću u phpMyAdminu, na kartici SQL:

SQL (wp_ zamijenite prefiksom definiranim u wp-config.php, varijabla $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%';

Neki su rezultati legitimni: alat za mjerenje posjećenosti, traka za kolačiće ili widget koji ste sami postavili. Ono što ne odgovara ničemu što ste instalirali treba pregledati, osobito skriptu koja adresu sastavlja iz kodova znakova.

4. Postavke adrese i računi

U izborniku Postavke > Općenito polja „Adresa WordPressa (URL)” i „Adresa web-stranice (URL)” moraju sadržavati vašu domenu. Iste vrijednosti mogu biti nametnute u wp-config.php konstantama WP_HOME i WP_SITEURL: provjerite oba mjesta.

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

Kada su konstante definirane, prve dvije naredbe vraćaju njihovu vrijednost. Posljednja navodi administratore s datumom registracije; u administraciji se isti popis dobiva u izborniku Korisnici, filtriranom po ulozi Administrator. Račun koji nitko ne prepoznaje briše se, a njegov se sadržaj dodjeljuje legitimnom računu.

Uklonite preusmjeravanje, a zatim i pristup kroz koji je postavljeno

Brisanje retka koji preusmjerava zaustavlja simptom. Pristup kojim se uljez poslužio ostaje otvoren dok ga ne pronađete, a preusmjeravanje se vraća u sljedećim danima. Redoslijed koji djeluje:

  1. Zamijenite datoteke jezgre svježom kopijom: izbrišite mape wp-admin i wp-includes, a zatim pokrenite wp core download --skip-content --force, koja ponovno zapisuje jezgru bez diranja vaših dodataka, tema i medija. Naredba prepisuje postojeće datoteke, ali ne briše dodane: zato se te dvije mape najprije brišu, a nepoznate PHP datoteke u korijenskoj mapi uklanjaju se ručno.
  2. Ponovno instalirajte temu i svaki dodatak iz službenog izvora, a izbrišite one koje stranica više ne koristi, uključujući deaktivirane: njihove datoteke ostaju na poslužitelju.
  3. Uklonite strane PHP datoteke iz wp-content/uploads, pravila dodana u .htaccess i skripte pronađene u bazi.
  4. Provjerite zakazane zadatke naredbom wp cron event list: zadatak nepoznatog imena može ponovno postaviti kod.
  5. Ažurirajte WordPress, temu i dodatke.
  6. Ponovite testove s početka, s više uređaja i tijekom nekoliko dana.

Ako stranica pohranjuje osobne podatke (obrasci, korisnički računi, narudžbe), zabilježite vrijeme kada ste utvrdili hakiranje. U Europskoj uniji Opća uredba o zaštiti podataka (GDPR) nalaže da se o povredi osobnih podataka izvijesti nadzorno tijelo najkasnije 72 sata nakon saznanja o toj povredi, osim ako nije vjerojatno da će povreda prouzročiti rizik za prava i slobode pojedinaca.

Google i ono što vide vaši posjetitelji

Kada Google otkrije preusmjeravanje, Chrome prije otvaranja stranice može prikazati crveno upozorenje „Opasna web-lokacija”, a Google ispod vašeg rezultata može napisati „Ova je web-lokacija možda hakirana”. Izvješće Sigurnosni problemi u Google Search Consoleu pokazuje što je otkriveno i na kojim adresama. Kada je stranica očišćena, pregled zatražite iz tog izvješća: gumb se u engleskom sučelju zove Request Review.

Stranica preuzeta i održavana, nakon preusmjeravanja

Uklonjeno preusmjeravanje ostavlja jedno pitanje: tko se poslije brine o stranici? Simafri preuzima vašu WordPress stranicu, vraća je online na temelju koji hostamo, štitimo i držimo ažurnim, a zatim se brine o njoj mjesec za mjesecom. Domena i sadržaj ostaju vaši.

Želim predati svoju stranicu

Česta pitanja

Zašto moja WordPress stranica preusmjerava samo na mobitelu?

Ubačeni kod čita User-Agent preglednika i preusmjerava samo mobitele. Osoba koja upravlja stranicom, često s računala, ne vidi ništa. Testirajte s mobitela na mobilnim podacima ili naredbom curl koja šalje identifikator mobilnog preglednika.

Uklanja li ponovna instalacija WordPressa preusmjeravanje?

Ponovna instalacija jezgre ponovno zapisuje datoteke WordPressa, ali ne briše one koje je uljez možda dodao. Baza podataka, tema, dodaci i mapa medija ostaju kakvi jesu, a upravo se ondje najčešće nalaze preusmjeravanje i uljezov pristup. Svježa jezgra jedan je korak čišćenja, uz bazu podataka, dodatke, račune i lozinke.

Stranica je očišćena, zašto se preusmjeravanje vraća?

Zato što je pristup kroz koji je postavljeno još uvijek tu: dodani administratorski račun, PHP datoteka skrivena među medijima, zakazani zadatak, ranjivi dodatak. Svaki od njih omogućuje da se kod ponovno postavi nakon čišćenja. Provjerite račune, mapu wp-content/uploads, zakazane zadatke i inačice dodataka, a zatim ponovno promijenite lozinke.

Kako znati je li Google otkrio preusmjeravanje?

Otvorite Google Search Console, a zatim izvješće Sigurnosni problemi: ono navodi otkrivene probleme i primjere adresa. Ako stranica još nije potvrđena u Search Consoleu, potvrda putem DNS zapisa obuhvaća cijelu domenu.

Kontaktirajte nas