Redizajn-iraš sajt i mijenjaš URL strukturu. Spajaš dvije domene. Prelaziš s www. na non-www. Imaš stari blog koji više nije aktivan. Sve ove situacije zahtjevaju 301 redirect — najvažniji single SEO alat za očuvanje rankinga kad mijenjaš URL-ove. Ovaj post je kompletan vodič kroz sve načine implementacije + zamke koje ruše SEO ako se ne radi pravilno.
Što je 301 redirect i zašto je važan
301 = HTTP status kod koji znači "moved permanently". Kada netko (korisnik ili Google bot) dođe na staru URL adresu, server kaže "ovaj URL više ne postoji, ide na novi". Browser/bot automatski ide na novu adresu.
Bitno za SEO:
- 301 prenosi 90-100% rankinga sa starog URL-a na novi (po najnovijim Google guidelines)
- 302 (temporary redirect) ne prenosi ranking — Google misli "vratit će se na stari"
- 307 (temporary) i 308 (permanent) su modernije verzije, ali 301 je standard koji svi razumiju
Tipični scenariji kada trebaš 301
- Promjena URL strukture — npr.
/proizvodi/laptop→/laptop - Migracija na novi domain —
staradomena.hr→novadomena.hr - Prelazak s www na non-www ili obrnuto
- HTTP → HTTPS migracija
- Mijenjanje permalink strukture u WP —
/?p=123→/slug-stranice - Brisanje starih stranica — preusmjeravanje na sličan novi sadržaj
- Spajanje dvije domene/sajtova
- Trailing slash konsistentnost —
/stranica/→/stranica
Pristup 1: .htaccess (Apache, LiteSpeed)
Najuniverzalniji način. Radi na svim hostingovima koji koriste Apache ili LiteSpeed (uključujući WMD).
1.1 Pojedinačni 301 redirect
U ~/public_html/.htaccess dodaj:
Redirect 301 /stara-stranica /nova-stranica
Redirect 301 /staro-iz-bloga.html /novo/stranica-blog
Redirect 301 /docs/old.pdf https://drugadomena.hr/docs/new.pdf
Format: Redirect 301 [stara putanja] [nova URL ili putanja]
1.2 Cijeli folder na novu lokaciju
RedirectMatch 301 ^/stari-folder/(.*)$ /novi-folder/$1
Ovo prebaci /stari-folder/bilo-koja-stranica → /novi-folder/bilo-koja-stranica.
1.3 HTTP → HTTPS redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
1.4 www → non-www redirect
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.tvojadomena\.hr$ [NC]
RewriteRule ^(.*)$ https://tvojadomena.hr/$1 [L,R=301]
1.5 non-www → www redirect
RewriteEngine On
RewriteCond %{HTTP_HOST} ^tvojadomena\.hr$ [NC]
RewriteRule ^(.*)$ https://www.tvojadomena.hr/$1 [L,R=301]
1.6 Cijeli sajt na novi domain
RewriteEngine On
RewriteRule ^(.*)$ https://novadomena.hr/$1 [L,R=301]
1.7 Pattern-based redirect (regex)
Preusmjeravanje svih starih PHP URL-ova:
RewriteEngine On
RewriteRule ^proizvod\.php\?id=(.*)$ /proizvodi/$1 [L,R=301]
Pristup 2: WordPress plugin-i
Za WordPress sajtove gdje ne želiš editirati .htaccess ručno:
2.1 Redirection plugin (najpopularniji, besplatan)
- WP Admin → Plugins → Add New → "Redirection"
- Aktiviraj
- Tools → Redirection
- Klikni "Add new redirection"
- Source URL: stara putanja (npr.
/stara-stranica/) - Target URL: nova lokacija (npr.
/nova-stranica/) - Group: zadaj kategoriju (Korisno za organizaciju)
Bonus: plugin prati 404 errore i nudi auto-redirect predloge.
2.2 Rank Math / Yoast SEO Premium
SEO plugin-ovi imaju ugrađen redirect manager:
- Rank Math: Rank Math → Redirections
- Yoast Premium: SEO → Redirects
2.3 WordPress automatski 301 nakon promjene permalink-a
Ako mijenjaš URL specifičnog post-a:
- Otvori post u editoru
- Promijeni Permalink (URL slug)
- WordPress automatski stvori 301 redirect sa starog na novi
- Ali — ako kasnije ponovo promijeniš slug, prvi redirect se gubi. Drži se jednom postavljenog URL-a.
Pristup 3: Craft CMS
Craft ima ugrađen Redirects funkcionalnost kroz Retour plugin (free + premium):
- Plugin Store → "Retour" → install
- Settings → Retour
- Static redirects: ručno dodavanje 301 mapping-a
- Dynamic 404 monitoring: Retour automatski predlaže redirect za 404 errore
- Auto-AI suggestions: predloži redirect na osnovi naziva stranice
Alternativa: Craft Routes u config/routes.php:
return [
'stara-stranica' => ['route' => 'nova-stranica'],
'docs/(.*)' => ['route' => 'documentation/$1'],
];
Pristup 4: Laravel
U routes/web.php:
Route::redirect('/stara-stranica', '/nova-stranica', 301);
Route::permanentRedirect('/old-blog/{slug}', '/blog/{slug}');
Za kompleksnije redirects — koristi middleware:
Route::get('/stari-proizvod/{id}', function ($id) {
$proizvod = Product::find($id);
return redirect("/proizvodi/{$proizvod->slug}", 301);
});
Pristup 5: Nginx
Ako koristiš Nginx (manje uobičajen na cPanel-u, ali na VPS-u): u server block-u:
location = /stara-stranica {
return 301 /nova-stranica;
}
location /stari-folder/ {
return 301 /novi-folder$request_uri;
}
# HTTP → HTTPS
server {
listen 80;
server_name tvojadomena.hr;
return 301 https://$server_name$request_uri;
}
Pristup 6: Cloudflare (no-touch)
Cloudflare Rules omogućavaju 301 redirect bez diranja server kodova:
- Cloudflare → Rules → Create rule
- Hostname: tvojadomena.hr
- Path: /stara-stranica
- Action: Forwarding URL → Permanent (301)
- Destination: nova URL
Korisno za:
- Sajtove na više različitih server stack-ova
- Static sites bez .htaccess pristupa
- Bulk redirect-i (možeš importirati CSV)
Pristup 7: Bulk redirect (više od 100 URL-ova)
Ako mijenjaš cijelu URL strukturu, imati 500 redirect-a u .htaccess je sporo (svaki request prolazi kroz pravila):
Opcija A: RewriteMap (najbrži)
U .htaccess:
RewriteMap redirectMap "txt:/home/user/redirects.txt"
RewriteCond ${redirectMap:$1} !="" [NC]
RewriteRule ^(.*)$ ${redirectMap:$1} [R=301,L]
Plus file /home/user/redirects.txt:
/stara-stranica /nova-stranica
/drugi-stari-url /drugi-novi-url
Apache cache-ira mapu — efikasno za 10,000+ mapping-a.
Opcija B: Database-based redirect
WordPress Redirection plugin sve mapping-e drži u bazi. Slično, Retour za Craft. Skalira se ako koristiš adekvatan caching.
5 zamki koje treba izbjeći
1. Redirect chains (lanci)
Najgori SEO zločin: A → B → C → D. Google prati maksimalno 5 redirect-a, posljedice:
- Bot odustaje ako je više lanaca
- Svaki link u lancu gubi mali postotak ranking signala
- Stranica trajno gubi ranking
Fix: uvijek redirect direktno A → D, ne kroz B i C.
2. 302 umjesto 301
302 (temporary) ne prenosi ranking. Mnogi pluginovi po defaultu koriste 302. Provjeri da su tvoji redirect-i 301 (permanent).
3. Redirect loop
A → B → A. Beskonačna petlja. Browser javi "ERR_TOO_MANY_REDIRECTS". Tipičan slučaj: HTTPS redirect + Cloudflare bez pravilnog SSL mode-a.
Fix: provjeri Cloudflare SSL mode (mora biti "Full" ili "Full strict", ne "Flexible") + .htaccess HTTPS rule.
4. Redirect bez 1:1 mapping
Ako brišeš stranicu, ne redirect-aj sve na homepage. Google to vidi kao soft 404. Bolje:
- Redirect na sličan sadržaj
- Ili pravi 410 Gone (ako sadržaj definitivno više ne postoji)
- Ili stvori "this page has moved" stranicu s linkovima na slične
5. Zaboraviš redirect-e nakon migracije
Ako mijenjaš sajt na novom serveru, ne kopiraj samo files i database. Kopiraj i .htaccess sa svim redirect-ima. Bez toga gubiš ranking za svaki stari URL.
Kako testirati 301 redirect-e
1. Single redirect test
Pretraži "redirect checker" online (npr. httpstatus.io ili redirect-checker.org). Upiši staru URL adresu. Vidiš lanac:
- 301 → nova adresa
- 200 OK na konačnoj adresi
Idealno: jedan 301, jedan 200. Bez ikakvih chain-a.
2. Browser dev tools
- Otvori Dev Tools → Network
- Klikni "Preserve log"
- Otvori staru URL
- Vidiš svaki request s status kodom
3. cURL iz terminala
curl -I -L https://tvojadomena.hr/stara-stranica
Vidiš HTTP responses za svaki redirect u lancu.
4. Bulk test sa Screaming Frog
Free crawler — input file s starim URL-ovima → crawl-a sve → izvještaj koji 301, koji 404, koji chain.
SEO best practices
- 301, ne 302 za permanent
- 1 redirect, ne lanac — direktno na finalni URL
- 1:1 mapping — relevantna nova stranica, ne uvijek homepage
- Drži redirect-e — minimum 1 godinu nakon migracije (Google treba toliko da indeksira novu URL)
- Update internal links — sajt sam ne smije imati linkove na stare URL-ove (samo external)
- Submit nove URL-ove u Search Console — sitemap.xml refresh
- Monitor 404 errors — Search Console javi koje nove URL-ove botovi ne mogu naći
WMD pristup redirect-ima
- cPanel Redirect Manager — dostupan iz Domains tab-a, jednostavno dodavanje 301 i 302
- .htaccess editor u File Manager-u — direktna kontrola
- Cloudflare integracija — alternativan put bez diranja servera
- Migration redirect mapping — kada radimo migraciju s drugog hostinga, automatski mapiramo stari → novi URL gdje je potrebno
- SEO audit nakon migracije — provjeravamo da su svi stari URL-ovi pravilno redirected
- 24/7/365 hrvatski support — pomažemo s kompleksnijim redirect scenarij-ima
Praktičan checklist
Prije bilo koje URL promjene:
- Lista svih trenutnih URL-ova (preko Screaming Frog ili sitemap.xml)
- Mapping starih → novih URL-ova u spreadsheet
- Implementiraj redirect-e na staging
- Test svaki na httpstatus.io
- Provjeri nema chain-a i loop-ova
- Deploy na production
- Submit novi sitemap u Search Console
- Monitor Search Console za 404 errore prvih 30 dana
- Drži redirect-e bar 12 mjeseci
Migriraš sajt ili mijenjaš URL strukturu i treba ti pomoć s redirect-ima? Pošalji nam mapping plan (ili samo opis), pomažemo s implementacijom + provjeru da ništa ne propada. Tipično 1-3 sata rada za 50-200 URL mapping-a.