본문 바로가기
공부방/오류

Uncaught TagError: adsbygoogle.push() error: All 'ins' elements in the DOM with class=adsbygoogle already have ads in them

by SmartCow 2024. 4. 24.
목차
1. 오류 발생 원인
2. 가능한 해결 방법
3. 예시
4. 해결 방법 적용
5. 결론

 이 오류는 Google AdSense의 광고 코드를 사용할 때 발생할 수 있는 문제 중 하나로써 DOM 내에서 이미 광고가 있는데 추가적인 광고가 시도되었을 때 발생.

 1. 오류 발생 원인

 이 오류가 발생하는 주된 원인은 DOM(Document Object Model) 내에서 이미 광고가 있는데, 같은 위치에 추가적인 광고가 로드되려고 시도되었을 때 발생한다.  일반적으로 페이지 내에서 하나의 위치에 여러 개의 광고를 로드하려고 할 때 이러한 오류가 발생할 수 있다.

 

 2. 가능한 해결 방법

 이 오류를 해결하기 위한 방법
1) 광고 위치 확인
 DOM 내에서 이미 광고가 있는지 확인하고 만약 하나의 위치에 이미 광고가 있으면 추가 광고를 로드하지 않도록 처리한다.
2) 광고 코드 검토
 광고 코드를 검토하여 같은 위치에 여러 번 광고를 로드하는지 확인한다. 중복으로 광고를 로드하는 코드가 있다면 수정하거나 제거한다.
3) 광고 단위 설정 변경
 AdSense 계정에서 광고 단위 설정을 변경하여 중복으로 광고를 로드하지 않도록 설정할 수 있다.

 

 3. 예시

 다음과 같은 상황에서 이 오류가 발생할 수 있다

 위의 예시에서는 동일한 클래스명을 가진 두 개의 div 요소에 광고 코드가 들어 있다.
 이런 경우에는 첫 번째 광고 요소에 이미 광고가 로드되어 있기 때문에 두 번째 광고를 추가로 로드할 수 없어 오류가 발생한다.

 

 4. 해결 방법 적용

 해당 광고 코드가 포함된 페이지를 검토하여 중복으로 광고가 로드되는지 확인하고, 필요하다면 코드를 수정하여 오류를 해결할 수 있다.  또한 AdSense 계정 설정을 살펴보고 중복으로 광고를 로드하지 않도록 설정할 수도 있다.

 

 5. 결론

 이 오류를 해결하기 위해서는 어느정도는 프로그램을 다룰줄 알거나 공부를 해야 수정이 가능할거 같다.  티스토리 자체광고를 kakaoAdFit이 아니라 구글 애드센스로 해놔서 pub이 두개가 사용되어 오류가 발생하는 경우가 생긴다. 또는 같은 위치에 여러개의 광고가 로드된다면 오류가 뜨겠지....
 이부분이 지속되서 문제가 생긴다면 결국엔 워프로 가는 방법밖에 없는것인지 아니면 해결이 될런지 아직은 알수가 없다.