haed에 있는 메타태그를 페이지마다 다르게 불러오도록 하고 싶은데요.

haed에 있는 메타태그를 페이지마다 다르게 불러오도록 하고 싶은데요.

QA

haed에 있는 메타태그를 페이지마다 다르게 불러오도록 하고 싶은데요.

본문

안녕하세요.
html, css, 제이쿼리플러그인 복붙 정도만 할 줄아는 디자이너입니다..

로그인이나 관리자페이지 같은 기능은 없는 단순 홈페이지가 있어요.

그 동안 코딩할 때
header랑 footer는 include 폴더에 넣어 공통으로 불러오게 해놨는데,
이게 모든 페이자마다 head안에 메타태그가 동일하니 SEO에 맞지 않더라구요.

그래서 일단...
title 만이라도 다르게 보여주자 싶어서 각 서브페이지마다
<script>
    document.title = "타이틀" ;
</script>
이 스크립트를 넣어주니...검색에 반영은 되더라구요.

그런데 네이버에서 타이틀은 제대로 보이는데, 설명글은 메타태그 디스크립션대로 보이지 않고,
푸터내용이 보인다거나...팝업에 사용한 '오늘하루 보지않기' 이런게 랜덤으로 뜨더라구요;

그래서 위 스크립트처럼 메타태그를 변경해줄 수 있는 코드가 있나해서요..
찾아보니 다 php언어이거나 서버쪽에서 건드려줘야 하는 방법뿐이라 ㅜ

아님 head안에 메타태그에
해당페이지의 <h1>타이틀</h1>을 타이틀로 불러와라
해당페이지의 <p class="desc">설명글</p>을 디스크립션으로 불러와라와 같은 변수를 거는 방법이 있을까요..?

이 질문에 댓글 쓰기 :

답변 2

타이틀이 이미 선언된 상태에서 스크립트로 변경한다고 반영이 된게 신기하네요.. 일반적으로 기존 타이틀이 있는데 스크립트로 타이틀을 변경하더라도 반영이 안되는게 이론인데 .. 


<script>
// 페이지 로드 후 실행
document.addEventListener('DOMContentLoaded', function() {
    // h1 태그의 내용을 타이틀로 설정
    var h1Element = document.querySelector('h1');
    if (h1Element) {
        document.title = h1Element.textContent;
    }
    
    // .desc 클래스를 가진 p 태그의 내용을 메타 설명으로 설정
    var descElement = document.querySelector('p.desc');
    if (descElement) {
        var metaDescription = document.querySelector('meta[name="description"]');
        if (metaDescription) {
            metaDescription.setAttribute('content', descElement.textContent);
        } else {
            var meta = document.createElement('meta');
            meta.name = "description";
            meta.content = descElement.textContent;
            document.head.appendChild(meta);
        }
    }
});
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 136
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT