Menü
Telefonszám
Kapcsolat
Technikai SEO: robotlátogatások kitiltása

2020. augusztus 27, csütörtök 21:25

Technikai SEO: oldal betöltési sebesség növelése a link feltérképező robotok kitiltásával

Az oldal betöltődési sebesség nem csak a Google rangsorolás miatt fontos. A felhasználók hozzászoktak a gyorsasághoz. Ha 3mp alatt nem tölt be a weboldal, klikk a vissza gombra. Nagyon sok ponton lehet optimalizálni az oldal betöltődési sebességét. Most egy olyat ismerhet meg, amire kevesen gondolnak: robotlátogatások visszaszorítása. Botrány, amit az orosz / kínai / amerikai robotok végeznek. Akár 80% is lehet a robotlátogatások aránya

A weboldal betöltődési sebessége elsősorban a szerver terheltségétől függ. De erős, gyors szervert is könnyen megfektethet a rossz webprogramozás. Főleg a hanyag adatbáziskezelés. Gyengén vagy rosszul indexelt táblák lekérdezése rettentően lassú. Borzalmas élményt nyújt a felhasználóknak.

A Wordpress weboldalak sem menekülnek könnyen. A plugin-ek gyakran összeakadnak, rengeteg felesleges lekérdezést futtatnak. Egyetlen oldalbetöltéshez gyakran 100+ adatbázis lekérdezés történik, elég megnézni a szervernaplót. Ezért van egyre több és jobb cache (gyorsítótár) modul, ami igazából csak a második megtekintéstől teszi gyorsabbá a weboldalakat. Főleg statikus tartalomnál élvezhető előnyt nyújt.

Képek tömörítése, optimalizálása is nagy segítség, a DOM struktúra optimalizálása (pl aszinkron szkriptek használatával) is segít a gyors oldalbetöltésben.

Ezek is fontos tényezők, de van egy ennél még érdekesebb lehetőség: a szerver terhelés csökkentése, mégpedig a robotlátogatások visszaszorításával.

Szerver terhelés: 1 óra alatt hány oldalbetöltés történik. Minél több látogatót kell kiszolgálni, értelemszerűen annál lassabb az oldalbetöltés. Itt a probléma: a robotlátogatások belassíthatják a szervert

Nagyon népszerű téma a SEO, főleg a linképítés. Ma már számtalan webapp létezik, ami a linkek feltérképezését szolgálja. Idehaza a Moz (a keresőoptimalizálás hőskorában SEOMOZ néven futott, de erre ki emlékszik már, ugye?) és talán az Ahrefs (legnagyobb adatbázis) a leginkább ismert. Azonban a szervernaplóból könnyen kiderül, hogy a teljes forgalom 30-60 százalékát is kitehetik a robotlátogatások.

Általánban a szerveren a /var/log/apache2 mappában érdemes megnézni a naplófájlokat. Valami botrány, amit benne találunk: robotok százai zabálják az erőforrást. Yandex, Megaindex, Petalbot, Blexbot... Ezek az orosz, kínai, amerikai robotok egy-egy látogató elől veszik el az erőforrást

Elvileg pont az ilyen durva terhelések miatt találták ki a robots.txt rendszerét. Ez egy szöveges fálj a szerver főkönyvtárában, ami a robotok viselkedését irányítja. Itt meg lehet adni, hogy milyen robotokat engedünk be és tiltunk ki a weboldalunkról.

Robotok kitiltása a robots.txt-vel... Hoppá, nem működik a gyakorlatban: a robots.txt tartalmát gyakran figyelmen kívül hagyják a link feltérképező robotok

A Googlebot figyelembe veszi a robots.txt tartalmát, de sajnos az ilyen orosz-kínai link feltérképező robotok csak röhögnek ezen egy jót. Kipróbáltam: a teljes indexből való kitiltás után pont ugyanannyi robotlátogatást rögzített a szervernapló.

Normál esetben így működik a robots.txt:

User-agent: {robot neve}
Allow: {engedélyezett oldalcím}
Disallow: {letiltott oldalcím}

Például:

User-agent: *
Allow: /
Disallow: /admin

Ez a kód minden robotnak (user-agent: *) engedi a teljes hozzáférést (allow: /) a weboldalhoz, kivéve a /admin kezdetű webcímeket.

Ezzel a módszerrel elvileg ki lehet tiltani például a MegaIndex orosz linkfeltérképező robotot:

User-agent: MegaIndex
Disallow: /

Elindulhat a vadászat a rosszindulatú robotok után. Hamarosan kapunk egy szép listát és már több száz soros lesz a robots.txt. Valami ilyesmi (kivonat):

User-agent: *
Allow: /
Disallow: /admin

User-agent: SemrushBot
Disallow: /

User-agent: AhrefsBot
Disallow: /

User-agent: DotBot
Disallow: /

User-agent: MJ12bot
Disallow: /

User-agent: spbot
Disallow: /

User-agent: SeznamBot
Disallow: /

User-agent: Yandex
Disallow: /

User-agent: YandexBot
Disallow: /

User-agent: DeuSu
Disallow: /

User-agent: Qwantify
Disallow: /

Robotlálátogatások kitiltása erővel: a robotok által használt böngésző típusok egyezését vizsgálja egy rövid PHP szkript. Ha robotlátogatást érzékel, azonnal megszakítja a program futtatását

Nem kell hozzá sok PHP ismeret, hogy egy rövid szkript megírása felszabadítsa a szervert a robotlátogatások terhe alól. Az elv egyszerű:

  1. egy tömbbe gyűjtsük össze robotokhoz tartozó User-Agent értéket.
  2. gyorsan fussunk végig minden oldalbetöltéskor ezen a tömbön
  3. egyezésél azonnal szakítsa meg a program futtatását

