John Mueller ukrył robots.txt w pliku audio

audio

Branży SEO postaci Johna Muellera nie trzeba nikomu przedstawiać. Chyba każdy wie, że John ma dosyć niecodzienne podejście do pliku robots.txt. Kiedyś całkiem dużą sensację wzbudziło ustawienie disallow: /robots.txt oraz wielkość pliku robots.txt. John Mueller napisał obszerne wytłumaczenie na LinkedIn ale to już stary temat.

Raz na jakiś czas sprawdzam sobie plik robots na stronie Johna Mullera, bo można się nieco zdziwić. Rano, środa, 14.08.2024 wchodzę pod adres johnmu.com/robots.txt by zobaczyć czy coś się zmieniło i o dziwo nic – plik mi się nie wyświetlił. Wchodzę ponownie i dopiero za drugim razem zauważyłem, że pobrało mi plik w formacie *.wav. Mówię sobie niemożliwe, odpalam go i słyszę robots w formacie audio 🤯 (korzystam z firefox, na chrome odtwarza w przeglądarce).

Pomyślałem więc, że sprawdzę czy Google Search Console może czytać, a nawet robić transkrypcję audio. Plik który mi pobrało wrzuciłem na swoją stronę. Linijka kodu w .htaccess żeby umożliwić taką magię jaką zrobił John u siebie

RewriteRule ^robots\.txt$ robots.wav [L,R=301]

Profilaktyczne czyszczenie cache i prośba w GSC o przeskanowanie nowego pliku robots.txt. Ku mojemu zdziwieniu, patrzę i nie dowierzam. Widzę linijki z pliku robots, które John czytał! Chociaż moją uwagę zwróciła ostatnia linijka. Zaintrygowany edytowałem plik audio w Notepad++ (swoją drogą najlepszy notatnik!) i okazuje się, że John Mueller dodatkowo wykorzystał technikę steganografii (wikipedia), czyli ukrywanie informacji w innym pliku i stąd ta różnica między tym co słychać na nagraniu, a zawartością w GSC.

Transkrypcja pliku robots.txtUkryty robots.txt w pliku audio
#enjoy

Sitemap: https://johnmu.com/sitemap.xml

User-agent: Googlebot
User-agent: Bingbot
User-agent: DuckDuckBot
User-agent: Slurp
Disallow: /robots.txt
Disallow: /nofollow/

User-agent: SemrushBot
Disallow: /

User-agent: DotBot
Disallow: /

User-agent: Quantify
Disallow: /

User-agent: ZoomInfoRobot
Disallow: /

User-agent: Voltron
Disallow: /

User-agent: AhrefsBot
Disallow: /

User-agent: *
Disallow: /
Disallow: /comment/feed
Disallow: /robots.txt
Disallow: /nofollow
Disallow: /TB
Disallow: /coffeetime
Disallow: /GoogleHoney

#this was a real robots.txt file, thank you and goodbye
#enjoy

sitemap: https://johnmu.com/sitemap.xml

user-agent: Googlebot
user-agent: Bingbot
user-agent: DuckDuckBot
user-agent: slurp
disallow: /robots.txt
disallow: /nofollow/

user-agent: semrushbot
disallow: /

user-agent: dotbot
disallow: /

user-agent: qwantify
disallow: /

user-agent: zoominfobot
disallow: /

user-agent: voltron
disallow: /

user-agent: ahrefsbot
disallow: /

user-agent: *
disallow: /
disallow: /comments/feed/
disallow: /robots.txt
disallow: /nofollow/
disallow: /tb
disallow: /coffeetime/
disallow: /googlehoney/

#lolabaotoudenebolassterilizes

Teza że GSC może robić transkrypcje: OBALONE! ale to nie wszystko 🙂

Próbowałem także sprawdzić, czy GSC może interpretować kod JavaScript umieszczony w robots.txt i uruchamiać go w kontekście XSS. Spreparowałem plik robots.txt tak, aby zawierał kod JavaScript otwierający okno dialogowe (alert). Po przesłaniu go do Google Search Console i nie zobaczyłem żadnej interakcji (tego oczekiwałem) ale co ciekawe, mimo że plik faktycznie zawierał treść, GSC zwróciło pusty wynik. To jedynie potwierdza, że GSC traktuje robots.txt jako czysty plik tekstowy i nie renderuje go w sposób umożliwiający wykonanie skryptów. Moja hipoteza jest taka, że narzędzie Google nie parsuje robots.txt jak przeglądarka, a zamiast tego pobiera go w surowej formie i prezentuje użytkownikowi jak notatnik.

Gdyby ktoś próbował się pobawić w ukrywanie tekstu czy plików, to możliwości jest kilka, np.:

  • Start -> CMD -> echo tekst do ukrycia >> robots.wav
  • Programem DeepSound do znalezienia na githubie: https://github.com/Jpinsoft/DeepSound

Na zakończenie warto podkreślić, że to co zrobił John, jest doskonałym przykładem nieszablonowego myślenia w SEO. Lubię kreatywne testy, ale nie wpadłem na to, by zamienić plik tekstowy na audio i jeszcze ukryć w nim komendy robots!

Panie John chapeau bas, czekam z niecierpliwością na kolejne testy!

Jestem też podekscytowany faktem, że nikt przede mną tego nie upublicznił! Guglowałem ale nie znalazłem o tym wzmianki 🙂

Pozdrawiam

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *