๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT

์›Œ๋“œํ”„๋ ˆ์Šค Human ํ…Œ๋งˆ AMP ๋ชจ๋ฐ”์ผ ๋ฉ”๋‰ด ํ† ๊ธ€ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

๋ฐ˜์‘ํ˜•

์›Œ๋“œํ”„๋ ˆ์Šค Human ํ…Œ๋งˆ์—์„œ AMP ํ† ๊ธ€ ๋ฉ”๋‰ด ์‚ฌ์šฉํ•˜๊ธฐ

๋ชจ๋ฐ”์ผ ์‚ฌ์šฉ์ž ๋น„์ค‘์ด ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ AMP(Accelerated Mobile Pages)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›Œ๋“œํ”„๋ ˆ์Šค ๋ธ”๋กœ๊ทธ๊ฐ€ ๋งŽ์•„์กŒ์Šต๋‹ˆ๋‹ค. AMP๋Š” ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ๋†’์—ฌ SEO์—๋„ ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€๋งŒ, ์ผ๋ฐ˜์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ œ์•ฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ์ค‘ ๋ชจ๋ฐ”์ผ ๋ฉ”๋‰ด ํ† ๊ธ€ ๊ธฐ๋Šฅ์€ AMP์—์„œ ๊ตฌํ˜„ํ•˜๊ธฐ ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ํŠนํžˆ Human ํ…Œ๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›Œ๋“œํ”„๋ ˆ์Šค ์‚ฌ์ดํŠธ์—์„œ๋Š” AMP์™€ ๋ฉ”๋‰ด์˜ ํ˜ธํ™˜์„ฑ์ด ํ•ต์‹ฌ ์ด์Šˆ๋กœ ๋– ์˜ค๋ฆ…๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” AMP ์ง€์› ๋ชจ๋ฐ”์ผ ๋ฉ”๋‰ด ํ† ๊ธ€์„ Human ํ…Œ๋งˆ์— ์™„์ „ํžˆ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ž์„ธํžˆ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

AMP๋ž€?
AMP๋Š” Google์ด ์ฃผ๋„ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๋กœ๋”ฉํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ์š”์†Œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์บ์‹ฑ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น ๋ฅด๊ณ  ๊น”๋”ํ•œ ์›น ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Human ํ…Œ๋งˆ์—์„œ AMP ๋ชจ๋ฐ”์ผ ๋ฉ”๋‰ด๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

  • ๊ธฐ๋ณธ Human ํ…Œ๋งˆ๋Š” AMP์—์„œ ๋ฉ”๋‰ด ํ† ๊ธ€ ๋ฒ„ํŠผ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Œ
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ด๋„ ์•„๋ฌด ๋ฐ˜์‘์ด ์—†๊ฑฐ๋‚˜ ๋ฉ”๋‰ด๊ฐ€ ํ•ญ์ƒ ํ‘œ์‹œ๋จ
  • AMP ํ™˜๊ฒฝ์—์„œ๋Š” ์ผ๋ฐ˜ JS๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด onClick ๊ธฐ๋ฐ˜ ํ† ๊ธ€ ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Œ
  • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)๊ณผ SEO ๋ชจ๋‘ ์•…์˜ํ–ฅ์„ ๋ฐ›๊ฒŒ ๋จ

์›Œ๋“œํ”„๋ ˆ์Šค ํ…Œ๋งˆ HUMAN ํ…Œ๋งˆ์— AMP ์ ์šฉํ•˜๊ธฐ
์›Œ๋“œํ”„๋ ˆ์Šค ๋ฐ์Šคํฌํƒ‘ ๋ฒ„์ „

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: AMP ์ „์šฉ amp-bind๋ฅผ ํ™œ์šฉํ•œ ํ† ๊ธ€ ๋ฉ”๋‰ด ๊ตฌํ˜„

AMP์—์„œ๋Š” amp-bind๋ผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•ด AMP์—์„œ๋„ ํ† ๊ธ€ ๋ฉ”๋‰ด๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ์ ์šฉ ์œ„์น˜ ์•ˆ๋‚ด

  • functions.php ๋˜๋Š” ํ…Œ๋งˆ์— ์ปค์Šคํ…€ ํ•จ์ˆ˜ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์— ์•„๋ž˜ PHP ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…
  • CSS๋Š” style.css ๋˜๋Š” AMP ์Šคํƒ€์ผ์ด ํ—ˆ์šฉ๋œ ํ…Œ๋งˆ์˜style amp-custom ๋‚ด๋ถ€์— ์‚ฝ์ž…
  • AMP ์Šคํฌ๋ฆฝํŠธ๋Š” head ํƒœ๊ทธ ์•ˆ์— ์‚ฝ์ž…

AMP ํ† ๊ธ€ ๋ฉ”๋‰ด ์„ค์ •ํ•˜๊ธฐ
์›Œ๋“œํ”„๋ ˆ์Šค AMP

Step 1: PHP ํ•จ์ˆ˜๋กœ ๋ฉ”๋‰ด ๋ฒ„ํŠผ + ๋ฉ”๋‰ด ์ถœ๋ ฅ

