Ciao Federico,
Hai provato a diagnosticare la correttezza del response con "Crawl -> Fetch as Google"?
E' il modo più affidabile per togliersi il dubbio. Puoi anche scegliere "Send to index" (se ben ricordo dovrebbe funzionare anche se il response è diverso da 200, p.es. un redirect, sennò alla peggio non te lo fa fare).
Avevo già provato usando il tool "Live HTTP Headers" di Firefox, e mi rispondeva correttamente con il 301. Ora per scrupolo ho controllato anche con WGT, e tutto sembra funzionare:
**Visualizza come Google** Googlebot ha recuperato la pagina in questo modo. **URL:** corsoinglese.altervista.org/lezione.php?id=3 **Data:** mercoledì 7 agosto 2013 04:08:16 GMT-7 **Tipo Googlebot:** Web **Tempo di download (in millisecondi):** 402 HTTP/1.1 301 Moved Permanently Server: cloudflare-nginx Date: Wed, 07 Aug 2013 11:08:20 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive Set-Cookie: __cfduid=d7e1743c6116032d454be04138bc21b351375873699974; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.corsoinglese.altervista.org Location: lezione.php?id=3&grammatica=genitivo-sassone CF-RAY: 9a38220d453059dQuindi non ho idea di cosa non vada bene..
Come l'hai bloccato? Ritornando lato server un errore 500?
Mi sembra un po' pericoloso.
L'uso del canonical tag è più sicuro (se il 301 per qualche motivo non è correttamente implementabile)
No, mi sono espresso male; non l'ho bloccato dal server, restituisco solo un messaggio del tipo "L'url cercato è stato spostato a questa pagina: xxx". Se vuoi dare un'occhiata la pagina in questione è questa: corsoinglese.altervista.org/lezione.php?id=28 . So che corro il rischio di non vedere più quella pagina nell'indice di Google, ma ho scelto una delle meno visitate e non mi comporterà problemi. In questo caso, tentar non nuoce!