Jak ve WordPressu zabránit přímému odkazování na obrázky (hotlinking)

Ke kvalitnímu obsahu patří i dobře zpracované obrázky, ale někdy není vhodné, aby na ně šlo přímo odkazovat, protože pak je někdo může „ukrást“ a zobrazovat u sebe na webu. V tomto článku si vysvětlíme, co je to hotlinking a jak mu zabránit.

Tento druh ochrany obsahu se provádí povětšinou u webů, které se zabývají návody nebo tvorbou kreativního/originálního obsahu. Tím, že na webu zakážete přímé odkazování na obrázky, tak znemožníte jejich zobrazování přímo v prohlížeči a i jejich odkazování ze serverů třetích stran. To je dobré pokud máte velkou návštěvnost a nechcete, aby si další stránky stahovali data přímo z vašeho serveru a tím zvyšovali zátěž.

Co je hotlinking?

Koncept hotlinkování (přímého odkazování) je velmi jednoduchý. Někde na internetu najdete obrázek a jeho adresu URL použijete přímo na svých stránkách. Tento obrázek se zobrazí na vašich webových stránkách, ale bude načítán z původního umístění. To je pro uživatele hotlinku velmi pohodlné, ale ve skutečnosti se jedná o krádež, protože se využívají zdroje hotlinkovaného webu. Je to podobné, jako kdybychom nasedli do auta a odjeli s benzínem, který jsme odčerpali ze sousedova auta.

Anglický termín hotlinking vysvětluje Wikipedie jako:

Hotlinking je způsob zobrazování obrázků (či jiných multimediálních souborů) v rámci webové stránky načítáním z jiného serveru.

Proč je hotlinking špatný?

Pojďme si říct základní důvody, proč je přímé odkazování na obrázky špatné.

Hotlinking stojí majitele původních webových stránek peníze

To, že někdo na vaše obrázky odkazuje ze svých webových stránek, se nemusí zdát jako velký problém, ale může vám to přinést spoustu dalších nákladů. Tím, že se obrázek načítá z vašeho serveru (hostingu), spotřebovává jeho výkon a zabírá pásmo přenosu a může tak způsobit potřebu vyššího výkonu → dražšího tarifu.

Hotlinking je ve většině případů nelegální

V mnoha případech je přímé odkazování ve skutečnosti nezákonné. Proč? Protože k mnoha fotografiím, které vidíte na webu, jsou připojena licenční omezení.

Zde je několik běžných omezení pro licencování obrázků z populárních stránek se stock fotografiemi:

  • Není povoleno komerční použití.
  • Zveřejnění pouze na webové stránce nebo blogu, který vlastníte (v článcích nebo zprávách pouze pro ilustrační účely).

Obě výše uvedená omezení mohou být snadno porušena, pokud někdo na váš obrázek odkáže a použije jej na svých webových stránkách. S největší pravděpodobností k tomu nemá oprávnění, protože nezaplatil za licenci.

Škodí zakázání přímých odkazů vašemu SEO?

Zablokování hotlinků nepoškodí vaše SEO, ale vše musí být správně nastaveno. Existují vyhledávače Seznam, Google, Bing, Yahoo atd., které potřebují přístup k vašim obrázkům, aby je mohly indexovat a správně zobrazit. Například při zobrazení obrázku ve vyhledávači obrázků Google se miniatura zobrazí z mezipaměti obrázků Google. Původní verze (pokud na ni kliknete) se však ve skutečnosti zobrazuje z vašeho serveru.

A vy chcete, aby se vaše obrázky zobrazovaly ve vyhledávači obrázků Google, protože je to další zdroj návštěvnosti pro web.

Jak zakázat přímé odkazování na obrázky

V článku si představíme dva jednoduché způsoby jak zakázat přímé odkazování obrázky.

Zakázání hotlinkování obrázků pomocí .htaccess

Nejlepší cestou pro zakázání přímého odkazování na obrázky je využít soubor .htaccess. Jedná se o malý textový soubor, který se nachází v základním adresáři WordPressu na hostingu. S jeho pomocí lze:

  • blokovat nebo povolit specifické stránky
  • blokovat nebo povolit HTTP referrer bez identifikace
  • zobrazit vlastní obrázek při detekování přímého odkazu na obrázky
  • chránit specifické soubory a adresáře