functions.php์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”!. ๋ฉ”๋‰ด ๋งํฌ๋งŒ ๋ณ€๊ฒฝํ•ด์„œ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

if ( !function_exists( 'hu_print_mobile_btn' ) ) {
  function hu_print_mobile_btn() {
    ?>
<!-- ๋ฉ”๋‰ด ํ† ๊ธ€ ๋ฒ„ํŠผ -->
<button id="menu-toggle"
        class="ham__navbar-toggler-two"
        on="tap:AMP.setState({ navMenuToggledOn: !navMenuToggledOn })"
        [class]="'ham__navbar-toggler-two ' + (navMenuToggledOn ? 'active' : '')"
        aria-expanded="false"
        [aria-expanded]="navMenuToggledOn ? 'true' : 'false'">
  <span class="ham__navbar-span-wrapper">
    <span class="line line-1"></span>
    <span class="line line-2"></span>
    <span class="line line-3"></span>
  </span>
</button>

<!-- ๋ฉ”๋‰ด ๋ณธ์ฒด -->
<div class="nav-container">
  <nav class="nav" [class]="navMenuToggledOn ? 'nav show' : 'nav'">
    <div class="nav-wrap container">
      <ul class="nav container-inner group mobile-search">
        <li>
          <form role="search" method="get" class="search-form" action="https://qcai.kr/amp" target="_top">
            <label>
              <span class="screen-reader-text">๊ฒ€์ƒ‰:</span>
              <input type="search" class="search-field" placeholder="๊ฒ€์ƒ‰ …" name="s">
            </label>
            <input type="submit" class="search-submit" value="๊ฒ€์ƒ‰">
          </form>
        </li>
      </ul>
      <ul id="menu-menu" class="nav container-inner group">
        <li class="menu-item"><a href="๋งํฌ1">๋ฉ”๋‰ด1</a></li>
        <li class="menu-item"><a href="๋งํฌ2">๋ฉ”๋‰ด2</a></li>
        <li class="menu-item"><a href="๋งํฌ3">๋ฉ”๋‰ด3</a></li>
        <li class="menu-item"><a href="๋งํฌ4">๋ฉ”๋‰ด4</a></li>
      </ul>
    </div>
  </nav>
</div>
<?php
  }
}

์ด ์ฝ”๋“œ๋Š” ์›Œ๋“œํ”„๋ ˆ์Šค ํ…Œ๋งˆ์˜ functions.php ํŒŒ์ผ์— ๋„ฃ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

add_theme_support(
    'amp',
    array(
        'nav_menu_toggle' => array(
            'nav_container_id'          => 'nav-mobile', // ๋ฉ”๋‰ด ์ „์ฒด ๊ฐ์‹ธ๋Š” div์˜ ID
            'nav_container_toggle_class'=> 'expanded',    // ๋ฉ”๋‰ด๊ฐ€ ์—ด๋ฆด ๋•Œ ์ถ”๊ฐ€๋  ํด๋ž˜์Šค
            'menu_button_id'            => 'ham__navbar-span-wrapper', // ๋ฒ„ํŠผ ID
            'menu_button_toggle_class'  => 'active',      // ๋ฒ„ํŠผ ํ™œ์„ฑํ™”์‹œ ์ถ”๊ฐ€๋  ํด๋ž˜์Šค
        ),
    )
);

QCAI.KR ์ ์šฉ๋œ ํ…Œ๋งˆ ๋ณด๊ธฐ

Step 2: CSS๋กœ ๋ฉ”๋‰ด ํ‘œ์‹œ ์ œ์–ด

AMP์—์„œ๋Š” display: none / display: block ์ „ํ™˜์„ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
style.css ๋˜๋Š” AMP ์Šคํƒ€์ผ ์˜์—ญ์— ์•„๋ž˜ ์Šคํƒ€์ผ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

๊ฒฝ๋กœ:
wp-content/themes/hueman/assets/front/css

์ˆ˜์ • ๋Œ€์ƒ ํŒŒ์ผ:
main.min.css

๊ธฐ์กด CSS๋ฅผ ์ง์ ‘ ์ˆ˜์ •(๋˜๋Š” ์‚ญ์ œ)ํ•ด๋„ ๋˜์ง€๋งŒ, ์ˆ˜์ •์ด ๋ฒˆ๊ฑฐ๋กญ๋‹ค๋ฉด ์•„๋ž˜์— ์ œ๊ณต๋œ ํŒŒ์ผ๋กœ ๋ฎ์–ด์“ฐ๊ธฐํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.
๋‹จ, ๋ฐ˜๋“œ์‹œ ๊ธฐ์กด ํŒŒ์ผ์€ ๋ฐฑ์—…ํ•ด๋‘๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

main.min.css
0.09MB

  #footer .nav-container .nav,#header .nav-container .nav {
        display: none
    }
 .nav-container .nav ์ฝ”๋“œ์‚ญ์ œ
  #footer .nav-container .nav {
        display: none
    }

