-1

我有一个网站,我将流量分成两个用户组“学习者”和“教师”。我将他们的用户组保存在会话变量中,并将他们引导到他们网站的相关部分。

由于搜索引擎没有设置 user_type cookie,我遇到了搜索引擎无法索引该网站的问题。有没有一种方法可以让搜索引擎爬虫访问网站的两个部分(目前它陷入从 user_type 选择页面到主页的循环中)。

理想情况下,我还希望能够允许爬虫访问仅限会员的资源,因为学习驱动程序将能够访问我希望只有在登录后才能访问的内容。

检查会话变量 user_type 的代码在下面,并在每个页面上调用(因此为什么没有抓取任何内容)

    if($check_exists==TRUE) {
        $this->session->set_userdata('referrer', current_url());
        if (strlen($this->session->userdata('user_type'))==0) {
            redirect('/user_type/');
        }
    } else if($check_exists==FALSE) {
        if (strlen($this->session->userdata('user_type'))>0) {
            redirect('/home/');
        }
    }
4

1 回答 1

2

从 SEO 的角度来看,您用来处理两种用户类型(学习者和教师)的概念是错误的。在大多数情况下,您永远不必让不同的内容共享一个 URL。

在您的情况下,如果未找到 cookie , http: //www.road2driving.co.uk/home 将重定向到http://www.road2driving.co.uk/user_type 。网络爬虫将忽略您的 cookie,并陷入循环。如果您想为这两个页面编制索引,则需要删除基于 cookie 的导航并创建站点的 2 个单独部分。

http://www.road2driving.co.uk/home应该是您当前的http://www.road2driving.co.uk/user_type页面。这意味着 /home 将为学习者和教师部分显示 2 个链接。

然后创建一个learn部分和一个teach部分,例如使用子文件夹。你将会有:

这样,爬虫就可以访问您网站的所有部分。

于 2012-09-17T15:43:10.683 回答