picperf / statamic-picperf
Requires
- illuminate/support: *
- statamic/cms: ^3.2|^4.0|^5.0
Requires (Dev)
- mockery/mockery: ^1.6
- pestphp/pest: ^2.34
README
这是一个Statamic插件,使用PicPerf自动重新格式化、优化并强力缓存您的网站图像。
功能
- 自动将图像重新格式化为现代、轻量级的格式,如AVIF和WebP。
- 仅提供现代格式,其实际更轻,并且只有当访客的浏览器支持时才提供。
- 从浏览器开始,到全球CDN,强力缓存您的图像。
- 您的图像原始版本保持不变。
- 使用自动生成的站点地图以获得额外的SEO提升。
入门
创建账户。
为了从该插件中受益,您需要首先在PicPerf上创建账户。提供14天的免费试用,但为了使您的图像保持快速并全球可用,需要升级到常规计划。
添加您的域名。
在PicPerf仪表板中添加您的网站域名。
如何安装
在Statamic控制面板的“工具 > 插件”部分中搜索PicPerf插件,然后点击“安装”,或在项目根目录中使用Composer安装。
composer require picperf/statamic-picperf
如何使用
默认情况下,您不需要做任何事情。插件将自动将所有图像URL前缀为https://picperf.io
,允许它们自动优化和全局缓存。具体来说,只有HTML <img>
标签(包括响应式图像)、内联style
属性和<style>
标签内的CSS将被转换。单独的.css
文件中的图像URL或通过客户端JavaScript注入的图像URL将不受影响。
禁用通用转换
您可以通过在您的config/picperf.php
文件中将transform_all_markup
设置为false
来选择退出通用图像转换。当禁用后,只有经过修饰符处理的内容将被转换。
<?php // config/picperf.php return [ 'transform_all_markup' => false, ];
使用修饰符
picperf
修饰符将以更受控的方式执行相同的图像转换。您可以在单个URL上使用它...
{{ featured_image }}
<img src="{{ url | picperf }}" alt="{{ alt }}" />
{{ /featured_image }}
或HTML片段
<article>
{{ content | picperf }}
</article>
转换根相对路径
默认情况下,该插件不会转换根相对图像(例如:/some/image.jpg
)。但是,如果您在您的config/picperf.php
文件中设置一个host
,它将被附加到这些路径上,以便您的图像可以享受到性能提升。
<?php // config/picperf.php return [ 'host' => 'https://macarthur.me', ];
将图像添加到自动生成的站点地图
PicPerf将根据过去90天的图像请求自动为您生成一个图像站点地图。
启用图像站点映射包含
默认情况下,此站点地图不包含任何图像。要为所有图像启用它,请将配置属性add_sitemap_path
设置为true
。
<?php // config/picperf.php return [ // ... other configuration values 'add_sitemap_paths' => true, ];
这将向每个图像添加一个基于当前页面路径的sitemap_path
查询参数。
通过修饰符添加图像到站点地图
如果您希望更精确地控制哪些图像包含在站点地图中,请使用picperf
修饰符上的add_to_sitemap
参数。
{{ featured_image }}
<img src="{{ url | picperf:add_to_sitemap }}" alt="{{ alt }}" />
{{ /featured_image }}
这将在当前页面上附加sitemap_path
参数。
自动注册的站点地图端点
默认情况下,此插件会自动在https://ur-site.com/picperf/sitemap
注册一个图像网站地图路由。这所做的一切只是代理自动生成的网站地图的内容,位于https://picperf.io/sitemap/ur-site.com
。然而,好处是,由于它将从您的域名提供服务,谷歌将能够成功解析它。
如果您不想注册网站地图端点,请将register_sitemap
配置键设置为false
<?php // config/picperf.php return [ // ... other configuration values 'register_sitemap' => false, ];
自动添加的Sitemap robots.txt条目
在安装时,插件还会将Sitemap
条目添加到您的robots.txt
中。如果它被删除了,并且您需要再次添加它,您可以运行以下命令
php please picperf:register-sitemap
更多文档
在picperf.io/docs查看。