Do .htaccess vložte a upravte následující kód:

Poznámka: Před samotnou úpravou .htaccess nezapomeňte vytvořit jeho zálohu.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?vase-domena.cz [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?vase-dalsi-domena.cz [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.cz [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.sk [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?seznam.cz [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ https://i.imgur.com/g7ptdBB.png [NC,R,L]

Vysvětlení

Kód je součástí konfiguračního souboru pro Apache server, který používá modul mod_rewrite. Tento modul umožňuje přepisování URL na serverové straně. Kód definuje pravidla pro přesměrování požadavků na obrázky, pokud jsou tyto požadavky odesílány z neautorizovaných zdrojů.

  1. RewriteEngine on: Toto zapíná modul pro přepisování URL.
  2. RewriteCond %{HTTP_REFERER} !^$: Toto pravidlo znamená, že následující RewriteRule se použije pouze tehdy, pokud HTTP referer (stránka, odkud přichází požadavek) není prázdný. Jinými slovy, požadavek musí přijít z nějakého webu.
  3. Následující RewriteCond příkazy definují, že pravidlo pro přesměrování se nebude používat, pokud požadavek pochází z určitých domén (vase-domena.cz, google.com, bing.com atd.). ! znamená „není“, ^ označuje začátek řetězce a [NC] znamená, že porovnání je bez rozlišení velikosti písmen (non-case-sensitive).
  4. RewriteRule \.(jpg|jpeg|png|gif)$ https://i.imgur.com/g7ptdBB.png [NC,R,L]: Toto pravidlo přesměruje všechny požadavky na obrázky s příponami .jpg, .jpeg, .png, nebo .gif, které nepocházejí z výše uvedených domén, na specifický obrázek na adrese https://i.imgur.com/g7ptdBB.png. [NC,R,L] znamená, že porovnání je bez rozlišení velikosti písmen, R znamená přesměrování a L znamená, že se po provedení tohoto pravidla žádná další pravidla nepoužijí. Obrázek si můžete nahradit vlastním.

Tento návod funguje pouze pro weby, které jsou umístěny na hlavní doméně webu. Pokud budete chtít ochránit obsah na subdoméně, která nemá vlastní .htaccess soubor, budete muset kontaktovat podporu pro váš hosting.

Zakázání hotlinkování obrázků pomocí WordPress pluginu

Pro zakázání přímého odkazování na obrázky jsou dostupné i WordPress pluginy zdarma. Najdete je ke stažení v oficiálním repozitáři, ale spousta z nich nejsou příliš dobře udržované nebo mají špatné recenze. Nedoporučujeme je používat a spíše využít úpravy souboru .htaccess.

Neuteklo vám něco?

Pokrok a WordPress na nikoho nečekají, tak nám tu raději nechte email, ať o nic nepřijdete!

Nespamujeme! Další informace naleznete v našich zásadách ochrany osobních údajů.

Správa WordPress webu

Nemusíte na to být sami. Pomůžeme vám s pravidelnou údržbou i novými vylepšeními.

Více informací

5 názorů na “Jak ve WordPressu zabránit přímému odkazování na obrázky (hotlinking)”

  1. A co na to Google? A Seznam? Pinterest? Facebook? A všechna další místa, kde jsou fotky indexované/používané a zakázat jim to rozhodně nechci? 🙂
    Díky

  2. A můžu dotaz jak na zákaz stahování videa z našeho webu, kde máme umístěno několik online školení, které však nechceme šířit tím, že je může kdokoliv stahovat.. jak zařídit, aby nešlo takové videoprezentace uživateli stáhnout? WordPress 5.6.. Děkuji.

      1. Omlouvám se, zřejmě přesně nechápu, jakou položku v .htaccses mám upravit, níže přikládám obsah tohoto souboru. Díky..

        # BEGIN WordPress
        # The directives (lines) between "BEGIN WordPress" and "END WordPress" are
        # dynamically generated, and should only be modified via WordPress filters.
        # Any changes to the directives between these markers will be overwritten.

        RewriteEngine On
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
        RewriteBase /
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]

        # END WordPress

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nákupní košík
Přejít nahoru