Php 我是否需要为AngularJS的每一部分内容提供单独的页面?

Php 我是否需要为AngularJS的每一部分内容提供单独的页面?,php,angularjs,ajax,seo,Php,Angularjs,Ajax,Seo,背景:我正在创建一个股票市场应用程序,该应用程序将包含公司描述、历史、行业、股价等,并允许用户随意添加新公司。当用户想要阅读特定公司的信息时,他/她只需在搜索框中输入股票代码,页面就会更新该公司的内容。我计划使用MySQL数据库来存储静态内容信息,如描述、PHP作为服务器端语言、用于动态数据(如股票价格)的API以及用于前端开发的AngularJS,特别是为了消除不断的页面重新加载并加快开发周期 问题1(1个公司=1页?):起初,我考虑通过$http创建AJAX请求,然后简单地用该请求生成的{{

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

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

问题2(SEO/站点地图):现在如果我坚持第一种方法($http),我意识到搜索引擎爬虫将很难识别页面,因为从技术上讲,没有任何包含内容的页面;它们都是动态生成的。搜索引擎找不到我的页面,这是真的吗?如果是,有办法解决这个问题吗


非常感谢

谷歌可以索引javascript网站(由谷歌于2014年5月发布),但谷歌可能无法正确呈现或索引有角度的网站。技术SEO专业知识是必要的,以确保你有一个SEO友好的网站架构,包括网页标题,元标签,h1等,针对正确的关键字。开发人员可能会发现他们的站点只是部分呈现和索引,或者根本没有

您可以采取一些措施,例如使用
$locationProvider.html5Mode(true)
删除AngularJS的默认hashtaged URL


人们还普遍认为,为了获得良好的搜索性能,需要向爬虫提供角度网站的渲染版本。(其中一个服务是Prerender.io)。

使用Angular,您可以轻松地为每一部分内容创建一个唯一的URL。要实现这一点,您可以使用路由器(参见或)。它允许您的应用程序:

  • 当用户请求URL时,加载并显示适当的内容
  • 当用户浏览站点时,更新位置栏中的URL
因此,您的用户将能够共享链接、书签内容


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

谢谢。即使没有hashtags,我的理解是,我需要扩展每个公司的URL,让爬虫知道有一个不同的页面,对吗?e、 g.www.mysite.com/#/main/page/company1与www.mysite.com/#/main/page/相比,内容在不更新URL的情况下动态加载到页面。对不起,使用Angular很新很好。谢谢。这正是我想要的