我有一个用Jquery加载页面的网站。代码是这样的:
$url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$urlFragment = parse_url( $url, PHP_URL_FRAGMENT );
switch( $urlFragment )
{
case '!/page_SPLASH':
$title = "Example.com || Splash";
$keywords = "splash content";
$description = "splash description text";
break;
/* more pages here */
case '!/page_HOME': /* no break; intended */
default:
$title = "Example.com || Home";
$keywords = "some words";
$description = "description text";
break;
case '!/page_ABOUT': /* no break; intended */
default:
$title = "Example.com || Home";
$keywords = "some words";
$description = "description text";
break;
}
如果我切换到其他页面,标题,关键字和说明不会改变。因此,谷歌也不会“看到”其他页面的t,k& d。
我该如何解决这个问题?
答案 0 :(得分:0)
您可以通过使ajax页面可抓取来解决此问题。谷歌发布了specification for doing that。
这是一个多步骤的过程。简短版本是:
在识别通过ajax加载的“页面”时,使用Google的特殊形式的片段标识符。该特殊格式为#!
而非#
,例如“约”页面为http://example.com#!about
,“联系”页面为http://example.com#!contact
。
使用包含相关片段的完整页面回复http://example.com/?_escaped_fragment_=about
,http://example.com/?_escaped_fragment_=contact
等的请求。这是机器人将要求的内容(因为片段标识符不会发送到服务器,而是将其转换为查询字符串参数)。
(可选)更新您的站点地图以包含启用了Ajax的URL。