
🛡 Jak wyłączyć hotlinking w WordPress
Proszę sobie wyobrazić: wchodzą Państwo do panelu hostingu i widzą, że miesięczny transfer wzrósł dwukrotnie. Odwiedzających nie przybyło, sprzedaż nie wzrosła, a rachunek za serwer przyszedł dwa razy wyższy niż zwykle. Znajomy obrazek? To klasyczny scenariusz hotlinkingu.
Ktoś wstawił URL Państwa obrazka na swoją stronę. Obrazek ładuje się u niego, a za transfer płacą Państwo sami. Dla serwisów informacyjnych i contentowych na WordPress hotlinking znajduje się w top 5 ukrytych wycieków budżetu hostingowego.
Poniżej siedem skutecznych sposobów na zablokowanie kradzieży obrazków: od szybkiej konfiguracji .htaccess po wtyczki i CDN. Każda metoda została sprawdzona na aktualnych wersjach WordPress i działa bez ingerencji w kod źródłowy.
💡 Szybki przegląd:
- Jak działa hotlinking, dlaczego jest niebezpieczny i ile transferu tracą Państwo niezauważenie
- Trzy serwerowe metody blokowania:.htaccess (Apache/LiteSpeed), konfiguracja NGINX i wbudowane narzędzie cPanel
- Wtyczka All-In-One Security (AIOS): aktywacja ochrony przed hotlinkiem jedną opcją, plus firewall i ochrona przed atakami brute force
- Cloudflare Hotlink Protection: filtrowanie na poziomie CDN bez obciążania WordPressa, darmowy plan
- Wyłączenie prawego przycisku myszy: wtyczka jako dodatkowa bariera przed okazjonalnym kopiowaniem URL obrazków
- Wyszukiwanie skradzionych obrazów przez Google Images: audyt w minutę i trzy sposoby na ukaranie sprawcy
Czym jest hotlinking i dlaczego jest niebezpieczny
Hotlinking to wstawienie bezpośredniego URL Państwa obrazka na cudzej stronie. Przeglądarka odwiedzającego tę stronę pobiera obrazek z Państwa serwera, a nie z serwera właściciela. Z zewnątrz obrazek wyświetla się normalnie, ale każde jego wyświetlenie zużywa Państwa przepustowość i zasoby procesora.

Główny problem nie leży w samej „kradzieży". Obrazek fizycznie pozostaje na Państwa serwerze, prawa autorskie formalnie nie są naruszone. Jednak każde cudze wyświetlenie zjada przepustowość, za którą zapłacili Państwo dostawcy hostingu. W przypadku strony na tanim hostingu współdzielonym z limitem 10-25 GB transferu jeden popularny post z obrazkiem, który rozejdzie się po kilkunastu witrynach, może wyczerpać miesięczny limit w trzy dni.
Drugie zagrożenie to obciążenie procesora. Przy wysokiej odwiedzalności strony złodzieja Państwa serwer obsługuje dwa fronty: własnych odwiedzających i cudzych. Rezultat to spadek prędkości ładowania i pogorszenie wyników w Core Web Vitals.
Jak wyłączyć hotlinking w WordPress
Sposobów jest siedem, od serwerowych po wtyczki. Proszę wybrać odpowiedni do swojego poziomu dostępu: czy ma Pan/Pani hosting z cPanel, jaki serwer WWW (Apache czy NGINX), czy jest Pan/Pani gotów edytować pliki konfiguracyjne.
1. Blokowanie przez plik.htaccess
Plik .htaccess to główny menedżer konfiguracji Apache i LiteSpeed. Za jego pomocą można zabronić ładowania obrazów z dowolnych domen poza Pana/Pani własną i wyszukiwarkami. Minus: metoda nie działa na serwerach NGINX.
Aby dostać się do pliku, proszę połączyć się z serwerem przez FTP (na przykład za pomocą FileZilla) lub otworzyć menedżera plików w panelu hostingu. Plik znajduje się w głównym folderze witryny, tam gdzie wp-config.php.

