본문 텍스트의 기본 단위. 어떤 페이지든 본문이 있다면 거의 항상 등장한다. 단순해 보이지만 — 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로가 기본 규칙.