我们正在开发我们网站的移动版本。由于各种原因,我们正在通过用户代理检测来调查“相同的 URL,不同的内容”结构。没有问题,我们很乐意根据 UA 设置设置 cookie,并使用此 cookie 来确定要使用的内容/css/etc。
问题是,我们希望提供从移动页面返回桌面版本的链接,反之亦然。我们不想仅仅链接到主页,而是到同一个页面,只是在另一个环境中。
我们正在考虑让链接包含一个 $_GET 参数
<a href="....html&mob=1">...</a> //mobile page, user wants desktop, AND
<a href="....html&mob=2">...</a> //desptop page, user wants mobile
然后在我们的 prepend 中,我们将检查 $_GET 参数,如果找到,取决于它的状态,设置或取消设置我们的 cookie,然后重定向到 HTTP_REFERRER(与它们刚打开的页面相同)。
问题是,有谁知道这将如何影响 SEO/机器人?
是否有在同一网址上提供不同内容的最佳做法,并且有指向其他版本的链接。
任何投入将不胜感激。提前致谢!
更新 - 我们用于检测移动用户及其选择的代码
// First page load, redirect if mobile
if(!isset($_SESSION['mobile'])){
// SCRIPT SOURCED FROM: http://code.google.com/p/php-mobile-detect/
include_once(INCL_PREP . "lib/Mobile_Detect.php");
$detect = new Mobile_Detect();
// if mobile device, but NOT tablet (they handle desktop versions just fine!)
if ($detect->isMobile() && !$detect->isTablet()) {
$_SESSION['mobile'] = 1;
$redirectURL= ...; // code removed for sake of space and relevancy
header("location:$redirectURL");
}else{
$_SESSION['mobile'] = 2;
}
// Get the $_SESSION['mobile'] status by the $_GET parameter
if($_GET['mobile'] == "on"){
$_SESSION['mobile'] = 1;
}else{
$_SESSION['mobile'] = 2;
}
因此,移动版有 $_GET 一个 get 参数,使用它和 $_SESSION 我们可以在页面加载时自动重定向,并且它们还可以毫无问题地在移动版和桌面版之间切换。
感谢输入的人。