🌍 WordPress 多语言网站 利用深度 L ai 和 Polylang 讲座构建自动翻译系统

大家好!😊今天我们将学习如何在WordPress网站上构建一套系统,实现对现有文章和新文章的自动翻译,同时完成SEO优化

本课程将结合DeepL API、Polylang插件和Yoast SEO,打造一次设置即可自动翻译的完整环境。🚀

注:DeepL API每月提供50万字符的免费翻译额度。

📌 课程目标

1️⃣
所有已发布的韩语文章自动翻译为英语和日语2️⃣ 新增文章实现实时自动翻译3️⃣
翻译后保持HTML结构完整性,避免
内容错乱4️⃣ 应用SEO(搜索引擎优化)设置,最大化搜索
曝光率5️⃣ 防止重复翻译,已译内容不再翻译

💡 1. 项目准备

首先需完成项目准备工作,确保以下步骤就绪:

📌 必备安装项

WordPress网站
Polylang插件(多语言支持)
Yoast SEO插件(搜索优化)
DeepL API密钥申请(翻译API使用)

📌 DeepL API密钥申请

使用DeepL翻译API需获取API密钥:
1️⃣ 访问DeepL API
官网 2️⃣ 注册账户后生成API密钥
3️⃣ 复制API密钥YOUR_DEEPL_API_KEY 输入至相应位置)

💡 2. 代码编写:构建自动翻译系统

现在 functions.php添加代码构建翻译系统。

📌 2-1. 现有文章自动翻译代码

首先,我们将创建自动翻译所有已发布文章的代码

// 이미 번역된 글인지 확인하는 함수 (중복 번역 방지)
function is_already_translated($post_id, $lang) {
    $translations = pll_get_post_translations($post_id);
    return isset($translations[$lang]); // 해당 언어의 번역 존재 여부 확인
}

// 기존 모든 게시물을 번역하는 함수 (한 번만 실행)
function auto_translate_existing_posts() {
    $languages = [
        'en' => ['prefix' => 'en', 'sep' => '-', 'sitename' => get_bloginfo('name')],
        'ja' => ['prefix' => 'ja', 'sep' => '-', 'sitename' => get_bloginfo('name')],
    ];

    $args = [
        'post_type' => 'post',
        'post_status' => 'publish',
        'posts_per_page' => -1,
    ];
    $posts = get_posts($args);

    foreach ($posts as $post) {
        if (pll_get_post_language($post->ID) !== 'ko') continue;

        foreach ($languages as $lang => $settings) {
            if (is_already_translated($post->ID, $lang)) {
                continue; // 이미 번역된 경우 건너뜀
            }

            $translated_title = deepl_translate_with_html($post->post_title, $lang);
            $translated_content = deepl_translate_with_html($post->post_content, $lang);
            $translated_slug = $settings['prefix'] . '-' . sanitize_title($translated_title);
            $seo_title = $translated_title . ' ' . $settings['sep'] . ' ' . $settings['sitename'];

            $translated_post_id = wp_insert_post([
                'post_title'    => $translated_title,
                'post_content'  => $translated_content,
                'post_status'   => 'publish',
                'post_type'     => $post->post_type,
                'post_author'   => $post->post_author,
                'post_name'     => $translated_slug,
                'post_category' => wp_get_post_categories($post->ID),
                'meta_input'    => [
                    '_yoast_wpseo_title' => $seo_title,
                ],
            ]);

            pll_set_post_language($translated_post_id, $lang);
            pll_save_post_translations([
                'ko' => $post->ID,
                $lang => $translated_post_id,
            ]);
        }
    }
}

// 기존 게시물 번역 실행 (한 번만 실행)
add_action('admin_init', function () {
    if (isset($_GET['run_translation']) && $_GET['run_translation'] === '1') {
        auto_translate_existing_posts();
        wp_die('Translation for all existing posts completed.');
    }
});

🚀 现在在浏览器中执行下方URL,所有现有文章都会被翻译!

