
Japanse titels en een haantje in Google na een hack: zo los je het op
Mijn website petermartin.nl is gehackt en weer hersteld. Toch hebben sommige zoekresultaten in Google nog een Japanse titel. En naast alle zoekresultaten staat niet mijn eigen favicon, maar een rood icoontje met een witte haan.
Is de site dan opnieuw gehackt? (Spoiler: Nee. Google loopt gewoon achter).
Op 21 oktober schreef ik over twee kritieke beveiligingsupdates op één dag, net nadat ik al mijn websites had bijgewerkt. Een dag later ontdekte ik dat een van mijn websites toch was gehackt via het lek in YOOtheme Pro, slechts een paar uur voordat de beveiligingspatch beschikbaar kwam. In mijn vorige blog lees je hoe ik die site heb onderzocht en hersteld. Enkele dagen later bleek ook petermartin.nl gehackt te zijn. Uit analyse van de bestanden en de logbestanden bleek dat ook hier het lek in YOOtheme Pro de oorzaak was. Ook deze site heb ik hersteld en hij is weer schoon. Maar zoek je in Google met site:petermartin.nl, dan zie je nog steeds sporen van de hack.
In deze blog lees je waarom die Japanse zoekresultaten en het haantjes-icoon na een herstel nog weken blijven staan, en wat je kunt doen om het opschonen te versnellen. Ik gebruik daarbij de cijfers uit Search Console van mijn eigen site.
1. Wat je in Google ziet, is oud
Bij deze hack kregen alleen zoekmachines zoals Googlebot de Japanse spampagina's te zien. Als je de site zelf opende, zag je gewoon de normale website. Dat heet cloaking, en daardoor valt zo'n hack vaak pas op in de zoekresultaten of in Search Console. Google heeft die spampagina's in die periode opgeslagen in zijn index, met Japanse titels, prijzen en sterrenbeoordelingen.
Na het herstel serveert de server die spam niet meer. Maar Google past zijn index pas aan als het een URL opnieuw bezoekt. Tot dat moment toont Google wat het de laatste keer heeft gezien. Wat je in de zoekresultaten ziet, is dus een momentopname van de periode dat de hackers actief waren, niet de huidige toestand van je website.
1.1 Ook je echte pagina's kunnen een Japanse titel hebben
Dit had ik niet verwacht. In Google staan niet alleen nep-URL's met een Japanse titel, maar ook mijn eigen pagina's. Mijn disclaimer staat in Google als een aanbieding voor Japanse whisky, met 4,3 sterren uit 517 beoordelingen. Mijn pagina "Over mij" en de sitemap hebben ook een Japanse producttitel. Andere resultaten eindigen op 【公式通販】 - PETERMARTIN.NL, wat "officiële webwinkel" betekent. De spam gebruikt dus mijn eigen domeinnaam om betrouwbaar over te komen. Google zet er zelfs "Vertaal deze pagina" bij.
De verklaring: de spamcode onderschepte de bezoeken van Googlebot voordat Joomla de pagina kon tonen. Googlebot kreeg daardoor op elke URL spam te zien, ook op bestaande pagina's. Die echte pagina's bestaan nog steeds. Een 410 is daar dus geen oplossing. Google moet ze gewoon opnieuw crawlen en de echte inhoud zien.

1.2 Wat Search Console laat zien
Mijn site heeft een kleine 600 pagina's. De sitemaps bevatten 277 Engelse en 268 Nederlandse links. Toch telde Search Console op 4 november:
- 20.800 geïndexeerde pagina's, dus ruim dertig keer zo veel als de site echt heeft;
- 35.500 niet-geïndexeerde pagina's, waarvan 35.418 met de reden Gecrawld - momenteel niet geïndexeerd.
Bijna al die URL's zijn spam die Googlebot tijdens de hack heeft gevonden. Het verschil tussen het aantal geïndexeerde pagina's en het aantal pagina's in je sitemap is een goede maatstaf voor hoeveel spam er nog in Google zit.
Let ook op de datum rechtsboven in het rapport. Bij mij stond daar op 4 november nog "Laatste update: 23-10-2026". Het rapport loopt dus zelf ook bijna twee weken achter. De cijfers laten de situatie van vlak na het herstel zien, niet die van vandaag.

