AMP

์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

์ด ์„น์…˜์—์„œ๋Š” AMP ํŽ˜์ด์ง€์— ์žˆ๋Š” AMP ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์˜ค๋ฅ˜ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์ฝ˜์†”์— ๋”ฐ๋ผ ์˜ค๋ฅ˜๊ฐ€ ์•„๋ž˜์™€ ๋‹ค๋ฅธ ์ˆœ์„œ๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ž ์ง‘ํ•ฉ ํฌํ•จ

์šฐ์„  ๋‹ค์Œ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

The mandatory tag 'meta charset=utf-8' is missing or incorrect.

AMP์—์„œ ํ…์ŠคํŠธ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œ์‹œํ•˜๋ ค๋ฉด ํŽ˜์ด์ง€์˜ ๋ฌธ์ž ์ง‘ํ•ฉ์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฉ”ํƒ€ ๋ฌธ์ž ์ง‘ํ•ฉ ์ •๋ณด๋Š” <head> ํƒœ๊ทธ์˜ ์ฒซ ๋ฒˆ์งธ ํ•˜์œ„ ์š”์†Œ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํƒœ๊ทธ๋ฅผ ์ฒซ ๋ฒˆ์งธ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฉ”ํƒ€ ๋ฌธ์ž ์ง‘ํ•ฉ ํƒœ๊ทธ ์•ž์— ์ถ”๊ฐ€๋œ ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ค์‹œ ํ•ด์„ํ•˜๋Š” ์ผ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ <head> ํƒœ๊ทธ์˜ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

<meta charset="utf-8" />

ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž ์ง‘ํ•ฉ ์˜ค๋ฅ˜๊ฐ€ ๋” ์ด์ƒ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ‘œ์ค€ ๋งํฌ ํฌํ•จ

์ด์ œ ๋‹ค์Œ ์˜ค๋ฅ˜๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

The mandatory tag 'link rel=canonical' is missing or incorrect.

๋ชจ๋“  AMP ๋ฌธ์„œ์—๋Š” ํ•ด๋‹น ๋ฌธ์„œ์˜ 'ํ‘œ์ค€' ๋ฒ„์ „์„ ์ฐธ์กฐํ•˜๋Š” ๋งํฌ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • ๋‹จ๊ณ„์—์„œ ํ‘œ์ค€ ํŽ˜์ด์ง€๋ž€ ๋ฌด์—‡์ด๋ฉฐ ํ‘œ์ค€ ์—ฐ๊ฒฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ ‘๊ทผ๋ฐฉ์‹์œผ๋กœ๋Š” ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋Š”์ง€ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ๋ณ€ํ™˜ ์ค‘์ธ ์›๋ณธ HTML ๋ฌธ์„œ๋ฅผ ํ‘œ์ค€ ํŽ˜์ด์ง€๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

๊ณ„์†ํ•ด์„œ <meta charset="utf-8" /> ํƒœ๊ทธ ์•„๋ž˜์— ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

<link rel="canonical" href="/article.html" />

๋…๋ฆฝ๋œ ํ‘œ์ค€ AMP ํŽ˜์ด์ง€๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ํ‘œ์ค€ ๋งํฌ๋Š” ํ•„์š”ํ•˜๋ฉฐ AMP ๋ฌธ์„œ ์ž์ฒด๋ฅผ ๊ฐ€๋ฆฌ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<link rel="canonical" href="article.amp.html" />

์ด์ œ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์ˆ˜์ •ํ•ด์•ผ ํ•  ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์ง€๋งŒ ํ‘œ์ค€ ๋งํฌ ์˜ค๋ฅ˜๋Š” ๋ชจ๋‘ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

AMP ์†์„ฑ ์ง€์ •

ํŽ˜์ด์ง€๋ฅผ AMP ๋ฌธ์„œ๋กœ ์„ ์–ธํ•˜๋ ค๋ฉด ํŽ˜์ด์ง€์˜ ๋ฃจํŠธ <html> ์š”์†Œ์— ์†์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

The mandatory attribute 'โšก' is missing in tag 'html โšก for top-level html'
The mandatory tag 'html โšก for top-level html' is missing or incorrect.

์œ„์— ํ‘œ์‹œ๋œ ์˜ค๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด <html> ํƒœ๊ทธ์— โšก ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

<html โšก lang="en"></html>

์ด์ œ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ  ๋‘ ์˜ค๋ฅ˜๊ฐ€ ๋ชจ๋‘ ์‚ฌ๋ผ์กŒ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

โšก์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์ด์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด โšก ์†์„ฑ ์ž๋ฆฌ์— amp ์†์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

