Kratak odgovor
Greška 404 na postojećim stranicama najčešće nastaje zbog nepravilnog podešavanja trajnih linkova ili zastarelih .htaccess pravila. Otvorite Podešavanja > Trajni linkovi i kliknite na „Sačuvaj izmene“ da biste osvežili pravila, a zatim proverite .htaccess i strukturu linkova.
Kako se problem prepoznaje
- Stranice koje postoje u administraciji vraćaju 404 Not Found
- Naslovna strana radi, ali unutrašnje stranice ne
- Linkovi za pojedinačne objave prikazuju grešku 404
- Nakon promene strukture trajnih linkova, stare adrese prestaju da rade
- 404 se pojavljuje samo na nekim stranicama, zavisno od podešavanja
Najčešći uzroci
Zastarela pravila u .htaccess fajlu
WordPress koristi .htaccess za preusmeravanje lepih linkova. Ako se pravila ne ažuriraju, server ne zna kako da obradi zahtev i vraća 404.
Promenjena struktura trajnih linkova
Ako je struktura promenjena bez 301 preusmeravanja, stare adrese mogu vraćati 404. Podrazumevana struktura (/?p=123) sama po sebi ne bi trebalo da izazove 404 na postojećim stranicama.
Modul mod_rewrite nije omogućen
Apache server mora imati uključen mod_rewrite modul. Bez njega, lepi linkovi neće raditi i vraćaće 404.
Konflikt sa dodacima za keširanje ili bezbednost
Neki dodaci menjaju .htaccess ili keširaju pravila preusmeravanja, što može dovesti do 404 greške na postojećim stranicama.
Promena domena ili migracija sajta
Nakon prelaska na novi domen ili server, baza podataka može sadržati stare putanje, a .htaccess se ne ažurira automatski.
Rešenje korak po korak
- 1
Proverite da li stranica zaista postoji
U administraciji otvorite
Stranice > Sve stranicei uverite se da stranica nije u korpi i da je status „Objavljeno“. Ako je stranica u korpi, vratite je iz korpe i pokušajte ponovo da je otvorite. - 2
Resetujte trajne linkove
Idite na
Podešavanja > Trajni linkovi. Ne menjajte strukturu, već samo kliknite na dugmeSačuvaj izmene. WordPress će ponovo generisati .htaccess pravila, ako server dozvoljava upis, i osvežiti rute. - 3
Proverite .htaccess fajl
Na Apache ili LiteSpeed serveru pristupite sajtu preko FTP-a ili upravljača fajlovima na hostingu. Pre izmena napravite rezervnu kopiju fajla. Otvorite
.htaccessu korenu WordPress instalacije i proverite da li sadrži WordPress blok pravila. Ako fajl ne postoji ili ne sadrži WordPress blok pravila, ne brišite ga. Ako postoji, preimenujte ga u.htaccess.bak, pa ponovo sačuvajte trajne linkove da WordPress pokuša da ga regeneriše. Ako imate prilagođena pravila, posle provere vratite ih iz rezervne kopije. Ako se fajl ne regeneriše, vratite rezervnu kopiju i obratite se hosting podršci. - 4
Privremeno isključite dodatke
Deaktivirajte sve dodatke osim onih neophodnih, pa ponovo sačuvajte trajne linkove. Pre toga napravite rezervnu kopiju sajta. Ako greška nestane, aktivirajte dodatke jedan po jedan da biste pronašli krivca. Obratite pažnju na dodatke za keširanje, bezbednost i preusmeravanja.
- 5
Proverite da li je mod_rewrite uključen
Kontaktirajte hosting podršku i pitajte da li je
mod_rewriteomogućen. Na Apache serverima to je neophodno za rad lepih linkova. Ako koristite Nginx, pravila se postavljaju drugačije i to obično radi administrator servera ili hosting podrška. - 6
Privremeno promenite strukturu linkova
Ako ništa ne pomogne, u
Podešavanja > Trajni linkoviizaberite privremeno drugu strukturu, na primerNaziv objave, klikniteSačuvaj izmene, a zatim ponovo izaberite željenu strukturu i sačuvajte. Pre toga napravite rezervnu kopiju baze i sajta jer promena strukture menja adrese i može uticati na SEO. Time ćete proveriti da problem nije u samoj strukturi linkova. - 7
Proverite da li je sajt u poddirektorijumu
Ako je WordPress instaliran u podfolderu (npr.
/blog/), uPodešavanja > Opšteproverite da li suWordPress adresa (URL)iAdresa sajta (URL)ispravno unete. Pogrešan URL može izazvati 404 na svim stranicama osim naslovne. - 8
Očistite keš
Očistite keš dodatka za keširanje, keš pregledača i keš na nivou servera (preko hosting panela ili uz pomoć hosting podrške). Zatim ponovo otvorite stranicu uz forsirano osvežavanje bez keša (Ctrl+F5, na macOS računaru Cmd+Shift+R).
Ako ništa ne pomogne: provera baze podataka i trajnih linkova
Ako su svi koraci isprobani a 404 se i dalje javlja, problem može biti u bazi podataka. Proverite tabelu opcija (podrazumevano wp_options) i vrednosti siteurl, home i permalink_structure. Pre izmene napravite rezervnu kopiju baze. Ako ne znate kako da pristupite bazi, obratite se hosting podršci. Takođe, proverite da li je sajt migriran sa drugog domena i da li su stari linkovi ostali u sadržaju. Alat za pretragu i zamenu u bazi (npr. Better Search Replace) može pomoći, ali ga koristite samo ako imate svežu rezervnu kopiju. Za napredne izmene .htaccess pravila ili Nginx konfiguracije, konsultujte administratora servera.
Kako da sprečite da se ponovi
- Redovno pravljenje rezervne kopije baze i fajlova pre izmena trajnih linkova
- Izbegavanje promene strukture trajnih linkova bez potrebe
- Korišćenje pouzdanih dodataka za keširanje i bezbednost
- Provera .htaccess fajla nakon migracije sajta
Kada je bolje pozvati stručnjaka
Ako niste sigurni kako da pristupite .htaccess fajlu ili bazi podataka, ili ako greška potraje i nakon svih koraka, obratite se IT podršci da izbegnete dodatne štete na sajtu.
Izrada sajtova · Brzi, SEO optimizovani sajtovi na više jezikaČesta pitanja
Zašto mi stranice vraćaju 404 kada su objavljene?
Najčešći uzrok je zastareo .htaccess fajl ili nepravilna struktura trajnih linkova. Resetovanje trajnih linkova u podešavanjima često rešava problem.
Da li ću izgubiti SEO ako promenim trajne linkove?
Da, stare adrese mogu prestati da rade i izgubiti rang. Zato je najbolje da ne menjate strukturu bez potrebe, a ako morate, postavite 301 preusmeravanja.
Kako da znam da li je problem u dodatku?
Privremeno deaktivirajte sve dodatke i proverite da li se greška javlja. Ako nestane, aktivirajte ih jedan po jedan dok ne pronađete onaj koji izaziva problem.