Svaka promjena URL-a bez 301 preusmjeravanja stvara isti učinak kao preseljenje trgovine bez ostavljene adrese na vratima. Posjetitelj klikne na stari link, tražilica prati staru adresu i oboje naiđu na zid. U najboljem slučaju vide stranicu s greškom 404, u najgorem dugoročno izgubite pozicije koje ste godinama gradili. Riješiti se to jednim retkom u konfiguraciji poslužitelja zvuči jednostavno, ali upravo taj redak najčešće izazove lanac preusmjeravanja, petlju ili godinu dana keširanog krivog odredišta.
Iako tema djeluje tehnički, 301 preusmjeravanje je jedna od rijetkih SEO poluga gdje ispravna odluka donosi mjerljiv rezultat bez pisanja novog sadržaja. U ovom članku objašnjavam što 301 jest, kako se razlikuje od 302, 307 i 308, kada ga točno koristiti, a kada ne, te kako ga postaviti na najčešćim platformama koje sam susretao kod klijenata — od WordPressa do Astre.
Za širu sliku o tome kako tražilice čitaju sve statusne kodove, o tome sam pisao u vodiču o HTTP statusnim kodovima za SEO.
Što je 301 trajno preusmjeravanje
301 je odgovor poslužitelja koji kaže: sadržaj koji je bio na ovoj adresi trajno je preseljen na novu adresu. Preglednik automatski ode na novo odredište, a tražilica zapamti da izvornu adresu ubuduće treba zamijeniti novom u indeksu.
Dvije posljedice čine ga posebnim. Prvo, 301 je jaki kanonski signal — Google novu adresu počinje smatrati službenom verzijom. Drugo, prenosi autoritet stare adrese: Google je 2016. potvrdio da 301 prenosi gotovo sav link equity, a mjerenja govore od 90% do 99%. Prelazak nije trenutan i treba tjedne da se u potpunosti odrazi na rangiranju.
Vrijedi zapamtiti i ponašanje keširanja. 301 se u preglednicima kešira trajno — posjetitelj koji jednom ode na novo odredište dugo će ga pamtiti i bez ponovnog pitanja poslužitelja. Zato pogrešan 301 boli više od pogrešnog privremenog preusmjeravanja.
301 vs 302 vs 307 vs 308: tablica odluke
Kodovi se razlikuju po dvije osi: je li preseljenje trajno ili privremeno i smije li se promijeniti metoda zahtjeva (GET/POST). Za SEO prvo je presudno.
| Kod | Trajnost | Metoda zahtjeva | Kanonski signal | Kada ga koristiti |
|---|---|---|---|---|
| 301 | Trajno | Smije POST→GET | Jaki — novo postaje canonical | Trajna promjena URL-a, spajanje duplikata |
| 308 | Trajno | Ne smije mijenjati (POST ostaje POST) | Jaki — kao 301 | Trajno, kad mora ostati POST (API/obrasci) |
| 302 | Privremeno | Smije POST→GET | Slabi — izvorište ostaje canonical | Kratki test, A/B, održavanje |
| 307 | Privremeno | Ne smije mijenjati | Slabi | Privremeno uz očuvanje metode |
Za većinu promjena na klasičnoj web stranici dovoljan je 301. 308 je njegov stroži blizanac, koristan kad obrazac šalje POST podatke koje ne želite pretvoriti u GET.
Ako je trajna promjena, odmah koristite 301 ili 308. Kao što u svom vodiču o preusmjeravanjima piše Helen Pollitt za Search Engine Land, Google privremene signale tumači doslovno — izvorna adresa ostaje u indeksu sve dok trajno ne kažete suprotno.
Kada točno koristiti 301
Postoji sedam scenarija u kojima je 301 ispravan izbor:
1. Promjena URL sluga. Članak /blog/stari-naslov seli na /blog/novi-naslov. Jedan stari → jedan novi.
2. HTTP→HTTPS. Nakon instalacije SSL certifikata sav HTTP promet trajno seli na HTTPS verziju.
3. www↔non-www konsolidacija. Odaberite jednu kanonsku verziju domene i drugu trajno preusmjerite.
4. Spajanje duplikata. Dva članka o istoj temi spajate u jedan sveobuhvatan — slabije trajno na jače.
5. Brisanje s zamjenom. Proizvod je uklonjen, ali postoji srodna kategorija ili nasljednik — preusmjerite na najrelevantnije, ne na naslovnicu.
6. Promjena domene. Cijela domena stara-domena.hr seli na nova-domena.hr uz očuvanje putanja.
7. Migracija CMS-a. WordPress, Astro ili druga platforma mijenja strukturu URL-ova — svaki stari put dobije novo odredište.
Ako nema srodne zamjene, 301 nije rješenje. Tada je ispravno vratiti 404 ili 410 i o tome sam pisao u članku o grešci 404 i SEO-u.
Kada ne koristiti 301
Privremene situacije traže privremene kodove. Stranica na održavanju, kratki A/B test ili sezonska ponuda koja se vraća na istu adresu sljedeće godine pripadaju kodovima 302 ili 307. Kada original nikad neće imati zamjenu, bolji je jasan signal 404 (nije pronađeno) ili 410 (namjerno uklonjeno) nego prisilno preusmjeravanje na nepovezanu stranicu.
Mapa preusmjeravanja 1:1
Svaka ozbiljna migracija počinje tablicom s dva stupca: stari URL i novi URL. Jedan stari → jedan najrelevantniji novi. Google soft 404 prijavljuje upravo slučajeve gdje stari URL vodi na nepovezanu stranicu — najčešće na naslovnicu. Pravilo koje sam godinama ponavljao kod klijenata vrijedi i dalje: nikad sve na naslovnicu.
Tablica se puni iz Screaming Froga, Sitebulba ili izvoza iz CMS-a, provjeri se na stagingu i tek onda ide u produkciju. Nakon lansiranja u nju se upisuju i interni linkovi te sitemap: oba moraju pokazivati izravno na finalne URL-ove, kako sam opisao u vodiču za interno povezivanje.
Kako napraviti 301: copy/paste primjeri
Prije izmjena napravite sigurnosnu kopiju datoteke koju dirate i testirajte na stagingu. Sva pravila ispod pretpostavljaju da je odredište konačni URL koji vraća 200.
Apache .htaccess (shared hosting, cPanel)
Na Apache poslužiteljima pravila idu u .htaccess u korijenu stranice. Jednostavno preusmjeravanje jedne stranice:
Redirect 301 /stara-stranica https://vasadomena.hr/nova-stranica
RewriteEngine On
RewriteRule ^stara-stranica/?$ https://vasadomena.hr/nova-stranica [R=301,L]RewriteEngine On
RewriteCond %{HTTP_HOST} ^stara-domena\.hr$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.stara-domena\.hr$ [NC]
RewriteRule ^(.*)$ https://nova-domena.hr/$1 [R=301,L]RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]Pravila za www↔non-www dodajte odvojeno i nikad ne uključujte obje varijante istovremeno — stvorit ćete petlju.
Nginx (VPS, cloud, managed)
Nginx nema .htaccess; pravila idu u server blok (/etc/nginx/sites-available/). Najčišće je return 301:
location = /stara-stranica {
return 301 https://vasadomena.hr/nova-stranica;
}
server {
listen 80;
server_name vasadomena.hr www.vasadomena.hr;
return 301 https://vasadomena.hr$request_uri;
}server {
listen 80;
server_name stara-domena.hr www.stara-domena.hr;
return 301 https://nova-domena.hr$request_uri;
}Nakon izmjene provjerite sintaksu (nginx -t) i tek onda ponovno učitajte (systemctl reload nginx).
WordPress: Redirection, Yoast i cPanel
Za većinu WordPress stranica najjednostavniji je besplatni dodatak Redirection (John Godley, 2M+ instalacija): Alati → Redirection → Source URL /stara/ → Target URL /nova/ → 301 Moved Permanently. Yoast SEO Premium nudi isti upravitelj, a cPanel ima sučelje Domene → Preusmjeravanja (Type: Permanent 301). Vlastita pravila u .htaccess dodajte iznad retka # BEGIN WordPress — unutar tog bloka WordPress povremeno prepisuje sadržaj.
Astro: komplementarne metode bez migracije
Ova stranica je Astro projekt s output: 'static' i bez adaptera. Preusmjeravanja ovdje rade preko public/_redirects datoteke (Cloudflare Pages format) — 59 pravila već u produkciji, npr. /usluga/izrada-web-stranica/ /usluge/izrada-web-stranica 301. Edge poslužitelj vraća pravi 301.
import { defineConfig } from 'astro/config';
export default defineConfig({
redirects: {
'/stara-stranica': '/nova-stranica',
'/blog/[...slug]': '/clanci/[...slug]',
'/privremeno': { status: 302, destination: '/uskoro' }
}
});Za statički build bez adaptera Astro generira HTML s <meta http-equiv="refresh"> (<link rel="canonical"> + noindex) — radi, ali nije pravi 301. Pravi 301 (GET→301, ostalo→308) dobivate tek uz adapter. Zato na ovom projektu ostaje public/_redirects kao primarni mehanizam, a astro.config.mjs kao dodatna opcija za jednostavna preusmjeravanja.
Za dinamička preusmjeravanja na SSR stranicama koristite return Astro.redirect('/nova') unutar frontmattera.
Kako testirati da 301 stvarno radi
Preglednik kešira 301 trajno pa nije pouzdan za test. Koristite alate koji čitaju zaglavlja:
curl -I https://vasadomena.hr/stara-stranica
❮ curl -I https://nswebarchitects.hr/usluga/izrada-web-stranica
HTTP/2 301
alt-svc: h3=":443"; ma=2592000
cache-control: public, max-age=31536000, immutable
location: /usluge/izrada-web-stranica
server: statichost.eu
strict-transport-security: max-age=31536000; includeSubDomains; preload
Očekujete HTTP/1.1 301 Moved Permanently i Location: https://vasadomena.hr/nova-stranica. Provjerite i da odredište vraća stabilan 200, bez lanca. Za veće migracije upotrijebite Screaming Frog ili Sitebulb (izvještaj o lancima) i Search Console → Stranice → “Stranica s preusmjeravanjem” da potvrdite da Google vidi novo odredište.
Nakon lansiranja ažurirajte i sitemap.xml (samo finalni URL-ovi) i canonical oznake da pokazuju na novo odredište — kako sam opisao u vodiču za XML sitemap.
Najčešće greške koje ruše SEO
Lanac preusmjeravanja. /stara → /privremena → /nova troši crawl budžet i razrjeđuje autoritet. Pravilo: svaki stari URL izravno na finalni.
Petlja. /a → /b i /b → /a vraća grešku “Too many redirects”. Nastaje spajanjem neskladnih www/HTTPS pravila.
Sve na naslovnicu. Stari blog članak na naslovnicu Google često proglasi soft 404 — vrijednost se ne prenosi.
302 za trajno. Mjesecima postavljen 302 Google protumači kao trajni, ali signal je sporiji i slabiji od 301.
Prerano brisanje. Uklanjanje 301 nakon nekoliko tjedana gubi equity dok Google još obrađuje migraciju.
Zaboravljen sitemap i interni linkovi. Ako sitemap i dalje navodi stare URL-ove, šaljete kontradiktorne signale. O statusnim kodovima općenito više u članku o grešci 404 i SEO-u.
Miješanje pravila www i HTTPS. Redoslijed je važan — testirajte obje varijante zajedno.
Koliko dugo držati 301
Google preporučuje barem godinu dana, a za URL-ove s vanjskim backlinkovima idealno zauvijek. Nakon 12 do 18 mjeseci provjerite logove: ako stara adresa gotovo nema pogodaka, a nova rangira stabilno, pravilo može u arhivu. Za domene s poviješću backlinkova zadržite trajno preusmjeravanje domene.
Tablica brze odluke
| Situacija | Ispravan kod | Zašto |
|---|---|---|
| Trajna promjena URL-a | 301 | Jaki kanonski signal |
| Privremeno (test, održavanje) | 302 / 307 | Slabi signal, izvorište ostaje canonical |
| Sadržaj obrisan bez zamjene | 404 / 410 | Nema relevantnog odredišta |
| HTTP→HTTPS, www izbor | 301 | Konsolidacija kanonske verzije |
| Migriranje cijele domene | 301 po putanji | Prijenos autoriteta 1:1 |
Često postavljana pitanja o 301 preusmjeravanju
Prenosi li 301 sav autoritet? Gotovo sav — mjerenja govore 90 do 99 posto. Prijenos nije trenutan i treba tjedne da se odrazi.
Koja je razlika između 301 i 302? 301 je trajni i jaki kanonski signal, 302 je privremeni i slabi. Za trajno uvijek 301, za privremeno 302 ili 307.
Koliko preusmjeravanja u lancu smije biti? Idealno jedan hop. Google prati do 10, ali lance dulje od 2–3 treba sravniti izravno na finalni URL.
Smijem li sve stare stranice preusmjeriti na naslovnicu? Ne. Ako odredište nije relevantno, Google to tretira kao soft 404 i ne prenosi vrijednost.
Koliko dugo držati 301? Barem godinu dana, za važne URL-ove zauvijek. Nakon godinu dana provjerite logove i Search Console.
Zašto preglednik i dalje vodi na staro odredište i nakon brisanja pravila?
301 se kešira trajno. Očistite keš preglednika ili testirajte u anonimnom prozoru i alatom curl -I.
Zaključak
301 preusmjeravanje je jednostavan mehanizam s velikim učinkom kad se koristi na pravom mjestu. Jedan redak koji trajno kaže gdje je sadržaj preseljen čuva autoritet, vodi korisnika bez lutanja i daje tražilici jasan signal što indeksirati.
Najbrži početak je popis starih i novih adresa 1:1, pravila koja vode izravno na finalne URL-ove i provjera da svaka stara adresa vraća 301, a svaka nova 200. Ako mijenjate domenu, strukturu ili prelazite na HTTPS, 301 je dio infrastrukture — ne naknadni popravak.
Ako vam treba pomoć oko migracije, mapiranja ili postavljanja 301 preusmjeravanja na vašoj platformi, javite mi se. Detalje o SEO optimizaciji pronađite na stranici usluge.
Izvori
- Search Engine Land/Pollitt, H., An SEO’s guide to redirects: searchengineland.com
- Search Engine Land/Szymanski, K., Too many redirects: How to fix loop errors: searchengineland.com
- Search Engine Land/Clay, B., The ultimate guide to HTTP status codes for SEO: searchengineland.com
- Moz, Beginner’s Guide to SEO: Redirection: moz.com
- Ahrefs, SEO Basics: Redirects: ahrefs.com
- Google Search Central, Redirects and Google Search: developers.google.com
- GigaPress, WordPress Redirects: Complete Guide: gigapress.net
- Astro Docs, Routing — Redirects: docs.astro.build
- Astro Docs, Configuration Reference — redirects: docs.astro.build
- Cloudflare Docs, Redirects on Cloudflare Pages: developers.cloudflare.com
Podijeli članak:



