暫定日本語訳:Resource Hints

暫定日本語訳:どのように preload, preconnect, dns-prefetch, と prefetch resource hints speed up ページ loads と improve Core Web Vitals, と いつ へ 使用 各 one.

初回公開:2026年7月2日 · 最終更新:2026年8月4日 · Advanced
言語

暫定日本語訳:Resource hints (dns-prefetch, preconnect, preload, prefetch) tell ブラウザー へ do network 機能 — DNS lookups, connection setup, または fetching — earlier than it otherwise する. dns-prefetch is cheapest (DNS だけ); preconnect does full DNS+TCP+TLS handshake; preload is mandatory fetch 向けに late-discovered resource 現在の ページ needs (like LCP 画像 または font in CSS) — ただし its デフォルト priority still depends on resource type, ない 自動 "high" (fetchpriority is separate hint 向けに その); prefetch is low-priority speculative fetch 向けに future ページ. big failure mode is overuse — preload everything と あなた've prioritized nothing. と be honest について SEO: per Gary Illyes (Feb 2026), これらの hints don't 役立つ Googlebot クロール または インデックス登録 faster; their value is entirely on real-ユーザー side, which flows へ Core Web Vitals, one of several signals Google's ランキング systems 使用 — good scores don't guarantee top rankings.

暫定日本語案: TL;DR — main resource hints form spectrum of ブラウザー cost: 暫定日本語案: dns-prefetch (DNS lookup だけ) → preconnect (DNS + TCP + TLS) → 暫定日本語案: preload ( mandatory fetch of specific, late-discovered resource) → 暫定日本語案: prefetch (lowest-priority speculative fetch 向けに future navigation). 暫定日本語案: modulepreload is preload’s sibling 向けに JS modules. preload is だけ one 暫定日本語案: ブラウザー is obligated へ fetch — その’s 異なる から saying it’s 暫定日本語案: 自動 high priority; デフォルト priority still depends on 暫定日本語案: resource type, と fetchpriority is separate hint 向けに raising it. as 暫定日本語案: attribute is 必要 on preload; crossorigin is 必要 向けに fonts と 暫定日本語案: other anonymous-mode fetches, または ブラウザー downloads resource twice. 暫定日本語案: Overuse is dominant failure mode. と per Gary Illyes (Feb 2026), none of 暫定日本語案: この 役立つ Googlebot — SEO value is entirely indirect, 通じて Core Web 暫定日本語案: Vitals, which is one of several ランキング signals, ない deterministic one.

Evidence for this claim Preload declares a resource needed for the current navigation and fetches it with the resource's destination semantics. Scope: Current official or standards documentation. Confidence: high · Verified: MDN: preload Evidence for this claim Preconnect asks the browser to establish an early connection to an origin and should be limited to important origins. Scope: Current official or standards documentation. Confidence: high · Verified: MDN: preconnect

spectrum of ブラウザー “cost”

暫定日本語案: cleanest mental model 向けに resource hints is へ line them up by どのように much 機能 暫定日本語案: あなた’re asking ブラウザー へ do up front:

  1. 暫定日本語案: dns-prefetch — resolve hostname へ IP. Cheapest.
  2. 暫定日本語案: preconnect — DNS lookup plus TCP handshake plus TLS 暫定日本語案: negotiation 向けに HTTPS. full open connection, ready へ 使用.
  3. 暫定日本語案: preload — go actually fetch specific resource, 現在. ブラウザー 必要がある 暫定日本語案: プロセス fetch, ただし その doesn’t 自動 作る it high priority — 暫定日本語案: more on その below.
  4. 暫定日本語案: modulepreload — preload’s sibling 向けに JavaScript modules; fetches 暫定日本語案: module へ ブラウザー’s module map using module-script rules rather than 暫定日本語案: generic fetch.
  5. 暫定日本語案: prefetch — go fetch specific resource, ただし at lowest priority, 暫定日本語案: 向けに ページ ユーザー hasn’t navigated へ yet.

