jQuery历史插件,谷歌站点地图和SEO

时间:2012-12-23 17:09:21

标签: javascript jquery html ajax seo

我一直在网上寻找答案,但从来没有得到任何确切的答案。

我有一个 index.php 页面,其中包含两个特别 DIV #post-title #post-content ,其内容是通过jQuery函数加载的。每次单击链接时都会调用此函数

<a onclick="showPage('page')"></a>

功能:

function showPage(page, fadeInSpeed, fadeOutSpeed) {
 fadeInSpeed = typeof fadeInSpeed !== 'undefined' ? fadeInSpeed : 500;
 fadeOutSpeed = typeof fadeOutSpeed !== 'undefined' ? fadeOutSpeed : 200;
 pageUpper = page.charAt(0).toUpperCase() + page.slice(1);

 var History = window.History;
 History.pushState(null,pageUpper, "index.php?page=" +page);

 $("#post-title").fadeOut(fadeOutSpeed, function() { // Callback del fadeOut..
     $("#post-title").html(page);
     Cufon.refresh(); // I reload Cufon plugin on the div
 }).fadeIn(fadeInSpeed);

 $("#post-content").fadeOut(fadeOutSpeed, function() {
     $("#post-content").load(page + ".php");
 }).fadeIn(fadeInSpeed);
}

这是函数,包含History.pushState。现在,当我直接访问一个URL,例如:?page = curriculum 时,我在index.php文件中添加了以下代码来调用上述函数:

<?php
if(isset($_GET['page'])) { // Controlla l'URL e restituisce la pagina corretta.
?>

<script>
$(function() {
    showPage('<? echo htmlentities($_GET['page']); ?>', 1000, 1);
});
</script>

<?
}
?>

一切都很无趣但现在我有一个小问题:这是否会对抗SEO? Google抓取工具会正确索引我的网站吗?如果没有,我该怎么做才能解决这个问题?

我提前感谢你们,圣诞节也是如此:)

2 个答案:

答案 0 :(得分:0)

如果您希望站点可以编制索引,则必须确保禁用JavaScript时所有页面内容都可见。例如,在禁用JavaScript的情况下调用page=curriculum应该显示课程数据。由于内容似乎是通过XMLHttpRequest检索的,因此无法使用。因此,您必须按照here所述实施Google抓取方案。

请注意,如果网站中没有显示您的网址(例如,如果您始终使用sitemap.xml功能显示内容),则必须更新您的showPage()文件以声明您的网址。

答案 1 :(得分:-1)

根据您的问题,我们仍然不了解,您是否可以描述您的域名,它可以分析您的实际问题,即使只有index.php有问题,那么您可以通过.htaccess文件重新编写您的URL 我们举个例子,

RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]


RewriteRule ^([^/\.]+)/$ http:// %{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^([^/\.]+)$ index.php?rewrite=$1 [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ index\.php\ HTTP
RewriteRule ^index\.php$ http:/ /www.example.com/ [R=301,L]

为no-www重写URL并删除index.php

的两个示例