Li o seguinte e tento aplicar esse esquema ao meu site executando o WordPress: http://code.google.com/intl/fr-CA/web/ajaxcrawling/index.html
Se você visitar meu site em http://www.visualise.ca/ , verá que ele carrega as postagens na página inicial e o URL se torna http://visualise.ca/#!/anne-au-cherry quando esse a postagem está carregada. Uma versão estática do mesmo conteúdo está disponível para o rastreador em http://visualise.ca/anne-au-cherry, mas se um visitante usando um navegador o visitar, ele será redirecionado para http://visualise.ca/#! / anne-au-cherry (isso é feito com javascript).
Para fornecer ao rastreador o necessário ?_escaped_fragment_=
, usei um hack do WordPress que encontrei na rede: http://www.wordpress-fr.net/support/sujet-54810-add-action-parse-request e agora o O GoogleBot pode ver o conteúdo das minhas páginas com AJAX. Eu pensei que estava tudo pronto.
Mas quando colo um link de postagem no Facebook (ou seja), ele não consegue ler o conteúdo da página, então acho que meu site não está realmente respeitando o esquema descrito na documentação do Google, pois o Facebook o suporta (se você colar http : //twitter.com/#! / gablabelle funcionará). Então, como estou usando o plugin jQuery.address para obter meu hashbang (#!), Fui ao site deles e baixei seus arquivos de amostra para ver quais eram as diferenças entre os arquivos deles e os meus e percebi que eles provavelmente estavam usando uma função php para criar os instantâneos HTML necessários: https://github.com/bartaz/jquery-address/blob/master/samples/crawling/index.php, porque é por isso que, acho, o Facebook não consegue ler os meus.
<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
$fragment = $_REQUEST['_escaped_fragment_'];
$file = 'data/' . (isset($fragment) && $fragment != '' && $fragment != '/' ? preg_replace('/\//', '', $fragment) : 'home') . '.xml';
$re = '/(^<[^>]*>)|(\n|\r\n|\t|\s{2,4})*/';
$handle = fopen($file, 'r');
if ($handle != false) {
$content = preg_replace($re, '', fread($handle, filesize($file)));
fclose($handle);
} else {
$content = 'Page not found!';
header(php_sapi_name() == 'cgi' ? 'Status: 404' : 'HTTP/1.1 404');
}
?>
Então, meu palpite é que eu poderia usar uma função php semelhante para exibir os instantâneos HTML em vez de usar o hack do WordPress, mas precisaria adaptá-lo ao WordPress. O problema é que não sou programador e fiz o meu melhor até agora.
Minha postagem está neste formato: http://visualise.ca/#!/anne-au-cherry e a versão estática está disponível em http://visualise.ca/anne-au-cherry (Onde anne-au-cherry é a lesma da postagem e muda de acordo com a página que estamos visualizando).
Então, minha pergunta é: alguém poderia confirmar que estou no caminho certo e, se possível, também ajudar a criar essa função php?
Muito obrigado pelo seu tempo e ajuda!