暫定日本語案: それら go in one of two places: <link> element in <head>, または HTTP 暫定日本語案: Link レスポンス header (more on header path, と 103 Early Hints, below). 暫定日本語案: None of この is document-level Speculation Rules API — その’s separate 暫定日本語案: mechanism 向けに prerendering/prefetching whole navigations, covered in 暫定日本語案: prefetch section below.

dns-prefetch

暫定日本語案: dns-prefetch performs just DNS lookup 向けに cross-origin サーバー ahead of 暫定日本語案: time — it doesn’t open connection. その 作る it cheapest hint と 暫定日本語案: sensible デフォルト 向けに many lower-priority third-party domains ページ touches 暫定日本語案: (analytics, tag managers, minor widgets). In my own 暫定日本語案: Largest Contentful Paint guide 暫定日本語案: I 作る practical point その “DNS-prefetch has better support than preconnect” — so it’s また reasonable fallback 向けに ブラウザー どこ preconnect 暫定日本語案: isn’t honored.

<link rel="dns-prefetch" href="https://analytics.example.com">

preconnect

暫定日本語案: preconnect goes further: it opens whole connection — DNS, TCP, と (向けに 暫定日本語案: HTTPS) TLS handshake — so その by time ブラウザー needs resource, 暫定日本語案: pipe is already warm. その’s bigger win than dns-prefetch, ただし it’s また 暫定日本語案: more expensive へ ブラウザー, which is なぜ it comes とともに two 重要 caveats:

  • 暫定日本語案: Reserve it 向けに あなた 大半の critical cross-origin connections. handful (あなた 暫定日本語案: font host, あなた 画像 CDN, critical script origin) — ない everything. Google’s 暫定日本語案: Lighthouse “Preconnect to required origins” audit と web.dev both warn その 暫定日本語案: unnecessary preconnects delay other 重要 機能.
  • 暫定日本語案: ** unused connection is wasted 機能.** ブラウザー close connection その isn’t 暫定日本語案: 使用 以内に について 10 seconds, so preconnect へ something あなた don’t actually 暫定日本語案: fetch soon just burns handshake capacity 向けに nothing.

暫定日本語案: 向けに fonts, preconnect needs crossorigin attribute — fonts are 常に 暫定日本語案: fetched in anonymous (CORS) mode, と なしで it ブラウザー opens second 暫定日本語案: connection anyway, defeating point.

<link rel="preconnect" href="https://fonts.example.com" crossorigin>

preload

暫定日本語案: preload is one ブラウザー is obligated へ execute — if it processes 暫定日本語案: tag, it 必要がある start fetch 向けに resource 現在の ページ definitely 暫定日本語案: needs ただし する otherwise discover late. その’s statement について いつ 暫定日本語案: fetch starts, ない 自動 について priority: デフォルト priority 暫定日本語案: preloaded resource gets still depends on resource type と ブラウザー 暫定日本語案: (web.dev is explicit その 画像, 向けに 例, stay low priority by デフォルト 暫定日本語案: even いつ preloaded). If あなた want へ actually raise resource’s priority, 暫定日本語案: その’s separate, explicit hint — fetchpriority — ない something preload 暫定日本語案: does on its own. classic candidates 向けに preload:

  • 暫定日本語案: Fonts referenced inside CSS file — ブラウザー doesn’t know font 暫定日本語案: exists until it downloads と parses CSS, so preload surfaces it earlier.
  • 暫定日本語案: ** LCP (hero) 画像**, especially one 設定 via CSS または srcset その isn’t 暫定日本語案: plain early <img> in HTML.
  • 暫定日本語案: Critical, late-discovered JavaScript または CSS.

暫定日本語案: Two attributes 作る または break it:

  • 暫定日本語案: as is 必要. It tells ブラウザー 何 type of resource この is so it 暫定日本語案: できる assign right priority と match cache entry. Omit it と 暫定日本語案: ブラウザー treats リクエスト like generic XHR — 誤った priority, と 多くの場合 暫定日本語案: duplicate download.
  • 暫定日本語案: crossorigin 向けに fonts — 同じ rule as preconnect; miss it と font 暫定日本語案: downloads twice.

暫定日本語案: More generally, preload だけ gets reused if eventual リクエスト matches it: 暫定日本語案: 同じ URL, 同じ as/destination, 同じ type または media condition, matching 暫定日本語案: crossorigin/credentials mode, と — どこ それら apply — matching integrity 暫定日本語案: と referrerpolicy. 向けに responsive 画像 preload, その また means using 暫定日本語案: imagesrcset/imagesizes その mirror srcset/sizes ブラウザー する 暫定日本語案: actually pick, ない single unconditional fallback URL. Get any of これらの out of 暫定日本語案: sync と ブラウザー either できる’t reuse preload (duplicate fetch) または 暫定日本語案: fetches 誤った candidate.

暫定日本語案: 向けに LCP 画像 specifically, Google’s 現在の recommendation is へ pair 暫定日本語案: preload とともに fetchpriority="high" so fetch starts alongside 暫定日本語案: stylesheet. この is combo I describe in my 暫定日本語案: LCP guide too — 暫定日本語案: fetchpriority="high" gets 画像 earliest, と preloading is strong 暫定日本語案: second signal, useful because as I note there, 暫定日本語案: “Early Hints don’t work on all browsers, so you may also want to preload the image.”

<!-- LCP image -->
<link rel="preload" fetchpriority="high" as="image" href="/hero.webp" type="image/webp">

<!-- Font in CSS -->
<link rel="preload" as="font" type="font/woff2" href="/fonts/inter.woff2" crossorigin>

暫定日本語案: overuse warning applies hardest here: if everything is preloaded at high 暫定日本語案: priority, effectively nothing is. web.dev is explicit その excessive preloads 暫定日本語案: cause bandwidth contention, と it hits hardest on slow networks. Preload two 暫定日本語案: または three genuinely late-discovered, genuinely critical resources — no more.

modulepreload

暫定日本語案: modulepreload is preload’s counterpart 向けに JavaScript modules. Instead of 暫定日本語案: generic resource fetch, it 使用 module-script fetch rules と puts result 暫定日本語案: straight へ ブラウザー’s module map — so いつ module is later インポート, 暫定日本語案: ブラウザー already has it. Depending on ブラウザー, it 可能性がある また go ahead と 暫定日本語案: fetch module’s static インポート. Support と どのように deep その dependency-fetching 暫定日本語案: goes both vary by ブラウザー, so テスト actual behavior rather than assuming it 暫定日本語案: matches preload.

<link rel="modulepreload" href="/js/app.module.js">

prefetch

暫定日本語案: prefetch is odd one out: it’s ない について 現在の ページ at all. It’s 暫定日本語案: low-priority, speculative fetch 向けに resource future navigation する 暫定日本語案: likely need — next 手順 in checkout, 記事 ユーザー is について へ クリック. 暫定日本語案: Because it runs at lowest priority, it doesn’t steal bandwidth から 暫定日本語案: 現在の ページ’s critical resources, と prefetched files land in HTTP cache 暫定日本語案: (if それら’re cacheable) ready 向けに next navigation.

暫定日本語案: trade-off: if ユーザー 決して goes there, あなた’ve spent bytes 向けに nothing — so 暫定日本語案: apply it thoughtfully と 避ける it on slow または metered connections.

<link rel="prefetch" href="/checkout/step-2" as="document">

暫定日本語案: Looking forward, Speculation Rules API is modern successor へ 暫定日本語案: prefetch 向けに predicting 同じ-サイト navigations; web.dev notes it handles ケース 暫定日本語案: plain prefetch できる’t (like non-cacheable navigations) と behaves more 暫定日本語案: consistently 全体で origins. prefetch remains useful と more broadly 暫定日本語案: supported in meantime.

