我们正在准备移动版本的网站。出于各种原因,我们正在通过用户代理检测来研究“相同的URL,不同的内容”结构。没问题,我们很乐意根据UA设置设置cookie并使用此cookie来确定要使用的内容/ css /等。
问题是,我们希望从移动页面提供返回桌面版本的链接,反之亦然。我们不想只链接到主页,而是链接到同一页面,只是在其他环境中。
我们考虑让链接包含$ _GET参数
<a href="....html&mob=1">...</a> //mobile page, user wants desktop, AND
<a href="....html&mob=2">...</a> //desptop page, user wants mobile
然后在我们的前置中,我们将检查$ _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我们可以自动重定向页面加载,他们也可以在移动和桌面版本之间交换而没有问题。
感谢输入的人。
答案 0 :(得分:2)
'技术上'你没有使用“相同的网址” - 查询字符串变体实际上被搜索机器人视为不同的网址。
如果您尝试为移动/桌面用户管理不同的网址,并希望确保Google“看到”正确的版本,请阅读以下资源:https://developers.google.com/webmasters/smartphone-sites/details
关于如何使用rel="alternate"
和rel="canonical"
完全符合您所描述的情景的解释。