我对Google网站的索引有一个奇怪的问题。这是所有搜索引擎的问题,但我会以谷歌为例。 (该网站是保加利亚语)
该网站用于烹饪食谱。它是使用CodeIgniter构建的,它使用jQuery加载函数来加载配方的注释。 jQuery加载调用一个控制器函数,该函数不能通过URL请求直接访问,但仅当请求是ajax时才会被访问。
如果您尝试直接访问get comments功能(而非ajax),您将被重定向到与uri段相对应的配方(如果未找到任何内容,则返回主页)。
问题是,Google只索引我的ajax请求,而不是索引的实际页面。
下面我将代码和链接放在问题上。
域名为http://www.gotvachnicata.com/,我们可以抓住以下食谱:http://www.gotvachnicata.com/potrebiteli/gotvachnicata/recepta/domashna-pica-sas-salam-i-lyuti-chushki
我们有ajax请求加载以下列方式执行的注释:
$(document).ready(function(){
$('.recipe-comments').load('http://www.gotvachnicata.com/process/get_recipe_comments/24');
});
最后一段是食谱的ID。如果您通过ajax请求此控制器功能,您将获得具有此ID的配方的注释,如果您尝试直接访问它,则会将您重定向到具有此ID的配方。这是通过以下代码完成的。
if ($this->input->is_ajax_request()) {
//Load the comments
} else {
//Redirect to the recipe
}
我将我的站点地图提交给Google。 你可以在这里看到它:http://www.gotvachnicata.com/sitemaps/sitemap_recipes.xml
如果这有任何不同,我也在使用结构化数据(http://schema.org/)。
最后是实际问题 - 当我在Google上搜索我的食谱(搜索链接http://bit.ly/XhNk3K)时,我会收到搜索结果中显示的以下链接
http://www.gotvachnicata.com/process/get_recipe_comments/24
而不是
这适用于网站上的所有食谱。看起来谷歌索引ajax请求而不是实际页面。
我真的不知道为什么会这样做以及我需要修改它来修复它。对我而言,搜索引擎优化对于这个网站来说非常重要我想在谷歌索引SEO友好网址。