Leo lo siguiente e intento aplicar este esquema a mi sitio web que ejecuta WordPress: http://code.google.com/intl/fr-CA/web/ajaxcrawling/index.html
Si visita mi sitio web en http://www.visualise.ca/ verá que carga las publicaciones dentro de la página de inicio y la URL se convierte en http://visualise.ca/#!/anne-au-cherry cuando esto la publicación está cargada. Una versión estática del mismo contenido está disponible para el rastreador en http://visualise.ca/anne-au-cherry, pero si un visitante que usa un navegador lo visita, será redirigido a http://visualise.ca/#. / anne-au-cherry (esto se hace con javascript).
Para proporcionar al rastreador lo necesario ?_escaped_fragment_=
, utilicé un truco de WordPress que encontré en la red: http://www.wordpress-fr.net/support/sujet-54810-add-action-parse-request y ahora el GoogleBot puede ver el contenido de mis páginas con tecnología AJAX. Pensé que todo estaba hecho.
Pero cuando pego un enlace de publicación en Facebook (es decir) no puede leer el contenido de la página, así que supuse que mi sitio web realmente no respeta el esquema descrito en la documentación de Google, ya que Facebook lo admite (si pega http : //twitter.com/#! / gablabelle funcionará). Entonces, como estoy usando el complemento jQuery.address para obtener mi hashbang (#!) Fui a su sitio web y descargué sus archivos de muestra para ver cuáles eran las diferencias entre sus archivos y los míos y me di cuenta de que probablemente estaban usando una función php para crear las instantáneas HTML necesarias: https://github.com/bartaz/jquery-address/blob/master/samples/crawling/index.php porque es por eso que, supongo, Facebook no puede leer el mío.
<?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');
}
?>
Entonces, supongo que tal vez podría usar una función php similar para servir las instantáneas HTML en lugar de usar el truco de WordPress, pero necesitaría adaptarlo a WordPress. El problema es que no soy programador e hice mi mejor esfuerzo hasta ahora.
Mi publicación está en este formato: http://visualise.ca/#!/anne-au-cherry y la versión estática está disponible en http://visualise.ca/anne-au-cherry (Donde anne-au-cherry es la babosa de la publicación y los cambios según la página que estamos viendo).
Entonces, mi pregunta es ¿alguien podría confirmar que estoy en el camino correcto y, si es posible, también ayudar a crear esa función php?
¡Muchas gracias por tu tiempo y ayuda!