λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
openipc.kr
SEO

[검색엔진 μ΅œμ ν™”] μ•„μ΄ν”„λ ˆμž„ μš”μ†Œμ— 제λͺ©μ΄ μ—†μŒ 였λ₯˜ κ°œμ„  사항


λ°˜μ‘ν˜•

κ΅¬κΈ€νŽ˜μ΄μ§€ μŠ€ν”Όλ“œμ—μ„œ 였λ₯˜ μ‚¬μ΄νŠΈ, λΈ”λ‘œκ·Έ μ ‘κ·Όμ„± κ°œμ„  방법

μ•„μ΄ν”„λ ˆμž„ μš”μ†Œμ— 제λͺ©μ΄ μ—†μŒ 였λ₯˜

검색 μ΅œμ ν™” μž‘μ—…μ€‘ μ•„μ΄ν”„λ ˆμž„μ— μš”μ†Œμ— 제λͺ©μ΄ μ—†μŒμ€ μ ‘κ·Όμ„± κ°œμ„  μš”μ²­ 사항이 μžˆμŠ΅λ‹ˆλ‹€. 이 λ¬Έμ œλŠ” μ›Ή 접근성에 λŒ€ν•œ λ¬Έμ œμž…λ‹ˆλ‹€. μ›Ή 접근성은 μ‹œκ°μ  청각적 μž₯μ• λ₯Ό 가진 μ‚¬μš©μžλ“€μ—κ²Œ 정보λ₯Ό μ œκ³΅ν•˜λŠ” 데 μžˆμ–΄ μ€‘μš”ν•œ μš”μ†Œμž…λ‹ˆλ‹€. λΈ”λ‘œκ·Έλ₯Ό μš΄μ˜ν•˜λ‹€ 보면 iframe μš”μ†Œμ— 제λͺ©(title) 속성 λˆ„λ½ λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ ‘κ·Όμ„± 평가 λ„κ΅¬μ—μ„œ κ°œμ„ μ΄ ν•„μš”ν•˜λ‹€λŠ” 경고둜 λ‚˜νƒ€λ‚˜κΈ°λ„ ν•˜λ©°, λ‹€μŒκ³Ό 같은 λ°©μ‹μœΌλ‘œ 일뢀 ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„μ΄ν”„λ ˆμž„ μš”μ†Œμ— 제λͺ©μ΄ μ—†μŒ μˆ˜μ • 방법

iframe μš”μ†Œμ˜ title 속성은 μ ‘κ·Όμ„± μΈ‘λ©΄μ—μ„œ 맀우 μ€‘μš”ν•˜κ³ , 슀크린 리더λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬μš©μžλ“€μ—κ²Œ ν•΄λ‹Ή ν”„λ ˆμž„μ˜ λ‚΄μš©μ„ μ„€λͺ…ν•΄μ£ΌλŠ” 데 ν•„μˆ˜μ μž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ™μ μœΌλ‘œ μ½˜ν…μΈ λ₯Ό μƒμ„±ν•˜λŠ” κ²½μš°λŠ” 문제λ₯Ό ν•΄κ²°ν•˜κΈ° νž˜λ“­λ‹ˆλ‹€.

λ™μ μ½”λ“œμ˜ ν•΄κ²°μ˜ 문제점

  • μžλ™ μƒμ„±λœ μ½”λ“œ μˆ˜μ •μ˜ 어렀움: iframe이 λ™μ μœΌλ‘œ μ‚½μž…λ˜κΈ° λ•Œλ¬Έμ— HTML νŒŒμΌμ—μ„œ 직접 μˆ˜μ •μ„ μ‹œλ„ν•΄λ„ μ μš©λ˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • pagespeed μ ‘κ·Όμ„± κ²½κ³ : div#wrap > header#header > div.inner > a κ²½λ‘œμ— iframe이 ν¬ν•¨λœ 경우, title 속성이 λˆ„λ½λ˜μ—ˆλ‹€λŠ” κ²½κ³ κ°€ λ‚˜νƒ€λ‚  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ½”λ”©μ˜ λ³΅μž‘μ„±: μ½”λ“œ μˆ˜μ • μž‘μ—…μ€ 일반 μ‚¬μš©μžμ—κ²Œ 뢀담이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

동적 μ•„μ΄ν”„λ ˆμž„ title μš”μ†Œ μΆ”κ°€ ν•˜κΈ°

HTML νŽ˜μ΄μ§€μ—μ„œ title 속성은 접근성에 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€. μ‹œκ° μž₯애인 λ“± μž₯μ• κ°€ μžˆλŠ” μ‚¬μš©μžκ°€ μ›Ή νŽ˜μ΄μ§€λ₯Ό νƒμƒ‰ν• λ•Œ ν•„μš”ν•œ κΈ°λŠ₯으둜써 μ ‘κ·Όμ„± κ°œμ„  사항 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. 직접 코딩을 ν• λ•ŒλŠ” λˆ„λ½μ‹œ 본인이 직접 μˆ˜μ •ν•˜λ©΄ λ˜μ§€λ§Œ λ™μ μœΌλ‘œ μƒμ„±λ˜κ±°λ‚˜ λ³€κ²½λ˜λŠ” μ½”λ“œλŠ” 직접 μˆ˜μ •μ΄ 쉽지 μ•ŠμŠ΅λ‹ˆλ‹€.