<html amp lang="en"></html>

ํ‘œ์‹œ ์˜์—ญ ์ง€์ •

์ด์ œ ๋‹ค์Œ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

The mandatory tag 'meta name=viewport' is missing or incorrect.

AMP์—์„œ๋Š” ํ‘œ์‹œ ์˜์—ญ์˜ width ๋ฐ minimum-scale์„ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ๊ฐ๊ฐ device-width ๋ฐ 1๋กœ ์ •์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์‹œ ์˜์—ญ์€ HTML ํŽ˜์ด์ง€์˜ <head>์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.

ํ‘œ์‹œ ์˜์—ญ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ์˜ HTML ์Šค๋‹ˆํŽซ์„ <head> ํƒœ๊ทธ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

<meta name="viewport" content="width=device-width" />

width ๋ฐ minimum-scale์— ์ง€์ •๋œ ๊ฐ’์€ AMP์—์„œ ์š”๊ตฌ๋˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค. initial-scale ์ •์˜๋Š” ํ•„์ˆ˜ ํ•ญ๋ชฉ์€ ์•„๋‹ˆ์ง€๋งŒ ๋ชจ๋ฐ”์ผ ์›น ๊ฐœ๋ฐœ ๊ณผ์ •์— ์ผ๋ฐ˜์ ์œผ๋กœ ํฌํ•จ๋˜๋ฉฐ ๊ถŒ์žฅ๋˜๋Š” ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ํ‘œ์‹œ ์˜์—ญ ๊ตฌ์„ฑ์—์„œ ํ‘œ์‹œ ์˜์—ญ ๋ฐ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์— ๊ด€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์กŒ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ ๊ต์ฒด

๋‹ค์Œ์˜ ์˜ค๋ฅ˜๋Š” ์Šคํƒ€์ผ์‹œํŠธ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

The attribute 'href' in tag 'link rel=stylesheet for fonts' is set to the invalid value 'base.css'.

ํŠนํžˆ ์ด ์˜ค๋ฅ˜๋Š” <head> ํƒœ๊ทธ์— ์žˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์Šคํƒ€์ผ์‹œํŠธ ๋งํฌ ํƒœ๊ทธ์™€ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

<link href="base.css" rel="stylesheet" />

๋ฌธ์ œ๋Š” ์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ์ฐธ์กฐํ•œ ๋ฐ์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ๋ฅผ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด AMP์—๋Š” ์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋ชจ๋“  ์Šคํƒ€์ผ์‹œํŠธ ๊ทœ์น™์€ <style amp-custom></style> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AMP ๋ฌธ์„œ์— ์ธ๋ผ์ธ์œผ๋กœ ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<style amp-custom>
  /* The content from base.css */
</style>

์ด์ œ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. <head>์—์„œ ์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” <link> ํƒœ๊ทธ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ด๋ฅผ ์ธ๋ผ์ธ <style amp-custom></style> ํƒœ๊ทธ๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ€์ผ ํƒœ๊ทธ์˜ amp-custom ์†์„ฑ์€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.
  2. base.css ํŒŒ์ผ์— ์žˆ๋Š” ๋ชจ๋“  ์Šคํƒ€์ผ์„ ๋ณต์‚ฌํ•˜์—ฌ <style amp-custom></style> ํƒœ๊ทธ์— ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ๋ฒˆ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ  ์Šคํƒ€์ผ์‹œํŠธ ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์กŒ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ธ๋ผ์ธ ์Šคํƒ€์ผ๋ง์ด ํ•„์š”ํ•  ๋ฟ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์Šคํƒ€์ผ๋ง ์ •๋ณด์˜ ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ 75KB๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. AMP ํŽ˜์ด์ง€์— CSS๋ฅผ ์ธ๋ผ์ธ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „์— SASS์™€ ๊ฐ™์€ CSS ์‚ฌ์ „ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CSS๋ฅผ ์ถ•์†Œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด AMP ๋ฌธ์„œ์— ๋Œ€ํ•ด ์Šคํƒ€์ผ ํƒœ๊ทธ๋ฅผ 1๊ฐœ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AMP ํŽ˜์ด์ง€์—์„œ ์ฐธ์กฐํ•˜๋Š” ์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ ํ•˜๋‚˜์˜ ๊ทœ์น™ ์„ธํŠธ๋กœ ์กฐํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. AMP์—์„œ ์–ด๋–ค CSS ๊ทœ์น™์ด ์œ ํšจํ•œ์ง€ ์•Œ์•„๋ณด๋ ค๋ฉด ์ง€์›๋˜๋Š” CSS๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

ํƒ€์‚ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ œ์™ธ

