Zahlcení serveru Googlebotem - jak tomu zabránit?
tak dnes v noci spustil Googlebot DDOS útok na eshop postavený na J3 a Virtuemartu. Web padá co 5minut, jelikož ho host server odpojuje pro vysoké vytížení.
Co jsem zjistil:
IP 66.249.66.* což jsem ověřoval a je to Googlebot asi mobilní, zběsile indexuje nebo prochází web s e-shopem - za hodinu dokáže stotisíc přístupů. log za dnešek má už 80MB a 99% záznamů má Googlebot.
V indexu na Search Consoli jsem objevil tisíce URL tohoto tvaru a podobné:
www.xyz.cz/component/virtuemart/?limit=1...k&dir=DESC&start=765
Co jsem udělal:
v htaccessu jsem zakázal přístup pro Googlebota - bez úspěchu, jede stále dál
v robots.txt jsem omezil přístup do všech adresářů, upravil dobu načítání pro Googlebota crawl-delay:5. Zase bez výsledku.
Otázka na vás:
Dá se z tohoto průseru nějak rychle vyklouznout? Potřebuji mít web funkční. Hostuji na Hostime.cz a mám zvedlý limit a ani to netačí. Potřebuji toho bota zpomalit nebo utnout.
Moc díky za vaše nápady.
Leoš
Ahoj jak je to možné? i když zakážeš nějaké IP stejně projdou? nebo jsou jiné?Leoš napsal: Co jsem udělal:
v htaccessu jsem zakázal přístup pro Googlebota - bez úspěchu, jede stále dál
Tady mrkni developers.google.com/search/docs/crawli...ng/reduce-crawl-rate

