我有一个在 1.5 GB 中运行的 sitemap.xml。
我如何提供从 nginx 压缩的 sitemap.xml,以便它只被压缩一次然后提供服务?可能也使用缓存(如果可能的话)
此外,我还会定期更新 sitemap.xml。因此,在这种情况下,压缩的站点地图应该失效,而新的压缩站点地图应该失效。
答案1
据我所知,几乎每个爬虫/搜索引擎都理解 sitemap.xml.gz。
配置生成 sitemap.xml 的任何应用程序,使其也对其进行 gzip 压缩,然后让 Nginx 提供该预压缩文件。在 Nginx 的配置中添加类似
location /sitemap.xml.gz
add_header Cache-Control "public, must-revalidate";
除此之外,你可能还想添加 301 重定向站点地图.xml到站点地图.xml.gz。
答案2
您应该启用 http_gzip_static_module。制作带有 .gz 扩展名的预压缩文件版本并删除原始文件。Nginx 将即时解压缩并提供它,如果您需要更新它 - 只需更新压缩文件即可。