Skip to content
SEO/seo-tips

๋ธ”๋กœ๊ทธ ์ตœ์ ํ™” ์ž๋™์œผ๋กœ ์ ์šฉ๋˜๋Š” ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ œ์–ด ๋ฐฉ๋ฒ•

์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ œ์–ด ๋ฐ MutationObserver๋ฅผ ์ด์šฉํ•œ ํŽ˜์ด์ง€ ์†๋„ ๊ฐœ์„  ๋ฐฉ๋ฒ•

๋ธ”๋กœ๊ทธ ๋กœ๋”ฉ ์†๋„๋ฅผ ๋†’์ด๊ณ  ๋ถˆํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ์›น์‚ฌ์ดํŠธ ์„ฑ๋Šฅ ์ตœ์ ํ™” ์ „๋žต์„ ์•Œ์•„๋ณด์„ธ์š”. MutationObserver API์™€ ์ง€์—ฐ ๋กœ๋“œ(Lazy Load)๋ฅผ ํ™œ์šฉํ•ด ๋ฐฉ๋ฌธ์ž ๊ฒฝํ—˜(UX)๊ณผ ๊ตฌ๊ธ€ SEO ์ ์ˆ˜๋ฅผ ๋น„์•ฝ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ‹ฐ์Šคํ† ๋ฆฌ๋‚˜ ์›Œ๋“œํ”„๋ ˆ์Šค ํ”Œ๋žซํผ ์šด์˜ ์‹œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์„ค์น˜ํ•˜์ง€ ์•Š์€ ์ˆ˜๋งŽ์€ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(External JavaScript)์™€ ๋ถˆํ•„์š”ํ•œ ํŠธ๋ž˜ํ‚น ๋ฆฌ์†Œ์Šค๋“ค์ด ๋ธ”๋กœ๊ทธ ์†๋„๋ฅผ ์ €ํ•˜์‹œํ‚ค๋Š” ๊ฒƒ์„ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ตฌ๊ธ€์˜ ํ•ต์‹ฌ ์ˆœ์œ„ ๊ฒฐ์ • ์š”์†Œ์ธ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals) ์ ์ˆ˜์— ์น˜๋ช…์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ ์ตœ์ ํ™” 2ํŽธ์˜ ํ•ต์‹ฌ์ธ ์ด ๋ฐฉ๋ฒ•์€, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•˜๊ธฐ ์ „์— ๊ฐœ์ž…ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์›์ฒœ ์ฐจ๋‹จํ•˜๊ณ  ํ•„์ˆ˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ๋ณ„์ ์œผ๋กœ ๋กœ๋“œํ•˜์—ฌ ์›น ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.


1. ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ธ”๋กœ๊ทธ ์†๋„ ๋ฐ SEO์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

๋Œ€๋ถ€๋ถ„์˜ ์Šคํ‚จ์€ ์‚ฌ์šฉ์ž ๋ถ„์„ ๋„๊ตฌ(Tiara), ์™ธ๋ถ€ ๊ด‘๊ณ  ์„œ๋ฒ„(Pubmatic, Dable), ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(jQuery) ๋“ฑ์„ ๊ธฐ๋ณธ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค ์ œ์–ด๊ฐ€ ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ๋ Œ๋”๋ง ์ฐจ๋‹จ ๋ฆฌ์†Œ์Šค(Render-Blocking): ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์™„์ „ํžˆ ๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•  ๋•Œ๊นŒ์ง€ ํ™”๋ฉด ์ถœ๋ ฅ์„ ๋ฉˆ์ถ”๋ฏ€๋กœ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ๋А๋ ค์ง‘๋‹ˆ๋‹ค.
  • ๋ถˆํ•„์š”ํ•œ CPU ์ ์œ : ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ๊ณผ๋„ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์€ ๊ธฐ๊ธฐ ๋ฐœ์—ด์„ ์œ ๋ฐœํ•˜๊ณ  FID(์ตœ์ดˆ ์ž…๋ ฅ ์ง€์—ฐ) ์‹œ๊ฐ„์„ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์†Œ๋ชจ ๋ฐ ์ดํƒˆ๋ฅ  ์ฆ๊ฐ€: ๋ณด์ด์ง€ ์•Š๋Š” ์˜์—ญ์˜ ๊ด‘๊ณ  ์Šคํฌ๋ฆฝํŠธ ๋กœ๋”ฉ์œผ๋กœ ์‹ค์ œ ์ฝ˜ํ…์ธ  ํ™•์ธ์ด ๋Šฆ์–ด์ง€๋ฉด ๋ฐฉ๋ฌธ์ž๋Š” ์ฆ‰์‹œ ์‚ฌ์ดํŠธ๋ฅผ ์ดํƒˆํ•ฉ๋‹ˆ๋‹ค.

