我的网站的 Google 索引有一个奇怪的问题。这是所有搜索引擎的问题,但我将以谷歌为例。(该网站是保加利亚语)
该网站用于烹饪食谱。它是使用 CodeIgniter 构建的,它使用 jQuery 加载函数来加载食谱的注释。jQuery 加载调用不能通过 URL 请求直接访问的控制器函数,但仅当请求是 ajax 时才可访问。
如果您尝试直接访问获取评论功能(不是 ajax),您将被重定向到与 uri 段对应的配方(如果没有找到,则为主页)。
问题是,谷歌只索引我的 ajax 请求,而不是食谱的实际页面。
下面我放置代码和问题的链接。
域名是http://www.gotvachnicata.com/,我们可以获取例如以下配方:http ://www.gotvachnicata.com/potrebiteli/gotvachnicata/recepta/domashna-pica-sas-salam-i-lyuti -丘什基
我们有加载评论的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/ )。
最后是实际问题 - 当我在谷歌搜索我的食谱时(搜索链接http://bit.ly/XhNk3K)我收到以下链接显示在搜索结果中
http://www.gotvachnicata.com/process/get_recipe_comments/24
代替
这适用于网站上的所有食谱。看起来谷歌索引 ajax 请求而不是实际页面。
我真的不知道它为什么这样做以及我需要更改什么来修复它。对我来说,SEO 对这个网站非常重要,我希望在 Google 中索引 SEO 友好的 URL。