2. Het haantjes-icoon
Het rode icoon met de witte haan is het logo van Komeri (コメリ), een grote en bekende Japanse bouwmarktketen. Komeri heeft niets met de hack te maken en is net zo goed slachtoffer. De hackers gebruiken het logo omdat het vertrouwen wekt.
Het haantje staat niet alleen in de zoekresultaten. Ook in Search Console zelf staat het als icoon naast mijn property.
2.1 Waarom juist een bekend Japans logo?
Deze vorm van SEO-spam heet de Japanese keyword hack. De hackers maken duizenden Japanstalige spampagina's aan op jouw domein, meestal voor namaakproducten of nepwebwinkels. Ze richten zich op Google.co.jp en liften mee op de goede naam die jouw domein bij Google heeft opgebouwd.
Google toont de favicon naast elk zoekresultaat. Een Japanse gebruiker die een vertrouwd logo ziet, klikt eerder. Daarom staat de haan er.
2.2 Mijn eigen favicon was niet aangepast
Ik verwachtte dat de hackers mijn favicon.ico hadden vervangen. Dat bleek niet zo te zijn. Ik heb de favicons van de gehackte site vergeleken met een schone kopie: ze waren identiek. Ook stond er nergens op de server een Komeri-afbeelding of een verwijzing ernaar.
De meest waarschijnlijke verklaring zit in de cloaking. Googlebot kreeg niet mijn homepage te zien, maar spam-HTML die het script live ophaalde van de server van de aanvaller. In die HTML bepaal je zelf welke favicon je gebruikt. Google zag dan een homepage met het Komeri-logo als favicon, en heeft dat opgeslagen. Daarom was er op mijn server niets van terug te vinden.
Controleer bij een hack dus niet alleen of je favicon.ico is aangepast. Ook als dat bestand schoon is, kan Google een andere favicon hebben gezien.
2.3 Waarom de haan blijft staan
Google gebruikt één favicon per hostname. Daarom staat de haan niet alleen naast de spampagina's, maar ook naast je echte pagina's.
Google haalt de favicon niet bij elk bezoek opnieuw op. De favicon wordt bijgewerkt wanneer Google je homepage opnieuw crawlt en verwerkt. Volgens Google kan dat enkele dagen tot enkele weken duren. Pas als Google je schone homepage heeft gezien, verdwijnt de haan.
3. Waarom de spam-URL's niet in één keer weg zijn
In Search Console zag ik twee soorten spam-URL's:
- Paden, zoals
/product/19772966,/itemgoods/24373094en/shops/reviews/eu9cumxea6xv6je. Die bestaan niet in Joomla, dus Joomla geeft zelf al een404 Not Found. Daar hoef je niets voor te doen. - Querystrings op de homepage, zoals
/?z=fdad7bybnp2oc0j. Joomla negeert die querystrings en toont gewoon de homepage met status200. Voor Google bestaat de pagina dan nog steeds.
Voor die querystrings heb ik nginx zo ingesteld dat ze de HTTP-statuscode 410 Gone teruggeven:
# Spam-URL's van de hack: 410 Gone
if ($args ~* "^([a-z-]+/[0-9]{8,}|c=[a-z0-9]{10,}|z=[a-z0-9]{10,})$") { return 410; }
location ~* "^/(inx_sitemap\.xml|[a-z_-]*sub[a-z0-9_-]*\.xml)$" { return 410; }
De patronen verschillen per site. Op de site uit mijn vorige blog gebruikte de spam alleen c=, op petermartin.nl kwam daar z= bij. Pas de patronen dus aan op wat jij in je eigen logbestanden en in Search Console ziet, en controleer dat je echte URL's er niet onder vallen.
Een 404 of een 410: voor Google maakt het weinig uit. Volgens de documentatie van Google worden alle 4xx-statuscodes, behalve 429, hetzelfde behandeld: de pagina bestaat niet en wordt uit de index gehaald. Ik gebruik voor de querystrings toch een 410, omdat die het duidelijkst zegt dat de pagina bewust is verwijderd. Belangrijk is vooral dat het geen 200 is.
Maar Google moet elke spam-URL wel eerst zelf opnieuw bezoeken om die 404 of 410 te zien. Bij tienduizenden URL's gebeurt dat niet op één dag. Google verdeelt het crawlen over dagen en weken, zodat je server niet overbelast raakt. Elke keer dat Googlebot een spam-URL bezoekt en een 404 of 410 krijgt, verdwijnt die URL uit de index. Het aantal Japanse resultaten wordt dus geleidelijk kleiner.
Blokkeer de spam-URL's daarom niet via robots.txt. Dan kan Google ze niet meer bezoeken, ziet het de 404 of 410 nooit, en blijven ze juist langer staan.
4. Zo versnel je het herstel
Grotendeels is het wachten tot Google je site opnieuw heeft gecrawld. Met deze stappen in Google Search Console controleer je of je herstel echt gelukt is, en duw je Google een beetje in de goede richting.
4.1 Controleer wat Google nu echt ziet
Bij cloaking kun je niet afgaan op wat jij in je browser ziet. De hack liet gewone bezoekers immers ook de normale site zien. Gebruik daarom de URL-inspectie in Search Console:
- Ga naar URL-inspectie en voer een URL in die in Google nog een Japanse titel toont.
- Klik op Live URL testen.
- Bekijk de opgehaalde HTML en de statuscode.
Bij de live test haalt Google de pagina direct op als Googlebot. Zie je bij een spam-URL de status 404 of 410, of bij een echte pagina je eigen schone HTML? Dan serveert je server geen spam meer aan Google, en kijk je in de zoekresultaten alleen nog naar oude gegevens. Zie je toch Japanse tekst, dan is je site nog niet schoon.
4.2 Controleer de favicon en vraag indexering aan
De favicon en de belangrijkste titel en beschrijving van je site horen bij je homepage. Controleer daarom eerst welke favicon Googlebot nu op je homepage krijgt.
Kijk daarvoor niet in de broncode in je browser. Bij cloaking krijgt jouw browser altijd de normale site, met je eigen favicon, ook als de site nog gehackt is. Ook een controle met curl en de user-agent van Googlebot is niet genoeg: spamcode kan ook naar het IP-adres kijken. Alleen de live test in Search Console haalt de pagina op vanaf de servers van Google, en laat zien wat Googlebot echt krijgt:
- Ga naar URL-inspectie en voer je homepage in, bijvoorbeeld
https://jouwdomein.nl/. - Klik op Live URL testen.
- Klik op Geteste pagina bekijken. Rechts opent een paneel met de tabbladen HTML, Screenshot en Meer informatie.
- Zoek in het tabblad HTML naar
icon.
Bij petermartin.nl ziet dat er nu zo uit:
<link href="/images/brand/favicon.png" rel="icon" sizes="any">
<link href="/images/brand/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/images/brand/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/favicon.ico" rel="icon" type="image/vnd.microsoft.icon">
Alle regels verwijzen naar mijn eigen bestanden. De haan komt dus alleen nog uit het geheugen van Google, en verdwijnt zodra Google de homepage opnieuw heeft verwerkt.
Zie je een verwijzing naar een bestand dat je niet kent, of naar een ander domein, dan krijgt Googlebot nog steeds andere HTML dan jij. Dan is je site nog niet schoon. Meestal zie je in dezelfde HTML dan ook Japanse tekst.
Klopt alles, klik dan op Indexering aanvragen. Daarmee vraag je Google om de homepage opnieuw te crawlen. Dat is ook de manier die Google zelf noemt om een gewijzigde favicon sneller op te laten pikken. Het is een verzoek, geen garantie: Google bepaalt zelf wanneer het langskomt.
Doe hetzelfde voor je belangrijkste echte pagina's die in Google nog een Japanse titel hebben, zoals bij mij de disclaimer en "Over mij". Die pagina's verdwijnen niet vanzelf met een 404 of 410, want ze bestaan gewoon. Ze worden pas weer goed getoond als Google ze opnieuw heeft gecrawld.
Zet je na de hack een nieuwe favicon neer, houd dan rekening met de eisen van Google:
- De favicon is vierkant en minimaal 8 × 8 pixels. Google adviseert groter dan 48 × 48 pixels.
- Het bestand geeft status
200en de URL blijft gelijk. - De homepage is niet geblokkeerd voor Googlebot, en het favicon-bestand niet voor Googlebot-Image, bijvoorbeeld via
robots.txt. - Google gebruikt één favicon per hostname. Je kunt dus geen aparte favicon per pagina laten tonen.
4.3 Verberg de spam tijdelijk met de Verwijderingen-tool
Je kunt niet voor duizenden spam-URL's los een verwijdering aanvragen. Dat hoeft ook niet. In de tool Verwijderingen kun je bij een tijdelijke verwijdering kiezen voor Alle URL's met dit voorvoegsel verwijderen. Voor spampaden kan dat per map, zoals https://jouwdomein.nl/product/ of https://jouwdomein.nl/shops/, als je site zelf geen pagina's met dat begin heeft.
Voor querystrings werkt dit niet. Ik probeerde het voorvoegsel https://petermartin.nl/?z= toe te voegen. Search Console waarschuwde toen dat mijn hele domein zes maanden niet zichtbaar zou zijn in Google. Search Console negeert kennelijk het vraagteken en alles wat erna komt. Dan blijft https://petermartin.nl/ over, en dat is de hele site. Voor de querystring-URL's moet je het dus van de 410 hebben.
Drie dingen om op te letten:
- Lees de bevestiging in Search Console goed voordat je een verwijdering indient. Staat daar dat je hele site wordt verborgen, breek dan af.
- Een tijdelijke verwijdering verbergt de URL's ongeveer zes maanden, maar haalt ze niet uit de index. Daarvoor heb je de 404 of 410 nodig. Gebruik de twee samen.
- Vraag nooit een verwijdering aan voor je homepage of andere echte pagina's, ook niet als ze nog een Japanse titel hebben. Dan verberg je juist de pagina's die je wilt laten zien. Controleer dus goed dat je voorvoegsel alleen spam-URL's raakt.
4.4 Houd bij wat er nog over is
Een gewone site:-zoekopdracht laat niet alle spam zien. Zoek daarom ook op Japanse woorden die vaak in deze spam voorkomen, zoals 通販 (postorder, webwinkel) en 日本 (Japan). Bij mij stond 通販 in veel titels, als onderdeel van 公式通販 (officiële webwinkel):
site:jouwdomein.nl 通販
site:jouwdomein.nl 日本
Ook dit geeft geen volledige lijst. Kijk daarom ook in Search Console bij Pagina-indexering. Vergelijk het aantal geïndexeerde pagina's met het aantal URL's in je sitemap. Bij mij is dat nu 20.800 tegen ongeveer 550. Controleer het elke week: het verschil moet geleidelijk kleiner worden. Kijk daarbij steeds naar de datum van de laatste update van het rapport.
De andere controles in Search Console, zoals onbekende eigenaren, onbekende sitemaps en handmatige acties, staan in mijn vorige blog bij stap 5.6.
5. Geduld
Het is frustrerend om na al het werk nog steeds Japanse titels en een haan naast je website te zien staan. Maar als de live test in Search Console schone HTML of een 404 of 410 laat zien, heb je technisch alles goed gedaan. De rest is wachten op Google. Reken op twee tot acht weken voordat de zoekresultaten weer helemaal kloppen. Ik houd de cijfers van mijn eigen site bij en vul deze blog aan zodra de haan verdwenen is.
6. Bronnen
- Google Search Central: Define a favicon to show in search results
- Google Search Central: How HTTP status codes, and network and DNS errors affect Google Search
- Google Search Central: Large site owner's guide to managing your crawl budget
- Search Console Help: Removals and SafeSearch reports tool
- web.dev: Fixing the Japanese keyword hack

Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.