(your-site.com(需将 替换为您的网站域名

https://your-site.com/wp-admin/?run_translation=1

📌 2-2. 新文章自动翻译代码

✅ 设置新文章发布时自动翻译功能

function auto_translate_and_seo_publish($post_id) {
    $original_post = get_post($post_id);
    if ($original_post->post_status !== 'publish') return;

    $languages = [
        'en' => ['prefix' => 'en', 'sep' => '-', 'sitename' => get_bloginfo('name')],
        'ja' => ['prefix' => 'ja', 'sep' => '-', 'sitename' => get_bloginfo('name')],
    ];

    if (pll_get_post_language($post_id) !== 'ko') return;

    foreach ($languages as $lang => $settings) {
        if (is_already_translated($post_id, $lang)) {
            continue; // 이미 번역된 경우 건너뜀
        }

        $translated_title = deepl_translate_with_html($original_post->post_title, $lang);
        $translated_content = deepl_translate_with_html($original_post->post_content, $lang);
        $translated_slug = $settings['prefix'] . '-' . sanitize_title($translated_title);
        $seo_title = $translated_title . ' ' . $settings['sep'] . ' ' . $settings['sitename'];

        $translated_post_id = wp_insert_post([
            'post_title'    => $translated_title,
            'post_content'  => $translated_content,
            'post_status'   => 'publish',
            'post_type'     => $original_post->post_type,
            'post_author'   => $original_post->post_author,
            'post_name'     => $translated_slug,
            'meta_input'    => [
                '_yoast_wpseo_title' => $seo_title,
            ],
        ]);

        pll_set_post_language($translated_post_id, $lang);
        pll_save_post_translations([
            'ko' => $post_id,
            $lang => $translated_post_id,
        ]);
    }
}

// 새로운 글이 게시될 때 자동 번역 실행
add_action('publish_post', 'auto_translate_and_seo_publish');

🚀 最终整理

如何翻译所有旧文章?

  • 仅需执行一次: https://your-site.com/wp-admin/?run_translation=1

如何翻译新文章?

  • 撰写新文章后自动翻译。(无需额外操作)

若需重新生成已翻译文章?

  • 删除原有翻译文章后重新执行。

💡 如今您可在WordPress中实现完全自动化的多语言内容运营!🚀 若有任何疑问,随时欢迎咨询!😊

📌 执行后需额外确认的事项

  1. 确认翻译文章是否生成
    • WordPress管理后台 → "所有文章"中检查是否生成英语(en)、日语(ja)的翻译文章是否存在。
  2. URL验证
    • 韩语文章: https://example.co.kr/올림픽-일정/
    • 英文文章: https://example.co.kr/en/olympic-schedule/
    • 日语文章: https://example.co.kr/ja/オリンピック日程/
  3. 确认翻译内容在Polylang中是否正确关联
    • WordPress管理后台 → Polylang中确认翻译关联关系。

📌 现有文章翻译完成后无需再次执行

✅ 现有文章翻译完成后无需再次执行此URL
✅ 后续撰写新文章时自动完成翻译

📌 补充说明

Q1. 是否可以多次执行此URL?

✅ 已翻译文章不会重复处理,多次执行不会造成问题。
✅ 因代码中包含防止重复翻译的机制 (is_already_translated())已内置其中。

Q2. 如何重新翻译现有文章?

🚨 需先删除原有翻译再重新执行。
✅ 请删除已翻译内容后 https://your-site.com/wp-admin/?run_translation=1 后重新执行。

Q3. 若翻译未自动进行?

❌ 若执行后仍未翻译,请确认:

  1. functions.php代码是否正确添加至
  2. DeepL API密钥是否正确配置。
  3. 确认Polylang插件是否已激活。
  4. WordPress管理后台 → 设置 → 固定链接(Permalink)→ 点击保存按钮后重新执行。

简述如何创建多语言 WordPress 网站

使用WordPress制作多语言网站主要有三种方法。

  1. 使用插件(推荐)——WPML、Polylang、TranslatePress等
  2. 子域名或子目录方式——为每种语言单独运营网站
  3. 多站点(Multisite)配置——通过单个WordPress管理多个站点

下面将详细说明每种方法的优缺点及配置方法。

1️⃣ 使用插件构建多语言网站(最简便的方法)

在WordPress中运营多语言网站时,通常使用多语言插件是最简单有效的方式。

🚀 推荐插件对比

插件名称价格主要功能
WPML付费(约3~10万韩元/年)最强大的多语言支持,SEO优化出色
Polylang免费/付费免费版本支持基础多语言功能,操作简便
TranslatePress免费/付费支持实时翻译,可使用AI翻译(Google Translate)

💡 **WPML(WordPress多语言插件)**最适合创建SEO友好的多语言网站。

🔹 安装与设置

  1. 购买WPML插件后安装wpml.org可在此处下载)
  2. WPML > Languages选择添加语言
  3. WPML > String Translation在翻译选项中添加待译字符串
  4. WPML > Settings其中设置SEO (可更改URL结构)
    • mydomain.com/en/, mydomain.com/fr/ 支持统一URL结构设置
  5. 翻译各页面/文章以添加多语言内容

📌 优点
✅ 提供SEO优化功能(支持Google多语言搜索)
✅ 与WooCommerce(网店)完美兼容

📌 缺点
❌ 付费插件(年费$39~$99)

✅ 方案二:Polylang插件(可免费使用)

💡 Polylang是可免费使用的多语言插件。

🔹 安装与设置

  1. 플러그인 > 새로 추가 > Polylang 검색 安装激活后
  2. 설정 > 언어选择要添加的语言
  3. 在现有内容(页面、文章)中添加多语言翻译
  4. 메뉴 설정在导航菜单中添加各语言选项

📌 优点
✅ 可免费使用
✅ 适合简单网站

📌 缺点
❌ 字符串翻译功能需付费(翻译选项少于WPML)

✅ 方法三:TranslatePress插件(支持实时翻译)

💡 TranslatePress是利用Google翻译API实现实时翻译的插件。

🔹 安装与设置

  1. 플러그인 > 새로 추가 > TranslatePress 安装与激活
  2. 설정 > TranslatePress添加语言设置中
  3. 페이지 편집 모드可直接修改待翻译文本
  4. 支持AI翻译(Google Translate API)

📌 优点
✅ 提供实时翻译功能
✅ 翻译编辑界面直观

📌 缺点
❌ 自动翻译需额外费用(Google API使用费)

2️⃣ 子域名/子目录模式(独立网站运营)

示例:

  • 子域名模式: en.mydomain.com, fr.mydomain.com
  • 子目录方式: mydomain.com/en/, mydomain.com/fr/

📌 设置方法

  1. 域名设置
    • 子域名方式: en.mydomain.com 创建后需单独安装WordPress
    • 子目录方式: mydomain.com/en/ 在路径下新建站点
  2. 按语言分别运营WordPress站点
  3. hreflang 通过添加标签实现SEO优化

📌 优点
✅ 可实现完全独立的网站运营
✅ 支持按语言进行SEO优化

📌 缺点
❌ 维护难度高(需分别管理各语言站点)

3️⃣ 利用WordPress多站点功能

配置WordPress多站点功能后,可在单一WordPress平台运营多语言站点。

📌 设置方法

  1. wp-config.php 在文件中添加以下代码
    • define('WP_ALLOW_MULTISITE', true);
  2. 在WordPress管理后台 네트워크 설정 启用
  3. 按语言分别以子域名或子目录方式添加站点
  4. 使用插件 MultilingualPress实现语言关联

📌 优点
✅ 可在单个
WordPress中管理多语言站点 ✅ 可共享插件和主题

📌 缺点
❌ 配置稍显复杂,服务器资源消耗增加

🚀 最终选择指南(哪种方式最优?)

方法推荐对象主要特点
WPML(付费)SEO优化,WooCommerce用户强大的多语言功能,翻译管理便捷
Polylang(免费)简易多语言网站可免费使用,功能较WPML有限
TranslatePress(免费版/付费版)需实时翻译支持Google翻译API
子域名/子目录完全独立网站运营SEO强大,维护难度高
多站点(Multisite)多语言博客、门户网站单一WordPress平台管理多语言站点

📌 推荐组合:✅ WPML + SEO优化 → 专业级多语言网站
Polylang(免费版)+ 缓存优化 → 小规模多语言网站
TranslatePress + AI翻译 → 自动翻译网站搭建

🔹 结论

在WordPress中创建多语言网站的方法多种多样,但使用插件最为高效。若考虑SEO优化
与维护便利性,WPML插件最为推荐。
不过,**利用免费插件(Polylang、TranslatePress)**既能节省成本,又能实现多语言功能。

💡 难以抉择哪种方案最适合?简单博客Polylang (무료)
电商平台、企业官网WPML (유료)
需要自动翻译支持TranslatePress + Google Translate API

🚀 按此方法设置,多语言网站运营将变得轻松许多!💪

如何轻松创建 WordPress 多语言网站 🌍 🚀

使用WordPress创建多语言网站的方法有多种。您可以在单个网站上支持多种语言,让访客能够以自己偏好的语言浏览内容。

1️⃣ 创建多语言网站的3种方法

WordPress多语言网站的三大主流创建方式:

方法说明推荐对象
使用插件最简便的方法,自动支持翻译功能🔹希望快速轻松创建时
使用多站点功能支持按语言独立运营站点🔹需要完全独立翻译时
手动翻译(利用子域名/子目录)为每种语言单独创建页面🔹追求最佳SEO与性能时

2️⃣ 通过插件创建多语言网站(最简便方案)

💡 推荐插件:
WordPress拥有众多强大的多语言插件。

插件价格功能
WPML付费最强大的多语言插件(支持SEO)
Polylang免费/付费简单轻量级插件
TranslatePress免费/付费支持实时前端翻译
Weglot付费支持AI自动翻译

最简易方案:使用TranslatePress或Polylang 🚀

✅ 方法1:使用Polylang创建多语言网站(免费)

📌 特点:

  • 免费版本即提供强大功能
  • 操作简便,提供语言切换器(转换按钮)
  • 需手动输入待翻译内容

📌 安装与设置

1️⃣ 添加WordPress插件 → 搜索Polylang
安装2️⃣ 设置 → 添加语言

  • 설정 → 언어添加所需语言(例如:韩语🇰🇷、英语🇺🇸、日语🇯🇵等)
    3️⃣ 添加待翻译内容
  • 페이지 → 새 글 작성 复制现有页面创建翻译版本4
    ️⃣ 添加语言切换器(切换按钮)
  • 위젯 → 언어 선택기 추가 (可放置于菜单栏或侧边栏)
    5️⃣ SEO设置
  • Yoast SEORankMath配合使用可实现多语言SEO优化

✅ 方法二:使用TranslatePress创建多语言网站(免费)

📌 特点:

  • 前端(网站界面)实时翻译
  • 支持AI翻译(Google Translate API)
  • 新手也能轻松上手

📌 安装与设置

1️⃣ 添加WordPress插件 → 搜索TranslatePress
安装2️⃣ 设置 → 添加语言

  • 설정 → TranslatePress设置基础语言 + 附加
    语言3️⃣ 网站实时翻译
  • 点击顶部栏"Translate Site"后直接
    翻译4️⃣ 自动翻译(可选)
  • 连接Google Translate API即可实现自动翻译5
    ️⃣ 添加语言切换器
  • 설정 → 언어 스위처可添加至菜单或小工具

✅ 方法3:使用WPML创建多语言网站(付费)

📌 特点:

  • 功能最强大的多语言插件(企业级推荐)
  • 支持WooCommerce(网店)多语言功能
  • SEO功能卓越

📌 安装与设置1️⃣ 购买并安装 WPML
插件2️⃣ 设置 → 添加
语言3️⃣ 内容翻译

  • 手动翻译或使用翻译
    管理器功能4️⃣ SEO优化
  • 配合Yoast SEO、RankMath使用

3️⃣ 多语言SEO优化(搜索引擎优化)

运营多语言网站时,SEO优化至关重要。

URL结构设置(SEO优化)

  • 子目录模式(推荐)example.com/en/, example.com/ko/
  • 子域名方式en.example.com, ko.example.com
  • 独立域名使用example.kr, example.com

添加hreflang标签

需添加 hreflang 标签 hreflang 需添加标签。

示例:

html복사편집<link rel="alternate" hreflang="ko" href="https://example.com/ko/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />

使用SEO插件

  • Yoast SEORankMath 插件提供多语言 SEO 优化功能

4️⃣ 多语言网站性能优化

多语言网站因翻译页面增多可能导致速度变慢。请
通过以下方法优化速度:

1️⃣ 使用缓存插件 → LiteSpeed Cache、WP
Rocket2️⃣ 部署CDN(内容分发网络)→ 使用
Cloudflare3️⃣ 图片优化 → Smush
或ShortPixel插件4️⃣ 移除冗余插件

5️⃣ 多语言网站构建推荐方案

推荐方案说明适用对象
Polylang简单免费插件,需自行翻译🔹个人博客、小型网站
TranslatePress支持实时翻译,可进行AI翻译🔹企业网站(易于翻译)
WPML功能强大,支持WooCommerce🔹大型企业、购物中心

👉 最简易方案:TranslatePress + Google Translate API 🚀

🔥最终总结

最简易方案:使用Polylang或TranslatePress插件
需要自动翻译?使用TranslatePress +
Google API ✅ 追求完美多语言网站?使用WPML
必备SEO优化: hreflang 添加标签,活用SEO插件
速度优化:启用缓存、CDN、图像压缩

🚀 现在轻松创建多语言网站吧!🌍