Ez nagyon jól működik keretrendszereknél. Például Wordpress is ilyen, az index.php fálj elejére gond nélkül be lehet illeszteni ezt a szkriptet.

A SEOzseni saját szkriptje így néz ki (kivonat, a robotok listáját csökkentettem az olvashatóság miatt):

<?php
#
# Disable Bad Robots
#
$ua=array(   
    'SemrushBot', // Ez a SemRush robotja
    'AhrefsBot', // Ez az Ahrefs robotja
    'DotBot', // Ez a MOZ robotja
    'MJ12bot',
    'spbot',
    'SeznamBot',
    'Yandex',
    'DeuSu',
    'SiteExplorer',
    'BUbiNG',
    'BLEXBot',
    'ExtLinksBot',
    'alphabot',
    'rogerbot',   
    'Qwantify',
    'MegaIndex'
);

foreach ($ua as $u) {
    if (strpos($_SERVER['HTTP_USER_AGENT'],$u)!==false) {
        header("HTTP/1.1 403 Forbidden");   
        die();
    }
}

Mejgegyzés fejlesztőknek:
#1) a strpos() funkció betűérzékeny, de jóval gyorsabb mint a stripos(), ami ennek a betűérzéketlen megfelelője. Gyakran használják még a strstr() funkciót is - de mind közül az a leglassabb, mellőzni. Figyelni kell a PHP automatikus típus meghatározására is, mert a strpos() nulla értékkel tér vissza, ha a sztring a keresett adattal kezdődik. A nulla pedig nem egyenlő a false értékkel, ezért kell a három egyenlőségjel - jelen esetben pontos típusegyezés miatt !== jelet használni az IF-ben.
#2) Brutál megoldás minden bot kitiltása, kivéve a Googlebot. Ez is egyszerű, egyetlen sor: if (strpos($_SERVER['HTTP_USER_AGENT'],'oogle')===false && (strpos($_SERVER['HTTP_USER_AGENT'],'bot')!==false || strpos($_SERVER['HTTP_USER_AGENT'],'crawler')!==false)) {die();} - itt a google helyett csak "oogle" van, mert az AdSense-hez a Google "Mediapartners-Google" User-Agentet használ, a strpos pedig betűérzékeny. A logikai operátorok miatt fontos, hogy a második OR teljes egészében zárójelben legyen és ennek az eredményét vesse össze az AND-del.

A SEOzseni hálózata is kitiltja a robotokat. Köztük a MOZ és AHREFS robotjait is - itt az ügyfelek védelme a cél. A MOZ jellemzően jóval alacsonyabb DA értékétet mutat a teljes hálózatban, mert hozzá sem fér a linkekhez. Gondoljon bele - vajon Ön szeretné, ha az összes konkurense a MOZ lekérdezésével megtudhatja, hogyan kell lemásolni az első hely sikerének (egyik) titkát? Ugyan, dehogy! Inkább mutasson kevesebb DA értéket több száz domainhez, mert ez amúgy sem rangsorolási faktor

Ezt a trükköt akkor érdemes használni, amikor a kíváncsi szemek elől szeretnénk elrejteni a weboldalunk linkprofilját - és rendelkezünk elég nagy saját hálózattal. Nekünk nincs ráhatásunk például a Startlap rendszerére. Egy link feltérképező robot gyorsan indexeli a Startlapot és rögtön megmondja, hogy a konkurensek hova regisztráltak.

SEOzseni Linkkatalógus kereső funkció

A SEOzseni Linkkatalógus kereső funkciója még azt is megmondja, hogy melyik dobozba regisztráltak a konkurensek. Éppen az ilyen jellegű kíváncsiskodók elől van elrejtve az egész hálózat

Ez is csak akkor működhet, ha saját magunk fejlesztjük a saját hálózatunkat. Bérelt webáruházak esetén nem működik.

2000 óta foglalkozom PHP fejlesztéssel, ezért szívesen segítek a független programozóknak. Most szeptemberben lesz épp 20 éve

Címkék: MOZ DA

Tetszett a cikk? Szeretne hasonló keresőoptimalizálás és linképítés tippeket?

A Google rangsorolási algoritmusa évente 500 alkalommal változik. Vigyázzon, ha nem frissíti tusádát, elavulnak SEO módszerei és lerontja a kemény munkával megszerzett helyezést. Legyen naprakész és értesüljön a legújabb keresőoptimalizálás tippekről. Iratkozzon fel a blog értesítőre és kap egy e-mailt, amikor hasonló cikk érkezik. Ne felejde el felvenni közösségi kedvencei közé a SEOzseni oldalát:


Okos vásárlás: küldhetnek nekem akciós SEO ajánlatokat (max. havi 1x) IGEN, értesítést kérek
az új SEO módszerekről

Számít az Ön véleménye! Szóljon hozzá a témához:

*Név:
*Hozzászólás:

--
A közismert keresőoptimalizálás és linképítés technikák szakszerű alkalmazásával weboldala jobbá, értékesebbé válhat. A weboldala minőségi továbbfejlesztésével elnyerheti méltó helyét a Google kereső élmezőnyében. Ebben segít Önnek a SEOzseni. Köszönöm figyelmét, tisztelettel:

Verdes János
Verdes János
Keresőoptimalizálás (SEO) szakértő, a SEOzseni szerzője

.u.i.: évente 500 alkalommal változik a Google rangsorolási algoritmus. Maradjon naprakész: nehogy elveszítse a nehezen megszerzett helyezést. Értesüljön elsők között a működő SEO módszerekről a SEOzseni a közösségi csatornáin:

© 2005 - 2020 seozseni.hu | Az oldalon található anyagok kizárólag a szerző hozzájárulásával és a forrás megjelölésével használhatóak fel.