다음 내용을 읽고 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 (자바 스크립트로 수행)
크롤러에게 필요한 ?_escaped_fragment_=
것을 제공하기 위해 인터넷에서 찾은 WordPress 핵을 사용했습니다 : http://www.wordpress-fr.net/support/sujet-54810-add-action-parse-request 그리고 지금 GoogleBot은 내 AJAX 기반 페이지의 내용을 볼 수 있습니다. 나는 그것이 모두 끝났다고 생각했다.
그러나 Facebook에 게시물 링크를 붙여 넣으면 페이지의 내용을 읽을 수 없으므로 Facebook에서 지원하기 때문에 내 웹 사이트가 Google 문서에 설명 된 체계를 실제로 존중하지 않는 것으로 생각했습니다 ( 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');
}
?>
따라서 필자는 WordPress 핵을 사용하는 대신 HTML 스냅 샷을 제공하기 위해 비슷한 PHP 기능을 사용할 수 있지만 WordPress에 적용해야한다고 생각합니다. 문제는 프로그래머가 아니며 지금까지 최선을 다했다는 것입니다.
내 게시물이 형식에 있습니다 http://visualise.ca/#!/anne-au-cherry 및 정적 버전에서 사용할 수 있습니다 http://visualise.ca/anne-au-cherry (여기서 앤 프 체리 게시물의 슬러그이며 현재보고있는 페이지에 따라 변경됩니다.
그래서 내 질문은 누군가 내가 올바른 길을 가고 있음을 확인하고 가능한 경우 해당 PHP 기능을 만드는 데 도움이 될 수 있습니까?
시간과 도움을 주셔서 감사합니다!