WP Rocket和GTranslate pro不兼容,当开启阿拉伯语时,会导致英文语言下网站左右镜像布局异常
问题:英文网站导致布局左右镜像,缓存错误的加载了阿拉伯语的布局样式
解决方案一(方案无效):不缓存/ar/*
阿拉伯语,避免布局样式缓存出现异常情况。唯一的缺点就是阿拉伯语切换时,没有缓存页面,对网页打开速度有一定影响。
- 进入 WP Rocket → 高级规则(Advanced Rules)
- 在“从不缓存以下页面”(Never Cache URLs)中添加:text/*?lang=* /ar/*
/*?lang=*
排除所有带语言参数的 URL(如?lang=ar
)。/ar/*
排除阿拉伯语等固定语言路径(如果使用子目录模式)。
Gtranslate官网声明解决方案: Using GTranslate with WP Rocket – WP Rocket Knowledge Base,全站禁用页面缓存,但网页打开速度直线下降,不是一定很好的选择。
解决方案二:(高桥测试中)
1. 排除 GTranslate 相关文件从缓存
在 WP Rocket 设置中排除 GTranslate 的 JavaScript 和 CSS 文件:
- 进入 WP Rocket 设置 → 高级规则 → 从不缓存 URL
- 添加 GTranslate 相关路径,如
/wp-content/plugins/gtranslate/*
无效,现改为下面条件再进行测试
/ar/*
/ar
/*?lang=ar
2. 禁用特定优化功能
尝试在 WP Rocket 中禁用以下功能:
- 延迟加载 JavaScript
- 合并 JavaScript 文件
- 优化 CSS 传递
3. 添加 RTL 语言缓存例外
在 WP Rocket 配置文件中添加阿拉伯语页面的缓存例外。 在functions.php文件中添加wp-rocket不缓存指定语言路径
add_filter( 'rocket_cache_reject_uri', 'exclude_arabic_pages' );
function exclude_arabic_pages( $urls ) {
$urls[] = '/(ar|arabic)/'; // 根据您的实际URL结构调整
return $urls;
}