Blokiranje pristupa određenim zemljama na WordPressu pomoću .htaccess datoteke, poznato kao geo-blocking, proces je odbijanja prometa s odabranih zemalja na razini poslužitelja. Za to se obično koriste pravila .htaccess koja rade na Apache ili LiteSpeed poslužiteljima, GeoIP/MaxMind baze podataka, popisi IP blokova ili CDN/WAF usluge. Međutim, važno je napomenuti: .htaccess datoteka sama po sebi ne može znati iz koje zemlje dolazi posjetitelj; da bi mogla provesti blokiranje po zemljama, poslužitelj mora osigurati informacije o zemlji kao varijablu ili dodati IP rasponove određenih zemalja u pravila.
U ovom vodiču raspraviti ćemo kako geo-blocking funkcionira na WordPress stranicama pomoću .htaccess-a, kada je to smisleno, primjere pravila, korake za sigurnu primjenu i uobičajene greške. Cilj nije samo dati kod, već pružiti primjenjiv proces koji će smanjiti rizike poput 500 pogreške na aktivnoj stranici, gubitka SEO-a, prekida plaćanja/integracije ili nenamjernog blokiranja Googlebota. Ako svoju WordPress stranicu hostate na Hostragons-u, preporučuje se da napravite sigurnosnu kopiju datoteke iz svog hosting panela prije nego što započnete s promjenama i da ih primjenjujete postupno WordPress hosting.
Što je geo-blocking i koja mu je svrha na WordPress stranicama?
Geo-blocking je metoda ograničavanja pristupa temeljena na geografskoj lokaciji posjetitelja. Lokacija se obično predviđa iz IP adrese posjetitelja. Na primjer, e-commerce stranica koja prodaje samo u Hrvatskoj može primijetiti da prima veliku količinu lažnih prijava, spam komentara ili pokušaja brute-force napada iz zemalja izvan svoje ciljne marketinške regije, te može primijeniti ograničenja pristupa na određene zemlje.
U kontekstu WordPress-a, ova metoda može se koristiti u različite svrhe:
- Smanjenje brojnih zlonamjernih pokušaja prijave na administrativni panel.
- Smanjenje spam komentara, prijava botova i lažnih slanja obrazaca.
- Ograničavanje pristupa zbog određenih licenci, prava na objavu ili zakonskih zahtjeva.
- Zaštita resursa poslužitelja od prometa izvan ciljne regije.
- Smanjenje bespotrebnih zahtjeva iz područja gdje se ne pružaju plaćanja, dostava ili usluge.
Ipak, geo-blocking ne može u potpunosti zamijeniti vatrozid. IP lokacija može biti pogrešno procijenjena, može se zaobići putem VPN-a ili proxyja, a neki legitimni korisnici mogu biti nenamjerno blokirani. Stoga, blokiranje po zemlji treba razmatrati zajedno s osnovnim mjerama kao što su snažne lozinke, dvofaktorska autentifikacija, ažurirani WordPress kernel, sigurni dodaci, SSL certifikat i redovite sigurnosne kopije SSL certifikat.
Kako .htaccess datoteka koristi informacije o zemlji?
.htaccess je moćna datoteka koja omogućava konfiguraciju na razini direktorija na Apache i LiteSpeed poslužiteljima. Struktura trajnih veza WordPress-a, preusmjeravanja, pravila predmemoriranja, dozvole pristupa datotekama i neka sigurnosna ograničenja mogu se upravljati putem ove datoteke. Međutim, .htaccess ne može automatski odrediti iz koje zemlje dolazi IP adresa.
Postoje tri osnovna pristupa za blokiranje po zemlji:
- Pisanje pravila putem varijable kod zemlje ako je GeoIP ili MaxMind modul aktivan na poslužitelju.
- Dodavanje IP raspona zemalja koje se blokiraju u .htaccess datoteku.
- Provedba blokiranja zemalja putem CDN/WAF ili sigurnosnog dodatka, koristeći .htaccess kao podršku.
Od 2026. godine, najzdravija metoda u većini scenarija je korištenje CDN/WAF ili rješenja temeljenog na MaxMind na razini poslužitelja. Razlog tome je što se IP blokovi zemalja često mijenjaju; tisuće redaka pravila u .htaccess-u mogu smanjiti performanse. Ipak, .htaccess je praktičan alat za mala i kontrolirana blokiranja.
Što obavezno učiniti prije nego što započnete?
Neispravna konfiguracija .htaccess datoteke može učiniti vašu stranicu potpuno nedostupnom. Najčešći rezultati su 500 Internal Server Error, petlja preusmjeravanja, problemi s pristupom wp-admin-u i neočekivane 403 Forbidden pogreške. Stoga provjerite sljedeću kontrolnu listu prije nego što izvršite promjene na aktivnoj stranici:
- Preuzmite postojeću .htaccess datoteku na svoje računalo i napravite datoteku s oznakom.
- Napravite sigurnosnu kopiju WordPress datoteke i baze podataka Backup web stranice.
- Provjerite da li vaš hosting panel ima funkcionalan upravitelj datotekama ili FTP pristup.
- Prvo isprobajte samo jedno test pravilo; ne dodajte više IP ili zemljanih pravila odjednom.
- Provjerite da Googlebot, pružatelji plaćanja, integracije dostave, API usluge i CDN IP rasponi nisu pogođeni.
- Nakon promjena testirajte pristup iz različitih mreža; provjera samo iz vlastitog preglednika nije dovoljna.
U praksi, većina grešaka potiče se s pogrešnog mjesta pravila. WordPressova vlastita pravila preusmjeravanja obično se nalaze između redaka BEGIN WordPress i END WordPress. U većini slučajeva, sigurnosna pravila koja dodate ručno je sigurnije postaviti iznad ovog bloka. To je zato što WordPress može ponovno generirati svoj blok kada se postavke trajnih veza sačuvaju.
Metoda 1: Blokiranje po zemlji putem GeoIP ili MaxMind varijable u .htaccess-u
Ako vaš poslužitelj osigurava kod zemlje kao varijablu okruženja, možete ograničiti pristup na temelju ove varijable u .htaccess. U starijim instalacijama koristi se mod_geoip, dok se u novijim instalacijama mogu koristiti rješenja poput MaxMind GeoLite2 i mod_maxminddb. Ime varijable može se razlikovati ovisno o konfiguraciji poslužitelja; uobičajeni primjeri su GEOIP_COUNTRY_CODE, MM_COUNTRY_CODE ili GEOIP_COUNTRY_CODE_V6.
Primjer logike
Sljedeći primjer prikazuje logiku blokiranja određenih kodova zemalja, pod pretpostavkom da je varijabla GEOIP_COUNTRY_CODE generirana na poslužitelju. Prije nego što izravno kopirate primjer koda, provjerite koji se varijabla podržava kod vašeg davatelja usluga.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(HR|DE|FR)$
RewriteRule ^ - [F,L]
</IfModule>
U ovom primjeru zahtjevi iz zemalja HR, DE i FR dobit će odgovor 403 Forbidden. Kodovi zemalja su u skladu s ISO 3166-1 alpha-2 standardom. Na primjer, za Hrvatsku koristite HR, za Njemačku DE, a za Sjedinjene Američke Države US. Zemlje koje želite blokirati možete odvojiti vertikalnom crtom.
Blokiranje zemlje samo za wp-login.php
Ciljanje samo WordPress prijavnog ekrana umjesto zatvaranja cijele stranice može biti uravnoteženiji pristup za većinu poslovanja. Na primjer, možda biste željeli da vaša stranica bude globalno dostupna, ali da wp-login.php bude dostupan samo iz određenih regija.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-login\.php$ [NC]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(HR|DE)$
RewriteRule ^ - [F,L]
</IfModule>
Ova struktura održava dostupnost vaših sadržaja, dok smanjuje površinu za prijavu. S obzirom na to da je većina brute-force napada usmjerena na wp-login.php i xmlrpc.php datoteke, sigurnosni učinak je prilično značajan u odnosu na korištenje resursa.
Metoda 2: Blokiranje IP raspona zemalja putem .htaccess-a
Ako na poslužitelju nema GeoIP varijable, teoretski možete dodati IP blokove koji pripadaju određenim zemljama u .htaccess datoteku. Međutim, ova metoda ima visoke troškove održavanja. Za velike zemlje može postojati tisuće CIDR blokova, a upravljanje njima unutar .htaccess može negativno utjecati na performanse. Također, zbog promjena u dodjeli IP adresa, popis treba redovito ažurirati.
U verzijama Apache 2.4 i novijim, za blokiranje IP-a može se koristiti struktura Require not ip. Primjer:
<RequireAll>
Require all granted
Require not ip 203.0.113.0/24
Require not ip 198.51.100.0/24
</RequireAll>
Ovdje navedeni IP rasponovi su dokumentacijski primjer; nisu stvarni popisi zemalja. Kada koristite stvarne popise, trebali biste odabrati pouzdane i ažurirane izvore CIDR podataka. Međutim, ako trebate dodati 500, 1000 ili više redaka pravila IP-a, bolje je premjestiti ovaj posao na razinu vatrozida poslužitelja, WAF ili CDN nego koristiti .htaccess.
Metoda 3: Geo-blocking putem CDN ili WAF, uz podršku .htaccess-a
U modernoj sigurnosnoj arhitekturi WordPress-a, najskalabilnija metoda za blokiranje po zemlji obično je korištenje CDN-a ili WAF-a. Rješenja poput Cloudflare, Sucuri, LiteSpeed Web ADC, Imunify360 mogu brže i centraliziranije primijeniti pravila prema zemljama. Ovi sustavi filtriraju zahtjev prije nego što dođe do vašeg web poslužitelja, smanjujući opterećenje CPU-a, RAM-a i PHP procesa.
.htaccess ovdje nije potpuno beskoristan. Na primjer, može se koristiti za ispravno dobivanje stvarne klijentske IP adrese koja dolazi putem CDN-a, zatvaranje određenih osjetljivih datoteka ili dodavanje dodatnih ograničenja URL-u WordPress prijave. Međutim, stavljanje glavnog opterećenja geo-blockinga na CDN, održivije je za web stranice s visokim prometom.
Usporedba metoda
| Metoda | Prednost | Nedostatak | Za koga je pogodna? |
|---|---|---|---|
| GeoIP varijabla s .htaccess-om | Brzo pisanje pravila na razini poslužitelja; ne ovisi o WordPress dodatku. | Potrebna je podrška za GeoIP/MaxMind na poslužitelju; ime varijable može varirati ovisno o davatelju usluga. | Web stranice koje koriste Apache/LiteSpeed i traže tehničku kontrolu. |
| IP rasponi s .htaccess-om | Može raditi bez dodatnog modula; praktično je za male liste IP-a. | Mogu izazvati probleme s performansama i održavanjem kod velikih lista. | Za one koji žele blokirati mali broj IP blokova. |
| CDN/WAF geo-blocking | Zahtjev se filtrira prije nego što dođe do poslužitelja; lako upravljivo; pruža izvještaje. | Potrebna je konfiguracija dodatne usluge; pogrešnom postavkom mogu biti pogođeni stvarni korisnici. | Web stranice koje traže skalabilno rješenje s visokim prometom i prioritetom sigurnosti. |
| WordPress sigurnosni dodatak | Može se upravljati iz panela; potreba za tehničkim znanjem je manja. | Može se aktivirati nakon PHP-a; potrošnja resursa može biti veća. | Male i srednje web stranice koje ne žele uređivati kod. |
Korak po korak: Sigurno primjenjivanje geo-blockinga pomoću WordPress .htaccess-a