์ƒˆ๋กœ์šด CSS๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

/* ๋ฉ”๋‰ด ๊ธฐ๋ณธ ์ˆจ๊น€ */
.nav {
  display: none;
}
/* AMP ์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ ๋ณด์ด๊ฒŒ */
.nav.show {
  display: block;
}

Step 3: AMP ์Šคํฌ๋ฆฝํŠธ head์— ์‚ฝ์ž…

header.php ๋˜๋Š” AMP ๋ฌธ์„œ head์— ์•„๋ž˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”: ํ•„์š”ํ•œ ๊ฒฝ์šฐ.

<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>

SEO ๊ด€์ ์—์„œ AMP ๋ฉ”๋‰ด์˜ ์ค‘์š”์„ฑ

  • ํŽ˜์ด์ง€ ์ฒด๋ฅ˜์‹œ๊ฐ„ ์ฆ๊ฐ€: ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋” ์‰ฝ๊ฒŒ ํƒ์ƒ‰ ๊ฐ€๋Šฅ
  • ๊ตฌ์กฐํ™”๋œ ๋‚ด๋น„๊ฒŒ์ด์…˜์€ Googlebot์ด ์‚ฌ์ดํŠธ ๊ตฌ์กฐ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๊ฒŒ ๋„์›€
  • ๋น ๋ฅธ ๋กœ๋”ฉ + ๋…ผ๋ฆฌ์  ๋ฉ”๋‰ด ๊ตฌ์กฐ๋กœ Core Web Vitals ๊ฐœ์„ 
  • ๋ชจ๋ฐ”์ผ ์‚ฌ์šฉ์ž ์ดํƒˆ๋ฅ  ๊ฐ์†Œ, ์ด๋Š” ๊ฒฐ๊ตญ ๊ฒ€์ƒ‰์—”์ง„ ์ˆœ์œ„์—๋„ ์˜ํ–ฅ

์›Œ๋“œํ”„๋ ˆ์Šค์˜ Human ํ…Œ๋งˆ์—์„œ๋„ AMP ์™„์ „ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ ๋ช‡์น  ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๊ณ  ์žˆ์œผ๋ฉด ํŠน๋ณ„ํ•˜๊ฒŒ ๋งŽ์ด ์ˆ˜์ •ํ•  ๋ถ€๋ถ„ ์—†์ด๋„ ๋ช‡๊ฐ€์ง€๋งŒ ์ˆ˜์ •์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ถฉ๋ถ„ AMP๋ธ”๋กœ๊ทธ๋กœ ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ฃผ ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ amp-bind๋ฅผ ํ†ตํ•ด ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ํ† ๊ธ€ ๋ฒ„ํŠผ๊ณผ ๋ฉ”๋‰ด๋ฅผ AMP ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ SEO๋ฅผ ๋ชจ๋‘ ๋งŒ์กฑ์‹œํ‚ค๋Š” AMP ๋ชจ๋ฐ”์ผ ๋ฉ”๋‰ด, ์ง€๊ธˆ ๋ฐ”๋กœ ์ ์šฉํ•ด ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.

๋ฐ˜์‘ํ˜•

'IT' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์˜ค๋ž˜๋œ ์ปดํ“จํ„ฐยท๋…ธํŠธ๋ถยทTV Box๋กœ ์ถ”์–ต์˜ ์˜ค๋ฝ์‹ค ๊ฒŒ์ž„๊ธฐ ๋งŒ๋“ค๊ธฐ  (2) 2025.05.06
ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ ์ˆ˜์ตํ˜• ๋ธ”๋กœ๊ทธ๋กœ ์šด์˜ํ•˜๋ฉด ์•ˆ ๋˜๋Š” 7๊ฐ€์ง€ ์ด์œ ?  (25) 2025.04.30
๋ธ”๋กœ๊ทธ ์• ๋“œ์„ผ์Šค ๊ด‘๊ณ  ! ๋Œ“๊ธ€๋ž€๊นŒ์ง€ ํ™•์žฅํ•ด ์ˆ˜์ต ๊ทน๋Œ€ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•  (9) 2025.04.29
QWebEngineView ์›น ๊ธฐ๋Šฅ 100% ํ™œ์šฉ๋ฒ• PySide6 ๋ธŒ๋ผ์šฐ์ €  (3) 2025.04.18
ํŒŒ์ด์ฌ PySide6 ์›น๋ทฐ์—์„œ ๋งํฌ๊ฐ€ ์•ˆ ์—ด๋ฆด ๋•Œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•  (4) 2025.04.17
๋ธ”๋กœ๊ทธ ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ v2 ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ! ์ž๋™ํ™” ๋„๊ตฌ์™€ IPTV ๊ธฐ๋Šฅ  (9) 2025.04.15
ํŒŒ์ด์ฌ ์›น ๋ธŒ๋ผ์šฐ์ € โ€“ PySide6์œผ๋กœ ์ฃผ์†Œ์ฐฝ๊ณผ ํ™•๋Œ€/์ถ•์†Œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ํ•˜๊ธฐ  (3) 2025.04.15