Joomla! 3.8 引入了全新的路由系统。此功能极大地提升了 Joomla 的开箱即用的 SEO 能力,长期以来一直受到用户期待。
为了更详细地了解此功能及其对现有和新网站以及第三方扩展的影响,营销团队采访了 Hannes Papenberg - 此功能的首席开发人员。
对于现有的 Joomla 安装(3.x)来说有哪些变化?当您重新安装 Joomla! 3.8 时,新的路由器默认情况下是否处于活动状态?新的路由器是否可选?
新的路由器默认情况下不会启用,即使在新的安装上也是如此,因此在升级后,您的设置不会直接发生任何变化。相反,您可以选择为每个核心组件(支持它的组件)启用它,或者使用旧的传统路由器。您也可以在全局级别上选择如何处理不正确的 URL。现在 Joomla 对现有 URL 非常宽容,通常会返回(错误的)页面而不是抛出 404 错误。为了保持向后兼容,您仍然可以使用这种旧的行为,但是当您的所有扩展都支持它时,您可以将 404 错误处理切换到严格模式,并从更好的 404 检测中受益。
扩展现在是否需要进行调整,或者它们仍然可以使用?
现有组件在 3.8 中不需要进行任何更改。但是,我建议您考虑重写组件路由器,要么使用新的路由代码,要么至少利用在 Joomla! 3.3 中引入的基于类的路由器。
新的路由器对开发人员有哪些优势?
新的路由系统为开发人员提供了多项改进。组件开发人员应该能够通过编写更少的代码,特别是更少的复杂代码,更容易地编写一致且良好的路由器。高级组件应该能够通过使用基于类的路由器更好地构建路由器,从而编写更好的路由器。集成开发人员现在能够修改现有的路由器,并添加自定义行为,而无需进行核心黑客攻击,并且能够安全地进行更新。
是否有关于如何使用新路由器作为开发人员的文档?
还没有。目前,您可以查看现有的核心组件路由器。
已编辑:我们已经更新了我们的 关于在组件中支持 SEF URL 的文档。
新的 URL 结构是什么样的?
在使用传统路由器或新路由器之间,URL 不应该发生变化,只有一个例外:如果您有一个非常深的类别树,您的 URL 将会发生变化。具体来说,如果您有一个类别包含一个菜单项,并且在该类别中有一个子类别,该子类别又有一个子类别,并且这些子类别都没有通过另一个菜单项链接,那么最后一个类别及其内容将具有不同的 URL。
例如
/linked-category/18-unliked-subcategory/23-unlinked-article
(旧路由器)/linked-category/unliked-subcategory/unlinked-article
(新路由器)
重复内容呢 - 在新的路由器中它仍然可用吗?新的路由器对用户有哪些优势?对性能有影响吗?
新的路由器将为最终用户提供更好的体验。URL 现在将表现得更加一致,更像是文件系统路径。重复内容也会在很大程度上得到防止。(如果管理员错误配置了他们的网站,我们对此无能为力。)新的路由器还可以更可靠地检测错误的 URL,并正确地抛出 404 错误。最后但并非最不重要的是,代码应该会稍微提高性能。
Joomla! 4 发生了什么,旧的路由器在那里被关闭了吗?
Joomla! 4.0 将不需要向后兼容,因此我们将在这里进行一些重大清理。目标是重写代码以遵循一个良好的可靠概念,这意味着删除包括传统路由器在内的其他内容。
未来 Joomla 的路由器领域还有哪些计划?
随着 Joomla! 4.0 中路由器的清理,我们终于能够在这个领域取得真正的进展。Joomla! 4.0 中的路由器将只由很好地封装的规则组成。这意味着我们可以添加经过充分测试的功能,并使它们可选,允许您根据需要启用或禁用它们。这将使我们能够创建完全不同的 URL 结构,例如在未来实现 REST 接口。