Toolbelt:受 Jetpack 启发的新插件,专注于速度和隐私

WordPress 主题和插件开发人员 Ben Gillbanks 正在构建一个 Jetpack 替代方案,重点是速度、简单性和隐私.Toolbelt 是一个新的轻量级插件,它提供了一系列在 WordPress 网站上常用的功能.当前可用的模块包括面包屑、浏览器原生延迟加载、投资组合自定义帖子类型、带有图片的相关帖子、响应式视频、静态社交分享等功能.

Gillbanks 经营 Pro Theme Design,这是一家商业 WordPress 主题商店,过去七年来一直在 WordPress.com 上销售主题.他喜欢 Jetpack 的想法并且他的所有商业主题都支持它,但是提供更高性能和更可持续的网站的愿望驱使他创建 Toolbelt.他正在开发一个名为 Jarvis 的新免费主题,该主题将在 WordPress.org 上发布,与 Toolbelt 完全兼容.

“通过我的新主题,我想制作一些快速、私密且易于访问的东西.受到 Jack Lenox 和 Susty(以及他在 WordCamp Europe 上的演讲)等人的启发,我想让一些东西更具可持续性.在我的个人网站上测试我的主题时,我发现 Jetpack 正在减慢它的速度.所以我开始重建我想用作优化插件的功能.”

Toolbelt 目前包含十多个模块,以类似于 Jetpack 的格式提供,但在管理中具有显着精简的管理界面.默认情况下,所有模块都处于禁用状态,因此用户可以只打开他们需要的模块.

设置页面包含一个列,该列透明地显示了多个模块的页面影响,因为高性能是 Gillbanks 之一.插件的主要目标.

“我一直在开发服务器上测试我的主题,结果得到了 99 或 100 分–但是当我将它添加到我的个人网站时,分数下降了,”他说.“我花了一段时间才意识到问题出在 Jetpack,一旦我禁用了 Jetpack,我的分数又上升到 99 或 100.所以现在,每次我添加一个功能时,我都会测试网站以确保我保持我正在测试我的网站的性能,每个功能和–希望–保持高分.”

尽管 Toolbelt 从 Jetpack 和 Machete 插件中借用了大量代码,但 Gillbanks 在加载模块代码时做出了一些有利于性能的慎重选择:

  • 不使用 jQuery 或任何其他 javascript 框架.所有的 javascript 都是 vanilla js,并且被缩小了.
  • 缩小所有资源(JS 和 CSS)
  • 内联加载所有资产.它们已经很小,直接在页面上加载它们意味着没有服务器请求.
  • 仅在需要时加载东西.JS 和 CSS 只为激活的模块加载.
  • 没有选择.只有一个数据库选项,那就是一个存储哪些模块处于活动状态的数组.
  • 尽可能使用最少的代码.最低 Javascript 和 PHP.更少的代码意味着更快的速度和更少的错误.

Toolbelt 保护隐私的方法:不打电话,不跟踪用户

隐私是 Gillbanks 插件最重要的方面之一,Gillbanks 是英语,必须处理 GDPR 和欧盟 cookie 法律.Toolbelt 不会为其提供任何功能,插件也不会与第三方共享数据或使用标准的社交共享 JavaScript.它也不会跟踪使用情况或向网站的 HTML 中添加任何评论.

“Jetpack 的一个缺点是它依赖于 wordpress.com 服务器,包括在其网站上托管图像和内容,”吉尔班克斯说."诸如相关帖子之类的东西会将博客帖子数据同步到他们的服务器,以便对其进行搜索和过滤."

Toolbelt 内置的隐私选择可能会限制 Gillbanks能够重现依赖第三方服务器的某些功能,例如访问者统计信息、停机时间监控和图像 CDN.

“我不确定我是否会添加这些功能,或者与注重隐私的第三方服务合作,”吉尔班克斯说.“我必须承认我真的很想添加统计数据,所以我希望我能找到一个可以一起工作的人.”

Toolbelt 深受 Jetpack 的启发,但 Gillbanks 表示他不打算重建其所有功能.他从更简单的开始,并专注于他想要使用的那些.他也没有计划在短期内将其货币化.

“我愿意在未来添加高级功能,但如果我这样做了,我不会开始对当前免费的任何内容收费,”他说.“目前我只想继续添加更多模块并制作一些我觉得有用的东西.”

Gillbanks 目前正致力于改进 Toolbelt 的 cookie 同意栏,以构建一种允许"接受"的方法.和‘下降’选项,以便仅在用户按下接受按钮时启用跟踪.这有助于那些想要更严格地遵循 GDPR 准则的人.如果用户在其网站设置中进行了设置,当前实施会自动链接到网站的隐私政策页面.

Toolbelt 没有任何设置,除了网站上活动的模块,但 Gillbanks 创建了一组操作和过滤器,允许开发人员为客户/主题自定义内容.该文档可在 GitHub 上找到,用户还可以在其中提交问题和功能请求.

12

发表回复