Nie zarzynajmy serwera ESCPartners!
Bardzo modne stało się ostatnio stawianie sklepów w ramach programu partnerskiego ESCPartners i dołączanie ich do systemów wymiany linków celem szybkiego pozyskiwania sporej ilości punktów, które można później przeznaczyć na “zakup” linków pozycjonujących (zaplecze seo pod systemy). Dodatkowo, sklepy pozwalają osiągać niekiedy przyzwoite dochody (przetestowałem
), co tym bardziej zachęca do pobrania skryptu i “wrzucenia na serwer”. Skrypt jest prosty w konfiguracji i umożliwia otworzenie własnego sklepu w ciągu kilku, góra kilkunastu minut.
Niestety, masowość wykorzystywania tych sklepów przez polskich pozycjonerów do tworzenia zaplecza spowodowała pewne reperkusje. Skrypt sklepu, przy każdej odsłonie podstrony, łączy się wielokrotnie z serwerem ESCPartners wysyłając i pobierając mnóstwo danych. Pewnie Twórcy nie przewidzieli tak dużego sukcesu i źle dobrali wydajność swojego serwera, bo sklepy ostatnio radykalnie zwolniły.
Zmniejszenie ilości połączeń do serwera ESCPartners
Powstało już kilka pomysłów optymalizacji skryptu tak, aby przyspieszyć ich działanie i ograniczyć transfer generowany przez sklep.
Jednym z pierwszych pomysłów było keszowanie pobieranych za każdym razem danych, potrzebnych do tworzenia menu. Wprowadziłem już tę modyfikację (trochę inaczej to rozwiązując). Wkrótce zabiorą się też za keszowanie informacji o danym produkcie.
Idąc tym tropem, zmodyfikowałem także w swoich sklepach, kod w pliku cart.php , eliminując przez to kolejne niepotrzebne połączenia z serwerem zewnętrznym podczas indeksowania sklepu przez boty wyszukiwarek. Proponuję, aby inni partnerzy tego programu partnerskiego też zmodyfikowali ten plik, co pewnie trochę odciąży serwer ESCPartners i mam nadzieję wpłynie na zwiększenie szybkości sklepów.
Ponieważ boty wyszukiwarek nie robią zakupów, więc nie ma sensu przechowywania ich koszyka na zewnętrznym serwerze
Potrafią jednak niekiedy nieźle “pohasać” (niekiedy Googlebot zasysa w ciągu doby kilkaset a nawet kilka tysięcy podstron sklepu).
Proponuję zatem otworzyć w edytorze plik include/cart.php i zamienić:
na:
“szukacz”,
“webspider”,
“onet”,
“inktomi”,
“optimus”,
“netsprint”,
“winhttprequest”,
“antibot”,
“appie”,
“architext”,
“bjaaland”,
“digout4u”,
“echo”,
“fast-webcrawler”,
“ferret”,
“googlebot”,
“mediapartners”,
“mediapartners-google”,
“gulliver”,
“harvest”,
“htdig”,
“ia_archiver”,
“jeeves”,
“jennybot”,
“linkwalker”,
“lycos”,
“mercator”,
“moget”,
“muscatferret”,
“myweb”,
“netcraft”,
“nomad”,
“petersnews”,
“scooter”,
“slurp”,
“unlost_web_crawler”,
“voila”,
“voyager”,
“webbase”,
“weblayers”,
“wget”,
“wisenutbot”,
“acme.spider”,
“ahoythehomepagefinder”,
“alkaline”,
“arachnophilia”,
“aretha”,
“ariadne”,
“arks”,
“aspider”,
“atn.txt”,
“atomz”,
“auresys”,
“backrub”,
“bigbrother”,
“blackwidow”,
“blindekuh”,
“bloodhound”,
“brightnet”,
“bspider”,
“cactvschemistryspider”,
“cassandra”,
“cgireader”,
“checkbot”,
“churl”,
“cmc”,
“collective”,
“combine”,
“conceptbot”,
“coolbot”,
“core”,
“cosmos”,
“cruiser”,
“cusco”,
“cyberspyder”,
“deweb”,
“dienstspider”,
“digger”,
“diibot”,
“directhit”,
“dnabot”,
“download_express”,
“dragonbot”,
“dwcp”,
“e-collector”,
“ebiness”,
“eit”,
“elfinbot”,
“emacs”,
“emcspider”,
“esther”,
“evliyacelebi”,
“nzexplorer”,
“fdse”,
“felix”,
“fetchrover”,
“fido”,
“finnish”,
“fireball”,
“fouineur”,
“francoroute”,
“freecrawl”,
“funnelweb”,
“gama”,
“gazz”,
“gcreep”,
“getbot”,
“geturl”,
“golem”,
“grapnel”,
“griffon”,
“gromit”,
“hambot”,
“havindex”,
“hometown”,
“htmlgobble”,
“hyperdecontextualizer”,
“iajabot”,
“ibm”,
“iconoclast”,
“ilse”,
“imagelock”,
“incywincy”,
“informant”,
“infoseek”,
“infoseeksidewinder”,
“infospider”,
“inspectorwww”,
“intelliagent”,
“irobot”,
“iron33″,
“israelisearch”,
“javabee”,
“jbot”,
“jcrawler”,
“jobo”,
“jobot”,
“joebot”,
“jubii”,
“jumpstation”,
“katipo”,
“kdd”,
“kilroy”,
“ko_yappo_robot”,
“labelgrabber.txt”,
“larbin”,
“legs”,
“linkidator”,
“linkscan”,
“lockon”,
“logo_gif”,
“macworm”,
“magpie”,
“marvin”,
“mattie”,
“mediafox”,
“merzscope”,
“meshexplorer”,
“mindcrawler”,
“momspider”,
“monster”,
“motor”,
“msnbot”,
“live.com”,
“slurp”,
“mwdsearch”,
“netcarta”,
“netmechanic”,
“netscoop”,
“newscan-online”,
“nhse”,
“northstar”,
“occam”,
“octopus”,
“openfind”,
“orb_search”,
“packrat”,
“pageboy”,
“parasite”,
“patric”,
“pegasus”,
“perignator”,
“perlcrawler”,
“phantom”,
“piltdownman”,
“pimptrain”,
“pioneer”,
“pitkow”,
“pjspider”,
“pka”,
“plumtreewebaccessor”,
“poppi”,
“portalb”,
“puu”,
“python”,
“raven”,
“rbse”,
“resumerobot”,
“rhcs”,
“roadrunner”,
“robbie”,
“robi”,
“robofox”,
“robozilla”,
“roverbot”,
“rules”,
“safetynetrobot”,
“search_au”,
“searchprocess”,
“senrigan”,
“sgscout”,
“shaggy”,
“shaihulud”,
“sift”,
“simbot”,
“site-valet”,
“sitegrabber”,
“sitetech”,
“slcrawler”,
“smartspider”,
“snooper”,
“solbot”,
“spanner”,
“speedy”,
“spider_monkey”,
“spiderbot”,
“spiderline”,
“spiderman”,
“spiderview”,
“spry”,
“ssearcher”,
“suke”,
“suntek”,
“sven”,
“tach_bw”,
“tarantula”,
“tarspider”,
“techbot”,
“templeton”,
“teoma_agent1″,
“titin”,
“titan”,
“tkwww”,
“tlspider”,
“ucsd”,
“udmsearch”,
“urlck”,
“valkyrie”,
“victoria”,
“visionsearch”,
“vwbot”,
“w3index”,
“w3m2″,
“wallpaper”,
“wanderer”,
“wapspider”,
“webbandit”,
“webcatcher”,
“webcopy”,
“webfetcher”,
“webfoot”,
“weblinker”,
“webmirror”,
“webmoose”,
“webquest”,
“webreader”,
“webreaper”,
“websnarf”,
“webspider”,
“webvac”,
“webwalk”,
“webwalker”,
“webwatch”,
“whatuseek”,
“whowhere”,
“wired-digital”,
“wmir”,
“wolp”,
“wombat”,
“worm”,
“wwwc”,
“wz101″,
“xget”,
“awbot”,
“bobby”,
“boris”,
“bumblebee”,
“cscrawler”,
“daviesbot”,
“ezresult”,
“gigabot”,
“gnodspider”,
“internetseer”,
“justview”,
“linkbot”,
“linkchecker”,
“nederland.zoek”,
“perman”,
“pompos”,
“psbot”,
“redalert”,
“shoutcast”,
“slysearch”,
“ultraseek”,
“webcompass”,
“yandex”,
“robot”,
“crawl”
);
$czy_bot = ‘nie’;
$UserAgentBota = strtolower($HTTP_SERVER_VARS[’HTTP_USER_AGENT’]);
for ($i = 0; $i < count($ListaRobotow); $i++) {
if ( strstr($UserAgentBota, $ListaRobotow[$i]) ) $czy_bot = 'tak';
}
if ($czy_bot == 'nie') $items = $client->showCart(PASS, session_id());
// edit
Ponieważ skrypt WordPress modyfikuje pewne istotne z punktu widzenia PHP znaki (jak np. ‘), zamiast kopiować powyższy kod, pobierz go tutaj: kod_php.txt.
Oczywiście ilość botów w tabeli $ListaRobotow można zmniejszać lub powiększać wg własnego uznania.
Zablokowanie niepotrzebnych botów
W przypadku wykorzystywania sklepu przede wszystkim jako “zaplecze pod systemy”, z botów można wpuścić tylko Googlebota, a resztę wyciąć w htaccess. Np., gdy zechcemy zablokować bota Yahoo! Slurp i msnbota (są dość mocno transfero-żerne), to powinniśmy wpisać do htaccess:
RewriteCond %{HTTP_USER_AGENT} ^Slurp [OR]
RewriteCond %{HTTP_USER_AGENT} ^msnbot
RewriteRule .* - [F]
Można w ten sposób zablokować także inne zbędne boty, np. wg tej listy.
Spowolnienie Yahoo! Slurp i msnbota
Jak ktoś się jednak zdecyduje wpuścić do sklepu Yahoo! Slurp i mnsbota, to przynajmnie warto je spowolnić poprzez wpisanie do pliku robots.txt:
Crawl-delay: 120
Disallow: /cart.php
User-agent: msnbot
Crawl-delay: 120
Disallow: /cart.php
User-agent: *
Disallow: /cart.php
Dzięki temu, boty tych wyszukiwarek będą zaglądać nie częściej niż co 2 minuty. Linie Disallow: /cart.php zapobiegną wchodzeniu botów pod adresy typu /cart.php?action=add&id=nr_produktu.
Utworzenie/modyfikacja pliku robots.txt wg powyższych wskazówek, również trochę odciąży serwer ESC Partners.
6 Komentarzy dla wpisu “ Nie zarzynajmy serwera ESCPartners!”
Skomentuj wpis
Podobne wpisy do wpisu “Nie zarzynajmy serwera ESCPartners!”:
Kalendarz
| P | W | Ś | C | P | S | N |
|---|---|---|---|---|---|---|
| « lipca | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||
Kategorie
- Pozycjonowanie (10)
- Programy partnerskie (2)
- V7ndotcom Elursrebmem (5)
breja napisał(a):
11.02.2008 o godzinie 15:15
Linki do koszyka sa nofollow wiec sie chyba gbot nie bedzie pchal ;p ale przydala by sie jakas opcja wlasny mirror bazy czy cos
Nawigator napisał(a):
11.02.2008 o godzinie 15:29
U mnie nie są nofollow. Sklepy tworzyłem już jakiś czas temu i pewnie wtedy jeszcze nie były nofollow. Zresztą, jedna linijka więcej w robots.txt nie zaszkodzi
Własna baza? Chyba lepsze będzie jednak keszowanie przy wykorzystaniu plików.
breja napisał(a):
11.02.2008 o godzinie 16:29
Ale jak ktos robi pod site i stawia 100 sklepow
to cache raczej malo da gbot nie odwiedza za czesto tych samych podstron a normalnych wejsc pewnie bedzie mniej niz gbota.
Nawigator napisał(a):
11.02.2008 o godzinie 16:45
Faktycznie, dopiero pierwsze przejście jednego czy drugiego bota po stronach wygenerowało by pliki. Jednak ich “aktualność” można by ustawić nawet na kilka lat (tak zamierzałem zrobić).
Z drugiej strony, trochę tych plików by powstało (w sklepach jest sporo produktów)
Nawigator napisał(a):
13.02.2008 o godzinie 11:36
Nastąpiła w końcu reakcja ze strony ESCPartners na problem zwalniających sklepów.
Tutaj: http://www.blog.escpartners.pl/?p=11 , Tomasz Kapelak z ESC Partners przedstawił modyfikację, która aktywuje cachowanie plików.
Proszę, dopiszcie jak najszybciej te kilka linijek kodu, bo mi całkiem sklepy staną
Jak obniżyć koszty prowadzonych sklepów ESC Partners? | e-Biznes i Programy Partnerskie napisał(a):
14.02.2008 o godzinie 14:45
[…] artykule “Nie zarzynajmy serwera ESC Partners!” nawigator proponuje nam wycięcie niektórych robotów zżerających nam transfer. […]