강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

한재훈님의 프로필 이미지
한재훈

작성한 질문수

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

블로그 AI 에이전트 최종 완성: 워드프레스 SEO와 수익화 전략

24강 사이트맵 관련

해결된 질문

작성

·

40

0

사이트/sitemap.xml 로 접속시에 wp-sitemap.xml로 리다이렉트 없이 This XML file does not appear to have any style information associated with it. The document tree is shown below. 문구와 함께

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>...
</url>
</urlset>

가 화면에 표시됩니다.

사이트/wp-sitemap.xml로 직접 타이핑해서 들어가면 화면에

スクリーンショット 2025-09-30 1.14.26.png.webp

표시됩니다.

 

콘솔에는

スクリーンショット 2025-09-30 1.12.16.png.webp

출력되고 있습니다.

제공해주신 generatepress_child.zip을 그대로 사용중인데 원인을 잘 모르겠네요.

답변 2

0

오 저도 똑같이 위의 한재훈님과 똑같은 문제가 있어서 찾아보던 중이였습니다.

저는 사이트/sitemap.xml 를 입력하면 wp-sitemap.xml로 리다이렉트가 되긴 했는데 마찬가지로 해당 페이지를 찾을 수 없다고 뜨네요 전 콘솔에는 정상으로 뜨는 거 같긴한데 원인을 잘 모르겠군요 ㅠㅠ

남박사님께서는 이런 오류가 떴을 때 그럼 위의 코드를 제거하거나 주석하는 것을 추천해주시는 것인가요!!

남박사님의 프로필 이미지
남박사
지식공유자

일단 기본적으로 워드프레스는 사이트 맵을 기본적으로 wp-sitemap.xml 로 사용하게 디폴트로 설정이 되어있습니다. 다만 이 기능은 구조적 사이트맵을 제공하는데 워드프레스에 단순 글 작성을 하는 입장에선 오히려 이런 복잡한 구조가 구글 검색 노출에 방해가 되는 요소가 될 수 있어, 실제 강의의 첨부파일로 제공되는 최종본에서는 wp-sitemap.xml 을 사용하지 않게 disable 시키고 sitemap.xml 을 임의로 구현하여 블로그의 컨텐츠 주소만 출력하게 단순화해서 제공하고 있습니다. 따라서 어떤 방향으로 사용할지는 이것저것 살펴보시고 결정하시면 되는 문제고 제가 제공해드린 소스코드를 참고하시어 원하는 방향으로 수정해서 사용하실 수도 있으니 참고하시기 바랍니다.

0

남박사님의 프로필 이미지
남박사
지식공유자

안녕하세요, 재훈님.

강의 첨부파일로 제공되는 generatepress_child.zip 에서는 /sitemap.xml 을 그냥 사용하게 작성되어있습니다.

 


// 기존 wp-sitemap.xml 비활성화
add_filter('wp_sitemaps_enabled', '__return_false');

// /sitemap.xml 커스텀 sitemap 라우팅
add_action('init', function () {
    add_rewrite_rule('^sitemap\.xml$', 'index.php?custom_sitemap=1', 'top');
});

functions.php 파일을 보면 위의 코드에서 처럼 원래 제공하던 wp-sitemap.xml 을 비활성화 하고 sitemap.xml 을 동작하게 수정되었으며,

 

// sitemap.xml 응답 처리
add_action('template_redirect', function () {
    if (intval(get_query_var('custom_sitemap')) === 1) {
        header('Content-Type: application/xml; charset=UTF-8');

        echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
        echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";

        $args = [
            'post_type' => 'post',
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'orderby' => 'modified',
            'order' => 'DESC'
        ];
        $query = new WP_Query($args);

        while ($query->have_posts()) {
            $query->the_post();
            $url = get_permalink();
            $lastmod = get_the_modified_time('Y-m-d\TH:i:sP');

            echo "<url>\n";
            echo "<loc>{$url}</loc>\n";
            echo "<lastmod>{$lastmod}</lastmod>\n";
            echo "<changefreq>weekly</changefreq>\n";
            echo "<priority>0.8</priority>\n";
            echo "</url>\n";
        }
        wp_reset_postdata();

        echo '</urlset>';
        exit;
    }
});

실제 sitemap.xml 이 호출될때 위의 코드가 동작하게 되어있는데, 내용을 보면 아주 단순하게 작성된 포스트만 목록화 해서 출력되게 수정된 버전입니다.

이는 기본적으로 제공되는 wp-sitemap.xml 이 기능상으로는 체계적으로 작성되어있긴 한데 블로그 운영 초반 포스트 위주로 운영할 시에는 오히려 검색 노출에 방해가 되는 요소들이 많아 그렇게 수정하여 적용하고 있으니 참고가 되셨길 바랍니다. 위의 코드를 제거하거나 주석처리 하면 원래 기본적으로 제공되는 wp-sitemap.xml 이 동작하긴 합니다.

 

 

한재훈님의 프로필 이미지
한재훈
질문자

감사합니다!

남박사님의 프로필 이미지
남박사
지식공유자

별말씀을요~

또 궁금하신 생기시면 주저없이 질문 주시기 바랍니다. 감사합니다~

한재훈님의 프로필 이미지
한재훈

작성한 질문수

질문하기