2. MutationObserver๋ฅผ ํ™œ์šฉํ•œ ๊ณ ๊ธ‰ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ œ์–ด ๋ฐฉ์‹

์ตœ์ ํ™”์˜ ํ•ต์‹ฌ์€ ๋ฆฌ์†Œ์Šค ์š”์ฒญ ์ „ ๋‹จ๊ณ„์—์„œ์˜ ๊ฐœ์ž…์ž…๋‹ˆ๋‹ค. MutationObserver API๋Š” DOM(Document Object Model)์˜ ๋ณ€ํ™”๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฐ์‹œํ•˜์—ฌ ํŠน์ • ์š”์†Œ๊ฐ€ ์ถ”๊ฐ€๋˜๋Š” ์ฆ‰์‹œ ์ œ์–ด๊ถŒ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

2.1 MutationObserver์˜ ํ•ต์‹ฌ ๊ฐœ๋…๊ณผ ๋™์ž‘ ์›๋ฆฌ

์ผ๋ฐ˜์ ์ธ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋ฐ˜์‘ํ•œ๋‹ค๋ฉด, ์ด API๋Š” HTML ๊ตฌ์กฐ ์ž์ฒด๊ฐ€ ๋ณ€ํ•˜๋Š” ์ˆœ๊ฐ„์„ ํฌ์ฐฉํ•ฉ๋‹ˆ๋‹ค.

  • Mutation(๋ณ€ํ™”): ์ƒˆ๋กœ์šด ํƒœ๊ทธ(Node)๊ฐ€ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์†์„ฑ์ด ๋ณ€๊ฒฝ๋˜๋Š” ๋ชจ๋“  ํ–‰์œ„.
  • Observer(๊ด€์ฐฐ์ž): ์‹ค์‹œ๊ฐ„ ๊ฐ์‹œ๋ฅผ ํ†ตํ•ด ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ ๋ฐœ๊ฒฌ ์‹œ ์ฆ‰์‹œ ์ฐจ๋‹จ ๋˜๋Š” ์ˆ˜์ • ๋กœ์ง ์‹คํ–‰.

2.2 ์ฝ”๋“œ ๋‚ด ์‹ค์‹œ๊ฐ„ ๊ฐ์‹œ ๋ฐ ๋…ธ๋“œ ํ•„ํ„ฐ๋ง 4๋‹จ๊ณ„

  1. ์ „์ฒด ๊ฐ์‹œ ์‹œ์ž‘:observer.observe๋ฅผ ํ†ตํ•ด HTML ๋ฌธ์„œ ์ „์ฒด๋ฅผ ๊ฐ์‹œ ๋Œ€์ƒ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋…ธ๋“œ ์‚ฝ์ž… ํฌ์ฐฉ: ์™ธ๋ถ€ ์„œ๋ฒ„๋‚˜ ๊ด‘๊ณ  ๋ชจ๋“ˆ์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค๋Š” ์ฐฐ๋‚˜๋ฅผ ๊ฐ€๋กœ์ฑ•๋‹ˆ๋‹ค.
  3. ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ๊ฒ€๋ฌธ: ํ•ด๋‹น ๊ฒฝ๋กœ๊ฐ€ ์ฐจ๋‹จ ๋ฆฌ์ŠคํŠธ(blockList)์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์ฆ‰์‹œ ๋Œ€์กฐํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ฐ•์ œ ์ œ๊ฑฐ ๋ฐ ์ง€์—ฐ ๋กœ๋“œ: ๊ด‘๊ณ ๋‚˜ ํŠธ๋ž˜ํ‚น ์š”์†Œ๋Š” node.remove()๋กœ ์›์ฒœ ์ œ๊ฑฐํ•˜๊ณ , ํ•„์ˆ˜ ๋ฆฌ์†Œ์Šค๋Š” ์ง€์—ฐ ๋กœ๋“œํ•˜์—ฌ ์ดˆ๊ธฐ ์†๋„๋ฅผ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค.

