海外向けSEOを意識した翻訳
メキシコでは「running shoes」を直訳すると「zapatos para correr」ですが、検索は「tenis para correr」に集中しています。このツールは現地の利用者が入力する言葉を軸に訳文を組み立て、使ったキーワードも示すので確認できます。
オンラインで実行
アカウントでログインし、当社のサーバー上で実行します。無料ツールはブラウザ内で動作しますが、これは上記の料金がKIT残高から差し引かれます。
海外向けのサイトやページの文章を、意味の正確さに加えて、その言語圏で実際に検索される言い回しを意識して翻訳するツールです。直訳では検索意図とずれてしまう表現に対応します。現在ベータ版として提供しています。
正しい翻訳でも検索されない理由
検索のされ方は言語ごとに一対一で対応するわけではなく、だからこそキーワード調査という仕事があります。辞書どおりの訳は文法的に正しくても、誰も検索しない言葉になりがちです。たとえば英語の「running shoes」をメキシコのスペイン語に直訳すると「zapatos para correr」になりますが、現地の検索は「tenis para correr」に集中し、国によっては「zapatillas deportivas」が使われます。ネットショップがカテゴリー名を訳すと、市場で使われる言葉が辞書の訳と違うと分かることもよくあります。
受け取れるものと使い方
原文、対象の市場、必要なら強調したい主なキーワードやテーマを渡すと、現地で検索される言葉を自然な頻度で織り込んだ訳文が返ります。あわせて、検出または確認したキーワードも示されるので、公開前に自社のキーワード調査と照らし合わせてください。ブラジルに進出する会社なら料金ページをブラジルの利用者が検索するポルトガル語に合わせられ、広告担当者ならランディングページを現地語の広告グループのキーワードにそろえられます。順位を約束するものではなく、最後はネイティブの編集者による確認が必要です。
直訳では検索されない理由
日本語のキーワードをそのまま訳しても、海外の利用者が実際に検索する言葉とは限りません。同じ意味でも、検索される言い回しは言語や市場ごとに異なります。
意識する点
見出しや説明文の中で、対象の言語圏で自然に使われる言い回しを優先します。あわせて指定したキーワードがあれば、不自然にならない範囲で文章に含めます。
使い方
翻訳したい文章と、翻訳先の言語を指定します。狙いたいキーワードがあれば、あわせて伝えると訳文に反映されやすくなります。
活用例
海外向けECサイトの商品説明
合同会社みどりデザインは、海外向けECサイトの商品説明文を翻訳する際、その市場で検索される言い回しを意識してこのツールを使っています。
海外向けブログ記事の見出し
株式会社山田商事は、海外向けに公開するブログ記事の見出しと導入文を、検索されやすい言い回しで翻訳しています。
サービス紹介ページの多言語化
鈴木美咲さんは、運営するサービスの紹介ページを翻訳する際、直訳では伝わりにくい表現をこのツールで調整しています。
よくある質問
通常の翻訳とどう違いますか?
意味の正確さに加えて、対象の言語圏で実際に検索される言い回しを意識する点が異なります。厳密な逐語訳が必要な文書には通常の翻訳をおすすめします。
狙ったキーワードを必ず入れてもらえますか?
不自然にならない範囲で反映しますが、文章として成立しない場合は無理に挿入しません。
対応している言語圏に制限はありますか?
主要な言語圏に対応しています。市場ごとの検索傾向の反映度合いは言語によって差があります。
検索順位の上昇は保証されますか?
いいえ、順位を正直に保証できる人はいません。このツールは、その市場の検索で実際に使われる言葉を取り入れた下書きを作るもので、狙ったキーワードを確認する手がかりも一緒に返します。
ネイティブの校正は不要になりますか?
いいえ、最終確認はネイティブの編集者に任せてください。面倒な言葉選びはこのツールが済ませるので、校正者は語彙ではなく判断が必要な部分に時間を使えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/translate/seo \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","target_lang":"en"}'const res = await fetch("https://api.kit.forhosting.com/translate/seo", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"target_lang": "en"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/translate/seo",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"target_lang": "en"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/translate/seo", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","target_lang":"en"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","target_lang":"en"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/translate/seo", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"target_lang": "en"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "translate.seo",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_tokens | 20000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
422 | task_failed | タスクの処理に失敗しました。このタスクは課金されません。 |
技術的な注記
料金
通常の文章翻訳と同じ料金です。1リクエスト$0.003に、原文1,000語ごとの$0.0135を加えた金額です。
技術的な質問
料金はいくらですか?
1リクエスト$0.003に、原文1,000語ごと$0.0135を加えた金額です。米ドル建てです。
アップロードした文章は保存されますか?
翻訳の処理にのみ使用し、完了後は保存しません。