1. Razjasnite što želite blokirati
Prvo odlučite želite li blokirati cijelu stranicu, samo wp-login.php datoteku ili određene krajnje točke poput xmlrpc.php. Blokiranje cijele stranice po zemlji riskantnije je s aspekta SEO-a, dostupnosti marke i korisničkog iskustva. Zatvaranje samo administrativnih ili napadnih područja često daje bolje rezultate.
2. Analizirajte svoje podatke o prometu
Prije donošenja odluke, pregledajte najmanje 7-14 dana dnevnika pristupa, zapise sigurnosnih dodataka i podatke iz Analyticsa. Na primjer, ako 3% ukupnog prometa dolazi iz zemlje koja generira 60% napada, ograničenje može biti razborito. Međutim, ako 12% organske prodaje dolazi iz iste zemlje, zatvaranje cijele zemlje može uzrokovati gubitak prihoda.
3. Provjerite podršku poslužitelja
Saznajte koristi li vaše hosting okruženje Apache, LiteSpeed ili Nginx. .htaccess radi na Apache i LiteSpeed; u Nginxu se ista datoteka ne može izravno koristiti. Kada birate odgovarajući hosting paket na Hostragons-u, važno je uzeti u obzir kompatibilnost s WordPressom, sigurnosne značajke, SSL i sigurnosne kopije Web Hosting.
4. Dodajte test pravilo
Prvo isprobajte samo jednu zemlju ili jedan IP blok. Dodajte pravilo iznad WordPress bloka u .htaccess datoteku. Nakon što spremite, provjerite glavnu stranicu, wp-admin panel, stranice proizvoda, slanja obrazaca i tijek plaćanja.
5. Pratite dnevnike
Pratite broj i izvore 403 odgovora. Ako vidite više 403 nego što ste očekivali, opseg pravila može biti preširok. Ako radite iza CDN-a, vaš web poslužitelj može vidjeti IP adresu CDN-a umjesto stvarnog posjetitelja. U tom slučaju, detekcija zemlje može pogrešno raditi.
6. Dokumentirajte pravilo
Dodajte komentare unutar .htaccess datoteke. Opišite koja je zemlja blokirana, zašto, kada je pravilo dodano i tko je to odobrio, što je kritično za tim koji će kasnije raditi na održavanju. Na primjer: # 2026-02-15: ograničenje pristupa zbog napada na wp-login iz HR i DE.
SEO aspekte koje treba uzeti u obzir
Geo-blocking može imati izravan utjecaj na SEO. Googlebot obično pretražuje s IP adresa koje su u Sjedinjenim Američkim Državama. Ako blokirate zemlje poput US na razini cijele stranice, Google može imati problema s indeksiranjem vaših stranica. Ovo može rezultirati gubitkom indeksa, smanjenjem rangiranja i pogreškama u pristupu u Search Console-u.
Za sigurnost SEO-a, obratite pažnju na sljedeće točke:
- Osigurajte da ne blokirate Googlebota, Bingbota i druge važne botove pretraživača.
- Ako imate međunarodne ciljeve, testirajte hreflang, canonical i pravila preusmjeravanja.
- Osigurajte da 403 stranice daju objašnjavajuću poruku korisniku; prazna stranica s pogreškom može uzrokovati gubitak povjerenja.
- Nakon promjena, pratite izvještaje o pokrivenosti, statistici pretraživanja i iskustvu stranice u Search Console-u.
- Nemojte koristiti blokiranje po zemlji za skrivene SEO namjene ili za prikazivanje različitog sadržaja; to može dovesti do rizika od cloakinga.
Pogotovo za blogove koji proizvode globalni sadržaj, SaaS stranice, turističke tvrtke i marke orijentirane na izvoz, odluka o blokiranju cijele zemlje treba biti donesena pažljivo. Ako želite samo smanjiti spam obrasce, reCAPTCHA, ograničavanje brzine, sigurnosni dodatak ili WAF pravilo mogu biti manje rizične opcije.
Je li geo-blocking dovoljan za sigurnost?
Ne. Geo-blocking smanjuje površinu napada, ali ne zaustavlja potpuno napadače. Geo-blocking se može zaobići putem VPN-a, proxy-a, botneta i IP adresa iz oblaka. Stoga, za sigurnost WordPress-a potreban je slojevit pristup. Minimalno, implementirajte sljedeće mjere:
- Redovito ažurirajte WordPress kernel, teme i dodatke.
- Koristite jedinstveno korisničko ime i jaku lozinku za administratorski račun.
- Aktivirajte dvofaktorsku autentifikaciju.
- Primijenite ograničenje brzine za zahtjeve wp-login.php i xmlrpc.php.
- Uklonite nepotrebne dodatke i ne koristite teme iz nepouzdanih izvora.
- Osigurajte SSL certifikat kako biste omogućili HTTPS za sav promet SSL certifikat.
- Napravljajte redovite sigurnosne kopije i planove za vraćanje.
Dobro konfigurirana hosting infrastruktura također je temelj ovog procesa. Izolacija resursa, ažurirana verzija PHP-a, skeniranje za zloćudne programe, automatske sigurnosne kopije i brza podrška izravno utječu na sigurnost WordPress-a Siguran WordPress hosting.
Uobičajene greške i rješenja
Greška 1: Dodavanje velikih IP lista u .htaccess datoteku
Dodavanje tisuća redaka pravila IP-a može smanjiti performanse jer se svako pravilo obrađuje pri svakom zahtjevu. Rješenje je upravljanje velikim popisima zemalja na razini CDN/WAF ili sigurnosnog zida poslužitelja.
Greška 2: Blokiranje Googlebota i integracijskih usluga
Pružatelji plaćanja, e-mail usluge, API-ji dostave i botovi pretraživača mogu slati zahtjeve iz različitih zemalja. Nakon promjena, provjerite logove i stavite kritične usluge na bijelu listu.
Greška 3: Očekivanje .htaccess-a na Nginx poslužitelju
Nginx ne čita .htaccess datoteku. Ako vaš poslužitelj koristi Nginx, ekvivalentna pravila trebaju biti napisana u Nginx konfiguracijskim datotekama. U dijeljenim hosting okruženjima možda nemate pristup ovoj razini; u tom slučaju CDN ili sigurnosni dodatak mogu biti prikladniji.
Greška 4: Uređivanje aktivne datoteke bez sigurnosne kopije
Jedna pogrešna oznaka može učiniti vašu stranicu nedostupnom. Ako nema sigurnosne kopije, vrijeme oporavka se produžuje. Ako uređujete putem upravitelja datoteka, kopirajte trenutni sadržaj u sigurnu tekstualnu datoteku prije spremanja.
Greška 5: Donošenje odluke o blokadi bez podataka
Blokiranje zemalja samo na temelju pretpostavki može dovesti do gubitka korisnika. Prvo pregledajte dnevnike, izvještaje o sigurnosti i podatke o konverziji. Po potrebi ograničite samo wp-login.php ili određene krajnje točke obrazaca umjesto cijele zemlje.
Alternativne opcije: Dodaci, vatrozidi i rješenja na razini poslužitelja
Ako ne želite uređivati kod, WordPress sigurnosni dodaci mogu ponuditi funkciju blokiranja po zemlji. Međutim, rješenja temeljena na dodacima obično se aktiviraju nakon što WordPress i PHP završe, pa možda neće tako brzo zaštititi resurse poslužitelja tijekom intenzivnog bot prometa kao .htaccess ili WAF. Ipak, pružaju lako upravljanje za manje stranice.
Na razini poslužitelja, IP/CIDR blokiranje može se provesti putem CSF, firewalld, iptables ili kroz upravljačku ploču davatelja usluga. Ova metoda djeluje ranije nego .htaccess. Međutim, korisnici dijeljenog hostinga obično nemaju pristup ovoj razini. U tom slučaju, možete se konzultirati s timom za podršku Hostragonsa kako biste procijenili odgovarajući pristup sigurnosti ili istražiti upravljiva hosting rješenja Hosting paketi.
Kontrolna lista nakon primjene
Nakon dodavanja geo-blocking pravila, ne završavajte proces bez završetka sljedećih provjera:
- Testirajte glavnu stranicu, kategorije, postove, stranice proizvoda i stranice košarice.
- Provjerite pristup wp-admin i wp-login.php iz ovlaštenih zemalja.
- Isprobajte kontakt formu, formu za članstvo i korake plaćanja.
- Izvršite live URL test u Search Console-u.
- Provjerite postoji li porast 500 ili neočekivanih 403 u logovima poslužitelja.
- Ako koristite CDN, ispraznite predmemoriju i provjerite prijenos stvarnog IP-a.
- Dodajte svrhu i datum pravila u dokumentaciju tima.
Ove provjere su kritične, posebno za WordPress stranice koje generiraju prihod. Čak i jednostavno pravilo o blokiranju zemlje može utjecati na konverziju plaćanja, kvalitetu reklama, usluge provjere e-maila ili API integracije API i Integracije.
Česta pitanja
Je li moguće blokirati pristup određenim zemljama putem WordPress .htaccess datoteke?
Da, to je moguće; međutim, da bi .htaccess radila s informacijama o zemlji, na poslužitelju mora postojati GeoIP/MaxMind varijabla ili IP rasponi određenih zemalja trebaju biti dodani pravilima. Samo .htaccess ne zna automatski iz koje zemlje dolazi IP adresa.
Utječe li blokiranje po zemlji putem .htaccess-a na SEO?
Ako nije ispravno konfigurirano, može imati negativne posljedice. Blokiranje zemalja iz kojih pristupaju Googlebot ili IP-ovi CDN-a može uzrokovati probleme s pretraživanjem. Umjesto zatvaranja cijele stranice, bolje je ograničiti samo osjetljive krajnje točke poput wp-login.php.
Koje kodove zemalja trebam koristiti?
Obično se koriste ISO 3166-1 alpha-2 kodovi zemalja. Primjeri su HR za Hrvatsku, DE za Njemačku, US za Sjedinjene Američke Države i FR za Francusku. Oblik varijable i format koda zemlje trebaju se potvrditi na temelju GeoIP konfiguracije poslužitelja.
Može li se geo-blocking provesti na Nginx poslužitelju putem .htaccess-a?
Ne. Nginx ne čita .htaccess datoteku. Za blokiranje po zemlji u Nginxu trebate koristiti konfiguraciju poslužitelja, map/geo module, WAF, CDN ili WordPress sigurnosni dodatak kao alternative.
Da li geo-blocking zaustavlja napadače koji koriste VPN?
Ne može ih potpuno zaustaviti. Napadači koji koriste VPN, proxy i botnet mogu se pojaviti iz različitih zemalja. Geo-blocking je dodatni sloj koji smanjuje volumen napada; treba se koristiti zajedno s dvofaktorskom autentifikacijom, WAF-om, ažuriranjima, jakim lozinkama i sigurnosnim kopijama.
Kratak pregled i sljedeći koraci
Blokiranje pristupa određenim zemljama na WordPressu putem .htaccess datoteke može smanjiti spam, brute-force napade i nepotreban promet kada je pravilno konfigurirano. Najsigurniji pristup uključuje analizu podataka, ograničavanje samo na potrebna područja, izradu sigurnosnih kopija, testiranje i praćenje logova. Za velike potrebe blokiranja zemalja, CDN/WAF ili rješenja na razini poslužitelja obično su učinkovitija. Ako tražite sigurnu, brzu i održivu infrastrukturu za svoju WordPress stranicu, istražite hosting, domene i SSL rješenja Hostragonsa; možete mirno implementirati konfiguraciju koja odgovara vašim potrebama provjera domene WordPress hosting.