最近一家德国法院以违反欧洲通用数据保护条例 (GDPR) 为由对使用 Google 托管的在线字体的网站处以罚款。
这个判决会对 WordPress 官方主题目录中的很多主题都会造成影响,因为这些主题基于性能考虑,都使用了 Google CDN 加速的 Google 的在线字体,从而提升了网站的速度,但是它会泄露用户的 IP 地址,从而侵犯用户的隐私。
对主题有什么影响
对于现有的主题,WordPress 官方主题团队强烈鼓励主题作者更新他们的主题,把 Google 在线字体切换到本地托管字体从而遵守 GDPR。
对于新提交的主题,WordPress 官方主题团队可能考虑禁止使用在线字体,这个还没最终决定,具体还会继续讨论。
此外 WordPress 官方则正努力把使用了在线字体的所有默认主题(从 2012 到 2017)切换到使用本地托管字体,以确保所有默认主题都符合 GDPR 并能够无风险地使用。
因为此前一个使用了 2017 主题的德国用户,受到了网站访问者引用前面判决的威胁, 如果网站所有者不遵守并继续通过使用 Google 字体而向 Google 提供 IP 地址,可能会被处以 25万欧元的罚款,或者判处六个月的监禁。
如何本地托管字体
最快的方法就是通过查看默认主题 2022 的源代码,了解如何使用 theme.json 来实现。
而对于那些使用 functions.php 文件加载字体的主题,可以查看在 WordPress 中实现 Webfonts API 这篇教程,它详细解释了如何使用捆绑的字体文件生成样式。
最后主题作者还可以使用 Webfont-loader 这个程序包,它允许主题作者将 Google 字体下载到本地,然后在 API 中使用它们。
对于已经使用了 Google 在线字体的主题,主题作者没有及时更新,然后也不想换的话,可以试一下 Local Google Fonts 这个插件,它会自动检测到使用到的 Google 在线字体,然后给用户一个选项是否下载并本地托管。此外还可使用 OMGF Host Google Fonts Locally 插件也可实现同样的效果,选项可能更多一些。