php - 我是否需要为 AngularJS 的每条内容创建一个单独的页面?

标签 php angularjs ajax seo

背景:我正在创建一个股票市场应用程序,其中包含公司描述、历史、行业、股价等,并允许用户根据自己的意愿添加新公司。当用户想要阅读有关特定公司的信息时,他/她只需在搜索框中输入代码,页面就会更新为该公司的内容。我计划使用 MySQL 数据库来存储静态内容信息,例如描述,PHP 作为服务器端语言,动态数据 API(例如股票价格),以及用于前端开发的 AngularJS,特别是为了消除持续的页面重新加载和加快开发周期。

问题 1(1 个公司 = 1 个页面?):最初,我打算通过 $http 创建 AJAX 请求,然后简单地填充带有由该请求生成的 {{content}} 的 html 模板,但后来我听说为每个内容创建一个单独的页面也是一种常见的方法,并且是SEO 的首选(基本上,URL 看起来像这样:www.mysite.com/#/main/page vs www.mysite.com/main/page/company1.php 分别用于第一种和第二种方法)。哪种方法确实是首选方法,或者如果在这种情况下这些方法都不正确,最佳实践是什么?

问题 2(SEO/站点地图):如果我坚持使用第一种方法($http),我意识到搜索引擎抓取工具将难以识别页面,因为从技术上讲,任何有内容的页面;它们都是动态生成的。搜索引擎是否真的找不到我的网页?如果是这样,是否有解决此问题的方法?

非常感谢!

最佳答案

使用 Angular,您可以轻松地为每段内容设置唯一的 URL。为此,您可以使用路由器(参见 https://docs.angularjs.org/api/ngRoutehttps://angular.github.io/router/getting-started )。它允许您的应用程序:

  • 在用户请求 URL 时加载并显示适当的内容,
  • 当您的用户浏览网站时更新地址栏中的 URL。

因此,您的用户将能够共享链接、书签内容......

对于机器人,您需要提供 HTML 快照。可以使用 SEO4Ajax 之类的服务来完成.或者,如果你想自己做,有一个很好的教程 here .

关于php - 我是否需要为 AngularJS 的每条内容创建一个单独的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33621555/

相关文章:

php - 使用 php 检查 MySQL 中重复用户的问题

php - .htaccess:缓存控制,我如何处理网站更新?

php - 我的 mysql 查询没有更新我的表

javascript - 得到 ?和 & 分别为 Javascript/PHP

javascript - 就我而言,如何将数据传递给另一个 Controller ?

php - 使用 jquery $.ajax 发送鼠标位置

javascript - Angular 链接 AJAX 调用

javascript - AngularJs 停止特定 Controller 的 $interval

javascript - 指令模板中的 $rootScope 变量

jquery - Rails-Jquery : Updating a Database Field on a click event