Archivi tag: risorse

Come controllare la frequenza di scansione dei bot

I bot e i crawler sono software automatici che navigano il vostro sito per i motivi più svariati: ad esempio il bot di Google viene utilizzato dal gigante di Internet per catalogare e indicizzare il vostro sito nel suo motore di ricerca, mentre il bot di Bing è l’equivalente Microsoft.

Ma non tutti i bot sono portatori di vantaggi, anzi una frequentazione massiva di questo tipo di visitatori automatici rischierà addirittura di saturare l’intero quantitativo di risorse messe a vostra disposizione, con la spiacevole conseguenza di una sospensione dell’account.

Per controllare la frequenza di scansione dei bot (in inglese si usa il termine ‘crawling’) è possibile agire tramite il file robots.txt. Ecco un esempio di una possibile configurazione:


User-agent: *
Crawl-delay: 35
Disallow: /feed/
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Disallow: /wp-*

User-agent: MJ12bot
Disallow: /

User-agent: Yandex
Disallow: /

User-agent: BLEXBot
Disallow: /

User-agent: proximic
Disallow: /

user-agent: AhrefsBot
disallow: /

user-agent: SEOkicks-Robot
disallow: /

user-agent: Ezooms
disallow: /

user-agent: sistrix
disallow: /

Questa configurazione, oltre a bloccare eventuali cartelle di WordPress da un’inutile azione troppo frequente da parte dei bot, non consentirà a bot dannosi di navigare il nostro sito, risparmiando così un innumerevole quantitativo di risorse. Tali bot bloccati causano soltanto problemi, non appartengono a motori di ricerca (se non Yandex, che è russo, toglietelo dalla lista se vi interessa ricevere traffico dalla Russia).

Ma ciò non è sufficiente per controllare la frequenza di scansione da parte di Google e Bing: per questi due motori di ricerca dovrete controllare il ritardo di scansione dal pannello di controllo:

http://support.google.com/webmasters/bin/answer.py?hl=it&answer=48620
http://www.bing.com/webmaster/help/crawl-control-55a30302

In particolare, per Google dovrete accedere ai webmaster tools ed inserire un valore basso, come ad esempio:

  • 0.004 richieste al secondo
  • 250 secondi tra le richieste

Così facendo il bot di Google navigherà il vostro sito al massimo ogni 250 secondi, una frequenza che non danneggia assolutamente il posizionamento e consentirà al vostro account di risparmiare preziose risorse.

Alcuni motivi per cui il vostro sito consuma più risorse del dovuto

Noi di Tantrahost vogliamo assicurare a tutti i nostri clienti la migliore esperienza di hosting possibile, ecco perchè poniamo dei limiti sull’uso delle risorse, che se superati possono comportare una sospensione temporanea dell’account.

I limiti sulle risorse sono essenzialmente due:

  • 3000 esecuzioni orarie (o 13000 in 24 ore)
  • 3000 secondi di CPU all’ora (o 13000 in 24 ore)

Iniziamo col dire che questi limiti POSSONO essere superati: il che significa che se il vostro sito in una data ora consuma (ad esempio) 3100 secondi di CPU non incorre in nessuna sospensione. Quando invece i limiti vengono superati in maniera rilevante, scatta la sospensione fino all’ora successiva. Ciò significa che se il vostro account viene sospeso alle 15:30 starà offline fino alle 16:00. Sarete avvisati di ciò tramite una mail inviata dal server, di cui riportiamo il testo:

Hello,
This is an automated message to advise you that web access to account solaconi has been temporarily limited due to high server resource consumption.
This means that the account was consuming a huge amount of the server’s resources and resulting in poor performance for other users on the server.

Il vostro sito risulterà offline, ma avrete accesso al cPanel e all’FTP e la mail continuerà a funzionare. Una volta appurato che il vostro sito è offline per sospensione, la prima cosa da fare dovrà essere quella di esaminare il grafico delle risorse, che potrete trovare all’interno del cPanel tramite l’icona HTTP CPU Usage Statistics, sotto il pannello 1H Software:


usage

Provate a farci clic: compariranno due grafici come questi:


stat

Il primo grafico è quello del realtime, ossia dei secondi di CPU, mentre il secondo è relativo alle esecuzioni. Se notate un picco in uno di questi grafici, ecco spiegata la sospensione. Se invece non notate picchi strani, verificate la scala: il vostro sito consuma costantemente le risorse, dunque il motivo della sospensione consiste nell’esaurimento delle risorse nell’arco delle 24 ore (ricordate: 13000 esecuzioni o 13000 secondi di CPU).

Abbiamo dunque verificato che effettivamente c’è un problema (ergo: non sospendiamo siti a caso o per sadismo), adesso cerchiamo di intervenire per trovare una soluzione. La prima cosa da fare è quella di controllare i log, per fare questo avete a disposizione l’icona Raw Access Logs sul cPanel, è quella col riquadro rosso nella schermata seguente:


log

A questo punto vi comparirà la schermata con i vostri domini (vi ricordiamo che se avete acquistato un piano starter avrete un dominio solo, se avete acquistato un piano professional ne potrete avere anche più di uno), fate clic sul dominio per scaricare i log in formato .gz. Estraeteli con un qualsiasi software adatto allo scopo ed apriteli con un editor di testo. Con i log sotto mano potrete capire alcune cose:

Se ci sono tante chiamate verso la pagina di login del vostro CMS (ossia chiamate verso sito.it/administrator oppure sito.it/wp-login.php) abbiamo trovato la causa del problema: è in corso un attacco a forza bruta verso la vostra pagina di login: potrete bloccare l’IP o installare un plugin che limiti i tentativi di accesso.

Se ci sono tante richieste da parte di bot di Yandex, Baidu o Bing abbiamo trovato la causa del problema. Bloccateli tramite robots.txt o .htaccess e il problema non si ripresenterà

Se invece all’apparenza sembra tutto ok, la causa va ricercata nei plugin o nei temi che avete installato. Per prima cosa dovrete aggiornare tutto all’ultima versione disponibile, script, cms, temi, plugin, moduli e estensioni. Fatto ciò passate ad installare un plugin per la cache: se usate WordPress vi consigliamo spassionatamente WP Super Cache, se usate Joomla JotCache. Tramite la cache il numero di esecuzioni si ridurrà sensibilmente, perchè verranno create pagine statiche HTML che verranno visualizzate direttamente senza ricorrere a chiamate lato server di script o query su DB.

A questo punto monitorate la situazione per almeno 24 ore, e se le sospensioni persistono contattate il nostro supporto.