Przed jakimikolwiek zmianami w htaccess proszę zrobić kopię zapasową. Jeden pominięty nawias lub dyrektywa i strona padnie z błędem 500. Po edycji proszę otworzyć witrynę w sąsiedniej karcie i upewnić się, że działa.
Proszę skopiować ten blok na koniec pliku, zastępując yourwebsite.com swoją domeną. Reguły odrzucają żądania od wszystkich zewnętrznych odsyłaczy, przepuszczając wyszukiwarki i media społecznościowe:
1 RewriteEngine On 2 RewriteCond %{HTTP_REFERER} !^$ 3 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite\.com [NC] 4 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google\.com [NC] 5 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing\.com [NC] 6 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook\.com [NC] 7 RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter\.com [NC] 8 RewriteRule \.(jpg|jpeg|png|gif|webp|avif|svg)$ - [F]
Co tu się dzieje: RewriteCond sprawdza referrer, czyli adres strony, z której przyszło żądanie. Jeśli referrer jest pusty (pierwsza linia), jest to Pana/Pani własna domena, Google, Bing, Facebook lub Twitter, żądanie jest przepuszczane. Wszystkie pozostałe otrzymują 403 Forbidden. Ostatnia linia wymienia formaty plików objęte ochroną (dodano formaty webp, avif i svg, aktualne na rok 2026).
Sprawdzenie działania reguły jest proste: proszę otworzyć obraz ze swojej witryny przez bezpośredni URL w nowej karcie. Powinien się otworzyć. Następnie proszę utworzyć prosty plik HTML na lokalnym komputerze z <img src="URL-вашей-картинки"> i otworzyć go. Obraz nie powinien się załadować.
2. Wtyczka All-In-One Security (AIOS)
Jeśli konfiguracja serwera nie jest Pana/Pani drogą, proszę zainstalować wtyczkę. All-In-One Security (AIOS) (dawniej All in One WP Security & Firewall) blokuje hotlinking jednym zaznaczeniem. Przy okazji otrzymuje Pan/Pani firewall, ochronę przed brute force i skaner podatności.

Po instalacji i aktywacji proszę wejść w WP Security → Firewall → Prevent Hotlinks. Proszę zaznaczyć pole „Prevent Image Hotlinking" i zapisać. Wtyczka sama dopisze odpowiednie reguły w .htaccess, nie będzie Pan/Pani musiał ręcznie dotykać pliku.
Zaletą AIOS jest to, że nie koliduje z innymi regułami .htaccess i automatycznie aktualizuje listę dozwolonych odsyłaczy w przypadku zmiany domeny. Darmowa wersja wystarcza do ochrony przed hotlinkingiem; premium dodaje uwierzytelnianie dwuskładnikowe i blokowanie według krajów.
3. Cloudflare: ochrona na poziomie CDN
Cloudflare oferuje Hotlink Protection w darmowym planie i jest to najbardziej elegancki sposób, ponieważ ruch jest odcinany jeszcze przed dotarciem do Pana/Pani serwera.
W panelu Cloudflare: Security → Hotlink Protection → przełącznik w pozycję On. To wszystko. Cloudflare zaczyna sprawdzać referrer dla każdego żądania do obrazów i blokuje obce.
Siła tej metody polega na tym, że nie obciąża Pan/Pani WordPressa i nie ryzykuje uszkodzenia .htaccess. Wszystkie żądania są filtrowane na poziomie serwerów brzegowych Cloudflare. Bonus: równolegle działa cache'owanie i kompresja obrazów przez Polish (kompresja stratna w darmowym planie, bezstratna w Pro).
Jeśli na Pana/Pani stronie jest już Cloudflare, włączenie Hotlink Protection zajmie dziesięć sekund. Jeśli nie, rejestracja, zmiana DNS i podstawowa konfiguracja zajmą około godziny. Dla projektów, które już są na Cloudflare, jest to metoda numer jeden.
4. CPanel: wbudowane narzędzie Hotlink Protection
Hostingi na cPanel (SiteGround, Namecheap, A2 Hosting i dziesiątki innych) mają wbudowane narzędzie ochrony przed hotlinkiem. Znalezienie go jest proste: w panelu cPanel proszę wpisać w wyszukiwarkę „Hotlink Protection" lub znaleźć ikonę w sekcji Security.

Kolejność włączania:
- Kliknąć Enable, otworzy się strona z listą dozwolonych domen
- W polu URLs to allow access dodać swoją domenę (cPanel wstawia ją automatycznie) oraz, w razie potrzeby, subdomeny
- W polu Block direct access for the following extensions wymienione są formaty plików objęte ochroną, pozostawić listę domyślną lub dodać
avif,webp - Allow direct requests, pozostawić puste, jeśli nie chcą Państwo udzielać bezpośredniego dostępu do konkretnych plików
- Redirect request to, można podać URL obrazka zastępczego, który zobaczą złodzieje zamiast Państwa obrazu. Na przykład baner tekstowy „To zdjęcie zostało skradzione z site.ru". Albo pozostawić puste, wtedy żądanie otrzyma po prostu 403
- Kliknąć Submit
Aby wyłączyć ochronę, służy przycisk Disable na tej samej stronie.
5. Wyłączenie prawego przycisku myszy
Nie jest to ochrona przed hotlinkowaniem w czystej postaci, ale dodatkowa bariera. Wtyczka Prevent Content Theft (Disable Right Click) wyłącza menu kontekstowe przeglądarki na Państwa stronie. Odwiedzający nie może kliknąć „Kopiuj adres URL obrazka", fizycznie nie ma możliwości poznania bezpośredniego adresu obrazu.

