最近の実装に合わせたHTMLテンプレート、基本のコードとすべての要素の役割も解説

最近の実装に合わせた、Webページ用のHTMLテンプレートを紹介します。

レスポンシブ用のHTML、ソーシャルメディア用のHTMLをはじめ、高速表示に欠かせないrel="preload"なども含まれています。IEなどの古いブラウザはプログレッシブエンハンスメントで対応しています。

HTMLテンプレートはすべての要素の役割を各行ごとに解説しているので、自分に不必要なものを削除したり加えたりすることもできます。

Webページ用のHTMLテンプレート

My current HTML boilerplate
by Manuel Matuzović








HTML

HTML1



HTML






HTML使

HTMLHTML5 Boilerplate: HTMLHTML使HTML調

HTML


HTML
ja, ja_JP

HTMLのテンプレートを1行ずつ解説

HTMLのテンプレートを1行ずつ解説します。まずは、一般的なタグから。



DOCTYPE
: MDN



langHTMLlang使lang

htmlendejaBCP471
: MDN

no-jsJavaScriptJavaScript



charset

SafaricharsetManuel Matuzović

HTML<title>



metaviewportWebwidth-device-widthinitial-scale

initial-scale=1iOS 9Safari

viewportmeta
: HEAD

iOS 9.3shrink-to-fit=no


Time to remove the shrink-to-fit=no band aid?

Using the viewport meta tag to control layout on mobile browsers


ページのタイトルは、サイト内でそのページだけの唯一でユニークなものを使用します。ブラウザのタブ、検索エンジンの結果、ブックマークして保存したときなど、さまざまな場所に表示されます。

JavaScript moduleは、プログレッシブエンハンスメントです、ブラウザがJavaScript moduleをサポートしているということは、modules, ES6の構文, fetchなど、モダンJavaScriptをサポートしていることになります。私はほとんどのJavaScriptをこれらのブラウザにのみ提供しており、JavaScriptがアクティブなときにコンポーネントのスタイルが異なる場合は、CSSでjsクラスを使用しています。

サイトのキャプチャ

JavaScript moduleのサポートブラウザ

サイトで共通に使用するCSSです。
参考: モダンブラウザに適したCSSリセットのまとめ

印刷用のCSSです。
参考: I totally forgot about print style sheets

説明文もタイトルと同様に検索エンジンの結果などに表示されるため、ユニークなものにします。長さは自由ですが、検索エンジンでの表示は、155-160文字になります。

ソーシャルメディア用のHTML

FacebookやTwitterなど、ソーシャルメディア用のHTMLです。

titleと同様に、ページのユニークなタイトルを記述します。TwitterやFacebookなどのソーシャルメディアのURLスクレーパーによって使用されます。

こちらも同様に、ユニークな説明文を記述します。TwitterやFacebookなどのソーシャルメディアのURLスクレーパーによって使用されます。



URL

2:1
: Facebook, Twitter, Instagram, TikTok

1200px
Twitterでの表示

Twitterでの表示

WhatsAppでの表示

WhatsAppでの表示

Twitterのルール:
カード画像は、アスペクト比2:1、最小300x157または最大4096x4096ピクセルに対応しています。画像のサイズは5MB以下であること。JPG、PNG、WEBP、GIF形式に対応しています。
参考: Twitter Developer Docs: Cards

画像の説明文を記述します。画像が純粋に装飾的で、意味のある情報を提供していない場合はこのmetaタグを使用しないでください。スクリーンリーダーはaltテキストを提供しない場合、画像を無視します。

これはOpen Graphプロパティのオプションですが、記述が推奨されています。ページで使用する言語を定義します。

website, article, video.movieなど、コンテンツの種類を記述します。Open Graphページに必須のプロパティです。
参考: Object Types

ページの正規URLを記述します。OpenGraphページに必須のプロパティです。
参考: The Open Graph protocol

このmetaタグは、Twitterで共有したときに画像のカードがどのように表示されるかを定義します。Webサイトには、summarysummary_large_imageの2つのオプションがあります。
参考: Twitter Summary Card with Large Image

summary_large_imageの表示例

summary_large_imageを定義した場合の表示

summaryの表示例

summaryを定義した場合の表示

画像が2つのオプションで見栄えがよいことを確認するために、正方形の画像を使用しています。summary_large_imageではカードの上下のピンクの部分が切り取られて表示されていることが分かります。

アイコンとアドレスバー

theme-colorは、ページやその周辺のユーザーインターフェースの表示をカスタマイズするためのCSSのカラーをブラウザに提供します。
サポートされているブラウザ: Chrome, BraveとSamsung Internet on Android

theme-colorの表示例

定義したカラーが適用されます。

従来のブラウザ用の32×32pxのファビコンです。Webサイトのルートにファビコンファイル(favicon.ico)をアップロードします。



SVGfavicon.svgSVGHTMLCSS
: SVGCSS

SVG.svg
<svg><style>fillprefers-color-scheme: dark使

これで、ライトモード時はブラックに、ダークモード時はホワイトになります。

Appleデバイスのホーム画面に表示される180×180pxのアイコンです。

Androidデバイスの場合、.webmanifestファイルが必要です。このファイルは、ホーム画面とPWAのスプラッシュ画面に必要なアイコンが配置されている情報をブラウザに提供します。
参考: How to Favicon in 2021: Six files that fit most needs

linkタグのcanonicalを使用して、複数のURLで公開されているページのオリジナルソースを指定することで、コンテンツの重複によるSEOの問題を防ぐことができます。

moduleをサポートしていないブラウザを対象としたJavaScriptを提供する場合は、nomodule属性を追加します。これにより、スクリプトは従来のブラウザ、つまりIE11でのみ実行されます。



type="module"JavaScriptmodulenomodule




Twitter


Andrey Sitnikによると、これは最近のバージョンのWindowsでは不要になりました。

IE11以降、ドキュメントモードは非推奨になり、一時的な場合を除いて使用できなくなりました。IE11からは、ドキュメントモードとしてedgeモードが推奨されています。edgeモードは、ブラウザが最新の標準規格を最大限にサポートしています。
参考: 推奨されていないドキュメント モードと Internet Explorer 11

Safari 12以降、固定されたタブのアイコンを個別に変更する必要がなくなりました。

たまに必要になるタグ

ページを読み込む際の早い段階で特定のリソースを確実に利用できるようにするには、preloadを使用します。
参考: サイトを高速化したらロード時間は1.6秒に、Lighthouseは100を獲得、その際に実施した手順を解説
参考: スマホ対応の優れもの!クリック・タップの直前にページを先読み、高速表示する超軽量スクリプト

サイトのRSS Feedを定義します。

電話番号の自動検出とフォーマットを無効にします。

Twitterがパーソナライズの目的でサイトの情報を使用することを禁止します。

<head>要素とその子要素について詳しく知りたい場合は、下記をご覧ください。

HTMLページのhead内に記述する要素の総まとめ

HTMLのheadの書き方、head内に記述する要素の総まとめ

sponsors

top of page

©2024 coliss