CSS๋ฅผ ์ธ๋ผ์ธ ์ฒ˜๋ฆฌํ•˜๋ฉด ์Šคํƒ€์ผ์‹œํŠธ๋ฅผ AMP๋กœ ๋น„๊ต์  ์‰ฝ๊ฒŒ ๋‹ค์‹œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

The tag 'script' is disallowed except in specific forms.

์ผ๋ฐ˜์ ์œผ๋กœ AMP์—์„œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์š”๊ตฌ์‚ฌํ•ญ์„ ๋”ฐ๋ฅด๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

  1. ๋ชจ๋“  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋น„๋™๊ธฐ์‹์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, ์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ์— async ์†์„ฑ์„ ํฌํ•จํ•ด์•ผ ํ•จ).
  2. AMP ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํŽ˜์ด์ง€์— ์žˆ๋Š” AMP ๊ตฌ์„ฑ์š”์†Œ์šฉ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์€ ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๋‹ค์Œ์— ๋ช…์‹œ๋œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” AMP์—์„œ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ƒ์„ฑ/ํƒ€์‚ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์‚ฌ์šฉ์ด ์‚ฌ์‹ค์ƒ ๋ฐฐ์ œ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ƒ์„ฑ/ํƒ€์‚ฌ ์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ ์ œํ•œ์˜ ์œ ์ผํ•œ ์˜ˆ์™ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํŽ˜์ด์ง€์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ AMP ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์Šคํฌ๋ฆฝํŠธ์—๋Š” application/ld+json ๋˜๋Š” application/json ์œ ํ˜• ์†์„ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  2. ์Šคํฌ๋ฆฝํŠธ๊ฐ€ iframes์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. iframe์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํฌํ•จํ•˜๋Š” ์ผ์€ ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋Šฅ์€ AMP ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์„น์…˜์—์„œ ์ฒซ ๋ฒˆ์งธ AMP ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์™ธ๋ถ€ base.js ํŒŒ์ผ์„ ์—ด์–ด ๋ณด์„ธ์š”. ๋ฌด์—‡์ด ํ‘œ์‹œ๋˜๋‚˜์š”? ์ด ํŒŒ์ผ์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๊ฐ€ ์—†์–ด์•ผ ํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด์˜ ์ฃผ์„๋งŒ ํฌํ•จ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

/*

This external JavaScript file is intentionally empty.

Its purpose is merely to demonstrate the AMP validation error related to the
use of external JavaScript files.

*/

์ด ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์€ ์›น์‚ฌ์ดํŠธ์˜ ๊ธฐ๋Šฅ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์ฐธ์กฐ๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ์—์„œ ๋‹ค์Œ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฐธ์กฐ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

<script type="text/javascript" src="base.js"></script>

์ด์ œ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ  ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์กŒ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

AMP CSS ์ƒ์šฉ๊ตฌ ํฌํ•จ

๋‹ค์Œ ์˜ค๋ฅ˜๋Š” ๋ˆ„๋ฝ๋œ ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

The mandatory tag 'noscript enclosure for boilerplate' is missing or incorrect.
The mandatory tag 'head > style : boilerplate' is missing or incorrect.
The mandatory tag 'noscript > style : boilerplate' is missing or incorrect.

๋ชจ๋“  AMP ๋ฌธ์„œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ AMP ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

<style amp-boilerplate>
  body {
    -webkit-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
    -moz-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
    -ms-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
    animation: -amp-start 8s steps(1, end) 0s 1 normal both;
  }
  @-webkit-keyframes -amp-start {
    from {
      visibility: hidden;
    }
    to {
      visibility: visible;
    }
  }
  @-moz-keyframes -amp-start {
    from {
      visibility: hidden;
    }
    to {
      visibility: visible;
    }
  }
  @-ms-keyframes -amp-start {
    from {
      visibility: hidden;
    }
    to {
      visibility: visible;
    }
  }
  @-o-keyframes -amp-start {
    from {
      visibility: hidden;
    }
    to {
      visibility: visible;
    }
  }
  @keyframes -amp-start {
    from {
      visibility: hidden;
    }
    to {
      visibility: visible;
    }
  }</style
><noscript
  ><style amp-boilerplate>
    body {
      -webkit-animation: none;
      -moz-animation: none;
      -ms-animation: none;
      animation: none;
    }
  </style></noscript
>

๋ฌธ์„œ์˜ <head> ํƒœ๊ทธ ํ•˜๋‹จ์— ์œ„์˜ ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

