在企业级Web应用开发中,面对业务需求和技术要求,开发者需要构建满足复杂度、定制化、可扩展性和性能要求的应用。企业级前端应用不仅要实现业务功能,还需具备强大的性能、可扩展性、安全性和维护性。开发过程中,开发者需应对大规模数据处理、复杂业务逻辑和多模块协同等挑战。而随着企业级应用的普及,如何在互联网海洋中被用户通过搜索引擎发现,成为Web开发者的重要考量因素,即搜索引擎优化(SEO)。 SEO涉及客户端渲染和服务器端渲染的概念。客户端渲染通过HTML页面源代码生成最终页面,动态内容的加载通常通过AJAX从服务器获取,而服务器端渲染则在服务器端完成从HTML源代码到最终页面的转换过程。 以Angular应用为例,当开启服务器端渲染模式,使用express库运行在Node.js服务器上,index.html页面通过nguniversal/express-engine引擎进行渲染。服务器端渲染后,将完整的HTML源代码发送给浏览器,相比客户端渲染模式下返回的1KB左右内容,服务器端渲染模式下返回的HTML源代码超过240KB。 SAP产品UI,如SAP Cloud for Customer和基于SAP Fiori Elements的SAP S/4HANA页面,采用服务器端渲染技术。与此相反,采用客户端渲染的应用,如基于SAP UI5框架的SAP产品,搜索引擎抓取的index.html页面内容为空,因为动态内容直至浏览器接收后执行Angular框架代码生成。 开启服务器端渲染,解决了搜索引擎无法正确抓取Web应用页面内容的问题,但这也导致服务器资源消耗增加。为优化此情况,团队设计了渲染缓存、增加渲染队列和超时机制,以及在特定条件下降级到客户端渲染等策略。这在保证服务器服务能力和支持SEO之间取得了平衡。 虽然基于SAP UI5框架开发的SAP应用大多不依赖SEO,但对于基于SAP Commerce Cloud搭建的电商店铺,SEO的完善程度直接影响销售额。网站SEO是一门学问,本文介绍了在处理客户请求时了解到的相关知识。 以关键字lego ae进行搜索,搜索结果中的乐高阿联酋电商店铺页面展示了页面标题和描述信息,这些信息源自SAP Commerce Cloud后台系统。通过设计Page模型,维护页面的元数据,如title和description字段,并通过PageMetaService类实现元数据的维护和订阅,SAP Commerce Cloud UI实现了基于meta标签的SEO支持。 SAP S/4HANA应用中的meta标签更多用于维护页面元数据,而不是支持SEO,这与SAP Commerce Cloud UI中的应用不同。例如,sap-client meta标签维护的content为715,表示对应的ABAP客户端ID为715,对客户来说是透明的。 总之,本文从客户端渲染与服务器端渲染的概念出发,详细阐述了开源项目Spartacus针对SEO的技术实现,旨在为有类似开发任务的同行提供启发。



