Preload vs. prefetch vs. preconnect vs. dns-prefetch

Hint何 it doesPriorityブラウザー 必要がある obey?Best 向けに
dns-prefetchDNS lookup だけSuggestionMany lower-priority third-party domains
preconnectDNS + TCP + TLS (full connection)Suggestionあなた few 大半の critical cross-origin origins
preloadFetch specific resourceResource/ブラウザー-dependent — ない 自動 high; pair とともに fetchpriority へ raise itYes, if processedLate-discovered critical resources on この ページ
modulepreloadFetch JS module へ module mapResource/ブラウザー-dependentYes, if processedLate-discovered ES modules この ページ needs
prefetchFetch specific resource, lowest priorityLowestSuggestionResources 向けに likely future navigation

Resource hints と Core Web Vitals

暫定日本語案: Here’s part SEOs actually care について — which hint moves which 指標:

  • 暫定日本語案: dns-prefetch / preconnect shave connection latency, which 表示 up as 暫定日本語案: faster start へ loading あなた critical resources — feeding LCP と, 前に 暫定日本語案: it, FCP.
  • 暫定日本語案: preload acts on LCPFCP 大半の directly by starting fetch of 暫定日本語案: LCP 画像 または render-critical font/stylesheet earlier.
  • 暫定日本語案: prefetch doesn’t touch 現在の ページ’s Core Web Vitals at all — it 暫定日本語案: improves next ページ’s LCP/FCP by having its resources already cached.

暫定日本語案: None of これらの directly affect INP または CLS, though getting fonts in earlier (via 暫定日本語案: preload) できる indirectly reduce layout shift から font swaps — その’s really 暫定日本語案: font loading topic, と 暫定日本語案: render-blocking resources 暫定日本語案: is sibling 記事 on fetch-order side of 同じ 問題.

Do resource hints 役立つ Google クロール または インデックス登録 my サイト

暫定日本語案: No — と この is single 大半の 重要 nuance へ get right, because 大半の 暫定日本語案: コンテンツ on この topic is vague について it.

暫定日本語案: In February 2026 検索 Off Record episode, Google’s Gary Illyes 暫定日本語案: explained なぜ Googlebot largely ignores これらの hints: それら solve ブラウザー と 暫定日本語案: network latency 問題 その Google’s own クロール infrastructure doesn’t have. 暫定日本語案: As 暫定日本語案: reported by 検索エンジン Journal, 暫定日本語案: Illyes said “it’s very helpful if you have like a crappy internet to do DNS Prefetching for example. In our case, we don’t need to because we can talk very fast to all the cascading DNS servers.” 暫定日本語案: Jump へ quote 暫定日本語案: He made 同じ point について preload — 暫定日本語案: “Same with preload. If we are not synchronous then we don’t particularly need to look at preload.” 暫定日本語案: Jump へ quote

暫定日本語案: So 正しい causal chain is: resource hints → faster real-ユーザー experience → 暫定日本語案: better Core Web Vitals → one of several signals Google’s ランキング systems 使用. 暫定日本語案: Google’s own ページ experience ドキュメント 暫定日本語案: is explicit その there’s no single ページ-experience signal, その Core Web Vitals 暫定日本語案: are 使用 by ランキング systems alongside others, と その good CWV scores don’t 暫定日本語案: guarantee top ランキング — relevance still wins 超えて ページ experience. So it’s ない 暫定日本語案: nothing — ただし resource hints are UX/パフォーマンス tactic 最初, と their SEO 暫定日本語案: value is entirely downstream と non-deterministic. Don’t sell them internally as “this helps Google read the page.”

