메타(meta) 태그는 HTML 문서 자체에 대한 정보를 담는 데 사용됩니다. 문서의 작성자, 문서 설명(description), 키워드 등이 대표적인 예입니다. 메타 태그는 검색 엔진 최적화(SEO)와 소셜 미디어 공유 결과에도 영향을 주기 때문에, 페이지마다 적절한 메타 정보를 제공하는 것이 중요합니다.
기본 전략: 애플리케이션에서 기본값 정의 후 뷰에서 오버라이드
가장 효율적인 접근 방식은 애플리케이션 수준에서 기본 메타 태그를 정의해 두고, 각 뷰(view)에서 필요에 따라 이를 덮어쓰는(override) 것입니다. 이렇게 하면 모든 페이지가 공통된 기본값을 유지하면서도, 특정 페이지에서만 다른 설명이나 작성자 정보를 지정할 수 있습니다. PHP 기반 프레임워크에서는 아래와 같이 간단하게 구현할 수 있습니다.
1단계: 설정(config) 파일 수정
먼저 애플리케이션 설정 파일에 기본 메타 정보를 추가합니다.
<?php
return [
'addemailid' => 'demo@example.com',
'descrip' => 'docdescription'
];여기서 addemailid는 작성자 이메일 주소를, descrip은 문서 설명을 나타내는 사용자 정의 파라미터입니다.
2단계: 레이아웃(layout)에서 메타 태그 등록
다음으로 레이아웃 파일에서 위에서 정의한 파라미터를 읽어 메타 태그로 등록합니다.
<?php $this->registerMetaTag($app->params['addemailid'], 'addemailid'); $this->registerMetaTag($app->params['descrip'], 'descrip'); ?>
뷰에서 기본 메타 태그 대체하기
특정 뷰에서 다른 메타 정보를 사용하고 싶다면, 해당 뷰 파일 안에서 동일한 방식으로 registerMetaTag()를 호출하면 됩니다. 뷰에서 등록한 메타 태그가 레이아웃의 기본값보다 우선 적용되므로, 별도의 조건 처리 없이도 페이지별로 고유한 메타 정보를 손쉽게 지정할 수 있습니다.
이러한 구조는 사이트 전체에 일관된 기본 메타 정보를 유지하면서도, 개별 페이지의 SEO 설명이나 저자 정보를 세밀하게 관리할 수 있게 해 주므로 규모가 있는 웹 애플리케이션에서 특히 유용합니다.