728x90
반응형

검색엔진에서 내 사이트를 잘 찾게 만들기 위해서는 sitemap.xml, robots.txt가 필요하다.

내가 원했던건 컨트롤러에 의해 자동 생성된 것으로 리턴하는 것이다.

 

자동 생성하는 것은 아래 두개의 링크를 참고 했다.

 

[Spring] 스프링에서 sitemap.xml 및 robots.txt 처리하기

스프링 프레임워크로 사이트를 개발하여 sitemap 및 robots.txt 를 처리해야할 필요가 있을때 아래처럼 구성하면 유기적으로 관리가 가능합니다. sitemap.xml 에 신규 컨텐츠를 지속적으로 추가해주어

mytalkhome.tistory.com

 

spring boot sitemap 생성하기

참고  - site map 설명 링크 코드  - 참고 링크 @RestController public class TestController { @Autowired private RequestMappingHandlerMapping re; @GetMapping("/sitemap.xml") public String getSitemap(..

blog.eomsh.com

 

다만 이걸 적용 후 몇가지 문제가 있었다.

 

1. 최상단 태그가 ns2:urlset로 나왔다.

(이건 해결하고 검색엔진에 반영했기 때문에 실제 검색엔진에서 문제가 되는지 확인되지 않음.)

 

Build sitemap.xml by Java Spring

I'm building a sitemap.xml by Spring MVC @XmlRootElement(name = "urlset") public class XmlUrlSet{ @XmlElements(@XmlElement(name = "url", type = XmlUrl.class)) private List sitemap = ...

stackoverflow.com

위 링크의 정보를 따라서 적용하다보면 package-info.java를 추가 하라고 하는데 방법을 알 수 없었다.

추가하는 방법은 아래 링크 참고

 

팩키지 설명을 위한 package-info.java 파일 (v0.10)

팩키지 설명을 위한 package-info.java 파일

‘package-info.java’가 뭐야?

기본 Checkstyle 설정을 사용했더니 자바 파일마다 상단에 ‘Missing packag

 

egloos.zum.com

 

2. 구글 검색에서 sitemap 제출 시 에러 : 사이트맵을 읽을 수 있지만 오류가 있습니다. 지원하지 않는 파일 포맷

 

사이트맵을 읽을 수 있지만 오류가 있습니다. Sitemap이 HTML입니다. 라는 오류가 계속 뜹니다. 도와

 

support.google.com

 

답변 내용을 읽어보면 아래 링크에서 검사해 보면 원인을 찾아준다는 내용 이었다.

https://www.xml-sitemaps.com/validate-xml-sitemap.html

 

내 경우 검사해 본 결과 header의 content-type이 application/xml로 되어야 한다는 것 이었고, 

크롬에서 header 정보를 확인하는 방법은 아래 링크를 참조하자.

 

크롬에서 request, response header 확인하기.

1. 크롬에서 개발자도구를 시작해서 (F12를 누르면 열림) 2. Network 탭으로 이동합니다. 3. F5또는 Ctrl+R을 통해서 페이지를 새로고침합니다. 4. 그러면 name에 페이지요청 목록이 나오는데 원하는 것

paulaner80.tistory.com

그래서 결과적으로 컨트롤러에 produces = "application/xml;" 를 추가하여 sitemap.xml을 재출할 수 있었다.

728x90
반응형

+ Recent posts