暫定日本語案: Bing, 向けに 何 it’s worth, has published no hint-specific guidance at all — its 暫定日本語案: webmaster guidance references サイト speed generically. ブラウザー-level benefits 暫定日本語案: (faster loads, better vitals) apply 同じ regardless of 検索エンジン, so 暫定日本語案: there’s no separate “Bing angle” へ optimize 向けに here.

暫定日本語案: Resource hints don’t have へ live in あなた HTML. あなた できる 送信 them as HTTP 暫定日本語案: Link レスポンス header — Link: </hero.webp>; rel=preload; as=image — which is 暫定日本語案: どのように サーバー- と CDN-level implementations 機能. 大半の interesting version of 暫定日本語案: この is 103 Early Hints: preliminary HTTP status その lets edge (like 暫定日本語案: Cloudflare) 送信 cached preload/preconnect Link headers 前に origin 暫定日本語案: サーバー has even finished generating full レスポンス — giving ブラウザー head 暫定日本語案: start on connections と fetches while it waits. I cover 103 status itself in 暫定日本語案: my 暫定日本語案: HTTP status codes guide, どこ I 暫定日本語案: describe it as letting あなた preload resources へ 役立つ LCP 向けに Core Web Vitals.

よくある間違い

  • 暫定日本語案: Preloading too many resources — cardinal sin; it creates bandwidth 暫定日本語案: contention と できる 作る ページ slower overall.
  • 暫定日本語案: Preloading things ブラウザー already finds early — early <img> in 暫定日本語案: HTML doesn’t need preloading; あなた’re just spending リクエスト slot.
  • 暫定日本語案: 不足している as on preload — 誤った priority と 多くの場合 double download.
  • 暫定日本語案: 不足している crossorigin on font preload/preconnect — mismatched cache entry 暫定日本語案: means font downloads twice.
  • 暫定日本語案: Stale, unused preconnect tags — left behind 後に あなた 削除 暫定日本語案: third-party script それら were 向けに, holding connections open 向けに 10 seconds 暫定日本語案: 前に ブラウザー gives up.
  • 暫定日本語案: Ignoring cost beyond あなた own ページ — unused hints don’t just waste あなた 暫定日本語案: own bandwidth; それら consume sockets と サーバー/third-party capacity, と 暫定日本語案: dns-prefetch/preconnect できる reveal likely destinations へ network 暫定日本語案: observers. ブラウザー 可能性がある また ignore, cancel, または limit hints 下で Save-データ, 暫定日本語案: low-power, または support constraints — prefetch in particular is treated as 暫定日本語案: optional と skipped 向けに reduced-データ ユーザー, so don’t assume hint あなた shipped 暫定日本語案: is actually running 向けに すべての 訪問者.
Evidence for this claim Unused preconnects and fetch hints can consume sockets, bandwidth, CPU, memory and server/third-party capacity, reveal likely destinations or trigger privacy-sensitive network activity; browsers may ignore, cancel or limit hints under settings, support or data-saving constraints. Scope: future-resource speculation Confidence: high · Verified: Prefetching, prerendering, and service worker precaching

どのように へ テスト と audit

  • 暫定日本語案: Lighthouse / PageSpeed Insights — “Preconnect to required origins” 暫定日本語案: audit flags 不足している preconnects on key リクエスト; treat it as prompt へ 追加 暫定日本語案: targeted one, ない へ carpet-bomb.
  • 暫定日本語案: Chrome DevTools → Network panel — Priority column 表示 何 暫定日本語案: ブラウザー actually prioritized, と あなた できる spot preloaded resources fetching 暫定日本語案: twice ( as/crossorigin bugs).
  • 暫定日本語案: 確認 向けに unused preconnects — if preconnected origin 決して 表示される as 暫定日本語案: actual リクエスト, 削除 hint.

暫定日本語案: 向けに 指標 これらの all フィード, see 暫定日本語案: Core Web Vitals と 暫定日本語案: Largest Contentful Paint; 暫定日本語案: web パフォーマンス ツール 暫定日本語案: 記事 covers 測定 stack in depth.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.