<style amp-boilerplate> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด AMP ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋กœ๋“œ๋  ๋•Œ๊นŒ์ง€ ๋ณธ๋ฌธ ์ฝ˜ํ…์ธ ๊ฐ€ ์ˆจ๊ฒจ์ง€๋ฉฐ, ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ฝ˜ํ…์ธ ๊ฐ€ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. AMP์—์„œ๋Š” ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ์ฝ˜ํ…์ธ ๊ฐ€ ๋ Œ๋”๋ง๋˜๋Š” ์ผ, ์ฆ‰ FOUC(Flash Of Unstyled Content)๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŽ˜์ด์ง€์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ํ•œ๊บผ๋ฒˆ์— ํ‘œ์‹œ๋˜๋ฉฐ ์Šคํฌ๋กค ์—†์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ํ•œ ๋ฒˆ์— ๋ Œ๋”๋ง๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์—์„œ ์ง„์ •ํ•œ ์˜๋ฏธ์˜ ์ฆ‰๊ฐ์„ฑ์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ํƒœ๊ทธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉ ์ค‘์ง€๋œ ๊ฒฝ์šฐ ์ด ๋…ผ๋ฆฌ๋ฅผ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค.

<img>๋ฅผ <amp-img>๋กœ ๋Œ€์ฒด

AMP์—์„œ๋Š” ๋ฏธ๋””์–ด๋ฅผ ํ‘œ์‹œํ•  ๋•Œ ๊ธฐ๋ณธ HTML์˜ ์ƒ์‘ํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

The tag 'img' may only appear as a descendant of tag 'noscript'. Did you mean 'amp-img'?

AMP์—๋Š” <img> ํƒœ๊ทธ๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ๋งŒ๋“ค์–ด์ง„ ์›น ๊ตฌ์„ฑ์š”์†Œ์ธ <amp-img> ํƒœ๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

<amp-img src="mountains.jpg"></amp-img>

<img> ํƒœ๊ทธ๋ฅผ ์œ„์— ์„ค๋ช…๋œ <amp-img> ํƒœ๊ทธ๋กœ ๊ต์ฒดํ•˜๊ณ  ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Layout not supported: container
The implied layout 'CONTAINER' is not supported by tag 'amp-img'.

amp-img๊ฐ€ ๋‹ค๋ฅธ ์˜ค๋ฅ˜๋ฅผ ์œ ๋ฐœํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? amp-img๋Š” ์ „ํ†ต์ ์ธ HTML img ํƒœ๊ทธ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ๋Œ€์ฒดํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. amp-img๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

AMP ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ

๋ ˆ์ด์•„์›ƒ ์˜ค๋ฅ˜๋ฅผ ํ†ตํ•ด amp-img๊ฐ€ container ๋ ˆ์ด์•„์›ƒ ์œ ํ˜•์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. AMP ๋””์ž์ธ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ DOM ๋ฆฌํ”Œ๋กœ์šฐ์˜ ์–‘์„ ์ค„์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

DOM ๋ฆฌํ”Œ๋กœ์šฐ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด AMP์—๋Š” ํŽ˜์ด์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๋ Œ๋”๋งํ•˜๋Š” ์ฃผ๊ธฐ ์ค‘ ํŽ˜์ด์ง€์˜ ๋ ˆ์ด์•„์›ƒ์„ ๊ฐ€๋Šฅํ•œ ํ•œ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ผ๋ฐ˜์ ์ธ ์ฝ˜ํ…์ธ  ๋ฐฐ์น˜ ๋ฐฉ์‹๊ณผ AMP์˜ ์ ‘๊ทผ๋ฐฉ์‹ ๋น„๊ต

AMP ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์—์„œ๋Š” ํŽ˜์ด์ง€์— ์žˆ๋Š” ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ํฌ๊ธฐ ๊ณ ์ •, ๋ฐ˜์‘ํ˜• ๋””์ž์ธ, ๋†’์ด ๊ณ ์ • ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐ์น˜ ๋ฐ ํ™•์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์ด amp-img์˜ ๋ ˆ์ด์•„์›ƒ ์œ ํ˜•์„ container ์œ ํ˜•์œผ๋กœ ์ถ”์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ container ์œ ํ˜•์€ ํ•˜์œ„ ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์š”์†Œ์—๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. container ์œ ํ˜•์€ amp-img ํƒœ๊ทธ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

container ์œ ํ˜•์„ ์ถ”์ •ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? amp-img ํƒœ๊ทธ์— height ์†์„ฑ์„ ์ง€์ •ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. HTML์—์„œ๋Š” ํŽ˜์ด์ง€์— ์žˆ๋Š” ์š”์†Œ์— ๊ณ ์ •๋œ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ์ง€์ •ํ•จ์œผ๋กœ์จ ๋ฆฌํ”Œ๋กœ์šฐ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AMP์—์„œ๋Š” amp-img ์š”์†Œ์˜ ๊ฐ€๋กœ ์„ธ๋กœ ๋น„์œจ์„ ์‚ฌ์ „์— ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋‹น ์š”์†Œ์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด <amp-img> ํƒœ๊ทธ์— width ๋ฐ height๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

