【问题标题】:Single page website, SEO and Social media share buttons单页网站、SEO 和社交媒体共享按钮
【发布时间】:2023-03-11 04:45:01
【问题描述】:

我有一个单页网站,使用 SammyJS 作为 js 框架和 PHP 作为后端构建,所以当我到达 SEO 点时,我阅读了有关 google Ajax 爬虫的信息,所以我做了以下事情: 1.我将以下 2 行添加到我的 htacess 文件中。

#RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
#RewriteRule ^$ /seo/index/ [R=301,L] 

2。我创建了一个新的控制器(seo),它只显示需要索引的数据(HTML),没有任何 CSS 或 js。

因此,如果 url 包含 _escaped_fragment_,网络服务器会将其重定向到 seo 控制器。 当我使用 facebook 共享时,此解决方案运行良好,但不适用于 gplus、linked-in 和 twitter。 同样,当我测试 google-bot 如何查看我的网站时,google-bot 会看到 301 重定向页面!。

由此,我希望某些东西可以在没有重定向的情况下工作,这需要 sammyJS 在没有哈希的情况下工作,我无法使其工作。

我的问题是如何让 sammy js 在没有 #! 的情况下工作或 #,考虑到所有浏览器不支持推送状态。

关于这个案例的任何想法。

谢谢,

【问题讨论】:

  • 不幸的是,我不相信你可以在没有标签的情况下让 SammyJS 工作。

标签: facebook .htaccess seo single-page-application sammy.js


【解决方案1】:

经过一些研究,我发现这种方法可以通过单页应用程序处理 seo 和社交媒体,

由于我使用 Yii 框架作为后端,在主布局文件中我得到了查询字符串的参数,所以如果 url 包含“_escaped_fragment_”,我将这个变量及其值直接获取结果包括 sammyJS 路由器文件。

所以在布局文件的顶部:

<?php
if(isset($_GET['_escaped_fragment_'])){
        Return the data you want using PHP only don't relay on js,
        from here you need to provide a full html page with all data.
}else{
       include your sammy js routers file.. normal case 
}
?>

而且您也不需要从 htaccess 文件进行任何重定向。

谢谢,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-30
    • 2017-08-21
    • 2012-08-19
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2013-10-04
    相关资源
    最近更新 更多