DEV WIKI
프론트엔드 · 오류·증상

No HTML link for pages

Next.js 내부 경로 이동에 일반 `<a>`를 사용해 전체 페이지 새로고침이 발생하는지 확인합니다.

빠른 답변

우선 확인할 원인
Next.js의 Pages Router 내부 경로를 일반 `<a href>`로 이동하면 브라우저가 전체 문서를 다시 요청합니다. 내부 이동에는 `next/link`의 `Link`를 사용하고, 외부 URL이나 다운로드처럼 전체 요청이 필요한 경우에만 일반 `<a>`를 사용해야 합니다.
먼저 확인할 항목
린트에 `@next/next/no-html-link-for-pages` 오류가 표시되는지 확인합니다.
적용 범위
현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우문맥: 바이브 코딩
출처
Next.js
출처 확인일
2026-08-03
최종 검토
2026-08-03
수정일
2026-08-03
오류·수정 제보 (새 창에서 열림)

현재 증상

  • 애플리케이션 오류 메시지

먼저 확인할 항목

린트에 `@next/next/no-html-link-for-pages` 오류가 표시되는지 확인합니다.

내부 경로를 클릭할 때 전체 문서 요청과 새로고침이 발생하는지 브라우저 Network에서 확인합니다.

`pages/` 아래 경로로 이동하는 `<a href>`가 있는지 검색합니다.

외부 URL·파일 다운로드와 내부 경로를 구분합니다.

환경별 원인과 조치

이 문제가 의미하는 것

Next.js의 내부 페이지로 이동할 때 일반 HTML <a>를 사용하면 브라우저가 새 문서 전체를 요청합니다. Next.js는 내부 이동에 next/linkLink를 사용해야 클라이언트 라우팅과 페이지 전환을 적용할 수 있다고 설명합니다.

먼저 확인할 항목

  1. 린트에 @next/next/no-html-link-for-pages가 표시되는지 확인합니다.
  2. 내부 링크를 클릭했을 때 Network 패널에 문서 요청이 새로 발생하고 화면 전체가 깜박이는지 확인합니다.
  3. 코드에서 href="/about", href="/products/..."처럼 같은 애플리케이션의 경로를 가리키는 <a>를 찾습니다.
  4. 외부 사이트, 파일 다운로드, 다른 프로토콜 링크는 내부 경로와 분리해 기록합니다.

수정 방법

같은 Next.js 애플리케이션의 페이지로 이동하는 링크는 next/link를 사용합니다.

import Link from 'next/link';export function Header() {  return (    <nav>      <Link href="/about">서비스 소개</Link>      <Link href="/guides">가이드</Link>    </nav>  );}

외부 URL이나 브라우저가 파일을 내려받아야 하는 링크는 일반 <a>를 사용할 수 있습니다. 내부 경로인지 외부 URL인지 구분하지 않고 모든 <a>를 일괄적으로 Link로 바꾸지 마십시오.

수정 후 판정

  • 내부 경로 클릭 시 문서 전체 새로고침 없이 대상 페이지가 표시됩니다.
  • 해당 링크에서 @next/next/no-html-link-for-pages 린트 오류가 사라집니다.
  • 외부 URL과 다운로드 링크의 동작은 변경되지 않습니다.

주의

Pages Router와 App Router의 실제 경로 구조를 확인한 뒤 내부 링크 범위를 정하십시오. 린트 오류만 숨기기 위해 규칙을 비활성화하지 말고, 링크의 목적이 내부 이동인지 외부 이동인지 먼저 확인하십시오.

참고 자료

No HTML link for pages (새 창에서 열림)

Next.js · 공식 자료 · 확인 범위: Internal Next.js page navigation should use next/link., An HTML anchor causes an unnecessary full-page refresh. · 확인일: 2026-08-03

No HTML link for pages | DEV WIKI