【问题标题】:Use separate URL's for desktop and mobile pages为桌面和移动页面使用单独的 URL
【发布时间】:2016-12-23 12:28:34
【问题描述】:

Google 将我的网站识别为“不适合移动设备”。

前段时间,我重新设计了我网站上的几个页面,以确保它们在移动设备上正确显示。直到最近,用户还需要手动选择要使用的版本。我意识到这并不令人满意,因为它导致 Google 不了解这些页面之间的关系,因此它们被视为“不适合移动设备”

我一直在尝试解决此问题,并已阅读并遵循 Google 的说明,该说明通过在页面头部插入以下标签来描述为桌面和移动页面使用单独的 URL:

在桌面版本上链接 rel="alternate" 标签和一个
在移动版上链接 rel="canonical" 标签

这是我遵循的完整方法:

  1. 为移动网站设置子域:www.m.identitydesign.co.nz

  2. 将此处的代码用于 .htaccess 文件: http://webdesignandsuch.com/redirect-to-a-mobile-site-with-htaccess-and-set-a-cookie-to-break-redirect/

在这一点上,重定向工作正常,但在移动设备上查看时仍然存在持续的“循环重定向”,导致页面由于重定向过多而根本无法显示。

  1. 为了解决这个问题并阻止它循环,我使用以下代码为子域创建了另一个 .htaccess 文件:

    重写引擎关闭 重写基础/

  2. 这工作正常,但随后出现了一个新问题(仍然是重定向问题)。 如果用户想要覆盖到移动站点的自动重定向,他们应该能够单击返回主站点的手动链接。但它会自动循环回移动网站,如果他们希望看到它,就会阻止访问主网站。

为了解决这个问题,我直接在移动网站上的 href 链接之后插入了代码 ?m=0,如下所示:

<a href=“http://www.example.com?m=0”>

这破坏了重定向,导致它停止循环。

此时我认为一切都很好,但我意识到仍然存在问题。

可能是因为 Google 尚未将这些页面编入索引,因此它仍然在 Google 的 SERP 中显示为“不适合移动设备”。但是,当我转到 Google 的移动设备友好测试页面并分析该页面时,它告诉我它“太棒了!”

很好,但是当我尝试分析其他页面(除了主页)时,例如 http://www.identitydesign.co.nz/artists_impressions.html 应该加载此页面:
www.m.identitydesign.co.nz/artists_impressions.html

它会继续加载 INDEX 页面。

这是问题的症结所在:
在分析桌面页面时,我得到了肯定的结果,但是它重定向到索引页面并且没有指向正确的相应移动页面。

结果是,当我进行谷歌搜索时,例如“艺术家印象奥克兰”我的页面出现在 SERP 中。如果我在桌面上搜索,链接会转到正确的页面。但是,如果我在移动设备上进行相同的搜索,链接会将我带到 INDEX 页面,而不是“艺术家印象”的正确对应页面。

我在 StackOverflow 网站上搜索了类似的问题,但找不到具有相同特定问题的网站。最接近的匹配线程涉及使用 PHP,这不适用于我的情况。

感谢任何帮助或帮助。谢谢。

【问题讨论】:

    标签: .htaccess url redirect mobile


    【解决方案1】:

    在我看来,为同一网站的移动版和桌面版使用子域的想法有点过时了。

    您是否考虑过使用响应式网页设计?它侧重于使用可扩展内容的想法,该内容将适应所使用设备的屏幕尺寸。这意味着必须只维护一组页面,而不是为两个版本的网站维护单独的页面。这将消除您的问题,并使将来更容易维护。现在使用大量的 HTML 和 CSS 框架构建响应式网站比以往任何时候都容易,例如http://getbootstrap.com/http://foundation.zurb.com/

    话虽如此,如果您希望坚持当前的方法,我建议您的 .htaccess 文件有问题。您可能需要重写匹配的用户代理字符串列表,因为它看起来已经过时了。

    在您的示例中执行重定向的行指向一个固定的 URL:

    RewriteRule ^ http://m.example.com [R,L]

    将此更改为复制路径组件:

    RewriteRule ^ http://m.example.com%{REQUEST_URI} [R,L]

    【讨论】:

    • 感谢 Mhowell,但在进行更改后,我现在收到“500 内部服务器错误”。
    • 试试去掉空格,有什么区别吗? http://m.example.com%{REQUEST_URI}
    • 宾果游戏!是的,这似乎已经解决了。
    • 太棒了,我会编辑我的答案以便为其他人修复它。我真诚地建议您研究响应式网页设计,但如果可能的话,它会让您的生活更轻松。
    • 我很久以前就设计了这个网站,我担心如果我改变它太多我会失去我在某些页面上的谷歌排名。此外,我尝试过提出一个响应式解决方案,但它正在我的脑海中。也许当我变得更精通 Web 开发时。
    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    相关资源
    最近更新 更多