Php 使用jQuery动态内容搜索引擎优化安全锚链接

Php 使用jQuery动态内容搜索引擎优化安全锚链接,php,jquery,seo,navigation,bandwidth,Php,Jquery,Seo,Navigation,Bandwidth,所以。。。这是使用网站内部链接的安全方式吗。。通过这样做,我可以让索引页面生成通常的php内容部分,并将其交给div元素 主要问题是:谷歌还会使用这种方法为页面编制索引吗?常识告诉我是的。。但只要仔细检查一下,如果是的话,也把它作为一个基本示例放在这里。如在 仅以人为例 服务器端 if (isset($_REQUEST['page'])) {$pageID=$_REQUEST['page'];} else {$pageID="home";} if (isset($_REQUEST['pageM

所以。。。这是使用网站内部链接的安全方式吗。。通过这样做,我可以让索引页面生成通常的php内容部分,并将其交给div元素

主要问题是:谷歌还会使用这种方法为页面编制索引吗?常识告诉我是的。。但只要仔细检查一下,如果是的话,也把它作为一个基本示例放在这里。如在

仅以人为例
服务器端

if (isset($_REQUEST['page'])) {$pageID=$_REQUEST['page'];} else {$pageID="home";}
if (isset($_REQUEST['pageMode']) && $_REQUEST['pageMode']=="js") {
  require "content/".$pageID.".php";
  exit;
} // ELSE - REST OF WEBSITE WILL BE GENERATED USING THE page VARIABLE
链接

<a class='btnMenu' href='?page=home'>Home Page</a>
<a class='btnMenu' href='?page=about'>About</a>
<a class='btnMenu' href='?page=Services'>Services</a>
<a class='btnMenu' href='?page=contact'>Contact</a>
如果有任何错误,请原谅我,因为只是从我的脚本中复制和粘贴,然后删除了一堆垃圾,以简化它,因为它仍然是原型/白板项目。所以是的,现在看起来确实有点恶心

原因: 主要原因是带宽和速度,这将允许其他脚本更好地运行和控制站点/应用程序,是的,需要通过一些编码将其锁定--

进一步的示例--在顶部插入PHP

<?php 
  // PHP CODE HERE
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="scripts.js"></script>
</head>
<body>
  <div class='siteBody'>
    <div class='siteHeader'>
        <?php
          foreach ($pageList as $key => $value) {
            if ($pageID == $key) {$btnClass="btnMenuSel";} else {$btnClass="btnMenu";}
              echo "<a class='$btnClass' href='?page=".$key."'>".$pageList[$key]."</a>";
          }
        ?>
      </div><div id="siteContent"  style='margin-top:10px;'>
        <?php require "content/".$pageID.".php"; ?>
      </div><div class='siteFooter'>
    </div>
  </div>
</body>
</html>

不,这对搜索引擎不友好。您正在使用JavaScript从服务器获取内容并将其显示在页面上。尽管搜索引擎在处理JavaScript生成的内容方面越来越好,但它们仍然无法处理这一点(除非您遵循谷歌的可爬行Ajax标准,但网站在过去一个月已经远离了最著名的Twitter)

所以这对搜索引擎优化不利。另外,你没有像你想象的那样节省带宽。节省的成本很小,而且带宽非常便宜,这完全没有必要。事实上,你花了更多的钱通过正常的操作(页面加载)使你的站点不可访问,并通过使用JavaScript使其变得复杂,这样你就可以节省带宽成本


是的,这是一个搜索引擎友好和渐进增强的好例子。因为链接仍然是可爬行的,并且加载的内容与JavaScript相同,所以Google和任何未启用JavaScript的用户仍然可以很好地找到内容。使用JavaScript的用户将获得更快页面加载的额外好处,因为当他们单击链接时不需要等待整个页面加载。

不清楚SEO的影响是什么。谷歌现在解释一些javascript。因此,谷歌仍然可以阅读这些链接是可能的,但不能保证。通常人们想隐藏像“关于”这样的页面链接。因此,如果谷歌不能阅读这些链接,你实际上可能会获得SEO优势。也就是说,pagerank更多地专注于你关心的页面。出于这个原因,一些大型网站实际上使用javascript生成指向此类页面的链接


一旦上线,你可以通过查看网站管理员工具中关于我们页面的链接来检查谷歌是否找到了这些链接

我认为锚是可以的,但是您应该改进服务器端脚本,因为它只输出主要内容,而不是整个页面

通过检查$\u服务器['HTTP\u X\u REQUESTED\u WITH'],可以区分ajax调用和“普通”请求。这是jquery自动设置的标题

如果进行了ajax调用,则输出主要内容,否则输出所有内容:doctype、html标记以及它们之间的所有有趣内容。所以每个人都可以获得内容,即使是爬虫和其他没有javascript的访问者

进一步资料:

例如:

<?php
    $pageID = isset($_POST['page'])
        ? $_POST['page']
        : "home";

    if ( !$_SERVER['HTTP_X_REQUESTED_WITH'] ) {
        require('content/components/header.php');
    }

    require "content/" . $pageID . ".php";

    if ( !$_SERVER['HTTP_X_REQUESTED_WITH'] ) {
        require('content/components/footer.php');
    }

?>

对于content/components/header.php:

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css" />
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="scripts.js"></script>
    </head>
    <body>
        <div class='siteBody'>
            <div class='siteHeader'>
                <?php
                    foreach ($pageList as $key => $value) {
                        if ($pageID == $key) {$btnClass="btnMenuSel";} else {$btnClass="btnMenu";}
                        echo "<a class='$btnClass' href='?page=".$key."'>".$pageList[$key]."</a>";
                    }
                ?>
            </div>
        <div id="siteContent"  style='margin-top:10px;'>

和content/components/footer.php:

        </div>
    <div class='siteFooter'></div>
    </div>
</body>
</html>


网站本身仍然使用默认内容,例如?page=about将默认显示about页面。。页眉/页脚等随页面变量调整如果链接在没有javascript的情况下独立工作,它们有什么“SEO安全”的地方?因此退出;评论,网站的其余部分如下。。这纯粹是一个标题脚本,我只是想确认一下,谷歌在处理主持人这类问题时不会弄糟什么的。好的,已经更新了,并且会清理一下。。使用菜单类更改器的基本示例以及备注…不要使用_请求。您应该知道用户请求的方法。允许它们互换是个坏主意……我讨厌这样。从一个角度来看,如果你不花很多精力让浏览器的行为与常规页面加载(微调器、停止按钮、后退按钮、地址栏、“书签能力”、缓存等)完全相同,那就太可怕了。大多数使用Ajax内容加载的网站都会以这样或那样的方式失败,这使得人们很难知道你是否正确单击了链接,或者在按下后退按钮时将用户留在了某个未定义的位置。请求-我知道,就像我说的。。。目前正考虑这个想法。。还没有测试。。至于浏览器与按钮的兼容性,我同意。。这里还考虑了其他一些事情,但没有考虑进去。。请理解,这只是SEO方面的一个基本示例/问题。2年多后,这对于快速复制n粘贴来说很方便。我意识到标题可以检查,只是试图展示一个一般示例并确认我的想法。php是一个简单的if-then抓取早期内容并退出else继续构建主页和contentSide注意:页面模式也以其他方式处理
        </div>
    <div class='siteFooter'></div>
    </div>
</body>
</html>