多言語ウェブページ、メタ、Twitterタグ、検索エンジン登録およびSEO作成ガイド
多言語ウェブページを作成する際に知っておくと便利なメタタグ、Twitterタグ、検索露出設定、多言語リンク設定、構造化データのヒントなど、すべてを総まとめしました。
多言語ページ戦略を一目で見る
訪問者のブラウザ言語や位置情報を参考に、どの言語ページを最初に表示するかを決める。自動判定が難しい場合は言語選択モーダルを最初に表示する方法もある。
URL構造は
/ko、/enのように言語コードを付けるか、ko.example.comのようにサブドメインを使う。どちらかに一貫して運用することが重要。サブドメインはblog.example.comのように前に別名を付けたアドレスを指す。言語ごとのページでもタイトルや説明をそのまま直訳せず、現地でよく使われる表現に整える。同じ情報でも語調を少し変えることでクリック率が上がる。
繰り返し使うメタタグはレイアウトコンポーネントやビルドスクリプトにデフォルト値を入れておき、言語ごとに変わる値だけをCMSや翻訳ファイルから読み込むとミスが減る。
Title タグの書き方
検索キーワードを調査し、ページの主題に合う単語を入れて50〜60文字以内にまとめる。長すぎると検索結果で切れる。
ブランド名は後ろに付けるが、現地でブランド認知が高ければ前に置いてもよい。
パスごとにコアキーワードと具体的な情報を混ぜて重複タイトルを避ける。例えば学習ガイドなら学習段階や難易度を併記する。
韓国語のタイトルは助詞や語尾を簡潔に切り、英語のタイトルは文よりもキーワードの組み合わせが検索露出に有利。
Description メタタグの書き方
120〜155文字の間に核心を含めると検索のプレビューで自然に見える。
言語ごとに合うコールトゥアクション文言を1回程度入れる。例:韓国語は「지금 확인하세요」、英語は「Get started today」。
ページごとにユニークな説明を書き、同じ文をコピーして使わない。
ビルド後にHTMLが壊れていないか、特殊文字や改行を事前に検証する。
サムネイルとオープングラフ
基本画像は1200×630px以上、容量は300KB以下に管理するとほとんどのプラットフォームで鮮明に表示される。
画像内に文字を入れる場合は言語ごとに別バージョンを用意するか、テキストの代わりにアイコンや色で違いを出す。
og:title、og:description、og:site_nameはページの言語に合わせて翻訳し、og:localeにはko_KR、en_USのように言語と地域を併記する。同じページの別言語版はog:locale:alternateに追加する。og:image:altには画像説明を言語ごとに記載してアクセシビリティと検索の読みやすさを同時に担保する。
Twitter カードメタタグ
twitter:cardは多くの場合summary_large_imageにすると大きな画像をサムネイルとして表示する。twitter:title、twitter:description、twitter:image、twitter:siteを各言語に合わせて埋め、Twitterは文字数を厳しく切る傾向があるため70文字前後にまとめる。Twitter と X、Threads、LinkedIn はオープングラフの値を基本的に読み取るので、できるだけ同一の情報を維持する。
基本で入れるメタタグ
charset、viewport、theme-colorのような必須タグはすべてのページで共通にする。PWAをサポートする場合は
manifestリンクとアイコンメタタグを共通レイアウトから読み込み、アプリ名は manifest の多言語フィールドを使って言語ごとに切り替える。link rel="preload"やpreconnectは言語に関係なく本当に必要なリソースだけにして初期読み込み速度を確保する。
Robots メタとインデックス
公開ページはデフォルトで
index, followを使えばよい。一時的なページや類似内容が多いページは
noindex, followにして検索結果から隠しつつリンクは辿らせる。実験用ページなど完全に隠したい場合は
noindex, nofollowを使うか、サーバー側でX-Robots-Tagヘッダーを用いてより強力にブロックする。
robots.txt の理解
サイトルートに置く
robots.txtは「このパスは見てよい/見ないでください」と案内する標識のようなもの。言語ごとのディレクトリが同じルールを踏むなら
User-agent: *の下に共通の許可・拒否パスを書く。特定言語のページだけ制限する場合は
Disallow: /ja/privateのようにパスを正確に記述する。最後に
Sitemap: https://example.com/sitemap-ko.xmlのように言語別サイトマップのURLをすべて案内する。
サイトマップ運用のコツ
ページ数が多い場合は
sitemap-index.xmlを使い言語別サイトマップをまとめる。例:sitemap-ko.xml、sitemap-en.xml。更新頻度が高いページとほとんど変わらないページを分けると
lastmod日付の信頼性が保てる。画像や動画に関する情報を別途知らせたい場合は専用サイトマップを作成して言語ページと結びつける。
Canonical URL の整理
Canonical は「このURLがオリジナルなので検索結果にはこのリンクを表示してください」という信号である。
多言語ページでも各言語が固有のコンテンツに見えるなら、そのページ自身を canonical に設定する。
翻訳準備中で他言語が一時的に原文を表示している場合は原文URLを canonical に指定して重複表示を防ぐ。
?lang=koのようにパラメータで言語を分けている場合は canonical を固定パスに指定し、実際の言語対応はalternateとhreflangで案内する。
Alternate と hreflang を簡単に理解する
link rel="alternate" hreflang="ko-KR"は「このページの韓国語版はここにあります」という標識である。すべての言語ページが互いを指すように同じセットを入れないと検索エンジンが混乱する。
グローバルのデフォルトページや言語選択ハブは
hreflang="x-default"にして「言語を直接選んでください」という意味を伝える。Naver は
hreflangだけでは不十分な場合があり、naver-site-verificationメタタグや構造化データも合わせて準備するとよい。
Table of Contents(目次)でSEOを補助する
長い記事の冒頭に目次を置くと、訪問者が「この部分だけ早く見たい」と思ったときにすぐ移動でき、滞在時間が伸び離脱率が下がる。
目次のアンカーリンクは検索エンジンがドキュメント構造をより賢く把握するのに役立ち、Google・Naverなどでジャンプリンクやサイトリンクが出る確率を高める。
モバイルでは折りたためるコンポーネントを使い、共有可能なアンカーリンクを付けておくと特定言語セクションへ直接案内しやすい。
主要検索エンジンへのサイト登録
Google Search Console
ルートドメインをドメインプロパティとして登録し、DNS TXTレコードで認証する。DNSはドメインの住所録のようなものと考えるとわかりやすい。
言語ごとのサイトマップを提出し、国際ターゲティングレポートで
hreflangエラーを定期的に確認する。
Naver サーチアドバイザー
サイトを登録した後、HTMLファイルアップロードかメタタグ方式で所有権を証明する。
クロールロボットのブロック状況、サイトマップ提出状態を頻繁に確認し、PCとモバイルのプレビューでタイトルと説明が意図どおり表示されるかをチェックする。
Kakao ビジネス登録
business.kakao.com にカカオアカウントでログインし、統合利用規約に同意してビジネスアカウントを作成する。
続けてカカオトークチャンネルを開設しビジネスチャンネルへ移行すると、地図、チャットボット、広告などの露出ポイントが一度に連携される。
管理者センターで事業者登録証やカスタマーサポート情報を提出し、必要ならカカオシンクやトークベースの相談機能などの付加機能を追加する。
DuckDuckGo と Yahoo の検索露出
両サービスは専用のウェブマスターツールがなく、Bing Search Console にサイトを追加してサイトマップを提出すれば多くの場合自動で反映される。
構造化データと明確な hreflang 体制を維持すると、Bing のインデックスを共有するパートナーエンジンでも言語バージョンが一緒に露出される。
新しいページが露出しない場合は Bing のURL送信や IndexNow を利用してクローリングを速やかにリクエストする。
Bing Webmaster Tools
Microsoftアカウントでログインしてサイトを追加し、DNS認証か Google Search Console からの取り込み機能で所有権を確認する。
IndexNowキーを発行して作成したページや更新したページを即時送信すると海外での露出速度を上げられる。
Brave Search
Brave Search は独自インデックスを使用するため公式の提出フォームはなく、Brave ブラウザの Web Discovery Project への参加が増えるほどインデックス化が早くなる。
クローラーを妨げる
robots.txtやnoindexがないか再確認して基本的な露出条件を満たす。Brave のユーザーコミュニティでコンテンツを紹介すると直接の訪問が増え、自然にデータが蓄積される。
Yandex Webmaster
Yandex ID でログインしサイトを追加、HTMLファイル・メタタグ・DNS TXT のいずれかの簡便な方法で所有権を認証する。
サイトが検索に反映されるまで時間がかかることがあるため、定期的にインデックスレポートやエラー通知を確認する。
ロシア語ページがある場合は地域設定をロシアまたはCIS諸国に合わせ、
Turbo Pages、Yandex Metricaの連携など追加ツールを検討する。
Baidu 検索資源プラットフォーム
中国向けサービスを運営するなら Baidu 検索資源プラットフォーム (ziyuan.baidu.com) にサイト登録し所有権を検証する。
検証完了後はリンク送信、サイトマップ、高速収集ツールを活用して頻繁に更新されるページを積極的に通知する。
モバイル専用ページがある場合はPC-モバイルのマッピングを登録し、速いクロールポリシーに関する告知を定期的に確認する。
JSON-LD 構造化データの入れ方
JSON-LD は検索エンジンに「このページはどんなテーマを扱っているか」を知らせるカードのようなもの。
<head>内に一度だけ入れる。inLanguageや@languageフィールドにページ言語を記載して検索エンジンが言語を即座に判断できるようにする。ページの性格に合ったスキーマタイプを選ぶ。情報ページなら
Article、製品紹介ならProduct、FAQ ならFAQPageのように対応させる。同じ商品やサービスを複数言語で紹介する場合は
alternateName、descriptionなどを言語ごとに埋め、各言語のURLと@idを固有に保つ。日付は ISO 8601 形式(例:2025-09-26)、価格は ISO 4217 通貨コード(例:KRW)で表記する。
SPA 構造であればページ遷移時に構造化データが消えないようクライアントレンダリング側でもスクリプトを更新する。
宿泊業 JSON-LD 例
下の例は基本的な骨組みなので、実際の名前、住所、レビュー値は状況に合わせて差し替えてください。
{ "url": "https://haniseoul.com/pages/seoul-mapo-haniseoul-house", "name": "ハニソウル ハウス (Haniseoul House)", "@type": "Accommodation", "image": [ "https://cdn.haniseoul.com/pages/7bfc2d4f-7248-43af-a2b4-d590eddd4c70/a058769c-2a34-476a-ad16-d0f0508f59cd.avif" ], "address": { "@type": "PostalAddress", "addressRegion": "Seoul", "streetAddress": "Hongik-ro", "addressCountry": "KR", "addressLocality": "Mapo-gu" }, "@context": "https://schema.org", "telephone": "+82-2-0000-0000", "priceRange": "$$", "description": "プライバシーが保たれたワンルームからコミュニティ生活が楽しめるシェアハウスまで、多様なオプションを用意しています。すべての拠点は駅近で交通が便利、フルオプション家具と高速インターネットを完備しているため、荷物ひとつで即入居できます。", "amenityFeature": [ { "name": "Free WiFi", "@type": "LocationFeatureSpecification" }, { "name": "Fully Furnished", "@type": "LocationFeatureSpecification" }, { "name": "Shared Kitchen", "@type": "LocationFeatureSpecification" } ] }多言語コンテンツ運用のコツ
翻訳ファイルはバージョン管理で言語別フォルダに分けておくと変更履歴の追跡が容易。欠落したキーはビルドスクリプトで自動チェックする。
QAチェックリストに日付フォーマット、通貨、住所、文化的に敏感な表現の検証項目を含める。
言語ごとにフォントが異なる場合はウェブフォントのサブセットを分けて不要な容量を減らし、
<html lang="ko" dir="ltr">のように言語と方向情報を明示する。