Blog

security

Jak ograniczyć scraping katalogu, bloga i dokumentacji

Opselis

ntopng, przepływy, aplikacje i klasyfikacja ruchu

Scraper zrzuca karty produktów, artykuły i API. robots.txt, cache, rate limit i Cloudflare AI Crawl Control. Jak działa zbieranie treści i jak ustawić limity na listing, search i dokumentację.

Scraping to automatyczne zbieranie HTML i JSON: karty produktów, ceny, stany, wpisy bloga, pliki dokumentacji, endpointy REST. Narzędzia po Twojej stronie to `robots.txt`, cache pełnych stron, Rate limiting i Bot Management w Cloudflare, plus AI Crawl Control dla botów treningowych. `robots.txt` jest umową z grzecznymi agentami. Scraper komercyjny go nie czyta. Wtedy liczy się krawędź i limit na originie.

Do czego służy ochrona treści

Stosujesz ją, gdy katalog i poradniki są kopiowane na obce domeny, do porównywarek albo do modelu, który cytuje Twój opis. Skutek: ruch na originie rośnie, konwersja nie, CPU PHP spada na listingach. Osobno: crawlerzy OpenAI, Anthropic, ByteDance. To, co ma być w Google, nie musi iść do treningu. Fałszywa kopia sklepu (inna domena, te same zdjęcia) to już DNS i proces prawny. Ops zbiera log: User-Agent, ASN, ścieżki, volume.

Jak działa zbieranie i limit

Scraper idzie po sitemap, po `page=` na listingu, po `/graphql` i `/rest/V1/products`. Rate limit liczy requesty na IP albo na TLS fingerprint w oknie (np. 60 na minutę na `/catalogsearch`). Nad progiem: 429 albo challenge. Cache (Varnish, Cloudflare Cache) oddaje listing bez PHP, więc dump jest tańszy dla Ciebie, ale treść i tak wycieka. Dlatego cache nie zastępuje Block na niskim bot score. AI Crawl Control w Cloudflare pokazuje operatora crawlera i czy dostał 200. Akcja: allow, block, robots.

Jak ustawić

W korzeniu witryny `robots.txt`: Allow Googlebot na katalog. Disallow na `/checkout`, `/customer`, `/admin`. Dla GPTBot, CCBot, anthropic-ai: Disallow `/` jeśli treść nie ma iść do treningu. To nie zatrzyma złego scrapera, porządkuje grzecznych.

Cloudflare, Security, Bots i WAF: na `http.request.uri.path contains "/catalogsearch"` albo `/blog` score lt 30 → Managed Challenge. Rate limiting rule: 30 req/min na IP na listing. Cache Rule: cache HTML kategorii, Bypass na koszyk i konto. AI Crawl Control: przegląd operatorów, Block na tych, których nie chcesz.

Na originie Magento: limit na GraphQL (moduł albo nginx `limit_req` na lokalizacji `/graphql`). WordPress: wyłącz xmlrpc jeśli nieużywany. Log 24 h do porównania przed i po. Notatka o crawlerach AI: zagrożenia AI. Krawędź: security.