<amp-img src="mountains.jpg" width="266" height="150"></amp-img>

ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ  ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ AMP ๋ฌธ์„œ๊ฐ€ ์œ ํšจํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŽ˜์ด์ง€์—์„œ ์ด๋ฏธ์ง€ ์œ„์น˜๊ฐ€ ์–ด์ƒ‰ํ•˜์—ฌ ์ด๋ฏธ์ง€๊ฐ€ ๋ฉ‹์ ธ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. amp-img์˜ ๋†’์ด์™€ ๋„ˆ๋น„๋ฅผ ์ง€์ •ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ AMP๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๊ฐ’์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ AMP์—์„œ ์–ด๋–ค ํ™”๋ฉด์ด๋“  ํŽ˜์ด์ง€ ํฌ๊ธฐ์— ๋ฐ˜์‘ํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ์•Œ๋งž๊ฒŒ ๋Š˜๋ ค์ค€๋‹ค๋ฉด ์ข‹์ง€ ์•Š์„๊นŒ์š”?

์ด๋ฏธ์ง€๊ฐ€ ๋ฐ˜์‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

AMP๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๋„ˆ๋น„์™€ ๋†’์ด์— ๋”ฐ๋ผ ํ•ด๋‹น ์š”์†Œ์˜ ๊ฐ€๋กœ ์„ธ๋กœ ๋น„์œจ์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด AMP ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•˜๊ณ  ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. layout ์†์„ฑ์€ AMP์— ์‚ฌ์šฉ์ž๊ฐ€ ์š”์†Œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•˜๊ณ  ๋Š˜๋ฆฌ๊ณ  ์‹ถ์–ด ํ•˜๋Š”์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋ฅผ ๋Š˜๋ฆฌ๊ณ  ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ ˆ์ด์•„์›ƒ ์†์„ฑ์„ responsive๋กœ ์„ค์ •ํ•ด ๋ด…์‹œ๋‹ค.

<amp-img
  src="mountains.jpg"
  layout="responsive"
  width="266"
  height="150"
></amp-img>

์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ ์„ธ๋กœ ๋น„์œจ์ด ์•Œ๋งž๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ ํ™”๋ฉด ๋„ˆ๋น„์— ๋งž์ถฐ ํ™”๋ฉด์„ ์ฑ„์šฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๊ฐ€ ๋ฐ˜์‘ํ•ฉ๋‹ˆ๋‹ค!

AMP ๋ ˆ์ด์•„์›ƒ ์‚ฌ์–‘์—์„œ AMP ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์— ๊ด€ํ•ด ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด์„ธ์š”.

์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.

์ด์ œ AMP ๋ฌธ์„œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<!DOCTYPE html>
<html โšก lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />

    <link rel="canonical" href="/article.html" />
    <link rel="shortcut icon" href="amp_favicon.png" />

    <title>News Article</title>

    <style amp-boilerplate>
      body {
        -webkit-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
        -moz-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
        -ms-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
        animation: -amp-start 8s steps(1, end) 0s 1 normal both;
      }
      @-webkit-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @-moz-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @-ms-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @-o-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
    </style>
    <noscript
      ><style amp-boilerplate>
        body {
          -webkit-animation: none;
          -moz-animation: none;
          -ms-animation: none;
          animation: none;
        }
      </style></noscript
    >
    <style amp-custom>
      body {
        width: auto;
        margin: 0;
        padding: 0;
      }

      header {
        background: Tomato;
        color: white;
        font-size: 2em;
        text-align: center;
      }

      h1 {
        margin: 0;
        padding: 0.5em;
        background: white;
        box-shadow: 0px 3px 5px grey;
      }

      p {
        padding: 0.5em;
        margin: 0.5em;
      }
    </style>
    <script async src="https://cdn.ampproject.org/v0.js"></script>
  </head>
  <body>
    <header>News Site</header>
    <article>
      <h1>Article Name</h1>

      <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas
        tortor sapien, non tristique ligula accumsan eu.
      </p>

      <amp-img
        src="mountains.jpg"
        layout="responsive"
        width="266"
        height="150"
      ></amp-img>
    </article>
  </body>
</html>

ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ณ  ์ฝ˜์†” ์ถœ๋ ฅ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

AMP validation successful.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ(FAQ)