Wtyczka blokuje nie tylko prawy przycisk myszy, ale także skróty klawiszowe: Ctrl+C, Ctrl+U (podgląd źródła strony), Ctrl+Shift+I (narzędzia deweloperskie). W wersji premium dodawana jest ochrona przed przeciąganiem obrazków i zaznaczaniem tekstu. Można wykluczyć poszczególne strony lub role użytkowników (na przykład pozostawić prawy przycisk myszy dla administratorów).
Uczciwe ostrzeżenie: ta metoda nie powstrzyma kogoś, kto wie, jak otworzyć DevTools przez menu przeglądarki lub wyświetlić kod źródłowy strony. Odsiewa jednak zdecydowaną większość sytuacyjnych kopiowań, a to właśnie ta grupa odbiorców kradnie obrazki według zasady „zobaczyłem, kliknąłem, wkleiłem".
Bardziej szczegółowa analiza ochrony przed kopiowaniem, w tym metod CSS i rozwiązań serwerowych, znajduje się w naszym poradniku dotyczącym wyłączania kopiowania i prawego przycisku myszy.
6. Blokowanie na NGINX
NGINX nie czyta .htaccess, cała konfiguracja znajduje się w plikach serwera (nginx.conf lub w osobnych plikach w katalogu sites-available). Dostęp do nich ma wyłącznie administrator serwera (VPS/serwer dedykowany). Na hostingach współdzielonych z proxy NGINX metoda ta jest z reguły niedostępna.

Należy dodać wewnątrz bloku server { } swojej witryny:
1 location ~* \.(gif|png|jpeg|jpg|svg|webp|avif)$ { 2 valid_referers none blocked ~\.google\. ~\.bing\. ~\.yahoo\. yourdomain.com ~\.yourdomain\.com; 3 if ($invalid_referer) { 4 return 403; 5 } 6 }
Dyrektywa valid_referers określa, komu wolno: none (bezpośrednie przejścia i pobieranie bez referrer), blocked (referrer ukryty przez przeglądarkę lub proxy), wyszukiwarki oraz Państwa domena z subdomenami. Cała reszta otrzymuje 403.
Po zmianie konfiguracji należy sprawdzić składnię (nginx -t) i przeładować serwer (nginx -s reload lub systemctl reload nginx). Błąd w konfiguracji położy całą stronę, nie stosować bez sprawdzenia składni.
7. Blokowanie na Apache (konfiguracja bezpośrednia)
Na Apache można pójść dalej niż .htaccess i umieścić ochronę bezpośrednio w konfiguracji wirtualnego hosta (httpd.conf lub apache2.conf). Składnia jest taka sama jak dla .htaccess, ale reguły są stosowane na poziomie serwera i nie mogą zostać przypadkowo nadpisane przez wtyczkę lub aktualizację.