To může být:
a) špatnou syntaxi. Pro nový Apache to má jinak.
# Apache 2.2
Order Allow,Deny
Allow from all
Deny from 111.111.111.111
Deny from 222.222.222.222
Deny from 123.123.123.123
# Apache 2.4+
<RequireAll>
Require all granted
Require not ip 111.111.111.111
Require not ip 222.222.222.222
Require not ip 123.123.123.123
</RequireAll>
Můžeš tam dat třeba:
Require not ip 66.249.64.0/19
Google těch botu bude mít mraky. Bude to mít vliv na indexaci webu. Rychlost indexování jde nastavit.
b) server používá nginx tam htaccess nelze použít. To se nastavuje
Na serveru v nginx.conf
server { listen 80; server_name example.com; location / { deny 66.249.64.0/19; # Blokování rozsahu IP adres return 429; # Vrátí HTTP odpověď 429 (Too Many Requests) } }
Web jede jen mu vypršel certifikát.Linelabcz napsal: Mimochodem, Virtuemart má nové Security Release. Bohužel aktuálně je web nedostupný. virtuemart.net
Jinak je možné jít sem dev.virtuemart.net/projects/virtuemart/files
Nicméně verze 3 tam je poslední rok 2021. Jestli má za subscription to nevím.

To blokování mám asi dobře, protože přestal fungovat robots.txt pro chybu 403. ale přístupy na server ze strany googlebota jsou ve stejné frekvenci i dnes. Jakoby vůbec nebral v úvahu ani omezení rychlosti indexace. V logu jsou to same 403, což jsem chtěl tím blokováním.
Normálně mám kolem 100k přístupů denně ale včera to bylo +300k a dnes to pokračuje.
Virtuemart mám verzi 3.8.8 10472 a používám Vlastní pole a filtrování, taky varianty produktů. Prý se mohlo stát, že si googlebot projíždí všechny varianty a filtry url adresy....
Pokusím se to nějak eliminovat nastavním noindex, myslíte že je to dobrá cesta?
V administraci Virtuemartu jsem ale nikde nenašel možnost nějak zabránit procházení botem multivarianty nebo filtry...

Určitě. Mám pocit, že modul má možnost nastavení no-index.Leoš napsal: Pokusím se to nějak eliminovat nastavním noindex, myslíte že je to dobrá cesta?
Zkontrolujte httacces, blokování asi dobře nemáte, když problém stále trvá. Obraťte se na webhosting.

asi jsem to blbě napsal - na hostingu jsem s její podporou všechno nastavil - vše ok, blokování googlebota funguje, ověřeno v http logu - všechny přístupy 403.
Jde mi pouze o to, proč ten bot tak vehementně indexuje url, které ani nejsou v sitemapě? Tam mám asi 1500 url ale bot indexuje 200k a více url? To musí mít právě tu souvislost s Virtuemartem a těmi moduly.
Používáme VP Custom Filter a mám ho nastaven na nofollow a noindex už od jeho zprovoznění. nic více jsem nenašel.

v robots.txt jsem omezil všechny varianty url, které nechci indexovat, použil jsem logy a bylo jich celkem dost.
Pustil jsem zpět google bota na web a uvidíme...


Všem díky za postrčení...

Leoš napsal: Jde mi pouze o to, proč ten bot tak vehementně indexuje url, které ani nejsou v sitemapě? Tam mám asi 1500 url ale bot indexuje 200k a více url? To musí mít právě tu souvislost s Virtuemartem a těmi moduly.
Problém s boty jsme řešili na jednom serveru cca v srpnu 2024, kde jsme měli cca 30k přístupů na jeden eshop za hodinu a týkalo se to všech eshopů, takže během půl dne se server zhroutil a bylo třeba manuálně mazat a restartovat.
Pomocí úpravy souboru native.php jsme si vyexportovali excel s URL, časy a IP adresami botů - nejsou to jen googleboti.
Boti prochází všechny URL, které na webu najdou, tedy i ty, které nejsou v sitemapě, ale které prostě jsou k dispozici na daném webu (a nyní to je jedno jestli joomla versus Wordpress nebo VirtueMart versus PhocaCart).
Správné řešení není univerzální jedno, ale určitě:
- upravit robot.txt a omezit ty typy URL, které nechci aby někdo procházel, zkoumal a případně posílal do indexu s označením procházeno, neindexováno
- jeden příklad, sice ne zrovna typický - Disallow: /*?format=feed&type=*
- projít si všechny view (a tím myslím opravdu všechny view, i ty které se generují v pluginech nebo funkcích komponent) a přidat manuálně directivu na nofollow, noindex a následně zkontrolovat
- nespoléhat se na globální nastavení komponent, modulů, pluginů...
V našem případě, protože nešlo čistě jen o boty, ale o zahlcení serveru pomocí generování session (a boti každou návštěvou generovali session), šlo o
- eliminaci návštěv URL pomocí botů, které nechceme procházet == nechceme aby se objevily v GSC
- eliminaci generování session pomocí návštěvy URL botem a tím zahlcení serveru
- ale také eliminaci generování session od wget cronů (příklad generování feedů, import dat od dodavatelů...)
Nakonec nám pomohlo:
- úprava robots.txt
- plugin od OPC ohledně session a CLI
- úprava cronů na verzi CLI
- úprava view
Co se týká vygenerování 403, nejsem si jistý jestli její generování je v pořádku.
Stavový kód 403 říká, že hledaná URL adresa sice opravdu existuje, žádost o přístup ze strany klienta ale nemůže být provedena
Podle mne se budou ti boti vracet a ty URL znovu zkoušet, protože UR přece existuje že? byť již asi nezahltí server.
Ale v GSC tyhle URL asi pořád budou.
Tohle bych si musel prozkoumat a otestovat ale možná zde přiběhnout lepší "zaručení" odborníci jak a co správně udělat.
Já bych se spíše přikláněl k názoru, že je třeba tyto URL označit že je roboti nemají prcházet a indexovat.
Nicméně již jen to že můj příspěvek povzbudí diskusi je super

A pozor!
Někdy chceme abychom dané URL mohli procházet i když je nechceme indexovat (interní odkazy, a také myslím že se jedná o odkazy paginace).
MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

moc díky moc za obsáhlý příspěvek.
Ta 403 byla způsobena tím, že jsem v prvním okamžiku zakázal Googlebotovi přístup na web pomocí htaccessu. Jakmile jsem zjistil, že jádro problému bylo to indexování atypických url a narychlo to upravil v robots.txt, tak jsem tomu robotovi zase přístup povolil.
Procházím si GSC a vypisuju si nežádoucí url adresy a ty se pak snažím eliminovat pomocí robots.txt.
Jak ale docílím toho, že mi zmizí z GSC? Stačí na to ta eliminace v robots.txt? Nebo jsem to pochopil blbě?

Leoš napsal: Ahoj Rudolfe,
moc díky moc za obsáhlý příspěvek.
Ta 403 byla způsobena tím, že jsem v prvním okamžiku zakázal Googlebotovi přístup na web pomocí htaccessu. Jakmile jsem zjistil, že jádro problému bylo to indexování atypických url a narychlo to upravil v robots.txt, tak jsem tomu robotovi zase přístup povolil.
Procházím si GSC a vypisuju si nežádoucí url adresy a ty se pak snažím eliminovat pomocí robots.txt.
Jak ale docílím toho, že mi zmizí z GSC? Stačí na to ta eliminace v robots.txt? Nebo jsem to pochopil blbě?
Stačí eliminace v robots.txt a ony časem zmizí
Nezapomenout na ty view a vložení do hlavičky direktivu noindex, nofollow nebo noindex, follow podle potřeby.
Nevím jestli do robots.txt jste schopen vložit všechny generované URL ze všech aplikací Joomla, tak to view je taková jistota.
MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla