没有不值得去解决的问题,也没有不值得去学习的技术!

From AutoPoly to Yandex Web: Validating Automatic English Translation Quality for WordPress

[截图 2:浏览器 Network 中直接请求 translate.yandex.net]

作者:

在

I have recently been testing different automatic translation workflows for multilingual WordPress posts.

My current blog setup uses:

Plaintext
WordPress
Polylang
AutoPoly - AI Translation For Polylang

I had already tested the free version of AutoPoly for a while. It can handle the following tasks fairly reliably:

Plaintext
创建英文文章
保留 Polylang 关联
保留 Gutenberg 区块结构
保留图片、链接、代码块
不会明显破坏 WordPress 文章结构

From the perspective of creating an English copy and preserving the post structure, the free version of AutoPoly is usable.

But the real issue is this:

After AutoPoly Free uses Yandex Translate, the actual body text translation quality is not very good.

At first, I thought the main reason was simply that Yandex Translate was weaker than ChatGPT. But after inspecting the browser requests and comparing the results more carefully, I realized the issue may not be that simple.

Reference: Chrome Built-in AI vs Yandex Translate vs ChatGPT Plus: Why I Decided to Use ChatGPT Plus for Important English Articles

This article records my validation process and my current judgment on the translation workflow going forward.

[Screenshot 1: AutoPoly automatic translation progress bar]
[Screenshot 1: AutoPoly automatic translation progress bar]

1. My Initial Suspicion: AutoPoly May Not Translate the Whole Article at Once

When I manually prepare an English version of an article, I usually give the full WordPress code editor content to ChatGPT and make the requirements explicit:

Plaintext
保留 Gutenberg 区块结构
保留 HTML 标签
保留短代码
保留图片占位
保留代码块
代码块中的内容默认不要翻译
产品名、插件名、命令、路径、域名、URL 不要翻译
技术术语使用自然英文
不要机器翻译腔
适合海外技术读者阅读

This workflow is not just simple translation. It is closer to rewriting the entire technical article in English.

But AutoPoly’s automatic translation interface shows a percentage progress bar. That detail made me wonder:

It may not be sending the whole WordPress code editor content to the translation service at once. Instead, it may be splitting the post into paragraphs or blocks and translating them separately.

If that is true, then even switching the translation engine from Yandex to OpenAI may still not reach the quality I get from processing the entire article directly with ChatGPT Plus.

2. Network Inspection: AutoPoly Free Does Request Yandex from the Frontend

To verify this, I opened the Network panel in the browser developer tools and ran a Yandex automatic translation using AutoPoly Free.

After filtering for yandex, I could see the browser directly requesting:

Plaintext
https://translate.yandex.net/api/v1/tr.json/translate

The request also included parameters like these:

Plaintext
srv=tr-url-widget
lang=zh-en
format=html
callback=...

This shows that when AutoPoly Free uses Yandex, the request is not being proxied by the WordPress backend. Instead, it works like this:

Plaintext
浏览器前端 → translate.yandex.net

In other words, the free Yandex translation mode is closer to a frontend Widget/JSONP-style call.

[Screenshot 2: Direct request to translate.yandex.net in the browser Network panel]
[Screenshot 2: Direct request to translate.yandex.net in the browser Network panel]

3. Key Evidence: It Translates Text Array Fragments, Not the Whole Article

One of the request payloads looked roughly like this:

JSON
{
  "text": [
    "每次修改规则或域名配置后,EdgeOne 可能会显示:",
    "这时立刻测试,结果可能不稳定。",
    "【图29:域名配置处于部署中状态】",
    "之前我一度以为 HTML 缓存必须开启“强制缓存”才能命中。后来等域名和规则全部变成“已生效”后,再次测试发现:",
    "所以现在的最终结论是:",
    "这比强制缓存开启更稳。",
    "十九、用 curl 验证 EdgeOne 缓存是否生效",
    "配置完成后,我用 curl 做了几组测试。"
  ],
  "lang": "zh-en",
  "format": "html"
}

This request is important.

It shows that AutoPoly does not submit the complete post to Yandex as one full article. Instead, it splits the content into multiple text items and submits them in batches.

So a more accurate conclusion is:

AutoPoly Free is not strictly sending one request per paragraph. It splits the article into text fragments such as headings, paragraphs, list items, and captions, then submits them to Yandex in batches through a text array.

This also explains why it has a percentage progress bar.

That progress bar probably corresponds to:

Plaintext
已处理片段数 / 总片段数

Or:

Plaintext
已完成批次数 / 总批次数

It is not really a whole-article translation progress indicator.

4. The Problem with AutoPoly’s Translation Result: The Body Text Feels Mechanical

Looking at the final result, the body text produced by AutoPoly Free with Yandex Translate clearly feels machine-translated.

For example, the original Chinese text was:

Plaintext
说明 _ga 这类统计 Cookie 不影响普通访客命中 HTML 缓存。

The AutoPoly/Yandex result was something like:

Plaintext
Description _ga Such statistical cookies do not affect ordinary visitors from hitting the HTML cache.

This English is not natural.

A more natural technical blog expression would be:

Plaintext
This means analytics cookies such as _ga do not prevent regular visitors from hitting the HTML cache.

The problem is not just that a single word is mistranslated. The sentence lacks context-aware rewriting.

Common Chinese technical blog expressions such as “result,” “this means,” “after this step,” and “the final conclusion is” can easily become stiff English if each fragment is translated in isolation.

5. But AutoPoly Keeping Chinese in Code Blocks Is Actually Expected

At first, when I saw that the AutoPoly result still contained a lot of Chinese, I thought this was a serious problem.

But after looking more closely, I found that most of the remaining Chinese was inside Plaintext or similar code blocks.

For example:

Plaintext
Windows 用户 / 非 Linux 桌面用户
不想手动折腾 Nginx、缓存规则、证书、DNS 的站长
博客访问量不高,只是想先让网站稳定可访问的用户

In my WordPress articles, this kind of content is usually a code block, configuration block, or command block.

According to my current translation rules:

Content inside code blocks should not be translated by default.

So the fact that AutoPoly did not translate these blocks was actually expected.

In other words, AutoPoly Free has one real advantage when it comes to protecting structure:

Plaintext
它更倾向于只翻译正文文本,而不是把代码块也当正文处理。

This matters a lot for technical blogs.

6. Comparing It Again with Yandex Web Quick Translation

To verify this further, I also pasted the whole article body into the Yandex web version and translated it there.

I was not logged in. I used Yandex Quick translation.

Judging from the result, whole-article translation in the Yandex web version has one advantage:

Plaintext
普通正文的连续性,比 AutoPoly 分片翻译略好一些。

For example, it tends to process the body text more continuously, instead of translating it as obviously fragmented pieces like AutoPoly.

But it also has a major problem:

The Yandex web version also translates Chinese inside code blocks, configuration blocks, and explanatory blocks.

For example, configuration notes, structure blocks, and path descriptions that should have been preserved were treated as normal body text and translated.

That does not meet my needs.

[Screenshot 3: Translating the full article body with Yandex web Quick translation]
[Screenshot 3: Translating the full article body with Yandex web Quick translation]

7. The Problem with Yandex Web: Whole-Article Translation Does Not Mean Publish-Ready

Although whole-article translation in the Yandex web version is slightly more natural than AutoPoly’s body text, it still cannot be used as a publish-ready English blog post.

There are several main problems.

First, it translates code blocks and configuration blocks that should not be translated.

For ordinary articles, this may not be a big issue. But for WordPress technical blogs, it is risky.

Second, it can easily damage the technical structure.

For example, a connection flow originally written like this:

Plaintext
客户端 HTTPS → EdgeOne HTTPS → 源站 HTTPS

After machine translation, it may turn into repeated HTTPS HTTPS, making the whole structure look strange.

Third, Quick translation has an input limit for long text.

During my test, the bottom-left corner of the page showed that the text had exceeded the limit:

Plaintext
5000 of 10000

This means that for long articles, the Yandex web version is not a stable whole-article processing solution. Even if it displays part of the result, there may be truncation, omissions, or incomplete copying.

Fourth, the English still feels machine-translated.

For example:

Plaintext
After completing the configuration, I did several sets of tests with curl.

This expression is understandable, but it does not sound like a natural English technical blog post.

A more natural expression could be:

Plaintext
After the configuration was in place, I ran several curl tests.

Or:

Plaintext
Once the configuration took effect, I verified the behavior with several curl requests.

This is the difference between machine translation and human-style rewriting.

8. The Real Conclusion After This Comparison

After this test, my judgment of AutoPoly and the Yandex web version became much clearer.

The advantages of AutoPoly Free are:

Plaintext
可以创建英文文章副本
可以保留 Polylang 语言关联
可以保留 Gutenberg 区块结构
不容易破坏图片、链接、代码块
对批量历史文章有一定价值

The problems with AutoPoly Free are:

Plaintext
正文翻译偏机械
片段之间缺少上下文
表达不像海外技术博客
复杂文章仍然需要大量人工修改
它更像结构工具,而不是高质量英文内容生产工具

The advantage of Yandex web Quick translation is:

Plaintext
普通正文的连续性略好
整篇正文语义有时比 AutoPoly 分片翻译自然
操作简单,不需要 WordPress 插件

The problems with the Yandex web version are:

Plaintext
会翻译代码块
会翻译配置块
会翻译本应保留的结构说明
有长文本限制
不能直接保留 WordPress Gutenberg 代码编辑器结构
仍然不是自然英文技术博客表达

So I cannot simply conclude that the Yandex web version is better than AutoPoly.

A more accurate conclusion should be:

The Yandex web version is slightly better for ordinary body text, but it is not suitable for WordPress technical articles that contain code blocks, configuration blocks, and Gutenberg structure. AutoPoly Free does a better job of preserving structure, but its body text translation quality is not good enough.

9. My Main Concern About AutoPoly Pro

