diff --git a/src/main/java/kr/iotdoor/boot/config/IotdoorProperties.java b/src/main/java/kr/iotdoor/boot/config/IotdoorProperties.java
index 6b6f382..2c89fe6 100644
--- a/src/main/java/kr/iotdoor/boot/config/IotdoorProperties.java
+++ b/src/main/java/kr/iotdoor/boot/config/IotdoorProperties.java
@@ -23,6 +23,8 @@ public class IotdoorProperties {
public static class Site {
private String name;
+ private String url;
+ private String ogImage;
private String adminTitle;
private String email;
private String phone;
@@ -42,6 +44,22 @@ public class IotdoorProperties {
this.name = name;
}
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getOgImage() {
+ return ogImage;
+ }
+
+ public void setOgImage(String ogImage) {
+ this.ogImage = ogImage;
+ }
+
public String getAdminTitle() {
return adminTitle;
}
diff --git a/src/main/java/kr/iotdoor/boot/config/SecurityConfig.java b/src/main/java/kr/iotdoor/boot/config/SecurityConfig.java
index 1d8f123..f28fb4b 100644
--- a/src/main/java/kr/iotdoor/boot/config/SecurityConfig.java
+++ b/src/main/java/kr/iotdoor/boot/config/SecurityConfig.java
@@ -18,6 +18,8 @@ public class SecurityConfig {
.requestMatchers(
"/",
"/index.do",
+ "/robots.txt",
+ "/sitemap.xml",
"/portfolio.do",
"/portfolio/**",
"/contact.do",
diff --git a/src/main/java/kr/iotdoor/boot/web/GlobalViewModelAdvice.java b/src/main/java/kr/iotdoor/boot/web/GlobalViewModelAdvice.java
index 8e1305f..653b4c2 100644
--- a/src/main/java/kr/iotdoor/boot/web/GlobalViewModelAdvice.java
+++ b/src/main/java/kr/iotdoor/boot/web/GlobalViewModelAdvice.java
@@ -2,6 +2,7 @@ package kr.iotdoor.boot.web;
import kr.iotdoor.boot.config.IotdoorProperties;
import kr.iotdoor.boot.model.user.AdminUserPrincipal;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.security.authentication.AnonymousAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
@@ -29,6 +30,11 @@ public class GlobalViewModelAdvice {
return List.of();
}
+ @ModelAttribute("canonicalUrl")
+ public String canonicalUrl(HttpServletRequest request) {
+ return request.getRequestURL().toString();
+ }
+
@ModelAttribute("subMainClass")
public String subMainClass() {
return "";
diff --git a/src/main/java/kr/iotdoor/boot/web/PublicPageController.java b/src/main/java/kr/iotdoor/boot/web/PublicPageController.java
index a6781cf..3562a76 100644
--- a/src/main/java/kr/iotdoor/boot/web/PublicPageController.java
+++ b/src/main/java/kr/iotdoor/boot/web/PublicPageController.java
@@ -28,12 +28,16 @@ public class PublicPageController {
}
@GetMapping("/contact.do")
- public String contact() {
+ public String contact(Model model) {
+ model.addAttribute("pageTitle", "문의하기");
+ model.addAttribute("pageDescription", "국제오토텍 자동문, 산업용자동문, 내풍압셔터, 오버헤드도어 시공 및 A/S 상담을 접수합니다.");
return "kr/iotdoor/cmty/contact/contact";
}
@GetMapping("/portfolio.do")
public String portfolio(Model model) {
+ model.addAttribute("pageTitle", "시공 사례");
+ model.addAttribute("pageDescription", "국제오토텍의 자동문, 산업용자동문, 내풍압셔터, 오버헤드도어 시공 사례와 제품 포트폴리오를 확인하세요.");
model.addAttribute("portfolioItems", portfolioService.getPortfolioItems());
return "kr/iotdoor/cmty/portfolio/portfolio";
}
@@ -48,6 +52,8 @@ public class PublicPageController {
);
}
+ model.addAttribute("pageTitle", portfolio.getTitle());
+ model.addAttribute("pageDescription", portfolio.getSummary());
model.addAttribute("portfolio", portfolio);
model.addAttribute("portfolioCount", portfolioService.count());
return "kr/iotdoor/cmty/portfolio/detail";
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 2b79ac5..7b59ffc 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -62,6 +62,8 @@ mybatis:
iotdoor:
site:
name: 국제오토텍
+ url: https://iotdoor.kr
+ og-image: https://iotdoor.kr/resources/kr/iotdoor/comn/site/layout/image/template/logo.jpg
admin-title: 국제오토텍 관리자
email: iotdoor1749@naver.com
phone: 042-585-1749
diff --git a/src/main/resources/static/robots.txt b/src/main/resources/static/robots.txt
new file mode 100644
index 0000000..9679f27
--- /dev/null
+++ b/src/main/resources/static/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://iotdoor.kr/sitemap.xml
diff --git a/src/main/resources/static/sitemap.xml b/src/main/resources/static/sitemap.xml
new file mode 100644
index 0000000..c332eb2
--- /dev/null
+++ b/src/main/resources/static/sitemap.xml
@@ -0,0 +1,18 @@
+
+