SOYOYU
텍스트 시맨틱

<p>

단락. 텍스트 콘텐츠의 가장 기본 블록 요소.

SEO·GEO·AEO·A11y 4축에서의 의미

SEO

●●●●○높음

본문 콘텐츠의 기본 단위. 검색엔진의 본문 추출과 키워드 분석의 표준.

GEO

●●●●○높음

AI가 답변 인용 시 p 단위로 발췌. 잘 끊긴 단락이 인용 가능성 ↑.

AEO

●●●●○높음

헤딩 + 첫 p 쌍이 Featured Snippet 답변의 표준 형태.

A11y

●●●○○중간

스크린리더가 단락 단위로 호흡 끊고 발화. 사용자의 본문 이해 효율.

올바른 사용

  • 한 단락 = 한 개의 p
  • div로 단락 만들지 말기
  • p 안에 다른 블록 요소(div, ul 등) 금지
  • 줄바꿈은 별도 p로 분리
표준 단락
<article>
  <p>첫 번째 단락의 본문입니다.</p>
  <p>두 번째 단락의 본문입니다.</p>
</article>

단락마다 별도 p.

인라인 시맨틱과 결합
<p>
  본문 중간에 <strong>강조</strong>가 들어가거나
  <code>코드</code>가 등장합니다.
</p>

p 안에 인라인 시맨틱(strong, em, code 등)은 OK.

자주 보는 안티패턴

  • div로 단락 작성
  • p 안에 div 또는 ul 중첩 (브라우저가 자동 보정)
  • 여러 단락을 한 p에 줄바꿈만으로 분리
  • 빈 p로 간격 조정
div로 단락
<div>첫 단락</div>
<div>두 단락</div>

단락 시맨틱 손실. 스크린리더가 단락 단위로 못 끊음.

p 안에 div
<p>
  단락 본문...
  <div>중첩 안 됨</div>
</p>

HTML 명세 위반. 브라우저가 p를 자동 닫음.

해설

본문 텍스트의 기본 단위. 어떤 페이지든 본문이 있다면 거의 항상 등장한다. 단순해 보이지만 — div로 단락을 만드는 안티패턴이 의외로 흔하다.

SEO 관점에서 p는 검색엔진의 본문 추출 표준 단위다. 구글이 페이지를 인덱싱할 때 단락 단위로 텍스트를 분석하고 키워드를 추출한다. div로 만든 가짜 단락은 시맨틱 정보가 없어, 검색엔진이 어디서 어디까지가 한 생각인지 추측해야 한다.

GEO 관점에서 AI가 페이지 답변을 만들 때 — 본문에서 완전한 한 단락을 인용하는 경우가 가장 많다. "이 사이트에 따르면..."에 이어지는 인용문이 한 p 단위. 잘 끊긴 단락(한 단락 = 한 생각)이 인용 후보로 더 잘 선정된다.

AEO 관점에서 h2 + 첫 p 쌍이 Featured Snippet의 표준 형태. "X는 무엇인가요?"에 페이지의 h2 "X" 다음 p가 그대로 답변으로 노출. 첫 p가 한 줄 정의면 인용 가능성이 직접 올라간다.

A11y 관점에서 스크린리더는 p 끝에서 작은 호흡을 둔다. 단락이 잘 끊긴 페이지는 듣는 호흡이 자연스럽고, 사용자가 본문을 따라가기 쉽다. div 단락은 호흡이 없어 한 줄 텍스트가 끝없이 이어지는 느낌.

자주 보는 안티패턴: div로 단락 만들기(가장 흔한 실수 — 시각적으로는 같지만 시맨틱은 0), 여러 단락을 한 p 안에 <br>로 분리(시맨틱하게는 한 단락으로 인식 — 잘못된 그룹화), 빈 p로 간격 조정(CSS margin이 적절), p 안에 블록 요소 중첩(브라우저가 자동 보정하지만 일부 환경에서 깨짐).

p의 내부에는 인라인 시맨틱만 허용 — strong, em, code, a, time, abbr 등. 블록 요소(div, ul, h1-h6, blockquote 등)는 p 밖으로 빼야 한다. 브라우저는 이를 자동 보정하지만 — 마크업의 의도와 실제 렌더 결과가 어긋나면 디버깅 비용이 큰 함정.

MDX·Markdown 환경에서 단락은 빈 줄로 분리된 텍스트가 자동으로 p로 변환. 이 자동 변환을 활용하면 실수로 div 단락을 만드는 일이 없다. 직접 HTML을 작성할 때 — 시각이 단락이면 p로가 기본 규칙.