お悩み女子SEOタイトルとメタディスクリプションを整えるといいと聞くけれど、どこで何を決めるのかが分からない。WordPressの画面にも、それらしい入力欄が見当たらない……
SEOタイトルとメタディスクリプションは、検索結果に表示されるページの見出しと説明文を整えるための文言です。読者が検索結果から開くページを選ぶとき、最初に目にするのがこの2つです。
この記事ではSEOタイトルとメタディスクリプションの書き方と、WordPressでの確かめ方を紹介します。Googleの扱いは公式ドキュメント(2026年10月時点)で確かめた内容だけを書いています。Pythonの例は保存したHTMLの文字列だけを読み取る小さなコードにしました。Windows 11とPython 3.12で実行し、抜けを見つける出力を確認しています。実サイトの設定変更やGoogleへの登録依頼は行っていません。
- SEOタイトル・メタディスクリプション・OGPの違い
- Googleがタイトルと説明文を決める仕組み
- 書き方の基本と、書き換えられやすい例
- WordPress本体が出す部分と、出さない部分
- 重複と抜けをPythonで一覧にする方法
SEOタイトル・メタディスクリプション・OGPの違い
扱う文言は3つあります。表示される場所と決まり方が違うので、先に表で整理します。
| 文言 | HTMLでの書き方 | 主な表示先 | 決まり方 |
|---|---|---|---|
| SEOタイトル | title要素 | ブラウザのタブ、検索結果のタイトルリンク | Googleがページ内の複数の材料から自動で決める |
| メタディスクリプション | meta要素(name=”description”) | 検索結果の説明文(スニペット)の候補 | 説明文は主に本文から作られ、メタディスクリプションが使われることもある |
| OGP | meta要素(property=”og:title” など) | SNSでURLを共有したときの表示 | 運営者が指定する。og:title はタイトルリンクの材料にもなる |
OGP(Open Graph protocol)は、ページをSNSなどで共有したときの見せ方を伝える決まりです。必須の項目は og:title・og:type・og:image・og:url の4つです(ogp.me)。
3つとも、順位を直接上げる部品としては扱いません。検索結果で何のページかが伝わり、読者が選びやすくなるように整える作業として進めます。Googleの公式ドキュメントもタイトルリンクを、どの結果を開くか決める主な手がかりと説明しています。
SEOタイトルの材料と書き方
SEOタイトルはHTMLのtitle要素に入れる文言です。Googleはtitle要素だけでなく、ページ内の見出しなども見て、検索結果のタイトルリンクを自動で決めます。
タイトルリンクの材料
公式ドキュメントに挙げられている主な材料は、次のとおりです。
- title要素の内容
- ページに表示されている主な見出し(h1など)
- og:title の内容
- ページ内で目立つ文言や、そのページを指すリンクの文字
材料が複数あるため、title要素だけを直しても、画面の見出しやog:titleとずれていると、別の文字列が選ばれることがあります。筆者なら、まずこの3つをそろえるところから始めます。
書き方の基本5つ
- ページごとに違う文言にする:全ページに同じ文言を付けると、検索結果で見分けられません。
- 具体的で短くする:「ホーム」のような曖昧な語は避けます。長さの上限はありませんが、検索結果では端末の幅に合わせて切られます。
- キーワードを繰り返さない:同じ語句を並べると、読者にもGoogleにも不自然に見えます。
- サイト名は先頭か末尾に短く:ハイフンやパイプなどの区切りを挟み、全ページ同じ形で付けます。
- 本文と同じ言語・文字で書く:日本語のページなら、タイトルも日本語にします。
たとえば「ブログ運営のコツ」では、どのページにも当てはまります。「WordPressで予約投稿を設定する手順」のように、そのページだけに当てはまる言葉にします(例は架空のページです)。
書き換えられやすい例
Googleはtitle要素がページと合っていないと判断すると、ページ内の別の文言からタイトルリンクを作り直すことがあります。公式ドキュメントが挙げる例は次のとおりです。
| 起きていること | Googleの扱い |
|---|---|
| title要素の一部が空(「| サイト名」だけなど) | 見出しなど、ページ内の文言で補う |
| title要素が古い年号のまま、画面の見出しは新しい年号 | 画面の見出しにある新しい年号を使う |
| ページの内容と関係の薄い語を並べている | 内容に合う文言に変えることがある |
| 同じ見た目の大きな見出しが複数ある | 最初の見出しを使うことがある |
書き換えに気づいたら、まず自分のページに上のような問題がないかを見ます。問題がなければ、検索結果のタイトルのほうがその検索語に合っている可能性もある、と公式ドキュメントは案内しています。
メタディスクリプションの採用条件と書き方
メタディスクリプションはページの要約を書くmeta要素です。Googleはこれをそのまま検索結果の説明文に使うとは限りません。
説明文が使われる条件
検索結果の説明文は「スニペット」と呼ばれます。公式ドキュメントによると、スニペットは主にページ本文から自動で作られ、メタディスクリプションのほうがページを正確に伝えられるとGoogleが判断したときに使われます。検索語に合わせて作られるため、同じページでも表示される部分が変わることがあります。
それでも書く価値は使われる場面で内容を正確に伝えられる点にあります。全ページに用意する時間がなければ、公式ドキュメントの案内どおり、トップページと人気のあるページから始めます。
書き方の基本5つ
- ページごとに違う説明にする:サイト全体の説明はトップページに、ほかはページごとに書きます。
- ページの中身を要約する:書き出しの数行ではなく、ページ全体で何が分かるかを書きます。
- キーワードを並べない:単語の羅列は、内容が伝わらず、説明文として使われにくくなります。
- 短すぎる説明を避ける:商品名だけのような一言では、何のページか伝わりません。
- 切られる前提で書く:長さの上限はありませんが、検索結果では端末の幅で切られます。大事な内容は前半に置きます。
悪い例と直した例
公式ドキュメントにある悪い例の型を、このブログのような記事に当てはめて直すと、次のようになります(例は架空のページです)。
| 悪い例の型 | 悪い例 | 直した例 |
|---|---|---|
| キーワードの羅列 | WordPress、予約投稿、設定、方法、ブログ | WordPressの予約投稿を、投稿画面から設定する手順をまとめました。日時の入れ方と、公開されないときの確認先も載せています。 |
| 全ページ共通の説明 | ブログ運営に役立つ情報を発信しています。 | 請求書を送る前に見る5つの項目を、チェックリストにまとめました。宛名・金額・期日・振込先・送付方法を順に確認できます。 |
SEOタイトルと説明文のWordPress設定|入力欄とHTMLの対応
編集画面に入力した値と、公開ページに出るHTMLは同じ場所で管理されるとは限りません。テーマやSEOプラグインがタイトル・説明文・OGPを組み立てるため、保存後の出力まで確認します。
投稿タイトルとtitle要素
WordPressにはページに応じたタイトルを返すwp_get_document_title()があります。公式リファレンスにはタイトルの構成要素や区切りを変更するフィルターも示されています。記事タイトルにサイト名が付く場合も、テーマやプラグインで別の値になる場合もあります。
投稿本文の一番大きな見出しと、ブラウザのタブに出る文字を見比べます。検索結果だけが違う場合は、Googleのタイトルリンクの生成を分けて考えます。入力値・出力HTML・検索表示の3段階を一度に直そうとすると、原因を取り違えやすくなります。
サイト名を含む共通設定は、複数ページの表示へ影響する可能性があります。記事1本のタイトルを直すために、共通設定を先に変えないようにします。
抜粋・説明文・OGPの関係
WordPressの抜粋とmeta descriptionは別の項目です。抜粋から説明文を作るテーマやプラグインもありますが、その連動を前提にしません。専用欄がない場合は、使っている製品の説明を確認します。
ブラウザで公開ページのソースを表示し、title、name=”description”、property=”og:title”を検索します。複数の機能が同じタグを出していたら、どの機能から出力するかを決めてから整理します。入力欄を埋めるためだけに別のSEOプラグインを重ねる必要はありません。
なべくん変更前の文字を控え、まず1記事で入力と出力が対応するかを確かめます。検索結果の変化はその後に確認します。
SEOタイトルと説明文の点検|保存HTMLで抜けと重複を探す
次は架空のHTMLを2件だけ読み取る例です。ネットワーク通信やWordPressへの書き込みはなく、Pythonの標準ライブラリだけで動きます。
from html.parser import HTMLParser
class HeadCheck(HTMLParser):
def __init__(self):
super().__init__()
self.in_title = False
self.title = ""
self.descriptions = []
def handle_starttag(self, tag, attrs):
attrs = dict(attrs)
if tag == "title":
self.in_title = True
if tag == "meta" and attrs.get("name") == "description":
self.descriptions.append(attrs.get("content", ""))
def handle_endtag(self, tag):
if tag == "title":
self.in_title = False
def handle_data(self, data):
if self.in_title:
self.title += data
pages = {
"A": '<title>CSVの結合方法</title><meta name="description" content="列名をそろえて結合する手順">',
"B": '<title>CSVの結合方法</title>',
}
seen = set()
for name, source in pages.items():
parser = HeadCheck()
parser.feed(source)
title = parser.title.strip()
issues = []
if title in seen:
issues.append("タイトル重複")
if len(parser.descriptions) != 1:
issues.append("説明文の数を確認")
seen.add(title)
print(name, " / ".join(issues) or "抜け・重複なし")
head_check.pyとして保存し、py -3.12 -I head_check.pyで実行すると、次の結果になります。
A 抜け・重複なし
B タイトル重複 / 説明文の数を確認
BはAとタイトルが同じで、説明文のタグがありません。このコードで分かるのは文字の重複とタグの数までです。説明文が本文に合うか、Googleが何を表示するか、OGPの必須項目がそろうかは判定しません。
実データを点検する場合も、まず保存したHTML数件で試します。記事の役割を見比べ、内容が異なるならタイトルを具体化し、内容まで同じなら記事のまとめ方を検討します。重複を消すための語尾の言い換えだけでは、読者がページを選びにくいままです。
SEOタイトルと説明文|よくある質問
説明文の省略、文字数、タイトルの書き換え、OGPについての疑問をまとめました。
- メタディスクリプションを書かないと、検索結果に説明文は出ませんか?
-
出ます。説明文は主にページ本文から自動で作られます。メタディスクリプションは本文よりページを正確に伝えられるとGoogleが判断したときに使われます。
- タイトルと説明文に、最適な文字数はありますか?
-
公式ドキュメントには、どちらも長さの上限はないと書かれています。ただし、検索結果では端末の幅に合わせて切られるので、大事な内容は前半に置きます。
- 書いたタイトルが検索結果で別の文言に変わっていました。直せますか?
-
Googleは複数の材料から自動で決めていて、個別のサイトの表示を手動で変えることはできないと説明しています。title要素・画面の見出し・og:titleのずれと、全ページ共通の文言を確かめます。直したあとの反映には数日から数週間かかることがあります。
- OGPを設定すると、検索順位は上がりますか?
-
今回確認したGoogleの公式ドキュメントには、OGPが順位に影響するという記述はありませんでした。OGPはSNSでの見せ方を整える決まりです。ただし、og:titleはタイトルリンクの材料の1つに挙げられています。
SEOタイトルと説明文の設定・点検の要点
SEOタイトルとメタディスクリプションのポイントを整理します。
SEOタイトル:title要素、画面の見出し、og:titleなどからGoogleが自動で決める。ページごとに違う、具体的で短い文言にする。
メタディスクリプション:説明文は主に本文から作られ、使われるかはGoogleが判断する。ページごとに要約を書き、キーワードを並べない。
WordPressの設定:本体が出すのはtitle要素まで。説明文とOGPは、テーマやプラグインの出力を、ページのソースで確かめる。
点検と反映:保存HTMLで抜けと重複を見つけ、本文と合うかを人が確かめる。検索結果の反映時期は保証されない。
まずは自分のサイトの記事を1本開いてソースを見て、title・説明文・og:titleが出力されているかを確かめるところから始めるのが近道です。
関連する内容は次の記事でも扱っています。
- WordPress記事で使う構造化データの基本(ArticleとFAQ)
- 検索意図の読み方|初心者向け記事と実務記事を分ける基準
- noindexとcanonicalの違い|WordPress初心者が混同しやすい設定
参考資料
タイトルリンク | Google検索セントラル
スニペット | Google検索セントラル
wp_get_document_title() | WordPress
