diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php
index 5e8e60b2d..63eeb2f40 100644
--- a/classes/display/DisplayHandler.class.php
+++ b/classes/display/DisplayHandler.class.php
@@ -125,6 +125,12 @@ class DisplayHandler extends Handler
header('X-Content-Type-Options: ' . $header_value);
}
+ // Print robot headers.
+ if (isset($oModule->module_info->robots_tag) && $oModule->module_info->robots_tag === 'noindex')
+ {
+ header('X-Robots-Tag: noindex');
+ }
+
// flush output buffer
while (ob_get_level())
{
diff --git a/common/lang/en.php b/common/lang/en.php
index c735d68fa..5f9b3325d 100644
--- a/common/lang/en.php
+++ b/common/lang/en.php
@@ -343,6 +343,8 @@ $lang->filter['invalid_float'] = 'The format of %s is invalid. Please enter numb
$lang->filter['invalid_extension'] = 'The format of %s is invalid. e.g. gif, jpg, png';
$lang->security_warning_embed = 'Due to security concern, administrators are not allowed to view embedded items.
To view them, please use another non-administrator ID.';
$lang->msg_pc_to_mobile = 'View mobile optimized version of this page';
+$lang->cmd_robots_tag = 'Search Engine Indexing';
+$lang->msg_about_robots_tag = 'Allow search engines to index this page.';
$lang->cmd_yes = 'Yes';
$lang->cmd_no = 'No';
$lang->cmd_set_multilingual = 'Select Language';
diff --git a/common/lang/ko.php b/common/lang/ko.php
index 0f27231c7..f605fed42 100644
--- a/common/lang/ko.php
+++ b/common/lang/ko.php
@@ -347,6 +347,8 @@ $lang->filter['invalid_extension'] = '%s의 형식이 잘못되었습니다. gif
$lang->security_invalid_session = '바르지 않은 접근입니다. 인증을 위해 다시 로그인해야 합니다.';
$lang->security_warning_embed = '보안 문제로 관리자 아이디로는 embed를 볼 수 없습니다. 확인하려면 다른 아이디로 접속하세요';
$lang->msg_pc_to_mobile = '모바일에 최적화된 화면으로 보기';
+$lang->cmd_robots_tag = '검색엔진 색인';
+$lang->msg_about_robots_tag = '검색엔진이 이 페이지를 색인하는 것을 허용합니다.';
$lang->cmd_yes = '예';
$lang->cmd_no = '아니오';
$lang->cmd_set_multilingual = '다국어 설정';
diff --git a/modules/board/board.admin.controller.php b/modules/board/board.admin.controller.php
index d5fac230a..c69742341 100644
--- a/modules/board/board.admin.controller.php
+++ b/modules/board/board.admin.controller.php
@@ -83,6 +83,7 @@ class BoardAdminController extends Board {
$args->skip_bottom_list_days = max(0, intval($args->skip_bottom_list_days));
$args->browser_title = trim(utf8_normalize_spaces($args->browser_title));
+ $args->robots_tag = ($args->robots_tag === 'noindex') ? 'noindex' : 'all';
$args->meta_keywords = $args->meta_keywords ? implode(', ', array_map('trim', explode(',', $args->meta_keywords))) : '';
$args->meta_description = trim(utf8_normalize_spaces($args->meta_description));
$args->header_text = Rhymix\Modules\Admin\Models\Utility::cleanHeaderAndFooterScripts($args->header_text ?? '');
diff --git a/modules/board/tpl/board_insert.html b/modules/board/tpl/board_insert.html
index b3ff9bba0..c83c8ef2e 100644
--- a/modules/board/tpl/board_insert.html
+++ b/modules/board/tpl/board_insert.html
@@ -36,6 +36,14 @@
{$lang->about_browser_title}
+{$lang->msg_about_robots_tag}
+{$lang->msg_about_robots_tag}
+{$lang->about_layout}