これは、n8n翻訳ワークフローの3つの修正を実環境で確認するためのスモークテスト投稿です。確認対象は、ソース投稿からのカテゴリ継承、ロケールごとの抜粋翻訳、そして翻訳記事内の内部ブログリンクを各ロケールのURLへ書き換える処理です。ライブブログ上で確認している場合、この投稿はテスト完了後に削除してください。
この投稿で検証すること
以前のn8n翻訳ツールでは、翻訳済み投稿で以下の問題が発生していました。
- カテゴリバッジが引き継がれない
-
custom_excerptが空になる - 翻訳記事内の内部リンクがEN版URLのまま残る
これにより、たとえば日本語やインドネシア語の読者が英語ページへ誘導され、hreflangクラスターにも悪影響が出る可能性がありました。
今回のワークフロー改訂では、これらを修正しています。この投稿は、Ghost本番環境に対して修正がエンドツーエンドで動作するかを確認するためのものです。
検証手順
この投稿を公開すると、n8n翻訳ツールが1回実行され、Ghost上に11件の翻訳済み下書き、または公開済み投稿が生成される想定です。
各翻訳版で、次の3点を確認してください。
-
custom_excerptにEN版抜粋の翻訳が入っていること- 空文字ではないこと
-
categoryにソース投稿のTutorialsが引き継がれていること - 本文中の内部リンクが同じロケールのURLへ書き換えられていること
- 例: 日本語版ではENのURLではなく
https://apidog.com/jp/blog/free-cursor-ai/になること
- 例: 日本語版ではENのURLではなく
リンク書き換えの確認対象
リンク書き換えの正規表現が複数パターンを処理できるか確認するため、以下の2形式を意図的に含めています。
- 絶対パス: Cursor AIを無料で実行することやClaude Proを無料で入手することについて読んでください。
- ルート相対パス: 私たちのAPIテストのトップ10と制限のないLLMに関する記事をご覧ください。
翻訳パイプラインが正常であれば、日本語版では上記4つのURLがすべて次の形式に書き換えられます。
/jp/blog/{slug}/
特にインドネシア語版では、次の形式になる必要があります。
/id/blog/{slug}/
/ig/blog/... ではありません。
また、投稿自体は以下の形式でGhostに作成される想定です。
- スラグ:
…-id - タグ:
1Locale ID
この名前変更の末尾はReq 6のフォローアップです。
公開後の確認コマンド
翻訳済みページが正しく出力されているか、公開後にHTTPステータスと表示内容を確認します。
# 翻訳が正しく出力されたか確認します(公開後)
curl -I https://apidog.com/jp/blog/translation-pipeline-smoke-test/
# 期待値:
# - HTTP 200
# - ページ上に「Tutorials」カテゴリバッジが表示される
# - タイトル下に日本語の抜粋が表示される
# - 内部リンクが /jp/blog/... に書き換えられている
表示内容は、ブラウザまたはHTML取得でも確認できます。
curl -L https://apidog.com/jp/blog/translation-pipeline-smoke-test/ | grep -E "Tutorials|/jp/blog/"
チェックリスト
翻訳ごとに、最低限次を確認してください。
[ ] custom_excerpt が空ではない
[ ] category に Tutorials が設定されている
[ ] 内部リンクが対象ロケールの /{locale}/blog/{slug}/ に書き換えられている
[ ] 日本語版は /jp/blog/... を指している
[ ] インドネシア語版は /id/blog/... を指している
[ ] /ig/blog/... が生成されていない
検証後のクリーンアップ
11件すべての翻訳版が正しく見える場合は、この投稿とGhost上の11件の翻訳投稿を削除してください。これらは本番環境で価値を持つ記事ではありません。
問題が見つかった場合は、削除せずに診断用として残してください。
例:
- カテゴリが欠落している
- 抜粋が空になっている
- 内部リンクがEN版URLのまま残っている
- ロケールパスが誤っている
その場合は、該当する翻訳URL、期待値、実際の出力をまとめて、ワークフロー担当者に連絡してください。

Top comments (0)