PHP/워드프레스

WordPress 게시물 이름 200자 제한 확장하기 개발자를 위한 가이드

이영훈닷컴 2025. 2. 4. 09:39
728x90

WordPress를 사용하다 보면 게시물 이름(Post Name)의 길이가 200자로 제한된다는 사실을 알게 되는 경우가 있습니다. 기본적으로 WordPress는 데이터베이스 구조상 이 제한을 두고 있지만, 특정 프로젝트에서는 더 긴 이름이 필요할 때가 있죠. 이 글에서는 개발자들이 이 제한을 어떻게 확장할 수 있는지 알아보겠습니다.

 

왜 제한이 있을까?
WordPress는 MySQL 데이터베이스의 `post_name` 필드에 200자 제한을 둡니다. 이는 성능 최적화와 데이터베이스 구조를 보호하기 위한 기본 설정입니다. 하지만 긴 URL이 필요한 경우, 제한을 해제하거나 확장해야 할 수 있습니다.

해결 방법: 필터와 데이터베이스 수정

 

필터를 활용한 제한 해제
WordPress는 `wp_insert_post_data` 필터를 제공하여 게시물이 저장되기 전에 데이터를 수정할 수 있습니다. 이 필터를 이용해 `post_name`의 길이를 늘릴 수 있습니다.

add_filter('wp_insert_post_data', function($data) {
if (strlen($data['post_name']) > 200) {
$data['post_name'] = substr($data['post_name'], 0, 255); // 최대 255자로 제한
}
return $data;
});


데이터베이스 구조 수정

MySQL 데이터베이스에서 `wp_posts` 테이블의 `post_name` 필드를 수정하여 제한을 늘릴 수 있습니다.

ALTER TABLE wp_posts MODIFY post_name VARCHAR(255);

 

하지만 이 방법은 워드프레스 코어 업데이트에 영향을 줄 수 있으니 신중히 사용해야 합니다.

주의사항

  • 너무 긴 URL은 SEO에 부정적인 영향을 미칠 수 있습니다.
  • 데이터베이스 수정은 항상 백업을 먼저 진행하세요.
  • 플러그인 개발 시 사용자에게 명확히 알리고, 충돌 방지를 위해 테스트를 철저히 해야 합니다.

WordPress의 유연성을 활용하면 기본 제한을 초월하여 더 많은 가능성을 열 수 있습니다. 이 가이드를 참고하여 프로젝트에 맞는 최적의 설정을 찾아보세요!

728x90