メタデータ、SEO、ソーシャル

あなたのページに到着する2人の訪問者がいて、彼らは人間が見るやり方でページを見ることはありません。1人は検索エンジンで、ページをリストに載せるべきかどうか、そしてそれについて何を言うかを決めています。もう1人はソーシャルプラットフォームで、誰かがリンクを共有するときに現れる小さなプレビューカードを構築しています。どちらも<head>内の小さなタグのブロックを読みます。画面上の表示されたコンテンツではなく。この章は、検索結果、ブラウザタブ、共有リンクでページが正しく表示されるようにそのブロックを書くことについてです。
タイトルと説明
すべてのページに<title>が必要です。ブラウザタブ、ブックマーク、および検索結果のリストにページが表示される際のクリック可能な見出しに表示されるテキストです。headに存在し、1行の短い行です:
<title>初心者向けサワードウ:最初のローフ、ステップバイステップ</title>検索結果のその見出しの下には、通常、ページを説明する文があります。それは**メタディスクリプション**から来ます。これはheadに入れるもう1つのタグです:
<meta name="description" content="シンプルなサワードウレシピ、最初の生地をこねることからパリッとした黄金色のクラストまで、各ステップのタイミング付き。" />棚の本を想像してください。タイトルは背に印刷されているので見つけられます。説明は裏表紙に書かれた引用で、それを開くべきかどうか判断するのに役立ちます。
<title>要素は必須で、ドキュメントごとにちょうど1つあります。3つの役割があります:ブラウザタブにラベルを付け、誰かがページをブックマークするときのデフォルト名で、検索エンジンが結果に表示する見出しです。リストをスキャンしている人間向けに書き、特徴的な単語を最初に置き、楕円で切り取られないようにおおよそ60文字に保ちます。
<meta name="description">タグはその見出しの下に表示される文です。ランキング要因ではありませんが、クリックするかどうかを決定する人へのピッチなので、具体的にし、すべてのページに異なるものを書きます。およそ150〜160文字を目指してください。それを省略した場合、検索エンジンはページテキストからスニペットを引き出すことによって独自の要約を書き、その推測はあなたの文ほど良くないことはめったにありません。
<title>初心者向けサワードウ:最初のローフ</title>
<meta name="description" content="ステップバイステップの最初のサワードウ、タイミングとすべての一般的な間違いの修正付き。" /><title>は、SERP(検索エンジン結果ページ、クエリが返す結果のリスト)に結果が何を言うかについて完全に制御できる最も強いオンページテキストです。ラベルではなくコピーとして扱う価値があります:特徴的な単語は最初に来ます。なぜなら、終わりは切り取られるからです。誰もが引用する文字数は実質的には約600ピクセルのピクセル幅制限なので、幅広い文字のタイトルはカウント値を示唆するよりも早く切り取られます。検索エンジンはまた、効果のため単語を繰り返したり、クエリと一致しないようなタイトルなど、有害と判断するタイトルを書き直すため、明確で正確なタイトルはパディングされたタイトルよりも頻繁に生き残ります。
説明はランキングへの入力ではありません。その全体的な仕事はクリックスルー、結果を見ている人がそれをクリックする割合で、より正確な説明がその割合を上げます。長さよりも重要な2つの本番ルールがあります。まず、すべてのページが独自のタイトルと説明を取得します。1つのグローバルペアをテンプレート化されたサイト全体に配送することは、ほぼ同じ結果を互いに競合させ、定型文として読まれることを意味します。次に、データから構築されるサイトでは、固定文字列ではなくページ自身のフィールドから両方を生成し、製品ページはその製品に名前を付け、レシピページはそのレシピに名前を付けます。
<title>はタブラベルで、検索結果でクリックする見出しなので、明確にしてください。<meta name="description">は下の引用です。両方ともheadに存在し、各ページに独自のペアを与えることは、それがどのように役立つかのために期待するよりもはるかに少ない努力で済みました。 <title>、特徴的な単語が最初に、約60文字。説明はランキングに影響しません。クリックのみで獲得します。だからグローバル行の代わりにページごとに特定のものを書いてください。それを省略すると、エンジンは選ばなかったスニペットを発明します。 文字セットとビューポート、再考
Your first HTML pageのスケルトンは2つのメタタグで開かれました。これは貼り付けて忘れやすいものです。両方がコンテンツが表示される前にページの読み取りと レンダリング方法を変更するため、2回目の見は価値があります。
最初のタグは文字エンコーディングです:
<meta charset="UTF-8" />これはブラウザに対して、文字がどのアルファベットで書かれているかを示し、アクセント付きの文字、巻き引用符、絵文字が奇妙な記号に変わる代わりに正しく表示されることをします。常にUTF-8を使用してください。それはすべての言語とすべての絵文字をカバーしています。
2番目のタグは**ビューポート**で、ページをスマートフォン画面に合わせます:
<meta name="viewport" content="width=device-width, initial-scale=1" />それなしでは、スマートフォンはページがワイドデスクトップ向けに構築されたと仮定し、テキストが読むには小さすぎるまで全体を縮小します。これを使用すると、ページはデバイスの幅に一致します。ブラウザに対して、印刷している紙の実際のサイズを伝えていると考えてください。
<meta charset="UTF-8">は文字エンコーディング、ファイルの生バイトから表す文字へのマッピングを設定します。ドキュメントの最初の1024バイト内、headの最初のものとして早期に表示される必要があります。解析器は、後続するテキストをデコードする前にエンコーディングを知る必要があるためです。UTF-8は使用するべき唯一の回答です。すべての言語のすべての文字をエンコードします。
<meta name="viewport" content="width=device-width, initial-scale=1">は、スマートフォンでページを応答させるものです。width=device-widthはページのレイアウト幅をデバイス自身の幅に一致させ、initial-scale=1は通常のズームでそれを開きます。このタグを外すと、モバイルブラウザはおおよそ980ピクセルのデスクトップレイアウトを仮定し、フィットするようにスケールダウンします。user-scalable=noまたはmaximum-scaleを追加してズームをロックしないでください。そうするとピンチしてテキストを拡大するのを止めます。多くのリーダーが依存しています。
文字セット宣言が存在するのは、解析が2段階の問題であるためです。ブラウザはバイトのストリームを持ち、それらを文字に変えるためのエンコーディングが必要です。エンコーディングが遅くに宣言されたり、解析器が最初のバイトから推測した内容と矛盾したりする場合、ブラウザは作業を破棄し、正しいエンコーディングの下から上から再解析できます。これは<meta charset="UTF-8">を最初に置くことで回避する小さなコストです。レスポンスがContent-TypeHTTP ヘッダーにcharsetを含める場合、ヘッダーが優先されますが、ファイルがそのヘッダーなしで保存または提供されるときにファイルが正しいように、メタタグを含める必要があります。UTF-8はウェブの解決されたデフォルトです。その他のものは、移行すべきレガシー状況です。
ビューポートタグは2つのレンダリングモード間のスイッチです。それなしでは、モバイルブラウザは広い仮想キャンバス(歴史的には約980 CSSピクセル)にレンダリングし、結果をスケールダウンします。これが、タグなしのページが縮小されたデスクトップに見える理由です。width=device-widthはレイアウトビューポートをデバイスにバインドします。これはレスポンシブCSSが動作するための前提条件です。user-scalable=noまたは低いmaximum-scaleでズームを抑制することはアクセシビリティの失敗です。WCAG(ウェブコンテンツアクセシビリティガイドライン、アクセス可能なウェブコンテンツの標準的なリファレンス、Accessibilityでカバーされています)で呼ばれています。テキストを拡大できないリーダーをブロックします。
<meta charset="UTF-8">はアクセント付きの文字と絵文字がギブリシュに変わるのを防ぐため、常に含めてください。ビューポート行はページをスマートフォンに合わせ、小さなデスクトップに縮小しません。1回コピーして、ほとんど二度と触らないようにするための2つのタグですが、スキップするのは速く示します。 UTF-8を使用し、それ以外は何もありません。width=device-widthを持つビューポートタグはレスポンシブCSSがスマートフォンで動作するようにするもので、ズームを無効にしないでください。人々がそれに依存しています。 user-scalable=noでズームをロックすることはWCAG に失敗します。それを除いてください。 Open Graphとソーシャルカード
チャットまたはソーシャルポストにリンクを貼ると、小さなプレビューカードが画像、タイトル、テキストの行で表示されることがあります。そのカードはプラットフォームが推測しているのではありません。ページはheadの**Open Graph**と呼ばれるタグセットを使用して、表示する画像と単語をそれに与えます:
<meta property="og:title" content="初心者向けサワードウ" />
<meta property="og:description" content="最初のローフ、ステップバイステップ。" />
<meta property="og:image" content="https://breadschool.example/loaf.jpg" />これらは前の説明タグがnameを使用した場所でpropertyを使用していることに注意してください。それはOpen Graphタグが取る形です。パターンをコピーして単語と画像アドレスを変更してください。誰かがそれを共有するたびに、ページに小さなプレビューをパックするのと思ってください。
Open Graphは共有可能なオブジェクトとしてページを説明するメタタグの共有語彙です。Facebookで始まり、今ではリンクプレビューを表示するほぼすべてのプラットフォームで読まれています。タグはproperty="og:..."を使用し、必須要素は5つです:
<meta property="og:title" content="初心者向けサワードウ" />
<meta property="og:description" content="最初のローフ、ステップバイステップ、タイミング付き。" />
<meta property="og:image" content="https://breadschool.example/loaf.jpg" />
<meta property="og:url" content="https://breadschool.example/sourdough" />
<meta property="og:type" content="article" />Twitter、現在のX、は独自のtwitter:タグを読みますが、Open Graphタグにフォールバックします。だからレイアウトを変更する部分を追加する必要があるだけです:
<meta name="twitter:card" content="summary_large_image" />それはあなたに小さなサムネイルの代わりに大きな画像カードを与えます。og:imageをおおよそ1200×630ピクセルにして、カードをクリーンに充填し、それに依存する前にプラットフォーム独自のリンクプレビューデバッガーで結果を確認します。
これらのタグの視聴者はソーシャルスクレーパーです。リンクが投稿されると、プラットフォームが実行するボット。ページを取得し、headだけを読み、スクロール、クリック、または通常はJavaScriptを実行しません。Open Graphを書く方法に関する、それについてのすべてはその後に従います。og:imageはhttps://とドメインを含む絶対URLである必要があります。/loaf.jpgのような相対パスは、リモートスクレーパーが読むときにそれに対して解決するページコンテキストを持たないためです。タグはproperty属性を使用します。nameではなく。Open Graphは古い標準のRDFaで定義されています。マークアップに構造化データを埋め込むため。実用的なテイクアウェイは、og:タグがpropertyを使用し、それらをnameに「修正」しないだけです。
2つの本番現実が人々を引っ掛けます。まず、プラットフォームはスクレイプされたカードをキャッシュします。タグを編集しても、プラットフォームのデバッガーを通じて再スクレイプを強制するまで、既に共有されたリンクは更新されません。次に、ほとんどのスクレーパーがJavaScriptを実行しないため、シングルページアプリケーションのクライアントによって注入されたOpen Graphタグはしばしば見えません。カードはベアタイトルまたは何もない状態にフォールバックします。ページがJavaScriptによって構築されている場合、修正はheadをサーバーでレンダリングすることで、タグがスクレーパーが読むファーストレスポンスに存在します。これは、次のセクションで取り上げられるクロールを形作る同じ制約です。
og:title、og:description、og:image。彼らはnameの代わりにpropertyを使用します。最初は奇妙に見えますが、書き方です。それらを設定し、リンクは裸の表示を停止します。 og:title、og:description、og:image、og:url、og:type。大きな画像のtwitter:cardをsummary_large_imageに設定して追加し、画像をおおよそ1200×630にサイズします。常にプラットフォームデバッガーでカードを確認してから信頼してください。 og:imageは静かに失敗します。プラットフォームはカードをキャッシュするため、変更にはデバッガーで強制的に再スクレイプが必要です。クライアントレンダリングされたタグはしばしば見えません。これが、JavaScriptアプリがサーバーでheadをレンダリングする必要がある理由です。 ファビコンと他のリンクタグ
ブラウザタブの小さなアイコンで、ページタイトルの横は、**ファビコン**です。誰かが他の十数のタブの中からあなたのタブを発見する方法です。head内の<link>タグを使用してアイコンを追加します:
<link rel="icon" href="/favicon.png" />rel="icon"部分はブラウザに、このファイルがページのアイコンであることを伝え、hrefは画像へのポイントです。小さな正方形の画像、およそ32×32ピクセルで十分です。小さなタッチで、サイトが完了したように見えます。
<link>要素はページを関連ファイルに接続し、rel属性はそのファイルが何であるかを示します。ファビコンはrel="icon"を使用し、モダンなPNGまたはSVGは古い.ico形式よりも良い選択です。Appleタッチアイコンも追加してください。これは、誰かがサイトをホーム画面に保存するときにiOSが使用する画像です:
<link rel="icon" href="/favicon.svg" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />1つ以上の<link>がここに場所を獲得しています:正規URL。同じページが複数のアドレスでアクセス可能な場合、たとえば末尾スラッシュの有無、またはトラッキングパラメータの端にある場合、rel="canonical"は実装の1つのアドレスに名前を付けます:
<link rel="canonical" href="https://breadschool.example/sourdough" />それはページの立場を複数に分割するのではなく、その単一のURLにすべての複製をクレジットするように検索エンジンに伝えます。
rel属性は関係キーワードです。このドキュメントへのリソースがリンクされているもの、それが1つの要素がアイコン、正規、スタイルシート、プリロードをカバーする理由を示しています。アイコンの場合、ブラウザはいくつかを受け入れ、サイズとフォーマットで選択します。SVGアイコンはサイズごとに個別のファイルなしでスケールし、古いブラウザのPNGフォールバック。レガシーfavicon.icoは、互換性のために保持された複数解像度のフォーマットで、もはや最初に到達するフォーマットではありません。
正規リンクは実際のランキングの結果を持つものなので、それは正確に正しく価値があります。それはリンクエクイティ、ページに指す链からクリックされたランキング値を、複製アドレスに散乱させるのではなく、指定したURLに統合します。良い実践は、すべてのページ上の自己参照正規(各ページが独自のクリーンURLに名前を付ける)で、パラメータまたは代替パス が表示されるときに曖昧性を削除します。失敗モードは正規を間違ったページに指しています:セクション全体のハードコード1つの正規テンプレートはセクション内のすべてのページが1つのコピーであるかのように検索エンジンに伝え、残りはインデックスから削除されます。他のrel値(preload、preconnectなど)はリソースを早期にフェッチまたはウォームアップする接続するパフォーマンスのヒント。それらはこれではなく、ページスピード議論に属します。ここではポインタ、タスクではなく扱ってください。
<link rel="icon">と小さな正方形の画像で追加されます。これはサイトが完了したように見えるようにする小さなものです。head内の<link>タグは、ページをこのような追加ファイルに指す方法です。 .icoではなくrel="icon"をPNGまたはSVGで使用し、保存されたホーム画面用にapple-touch-iconを追加します。正規リンク、rel="canonical"は、ページが複数でアクセス可能な場合、実装のアドレスに名前を付け、検索エンジンはそれを分割する代わりに1つのURLをクレジットします。 relは関係キーワードで、1つの要素がアイコン、正規、プリロードを処理する理由。SVGアイコンはサイズごとのファイルなしでスケール。正規は高リスクのものです。ページごとの自己参照正規は安全ですが、すべてのページを1つのURLに指すテンプレートはインデックスから残りを削除します。 クロール可能性の基本
検索エンジンはウェブページにアクセスし、読み、それを大きなリストに追加するプログラムを送信します。その人は**クローラー**で、ほとんどの場合、その仕事をするようにして、特別に何もしません。下書きまたはプライベートなお礼のページのようにクローラーから除外したいページがある場合、ロボットメタタグでそうします:
<meta name="robots" content="noindex" />noindexは「このページを検索結果にリストしないでください」という意味です。クローラーを、各本をカタログ化している図書館司書として想像してください。このタグは図書館司書に、このタグをスキップするように要求するメモです。
クローラーはあなたのHTMLを読み、見つけたリンクに従い、より多くのページに到達し、後で結果で提供できるようにコンテンツをインデックスします。ロボットメタタグで導きます。noindexはページを結果から除外し、nofollowはクローラーに対して、ページ上のリンクを通じてランキングクレジットを渡さないように伝えます:
<meta name="robots" content="noindex, nofollow" />これをrobots.txtと混同しないでください。これはサイトのルートにある別のファイルで、クローラーが全部をフェッチできるかどうかをコントロールします。メタタグはクローラーが既に到達したページのインデックスをコントロールします。ファイルはアクセスをコントロールします。
古い<meta name="keywords">タグを完全に無視してください。それはかつてページがそれら自身のキーワードをリストできましたが、検索エンジンは長年前にそれを信頼するのをやめました。そして今日は何もしません。ページのランクを実際に役立つのはオーディナリの良い構築です:明確なタイトル、実績のある見出し、Semantic HTMLページの各部分に名前を付けて、説明的なリンクテキスト、そしてページが速くロードします。
3つのステップを分離するのに役立ちます。検索エンジンが取るため、タグは異なるところで機能します。クロールはページをフェッチするためです。インデックスは後のために格納して理解することです。ランクは特定のクエリのために他のページに対して注文することです。ロボットメタタグnoindexで機能します。インデックス作成;robots.txtでクロール;X-Robots-TagHTTP ヘッダーはPDFなどの非HTMLファイルに同じインデックスルールを適用できます。古い間違いはrobots.txtでページをブロックしてnoindexを追加するものです。クローラーはページをフェッチできないため、タグを見ることはなく、URLは説明なしで結果に残ることができます。ページをインデックスから削除したい場合は、クロールしてnoindexを読ませます。
モダンクローラーはJavaScriptをレンダリングしますが、遅延と限定された予算内なので、クライアント側フェッチの後にのみ表示されるコンテンツはゆっくりまたはまったくインデックス化されません。信頼できる答えはサーバーレンダリングされた見つける必要があるもの。説明するために、ページを検索エンジンが直接使用できるフォーム、マシン可読ファクト。標準的な方法はJSON-LDブロック、Schema.org語彙を使用してJSONで書かれた構造化データで、<script type="application/ld+json">タグ内のheadまたはbodyに配置:
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "初心者向けサワードウ",
"totalTime": "PT24H",
"recipeYield": "1 loaf"
}これは単独でランキングを上げません。これはページが豊かな結果に適格になります。SERPで目立つ星、価格、またはレシピ詳細を備えた拡張リスティング。ランキング自体については、ほとんどの人々がチューンするものはミスです。keywordsメタタグは2009年頃から無視されています。関連性があるように見えるようにキーワードを繰り返すことは検出され、あなたに逆らっています。説明はランキング入力ではありません。一貫性があるのは、クエリに答えるコンテンツ、構造を読みやすくするセマンティクスマークアップ、他のサイトからのリンク、およびロード時に高速で安定しているページです。この章のタグはページを提示可能で正しく理解させます。ランキング価値のあるページの代わりではありません。
<meta name="robots" content="noindex">を追加します。これはこの段階で到達する主なノブなので、残りをまだ圧倒的に考える必要はありません。 noindex、nofollow)。別個のrobots.txtファイルはクロール。古いkeywordsメタタグは死んでいるため、無視してください。実際のランキングは明確なタイトル、セマンティックHTML、良いリンク、速いページから来ます。魔法のタグからではなく。 robots.txtでページをブロックしてnoindexを追加することです。クローラーはタグを読むためのページをフェッチしません。JSON-LDは豊かな結果を稼ぎます。ランキングのブーストではなく。Keywords metaは死んでいます。コンテンツと意味論が実際に勝ちます。 
