Az index-szennyezés az az állapot, amikor a Google indexében olyan aloldalak szerepelnek a domainedről, amelyeket sosem te hoztál létre. Jellemzően gyógyszer-, kaszinó-, replikatermék- vagy hirtelen feltűnő idegen nyelvű oldalak, amiket egy feltörés tett a szerverre.
Hogyan kerülnek be az indexbe
A támadó egy elavult bővítményen vagy gyenge admin-jelszón keresztül jut be. Feltölt egy generátor-szkriptet, ami több száz vagy több ezer aloldalt szolgál ki. Ezekre spam-hálózatokból linkeket szereznek, a Googlebot pedig feltérképezi és indexeli őket. A mögöttes támadástípus a SEO-spam feltörés.
Miért nem veszed észre hónapokig
A spam-kód szinte mindig elrejtőzik a látogató elől. User-agent vagy hivatkozó alapján dönti el, kinek mit ad. Te a böngésződben a normál kezdőlapot látod, a keresőrobot viszont a gyógyszerlistát kapja. Ezért a "nálam minden rendben van" nem bizonyít semmit.
Mit jelent ez a keresőnek és az AI-nak
A domain tematikája szétesik. Egy ügyvédi iroda vagy egy bútorbolt hirtelen kaszinós lekérdezésekre is megjelenik, ezért a kereső nem tudja eldönteni, milyen entitás vagy. Ez rontja az AI-értelmezhetőséget is: a modell ellentmondásos jeleket kap a márkáról. Súlyosabb esetben manuális intézkedés, Safe Browsing-figyelmeztetés vagy teljes kiesés a találatokból.
Röviden: ha idegen témájú oldalak vannak a domainod indexében, akkor nem SEO-problémád van, hanem biztonsági incidensed.
Technikai példa
Így deríted ki, hogy a szerver mást ad a keresőrobotnak, mint neked. Ha a második parancs talál valamit, az első pedig nem, akkor cloaking-alapú index-szennyezés van az oldalon.
# normál látogatóként
curl -s -A "Mozilla/5.0" https://pelda.hu/ | grep -icE "casino|viagra|replica"
# keresőrobotként
curl -s -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" \
https://pelda.hu/ | grep -icE "casino|viagra|replica"
A takarítás után a törölt spam-URL-ek ne 200-as, hanem 410-es választ adjanak. A 410 (Gone) gyorsabban kivezeti őket az indexből, mint a 404.
HTTP/1.1 410 Gone
Content-Type: text/html; charset=utf-8
X-Robots-Tag: noindex
Nginxben ez egy prefix-szabállyal is megoldható, ha a spam-oldalak közös könyvtárban voltak:
location ^~ /wp-content/uploads/cache/ { return 410; }
Gyakori kérdések
Honnan tudom, hogy feltörték az oldalt, ha semmi furcsát nem látok rajta?
A spam-kód általában csak a keresőrobotnak mutatja magát, a látogatónak nem. Ezért a site:domained.hu keresés és a Search Console indexelési jelentése többet mond, mint a saját böngésződ. Kérd le az oldalt Googlebot user-agenttel is, és hasonlítsd össze a két választ.
Elég, ha a Search Console-ban töröltetem a spam-oldalakat?
Nem. Az eltávolító eszköz körülbelül 6 hónapra elrejti az URL-t a találatokból, de a fájlt nem törli a szerverről. Ha a hátsóajtó megmarad, a spam visszakerül az indexbe. Előbb takaríts, utána kérj eltávolítást.
Mennyi idő alatt tűnnek el a spam-oldalak a Google-ból?
Az eltávolítás-kérés néhány óra alatt hat. A tényleges kiindexelés a feltérképezés ütemétől függ, ez pár naptól több hétig tart. Néhány ezer URL esetén számolj egy-két hónappal, amíg a site: találatszám visszaáll.
Visszajön a régi rangsorom takarítás után?
Általában igen, ha gyorsan reagálsz és nem kaptál manuális intézkedést. A felépülés jellemzően néhány hét. Ha volt manuális intézkedés, akkor a felülvizsgálati kérelem jóváhagyása után indul a visszaállás.
Shopify vagy Unas oldalon is előfordulhat index-szennyezés?
A platform magja jóval nehezebben törhető, mert nem futtatsz saját szerverkódot. A gyakori forrás ilyenkor egy aldomain vagy a domain alatt hagyott régi WordPress. Mindig a teljes domaint és az aldomaineket ellenőrizd, ne csak a webshopot.