WP Rocket和GTranslate pro不兼容,当开启阿拉伯语时,会导致英文语言下网站左右镜像布局异常

WP Rocket和GTranslate pro不兼容,当开启阿拉伯语时,会导致英文语言下网站左右镜像布局异常

问题:英文网站导致布局左右镜像,缓存错误的加载了阿拉伯语的布局样式

解决方案一(方案无效):不缓存/ar/*阿拉伯语,避免布局样式缓存出现异常情况。唯一的缺点就是阿拉伯语切换时,没有缓存页面,对网页打开速度有一定影响。

  1. 进入 WP Rocket → 高级规则(Advanced Rules)
  2. 在“从不缓存以下页面”(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 文件:

  1. 进入 WP Rocket 设置 → 高级规则 → 从不缓存 URL
  2. 添加 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;
}

Comments are closed.