【问题标题】:How should I use rel="canonical" in Jquery Mobile?我应该如何在 Jquery Mobile 中使用 rel="canonical"?
【发布时间】:2012-06-14 18:54:21
【问题描述】:

Google 最近发布了他们的移动最佳实践:https://developers.google.com/webmasters/smartphone-sites/details

鉴于页面在 Jquery Mobile 中的工作方式,我的问题是关于如何为我的移动网站上的各个页面设置 rel="canonical" 链接。

我是否应该不担心其他页面(例如位置、联系人等)而只专注于在脑海中记住以下内容:

<link rel="canonical" href="website.com" > 

也许我应该在头部包含所有规范链接?

<link rel="canonical" href="website.com" >
<link rel="canonical" href="website.com/locations" >
<link rel="canonical" href="website.com/contact-us" >

或者我应该在每个单独的 jquery 移动“页面”中包含规范链接吗?

<div data-role="page" id="locations" data-theme="a">
<link rel="canonical" href="website.com/locations" >

【问题讨论】:

    标签: jquery jquery-mobile seo


    【解决方案1】:

    您应该在每个页面中放置一个规范标签。 (列出的最后一个选项。)

    爬虫会在没有启用 JavaScript 的情况下访问您的网站以抓取这些标签。

    因此,您需要为每个页面单独设置规范标签,以便直接链接到该页面:http://localhost:8080/some/path 将设置规范 URL。不用担心它会在每个 pageshow 事件中发生变化。

    这点下面的信息不是为了 SEO,更多是为了好玩/好奇

    如果您希望能够更改 pageshow 上的规范标签,请将其扔到您的 JS 中:

    $(document).bind('pageshow', function() {
        $('link[rel=canonical]').attr('href',$('base').attr('href'));
    });
    

    【讨论】:

    • 所以说清楚,你是说我应该选择我建议的最后一个选项?
    • 另外,感谢您提供的小代码 sn-p。我可能会使用它。
    • 没问题。我的目标是提供帮助:P。如果您单独使用该代码 sn-p,当爬虫访问您的页面时,它将不起作用(由于 JS 在爬取您的网站时被禁用)
    • 是的,那将是理想的。只需在每个请求和&lt;link rel="canonical" href="&lt;?php echo $canonical; ?&gt;"/&gt; 上创建一个变量 $canonical。要测试,要么禁用 JS,要么转到每个页面并刷新并检查头部。
    • 这个答案看起来不错,除非您在 jQuery Mobile 中使用多页功能。我不知道谷歌会如何告诉每个带有 data-role="page" 的 div 应该被视为一个单独的页面,并具有它自己单独的规范链接。这里有什么解决方案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2015-09-18
    相关资源
    最近更新 更多