Я прочитал следующее и пытаюсь применить эту схему к моему веб-сайту, на котором работает WordPress: http://code.google.com/intl/fr-CA/web/ajaxcrawling/index.html
Если вы посетите мой веб-сайт по адресу http://www.visualise.ca/, вы увидите, что он загружает сообщения на домашней странице, и URL становится http://visualise.ca/#!/anne-au-cherry, когда это сообщение загружено. Статическая версия того же контента доступна для сканера по адресу http://visualise.ca/anne-au-cherry, но если посетитель, использующий браузер, посещает его, он будет перенаправлен на http://visualise.ca/#! / anne-au-cherry (это делается с помощью javascript).
Чтобы обеспечить сканеру необходимое, ?_escaped_fragment_=
я использовал хак WordPress, который нашел в сети: http://www.wordpress-fr.net/support/sujet-54810-add-action-parse-request и теперь GoogleBot может видеть содержимое моих страниц с поддержкой AJAX. Я думал, что все было сделано.
Но когда я вставляю ссылку на пост в Facebook (то есть), он не может прочитать содержимое страницы, поэтому я предположил, что мой веб-сайт не совсем соответствует схеме, описанной в документации Google, поскольку Facebook поддерживает ее (если вы вставляете http : //twitter.com/#! / gablabelle это будет работать). Поэтому, поскольку я использую плагин jQuery.address для получения своего hashbang (#!), Я зашел на их сайт и скачал их образцы файлов, чтобы увидеть, в чем заключаются различия между их файлами и моими, и понял, что они, вероятно, используют функцию php чтобы создать необходимые снимки HTML: https://github.com/bartaz/jquery-address/blob/master/samples/crawling/index.php, потому что именно поэтому, я думаю, Facebook не может читать мои.
<?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');
}
?>
Поэтому я предполагаю, что я мог бы использовать аналогичную функцию php для обслуживания снимков HTML вместо использования хака WordPress, но мне нужно было бы адаптировать его к WordPress. Проблема в том, что я не программист, и я приложил все усилия.
Мой пост в следующем формате: http://visualise.ca/#!/anne-au-cherry, а статическая версия доступна по адресу http://visualise.ca/anne-au-cherry (Где anne-au-cherry является порцией сообщения и изменяется в зависимости от страницы, которую мы просматриваем).
Поэтому мой вопрос: может ли кто-нибудь подтвердить, что я на правильном пути и, если возможно, также помочь в создании этой функции php?
Большое спасибо за ваше время и помощь!