만약 여러분이 웹사이트를 운영하고 있다면, 구글 검색 결과에서 내 콘텐츠를 더 잘 보여주고 싶다는 생각을 해본 적 있을 거예요. 이때 유용한 것이 '구조화 데이터 마크업'입니다. 그 중에서도 JSON-LD는 구조화 데이터를 추가하는 인기 있는 방법이에요. 자, 이제 JSON-LD가 무엇인지, 그리고 이를 Java Spring 프로젝트에 어떻게 적용할 수 있는지 차근차근 알아볼까요?
JSON-LD란?
JSON-LD(JavaScript Object Notation for Linked Data)는 웹페이지의 데이터를 보다 이해하기 쉽도록 구조화하는 방법이에요. 주로 검색 엔진에 정보를 제공하기 위해 사용하죠. 쉽게 말해, 웹페이지에 있는 정보를 검색 엔진이 좀 더 잘 이해할 수 있게 '안내판'을 붙여주는 겁니다. 예를 들어, 여러분의 사이트가 레스토랑 정보를 담고 있다면, JSON-LD를 통해 "이건 레스토랑의 이름이고, 위치는 어디이고, 영업시간은 이렇습니다"라고 검색 엔진에 알려주는 식이죠.
구글이나 네이버 같은 검색 엔진은 이런 구조화 데이터를 읽어서 검색 결과에 좀 더 눈에 띄게 정보를 표시할 수 있어요. 예를 들어 별점 리뷰나 이벤트 정보가 검색 결과에 직접 나타나는 것을 본 적 있죠? 그게 바로 JSON-LD 같은 구조화 데이터 덕분이에요.
JSON-LD의 장점
- 쉽게 읽고 쓸 수 있다: JSON-LD는 일반적인 JSON 형식을 따르기 때문에, JavaScript나 JSON에 익숙하다면 쉽게 작성할 수 있어요.
- HTML과 분리 가능: HTML 코드 내에 넣지 않고도 JSON 형식으로 구조화 데이터를 별도로 작성할 수 있어서 코드 관리가 훨씬 편해요.
Java Spring에 JSON-LD 적용하기
이제 Java Spring 프로젝트에서 JSON-LD를 어떻게 적용할 수 있을지 알아볼게요.
JSON-LD 스크립트 작성하기 JSON-LD는 간단히 JSON 형식으로 작성할 수 있어요. 예를 들어, 여러분이 레스토랑 웹사이트를 운영한다고 가정하고, 아래와 같은 JSON-LD를 작성할 수 있어요:
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "맛있는 집",
"address": {
"@type": "PostalAddress",
"streetAddress": "서울특별시 강남구 테헤란로 123",
"addressLocality": "서울",
"postalCode": "12345",
"addressCountry": "KR"
},
"telephone": "+82-2-1234-5678",
"servesCuisine": "Korean",
"openingHours": "Mo-Sa 11:00-22:00"
}
이 JSON-LD는 여러분의 레스토랑에 대한 기본 정보를 담고 있어요.
HTML에 JSON-LD 삽입하기 JSON-LD는 HTML에 <script> 태그를 사용해서 쉽게 삽입할 수 있어요. Java Spring의 Thymeleaf 템플릿을 사용한다고 가정해 보겠습니다. 다음과 같이 JSON-LD를 추가하면 됩니다:
<html>
<head>
<title>맛있는 집 - 레스토랑 정보</title>
<script type="application/ld+json">
[[${jsonLdScript}]]
</script>
</head>
<body>
<!-- 나머지 HTML 내용 -->
</body>
</html>
여기서 jsonLdScript는 Java Spring의 컨트롤러에서 전달해주는 JSON-LD 데이터입니다.
Java Spring에서 JSON-LD 데이터 준비하기 Spring의 컨트롤러에서 JSON-LD 데이터를 준비하고, 뷰에 전달할 수 있어요. 예를 들어, 다음과 같이 컨트롤러를 작성할 수 있습니다:
@Controller
public class RestaurantController {
@GetMapping("/restaurant")
public String getRestaurantPage(Model model) {
String jsonLdScript = "{\n" +
" \"@context\": \"https://schema.org\",\n" +
" \"@type\": \"Restaurant\",\n" +
" \"name\": \"맛있는 집\",\n" +
" \"address\": {\n" +
" \"@type\": \"PostalAddress\",\n" +
" \"streetAddress\": \"서울특별시 강남구 테헤란로 123\",\n" +
" \"addressLocality\": \"서울\",\n" +
" \"postalCode\": \"12345\",\n" +
" \"addressCountry\": \"KR\"\n" +
" },\n" +
" \"telephone\": \"+82-2-1234-5678\",\n" +
" \"servesCuisine\": \"Korean\",\n" +
" \"openingHours\": \"Mo-Sa 11:00-22:00\"\n" +
"}";
model.addAttribute("jsonLdScript", jsonLdScript);
return "restaurant";
}
}
이 코드에서는 JSON-LD 데이터를 문자열로 준비하고, 이를 Model에 추가해서 뷰로 전달합니다. 뷰에서는 이 데이터를 <script> 태그로 삽입하게 되죠.
정리
JSON-LD는 여러분의 웹사이트 정보를 검색 엔진이 더 잘 이해하도록 도와주는 도구입니다. Java Spring 프로젝트에서는 JSON-LD를 문자열로 준비하고, 이를 Thymeleaf 템플릿에 <script> 태그로 삽입하는 방식으로 쉽게 사용할 수 있어요. 이렇게 하면 검색 엔진에서 여러분의 웹사이트가 더 눈에 잘 띌 수 있게 되고, 사용자들에게도 더 나은 경험을 제공할 수 있답니다.
이 콘텐츠는 Google SEO에 큰 도움이 될 수 있습니다. 그 이유는 다음과 같습니다:
- 구조화 데이터 마크업: JSON-LD를 사용해 구조화 데이터를 추가하면, 검색 엔진이 웹사이트의 정보를 더 명확히 이해할 수 있어 검색 결과에서 더 매력적으로 보이게 됩니다. 이는 리치 스니펫과 같은 형태로 검색 결과에 반영될 수 있어 클릭률(CTR)을 높이는 데 도움을 줍니다.
- 검색 엔진의 이해도 향상: JSON-LD는 구글의 권장 방식 중 하나로, 검색 엔진이 웹페이지의 맥락을 잘 이해할 수 있게 도와줍니다. 이를 통해 페이지의 적절한 노출을 도울 수 있습니다.
- 구체적인 예제 제공: 이 글은 Java Spring 프로젝트에서 JSON-LD를 구체적으로 어떻게 사용할 수 있는지에 대한 예제를 포함하고 있어, 개발자가 쉽게 이해하고 따라 할 수 있게 합니다. 이는 콘텐츠의 실용성을 높이며, 방문자들이 더 오래 머물거나 콘텐츠를 공유할 가능성을 높입니다.
- 키워드 최적화: 콘텐츠 내에 "JSON-LD", "Java Spring", "구조화 데이터", "검색 엔진 최적화" 등의 키워드가 적절히 배치되어 있어서, 개발자나 SEO에 관심이 있는 사용자가 검색할 때 높은 순위에 노출될 가능성이 있습니다.
이러한 이유로, 해당 콘텐츠는 Google SEO에 긍정적인 영향을 줄 수 있으며, 웹사이트의 가시성을 높이는 데 도움이 됩니다. 추가적인 최적화를 위해 페이지 제목과 메타 설명도 잘 작성하면 더 큰 효과를 볼 수 있습니다.
'개발 > 스프링 프레임웍' 카테고리의 다른 글
spring boot, thymeleaf, neo4j 그래픽 시각화 하기 sigma.js 샘플 (1) | 2024.11.10 |
---|---|
스프링 부트 thymeleaf neo4를 이용해 어플리케이션 만들기 (0) | 2024.11.08 |
jdk 받을땐 adoptOpenJdk (0) | 2021.09.02 |
Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'. 발생 시 (0) | 2021.04.06 |
intellij tomcat 설정 and 한글 깨짐 처리 (0) | 2020.11.25 |