2.3 ์„ฑ๋Šฅ ์ตœ์ ํ™”์˜ ์น˜ํŠธํ‚ค๊ฐ€ ๋˜๋Š” ์ด์œ 

์‚ฌํ›„์— ์ง€์šฐ๋Š” ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์ „ DOM ์ถ”๊ฐ€ ์‹œ์ ์— ๊ฐ€๋กœ์ฑ„๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ๋‚ญ๋น„๋ฅผ ๋ง‰๊ณ  ๋ฉ”์ธ ์Šค๋ ˆ๋“œ ๋ถ€ํ•˜๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ์ค„์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๊ตฌ๊ธ€ PageSpeed Insights ์ ์ˆ˜๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋น„๊ฒฐ์ž…๋‹ˆ๋‹ค.

// MutationObserver๋ฅผ ํ™œ์šฉํ•œ ๊ธฐ๋ณธ ์ตœ์ ํ™” ๊ตฌ์กฐ
const observer = new MutationObserver(mutations = {
 for (let m of mutations) {
 for (let node of m.addedNodes) {
 // ์Šคํฌ๋ฆฝํŠธ, ๋งํฌ, ์ดํ”„๋ ˆ์ž„ ๋“ฑ์„ ์‹ค์‹œ๊ฐ„ ๊ฐ์ง€ ๋ฐ ์ œ์–ด
 }
 }
});

3. ๊ธฐ์ˆ ์  SEO ์ตœ์ ํ™” ์„ธ๋ถ€ ์ „๋žต

๊ฒ€์ƒ‰ ์—”์ง„์ด ์„ ํ˜ธํ•˜๋Š” ์ตœ์ ํ™”๋œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์„ธ๋ถ€ ๊ธฐ์ˆ ๋“ค์ž…๋‹ˆ๋‹ค.

3.1 ์œ ํŠœ๋ธŒ ์ดํ”„๋ ˆ์ž„ ์ตœ์ ํ™” (Lazy Load No-Cookie)

๋ธ”๋กœ๊ทธ ์†๋„ ์ €ํ•˜์˜ ์ฃผ๋ฒ”์ธ ๋™์˜์ƒ(์œ ํŠœ๋ธŒ ์ž„๋ฒ ๋“œ ์˜์ƒ)์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ๋ ˆ์ด์ง€ ๋กœ๋”ฉ(Lazy Loading):loading='lazy' ์†์„ฑ์„ ์ฃผ์ž…ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์˜์ƒ ์œ„์น˜๊นŒ์ง€ ์Šคํฌ๋กคํ•˜๊ธฐ ์ „์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๋„๋ฉ”์ธ ์‚ฌ์šฉ: ์ฃผ์†Œ๋ฅผ youtube-nocookie.com์œผ๋กœ ์ „ํ™˜ํ•˜์—ฌ ๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘์„ ์ค„์ด๊ณ  ์˜์ƒ ๋กœ๋”ฉ ์†๋„๋ฅผ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

3.2 ๋ถˆํ•„์š”ํ•œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ๋ฐ ์Šคํƒ€์ผ์‹œํŠธ(CSS) ์ œ๊ฑฐ

