gpt4 book ai didi

php - SEO 和 ajax 加载的内容链接

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:34 25 4
gpt4 key购买 nike

我需要一些帮助来更好地理解使用 ajax 加载内容的 SEO。

这里是上下文:

我有一个 single.php,其中为每个帖子动态生成内容(使用 php 和 xml 数据库)。

我通过 ajax 在我的 index.php 页面中加载了这个 single.php 的容器。这里的工作脚本:

$.ajaxSetup({cache:false});
$(".phplink").click(function(){
var post_link = $(this).attr("href");
window.location.hash = "!"+ post_link ;
$("#ajaxify_container").html("loading...");
$("#ajaxify_container").load('single.php?blog_no='+post_link+' #container');
return false;
});

$(window).hashchange( function(){
var hash = window.location.hash;
var hash = location.hash.replace("#!","");

if(hash != '') {
var post_link = hash;
$("#ajaxify_container").html("loading...");
$("#ajaxify_container").load('single.php?blog_no='+post_link+' #container');
}
else {
$.get(hash, function (data) {
$("#ajaxify_container").html('');
});

}
});

$(window).hashchange();

index.php 中的链接示例(当我单击链接时,我在 url website.com/#!12 中获得):

<a class="phplink" href="12">Post 12</a> 

在我的 .htaccess 文件中,我添加了以下行以正确重写 url:

Options +FollowSymLinks
RewriteEngine on
RewriteRule /([0-9]+)$ /single.php?blog_no=$1

一切正常...(顺便说一句,我的 single.php 是“单独”对 SEO 友好的,并且无需 javascript 即可工作)

但是,像这样使用 ajax 和动态 php 页面,它仍然对 SEO 友好吗?我知道ajax很难被抓取。使用 ajax 内容获得好的(不是最好的,正确的)SEO 的最佳方法是什么?

关于链接的结构,我不太明白google bot会抓取什么。因为href="12",所以动态href="/single.php?blog_no=12"。在网络浏览器中:

  • website.com/single.php?blog_no=12website.com/12 只加载我的 single.php 页面
  • website.com/#!12 使用从 website.com/single.php?blog_no=12
  • 加载的容器加载我的 index.php 页面

当然我只希望 google 抓取 hashbang url...

(编辑:如果我用右键单击在新选项卡中打开链接,它会加载 single.php(我不想要的)。这似乎是一种正常行为,但......我想阻止它)

对不起我的英语,我是法国人。

最佳答案

从 SEO 的角度来看,动态加载的内容通常很难正确处理。你的描述有点令人困惑,但我想我知道你在找什么。

首先,Google 主要通过两种方式查找您网站上的网页:

  • 站点地图(Google 喜欢 XML 站点地图)- 一个文件,告诉 Google 将您网站上的每个页面编入索引
  • 链接 - Google 会跟踪它试图索引的页面上的任何内部链接,除非这些链接标有 rel="nofollow"
  • 还有链接和其他一些东西,但为了解释的目的......让我们忽略那些。

无论如何,除非您明确告诉 Google website.com/single.php?blog_no=12 存在,否则很难找到它。老实说,我不确定 Google 将如何处理类似 href="12" 的内容,它可能会尝试通过该链接访问 website.com/12,这可能如果那里什么都没有影响你的排名。所以最后,您可能希望将 rel="nofollow" 添加到您的 AJAX 触发器链接中。

处理 AJAX 和动态加载内容的一个好方法是确保回退到位,例如,如果您有类似 href="single/12 的设置来使用 AJAX 加载一些内容,您还应该有一个不使用 JS/AJAX 的后备页面。这可以确保搜索引擎机器人和没有 Javascript 的用户都可以看到该内容,否则在其他任何地方都看不到。

最后一个小花絮,如果你在类似 http://www.dnsqueries.com/en/googlebot_simulator.php 的东西上测试你的链接他们出现错误或空白页面(搜索引擎机器人不使用 javascript)你不应该关注这些链接,或设置回退页面

没关系...这是最后一件事。您应该进一步重写 htaccess,使您的 URL 完全清除查询字符串。例如,对于 SEO 和用户而言,website.com/single/blog/12 优于 website.com/single.php?blog_no=12

关于php - SEO 和 ajax 加载的内容链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16640361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com