AutoPoly Pro supports more AI Translation Providers, such as OpenAI, Gemini, DeepL, and others.

In theory, if Yandex is replaced with OpenAI, sentence quality should definitely improve.

But what I am still unsure about is this:

When AutoPoly Pro uses OpenAI, does it still translate content in fragments by Gutenberg block, paragraph, or field?

If it is still fragment-based translation, then even switching the provider to OpenAI may only make each fragment translate better. It may still not rewrite the article at the full-post level.

These are two very different things.

Fragment-based translation is more like:

Plaintext
把每个 block 翻译成英文

Whole-article rewriting is more like:

Plaintext
理解整篇文章主题
理解前后文关系
保留技术结构
保留代码块
根据海外读者习惯重写表达
让整篇文章读起来像自然英文技术博客

My articles clearly need the latter.

That is especially true for my recent topics:

Plaintext
Cloudflare / EdgeOne / CDN
WordPress 缓存与 SEO
Codex 使用流程
联盟营销与博客变现
VPN 与自建服务

These articles are not just about translation. They also involve personal experience, technical judgment, monetization-related expression, and reader trust.

Therefore, if AutoPoly Pro still works as block-level translation, even with OpenAI connected, it probably still cannot reach the quality I currently get from whole-article processing with ChatGPT Plus.

10. My Current Decision: AutoPoly Cannot Replace Whole-Article Rewriting with ChatGPT

Based on this validation, my current interim conclusion is:

AutoPoly is useful for copying structure and generating a first draft, but it cannot replace whole-article English rewriting with ChatGPT Plus.

For my blog, I may divide future translation work into several categories.

The first category is high-value new articles.

For example, articles about VPN, CDN, Codex, affiliate marketing, SEO, and WordPress technical troubleshooting.

For these articles, I will continue using:

Plaintext
ChatGPT Plus 整篇重译
保留 Gutenberg 结构
保留代码块
自然英文改写
人工最终审稿

The second category is lower-value historical articles.

For these articles, I can consider:

Plaintext
AutoPoly 创建英文副本
自动保留 Polylang 关联
后续视情况人工抽查
不追求每篇都达到高质量英文博客标准

The third category is articles with complex code blocks.

These articles should not be handed to the Yandex web version for whole-article translation, because it may translate code blocks and configuration blocks as well.

11. What I May Study Next: Automating the ChatGPT Plus Workflow

This validation also gave me a new direction:

Instead of worrying about whether AutoPoly Pro can reach ChatGPT-level quality, it may be better to study how to automate my existing ChatGPT Plus translation workflow.

My ideal workflow would look like this:

Plaintext
从 WordPress 读取中文文章
获取代码编辑器内容
交给 ChatGPT 按固定规则整篇重写
返回英文标题、别名、摘要、正文
保留 Gutenberg 结构和代码块
自动创建或更新英文文章
保留 Polylang 关联

There are a few possible approaches worth exploring:

Plaintext
ChatGPT Agent
WordPress REST API
本地脚本
Codex 辅助开发
半自动审核流程

Of course, there are still many issues to handle.

For example:

Plaintext
如何安全读取 WordPress 草稿
如何避免破坏 Gutenberg 注释
如何识别 code-block-pro 区块
如何保留图片 ID 和 URL
如何处理英文别名
如何自动写入摘要和 SEO 字段
如何避免误发布

But from the perspective of translation quality, this route may be more worth studying than directly buying AutoPoly Pro.

Because I am now fairly certain about one thing:

For my high-value technical blog posts, the truly valuable workflow is not “automatic translation,” but “whole-article English technical blog rewriting based on fixed rules.”

Conclusion

This test answered one of my earlier questions.

When AutoPoly Free uses Yandex Translate, it does not translate the entire post as one complete context. Instead, it splits the article into multiple text fragments and submits them to Yandex in batches.

This approach helps preserve WordPress/Gutenberg structure and can also prevent some code blocks from being translated incorrectly.

But the cost is:

Plaintext
正文缺少上下文
英文表达机械
文章整体不像自然英文技术博客
后期人工修改成本仍然很高

Although Yandex web Quick translation is slightly better in terms of ordinary body text coherence, it translates code blocks and configuration blocks, and it also has long-text limits. So it is also not suitable as my official English blog workflow.

So my current judgment is:

AutoPoly can be used as a WordPress multilingual structure tool and a first-draft tool for lower-value historical articles, but it cannot replace the whole-article English rewriting workflow with ChatGPT Plus.

As for whether AutoPoly Pro is worth buying, the key question is not whether it supports OpenAI. The real question is:

Plaintext
它使用 OpenAI 时,是否仍然是分片翻译?
是否允许自定义 prompt?
是否能明确排除代码块?
是否能基于整篇文章上下文重写?
是否能显著减少人工修改成本?

Before these questions are clearly verified, I will not treat AutoPoly Pro as my final English translation solution.

The more worthwhile direction to study next may be:

How to further automate the ChatGPT Plus whole-article translation workflow that I have already validated as effective.

系列导航

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系