angular - 具有参数和 SEO 优化的角度路线
问题描述
我目前正面临 Angular 应用程序的 SEO 优化问题。我有一个主要组件,它有一堆到报告页面的链接,看起来像这个报告/测试1,报告/测试2,报告/测试3,......此刻的路由看起来像这样:
const routes: Routes = [
{ path: '', component: Page1Component },
{ path: 'page1', component: Page1Component },
{ path: 'report/:name', component: ReportComponent }
];
因此,根据报告的名称,我在该页面上显示了不同的内容(报告)。而且我需要为每个显示的报告设置单独的元标记和标题。所有可能的报告名称都是已知的,所以我的想法是为每个报告创建一个路由,就像这样
const routes: Routes = [
{ path: '', component: Page1Component },
{ path: 'page1', component: Page1Component },
{ path: 'report/test1', component: ReportComponent },
{ path: 'report/test2', component: ReportComponent },
{ path: 'report/test3', component: ReportComponent }
];
然后在组件内部,根据路由显示不同的元标记,但我不确定它是否会被正确解释。我已经为应用程序使用了服务器端渲染。有没有人知道它是否可以以不同的方式完成,或者这种方法可能会奏效?我不确定我的方向是正确的。谢谢!
解决方案
此解决方案的问题:
{ path: 'report/test1', component: ReportComponent },
{ path: 'report/test2', component: ReportComponent },
{ path: 'report/test3', component: ReportComponent }
是你没有利用路由系统的优势,而且每次你有新的报告要管理时,你都会复制你的路由。
对我来说,正确的方法是在路由中使用带有参数的路由系统,如下所示:
{ path: 'report/:name', component: ReportComponent }
根据您的“姓名”,您可以根据需要设置/显示数据。
推荐阅读
- python - Python 字典键/值抓取
- python - 从 scipy.optimize 到 nlopt 包使用的优化方法
- android - 将 androidx espresso-contrib 添加到 androidTestImplementation 会创建依赖/约束错误
- crystal-reports - 如果等于 1,则水晶报表抑制子报表行
- android - Android 上 QT 应用程序中的 java.nio.channels.OverlappingFileLockException
- java - 如何在方向更改时重新定位片段中的网格布局元素?
- c++ - 指针类型在结构内的对象类型上的用法是什么?
- scala - 使用 spark sql 从列表中插入数据到配置单元表中
- android - RXKotlin 中的存储库模式连接结果
- java - CryptoJs 解密函数的加密函数