ํ•„์š” ์—†๋Š” ์ฝ”๋“œ๋‚˜ ๊ธฐ๋ณธ ๋ฉ”๋‰ด ์Šคํƒ€์ผ์„ ์ฐพ์•„ ์ง€์šฐ๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฝ์–ด์•ผ ํ•  ํŒŒ์ผ์ด ์ค„์–ด๋“ค์–ด ํŽ˜์ด์ง€ ์‘๋‹ต์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฉ”๋‰ด๋ฐ”๋ฅผ ์ œ๊ฑฐํ•ด๋„ ์‚ฌ์ด๋“œ๋ฐ”์— ๋งํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด ๊ธฐ๋Šฅ ์†์‹ค ์—†์ด ํŽ˜์ด์ง€ ์†๋„ ๊ฐœ์„ ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ข…๋ฅ˜
๋ถˆํ•„์š”ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ๊ฑฐ


4. ๋ธ”๋กœ๊ทธ ์ฝ˜ํ…์ธ  ๋ณดํ˜ธ ๋ฐ ๋ถˆ๋ฒ• ๋ณต์ œ ๋ฐฉ์ง€

์†๋„ ์ตœ์ ํ™”๋งŒํผ ์ค‘์š”ํ•œ ๋ณด์•ˆ ์„ค์ •์ž…๋‹ˆ๋‹ค. ํŠน์ • ๋„๋ฉ”์ธ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋Š” ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ •์„ฑ๊ป ์ž‘์„ฑํ•œ ํฌ์ŠคํŒ…์˜ ๊ณ ์œ ์„ฑ์„ ์ง€ํ‚ต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋Œ€์‹  ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ ๋ฉด์—์„œ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ์šฐํด๋ฆญ ๋ฐ ๋“œ๋ž˜๊ทธ ์ฐจ๋‹จ:contextmenu ์ด๋ฒคํŠธ๋ฅผ ์ œ์–ดํ•˜์—ฌ ๋ฌด๋‹จ ๋ณต์‚ฌ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ถ•ํ‚ค ์ œํ•œ: Ctrl+U, Ctrl+S, F12 ๋“ฑ์˜ ํ‚ค ์ž…๋ ฅ์„ ์ฐจ๋‹จํ•˜์—ฌ ์ฝ”๋“œ ๋ฐ ํ…์ŠคํŠธ ์œ ์ถœ์„ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

5. ๋ธ”๋กœ๊ทธ ์ ์šฉ ๋ฐฉ๋ฒ• ๋ฐ ์‹ค์ „ ์ฝ”๋“œ

  1. ๋ธ”๋กœ๊ทธ ๊ด€๋ฆฌ์ž์˜ [์Šคํ‚จ ํŽธ์ง‘] - [html ํŽธ์ง‘]์œผ๋กœ ์ง„์ž…ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ตœ์ ํ™” ์Šคํฌ๋ฆฝํŠธ๋ฅผ head ํƒœ๊ทธ ์ตœ์ƒ๋‹จ ํ˜น์€ body ์‹œ์ž‘ ์งํ›„์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ฝ”๋“œ ๋‚ด ๋„๋ฉ”์ธ ํ™•์ธ ๋ถ€๋ถ„์— ์ž์‹ ์˜ ๋ธ”๋กœ๊ทธ ์ฃผ์†Œ๋ฅผ ์ •ํ™•ํžˆ ๊ธฐ์ž…ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ €์žฅ ํ›„ PageSpeed Insights์—์„œ ์ง€ํ‘œ ๊ฐœ์„  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

5.1 ์ „์—ญ ๊ฐ์ฒด ์ดˆ๊ธฐํ™” ๋ฐ ๊ธฐ์กด ๊ธฐ๋Šฅ ๋ฌด๋ ฅํ™”

// 1. ์ดˆ๊ธฐ ์ƒํƒœ ์„ค์ • ๋ฐ ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋ถ„์„ ๋„๊ตฌ(Tiara) ๋ฌด๋ ฅํ™”
window.loadedComments = true; // ๋Œ“๊ธ€ ์ค‘๋ณต ๋กœ๋”ฉ ๋ฐฉ์ง€
window.Tiara = window.Tiara || { __track: function(){} }; // ํ†ต๊ณ„ ๋„๊ตฌ ๋ฌด๋ ฅํ™”
window.tistoryCommentInit = function(){}; // ๋Œ“๊ธ€ ์ดˆ๊ธฐํ™” ๋ฌด๋ ฅํ™”