μ½”λ“œμ— λŒ€ν•œ 전문적인 지식도 ν•„μš”ν•˜κ³  μ½”λ”© μž‘μ—…λ„ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

κ·Έλž˜μ„œ κ°„λ‹¨ν•˜κ²Œ javaScriptλ₯Ό μ‚¬μš©ν•΄μ„œ μ§„ν–‰ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€. 주둜 많이 μ‚¬μš©ν•˜λŠ” 방법이 ν•˜λ‚˜λ‘œ DOMContentLoaded μ½”λ“œλ₯Ό μ΄μš©ν•΄μ„œ ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

μ•„μ΄ν”„λ ˆμž„ μš”μ†Œμ— 제λͺ©μ΄ μ—†μŒ
μ•„μ΄ν”„λ ˆμž„ μš”μ†Œμ— 제λͺ©μ΄ μ—†μŒ

JavaScript둜 동적 μˆ˜μ •

μ΄λŸ¬ν•œ λ¬Έμ œλŠ” JavaScriptλ₯Ό ν™œμš©ν•΄ κ°„λ‹¨νžˆ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 특히, λΈŒλΌμš°μ €κ°€ HTML λ¬Έμ„œλ₯Ό λΆ„μ„ν•˜κ³  DOM 트리λ₯Ό μ™„μ„±ν•œ ν›„ μ›ν•˜λŠ” μš”μ†Œλ₯Ό μˆ˜μ •ν•  수 μžˆλŠ” DOMContentLoaded 이벀트λ₯Ό μ‚¬μš©ν•˜λ©΄ νš¨κ³Όμ μž…λ‹ˆλ‹€.

DOMContentLoadedλž€?

DOMContentLoadedλŠ” λΈŒλΌμš°μ €κ°€ HTML λ¬Έμ„œλ₯Ό 읽고 DOM 트리λ₯Ό μƒμ„±ν–ˆμ„ λ•Œ λ°œμƒν•˜λŠ” μ΄λ²€νŠΈμž…λ‹ˆλ‹€. 이 μ‹œμ μ„ ν™œμš©ν•˜λ©΄ HTML μš”μ†Œκ°€ λͺ¨λ‘ λ‘œλ“œλœ ν›„ ν•„μš”ν•œ 속성을 μΆ”κ°€ν•˜κ±°λ‚˜ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λΈŒλΌμš°μ €κ°€ HTML λ¬Έμ„œλ₯Ό 읽고 DOM(Document Object Model) 트리 ν˜•νƒœλ‘œ λ³€ν™˜μ„ ν•˜λŠ”λ° κ·Έλ•Œ HTMLλ¬Έμ„œμ˜ 속성,μš”μ†Œ,νƒœκ·Έλ“±μ„ λΆ„μ„ν•΄μ„œ νŠΈλ¦¬ν˜•νƒœμ˜ ꡬ쑰λ₯Ό ν˜•μ„±ν•˜κ²Œ λ©λ‹ˆλ‹€. μ΄λ•Œ JavaScriptλ‚˜ CSS와 같은 μŠ€ν¬λ¦½νŠΈμ™€ μŠ€νƒ€μΌμ„ μ μš©ν•˜κ²Œ λ©λ‹ˆλ‹€. κ·Έλ•Œ μ›ν•˜λŠ”μ½”λ“œλ₯Ό νŽ˜μ΄μ§€ λ Œλ”λ§ ν• λ•Œ ν•„μš”ν•œ μš”μ†Œλ₯Ό μ‚½μž…ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

슀크립트 μ½”λ“œ

μ•„λž˜λŠ” iframe에 λˆ„λ½λœ title 속성을 μΆ”κ°€ν•˜λŠ” JavaScript μ½”λ“œμž…λ‹ˆλ‹€. 이 μ½”λ“œλ₯Ό νŽ˜μ΄μ§€ 내뢀에 μ‚½μž…ν•˜λ©΄ μžλ™μœΌλ‘œ μ μš©λ©λ‹ˆλ‹€.

<script>
window.addEventListener('DOMContentLoaded', function() {
    var iframe = document.getElementById('editEntry');
    if (iframe) {
        iframe.setAttribute('title', 'ν‹°μŠ€ν† λ¦¬λΈ”λ‘œκ·Έ');
    }
});
</script>

μœ„μ— μ½”λ“œλ₯Ό HEAD 사이에 μΆ”κ°€ν•˜μ‹œκ²Œ 되면 μžλ™μœΌλ‘œ ν•„μš”ν•œ μš”μ†Œ TITLE 속성을 μΆ”κ°€ν•˜λ―€λ‘œ λˆ„λ½λœ μ½”λ“œλ₯Ό λŒ€μ²˜ν•  μˆ˜μžˆλŠ” κ°„λ‹¨ν•œ λ°©λ²•μž…λ‹ˆλ‹€. 본인에 맞게 μˆ˜μ •ν•΄μ„œ μ‚¬μš©ν•˜μ…”λ„ 되고, λ§Œμ•½ μ•„λž˜μ™€ 같이 λ˜‘κ°™μ€ λ¬Έμ œκ°€ λ°œκ²¬λ˜λ‹€λ©΄ 타이틀 μ†μ„±λ§Œ 본인이 μ›ν•˜λŠ” νƒ€μ΄ν‹€λ‘œ μˆ˜μ •ν•΄μ„œ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

λ°˜μ‘ν˜•