Zalety konfiguracji bezpośredniej: reguły obowiązują dla wszystkich stron na serwerze jednocześnie, działają szybciej (plik konfiguracyjny jest odczytywany raz podczas uruchamiania) i nie można ich przypadkowo usunąć przez FTP. Minus jest oczywisty: potrzebny jest dostęp do konfiguracji serwera, którego na tanim hostingu się nie otrzymuje.
Dla większości użytkowników WordPressa metoda z .htaccess (sposób 1) jest w zupełności wystarczająca. Bezpośrednia konfiguracja Apache ma sens w przypadku administratorów obsługujących kilka stron na jednym serwerze.
Jak znaleźć skradzione obrazy przez Google Images
Zrozumieć, że Pana/Pani obrazy są kradzione, można po pośrednich oznakach: niewyjaśniony wzrost transferu przy stabilnej liczbie odwiedzin, spadek prędkości ładowania. Istnieje jednak bezpośredni sposób, wyszukiwanie przez Google.
Proszę otworzyć Google Images i wpisać:
1 inurl:yourwebsite.com -site:yourwebsite.com
Proszę zastąpić yourwebsite.com swoją domeną. Operator inurl: znajdzie wszystkie strony, na których pojawia się Pana/Pani URL, a -site: wykluczy strony Pana/Pani własnej witryny. W wynikach pozostaną tylko obce strony, które wstawiły odnośniki do Pana/Pani materiałów.
Alternatywna ścieżka to wyszukiwanie wsteczne według konkretnego obrazu. Proszę przesłać podejrzany obraz do Google Images (ikona aparatu w pasku wyszukiwania), a Google pokaże wszystkie strony, na których ten obraz występuje. Metoda jest wolniejsza, ale dokładniejsza: widzi Pan/Pani konkretne adresy URL naruszycieli.
Znalazł Pan/Pani złodzieja? Są trzy warianty działania: uprzejmy list z prośbą o usunięcie (rzadko skutkuje), podmiana skradzionego obrazu po swojej stronie na zaślepkę z Pana/Pani logo i odnośnikiem (działa niezawodnie, złodziej sam wyświetla Pana/Pani reklamę) lub skarga do dostawcy hostingu naruszyciela na podstawie DMCA.
W tym 8-minutowym filmie pokazano proces konfiguracji ochrony przed hotlinkowaniem przez AIOS i .htaccess na działającej stronie WordPress. Autor przechodzi ścieżkę od diagnostyki do weryfikacji wyniku i wyjaśnia, które odsyłacze warto dodać do białej listy.
⁉️🤔 Często zadawane pytania
Czy hotlinkowanie szkodzi SEO?
Bezpośrednio nie, Google nie karze strony za to, że jej obrazy są kradzione. Pośrednio tak: jeśli hotlinkowanie przeciąża serwer i czas ładowania stron rośnie, pozycje spadają, ponieważ Core Web Vitals to oficjalny czynnik rankingowy. Dla serwera każde wyświetlenie obrazu na obcej stronie nie różni się od Pana/Pani własnego ruchu.
Czy można zablokować hotlinkowanie tylko dla określonych obrazów?
Tak. W regułach
.htaccessi NGINX można wskazać konkretny folder lub plik zamiast maski na wszystkie obrazy. Na przykładRewriteRule ^wp-content/uploads/premium/.*\.(jpg|png)$ - [F]zamknie tylko folder premium. Wtyczki zwykle nie dają takiej elastyczności, blokują wszystko albo nic.
Czy znak wodny pomoże na hotlinkowanie?
Znak wodny nie zapobiega hotlinkowaniu technicznie, jedynie oznacza autorstwo. Jeśli obraz wstawiono przez bezpośredni URL, znak wodny będzie na nim widoczny na obcej stronie i jest to jakaś reklama. Ale za transfer i tak Pan/Pani płaci. Lepiej łączyć: znak wodny jako ochrona wizualna plus
.htaccesslub CDN jako ochrona techniczna.
Co zrobić, jeśli hosting nie daje dostępu do.htaccess i nie ma cPanel?
Proszę włączyć Cloudflare na bezpłatnym planie i uruchomić Hotlink Protection. Cloudflare działa na wierzchu każdego hostingu, nie wymaga dostępu do konfiguracji serwera i rozwiązuje problem na poziomie DNS. Alternatywa to wtyczka AIOS z katalogu WordPress, która sama zapisze
.htaccess, nawet jeśli nie wie Pan/Pani, gdzie ten plik się znajduje.
Czy blokowanie hotlinkowania popsuje obrazy w mediach społecznościowych i komunikatorach?
Przy prawidłowej konfiguracji nie. W powyższych przykładach Facebook, Twitter i wyszukiwarki są dodane do białej listy odsyłaczy. Jeśli aktywnie korzysta Pan/Pani z innych platform (Pinterest, Telegram, Reddit), proszę dodać ich domeny do reguł. Bez tego obrazy podglądu podczas udostępniania Pana/Pani odnośników w mediach społecznościowych i komunikatorach rzeczywiście znikną.
Ochrona przed hotlinkowaniem: którą metodę wybrać
Wybór sprowadza się do trzech scenariuszy. Jest Pan/Pani na Cloudflare, proszę włączyć Hotlink Protection w panelu, to dziesięć sekund i pełne rozwiązanie. VPS lub serwer dedykowany na NGINX, reguła w konfiguracji serwera, pięć linijek. Zwykły hosting współdzielony na Apache z cPanel, wbudowane narzędzie Hotlink Protection w panelu lub wtyczka AIOS z jednym zaznaczeniem.
Najpewniejszy eszelon to kombinacja: Cloudflare lub blokowanie serwerowe jako główna linia obrony plus Prevent Content Theft do wyłączenia menu kontekstowego. Jedno drugiemu nie przeszkadza, a razem zamyka zarówno bezpośrednie wstawienia URL, jak i sytuacyjne kopiowanie „żeby zobaczyć".
Proszę poświęcić dziesięć minut dzisiaj. Gdy w przyszłym miesiącu rachunek za hosting nie zaskoczy Pana/Pani dodatkowym zerem, zrozumie Pan/Pani, że była to jedna z najbardziej opłacalnych inwestycji czasu w bezpieczeństwo strony.