var deferredScripts = {}; 
var deferredStyles = {};

5.2 ์ œ์–ด ๋Œ€์ƒ ๋ฆฌ์ŠคํŠธ ์ •์˜ (ํ•„ํ„ฐ๋ง ๊ธฐ์ค€)

// ์šด์˜ ์ค‘์ธ ๋ธ”๋กœ๊ทธ ํ™˜๊ฒฝ์— ๋งž์ถฐ ๋Œ€์ƒ์„ ์„ ๋ณ„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
var deferTargets = ['์ง€์—ฐํ•  ์ฝ”๋“œ'];
var blockList = ['์ฐจ๋‹จํ•  ์ฝ”๋“œ'];

5.3 MutationObserver๋ฅผ ์ด์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๊ฐ€๋กœ์ฑ„๊ธฐ

const observer = new MutationObserver(mutations = {
 for (let m of mutations) {
 for (let node of m.addedNodes) {
 // ์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ ์ œ์–ด
 if (node.tagName === 'SCRIPT') {
 const src = node.src || '';
 if (deferTargets.some(t = src.includes(t))) {
 deferredScripts[src] = true;
 node.remove();
 continue;
 }
 if (blockList.some(b = src.includes(b))) node.remove();
 }

 // ์œ ํŠœ๋ธŒ ์ตœ์ ํ™” ๋ฐ ๊ธฐํƒ€ ์š”์†Œ ์ œ๊ฑฐ
 if (node.tagName === 'IFRAME' && (node.src || '').includes('youtube.com/embed/')) {
 node.setAttribute('loading', 'lazy');
 node.src = node.src.replace('youtube.com', 'youtube-nocookie.com');
 }
 if (node.tagName === 'INS') node.remove();
 }
 }
});
observer.observe(document.documentElement, { childList: true, subtree: true });
setTimeout(() = observer.disconnect(), 5000);

์ด ์ฝ”๋“œ๋Š” ๋ธ”๋กœ๊ทธ์˜ "๋ฌธ์ง€๊ธฐ" ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฐจ๋‹จ ๋Œ€์ƒ์€ ์ฆ‰์‹œ ๋Œ๋ ค๋ณด๋‚ด๊ณ , ์ง€์—ฐ ๋กœ๋”ฉ ๋Œ€์ƒ์€ ํŽ˜์ด์ง€์˜ ํ•ต์‹ฌ ํ…์ŠคํŠธ๊ฐ€ ๋ชจ๋‘ ๋‚˜ํƒ€๋‚œ ํ›„ ์‹คํ–‰๋˜๋„๋ก ๋Œ€๊ธฐ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐฉ๋ฌธ์ž๋Š” ๋ฌด๊ฑฐ์šด ๊ด‘๊ณ ๋‚˜ ๋ถ„์„ ํˆด์„ ๊ธฐ๋‹ค๋ฆด ํ•„์š” ์—†์ด ์ฆ‰์‹œ ์ฝ˜ํ…์ธ ๋ฅผ ์ฆ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›น ํ™˜๊ฒฝ์ด ๊ณ ๋„ํ™”๋ ์ˆ˜๋ก ๋ธ”๋กœ๊ทธ ์†๋„ ์ตœ์ ํ™”๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ œ์–ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์พŒ์ ํ•œ UX๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๊ฒ€์ƒ‰ ์—”์ง„์—๊ฒŒ๋Š” ์ตœ์ ํ™”๋œ ์‚ฌ์ดํŠธ๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์‹ญ์‹œ์˜ค.

Latest in this category

    ์ฟ ํŒกํŒŒํŠธ๋„ˆ์Šค API V2 ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์‹ ์ƒํ’ˆ ๋ฐ ์ธ๊ธฐ์ƒํ’ˆ์ด ์ž๋™ ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

    AI ์ฑ—๋ด‡์œผ๋กœ ๊ด€๋ จ ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉˆ์ถค
    ๋…ธ๋ž˜ ์žฌ์ƒ ๋ฉˆ์ถค