POST è un metodo per le richieste supportato dal protocollo HTTP. Questo protocollo viene usato, alternativamente al più comune GET, nel caso in cui il client debba inviare dati al server come parte (all’interno) della richiesta.
Una richiesta GET prevede solo l’inclusione di URL e header, mentre la richiesta POST include anche un messaggio body, cosa che permette una quantità arbitraria di dati che possono essere inviati al server.
Spesso oggi capita che pagine web inviino delle richieste POST ai client, per esempio allo scopo di raccogliere informazioni che servono poi al server per mostrare al client la versione corretta della pagina web .
Ovviamente un caso come questo mette in scacco il crawler di Google che, non potendo soddisfare la richiesta POST, viene escluso dal contenuto della pagina.
Questo in sostanza il motivo che ha spinto gli ingegneri di Google ha modificare il crawler in modo da essere in grado di rispondere a richieste POST nel caso in cui la situazione venga considerata sicura e appropriata.
In particolare Google cerca sempre di evitare di effettuare qualsiasi tipo di task su un sito che possa risultare nell’esecuzione di un’azione utente non prevista. Le risposte POST infatti hanno l’unico scopo di accedere a risorse che una pagina web richiede in automatico, imitando ciò che un utente tipico vedrebbe nel momento in cui risolve l’URL nel browser.
Di seguito riportiamo un esempio (preso da Google Webmaster Central Blog) di risoluzione da parte del Googlebot di una richiesta POST.
Nell’esempio viene effettuata sia l’indicizzazione della pagina che il render per Instant Preview.
1. Google fa il crawl di un URL yummy-sundae.html
2. Google inizia ad indicizzare yummy-sundae.html e, come parte di questo processo, decide di cercare di fare il rendering della pagina per comprendere meglio il contenuto e/o generare la Instant Preview
3. Durante il rendering yummy-sundae.html invia una richiesta XMLHttpRequest automatica per una risorsa, hot-fudge-info.html, usando il metodo POST
<html>
<head>
<title>Yummy Sundae</title>
<script src="jquery.js"></script>
</head>
<body>
This page is about a yummy sundae.
<div id="content"></div>
<script type="text/javascript">
$(document).ready(function() {
$.post('hot-fudge-info.html', function(data)
{$('#content').html(data);});
});
</script>
</body>
</html>
<head>
<title>Yummy Sundae</title>
<script src="jquery.js"></script>
</head>
<body>
This page is about a yummy sundae.
<div id="content"></div>
<script type="text/javascript">
$(document).ready(function() {
$.post('hot-fudge-info.html', function(data)
{$('#content').html(data);});
});
</script>
</body>
</html>
5. Il Googlebot effettua una richiesta POST per poter fare il crawl di hot-fudge-info.html
6. In questo modo Google ha ora un’idea ben precisa di yummy-sundae.html per Instant Preview. In alcuni casi Google potrebbe anche includere il contenuto di hot-fudge-info.html all’interno di yummy-sundae.html
7. Google completa l’indicizzazione di yummy-sundae.html
8. L’utente effettua una ricerca in Google con parola chiave [hot fudge sundae]
9. L’algoritmo di Google è ora in grado di determinare meglio se yummy-sundae.html è rilevante per la ricerca, e di mostrare la Instant Preview
Nonostante questa innovazione, Google suggerisce comunque di preferire il metodo GET nelle richieste di dati ai client, rispetto a POST. Questo sempre che non ci sia una specifica ragione per usare POST.
Ora, un corollario a tutto questo è che Google ora può indicizzare i commenti integrati in pagine web, attraverso servizi di terze parti: Disqus (nel caso di googlab.it) ma anche Facebook Comments e così via.
Chiaramente questo aspetto apre un sacco di porte tra cui la valorizzazione dei commenti non solo dal punto di vista SEO per il blog/sito web, ma anche per l’utente che vedrebbe messi indicizzati i suoi contributi raccolti attraverso le piattaforme di commenting molto usate da varie testate.
Via | Google Webmaster Central Blog
Nessun commento:
Posta un commento