wangta69/laravel-meta

MetaTag Manager for laravel

Installs: 48

Dependents: 4

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/wangta69/laravel-meta

8.12.9 2025-12-18 02:25 UTC

This package is auto-updated.

Last update: 2026-01-17 08:08:42 UTC


README

Laravel Meta는 라라벨 애플리케이션을 위한 종합 SEO 솔루션입니다. 단순한 태그 삽입을 넘어, DB 기반 관리 시스템, 실시간 이미지 생성, 지능형 JSON-LD 엔진, 그리고 IndexNow를 통한 즉각적인 검색 엔진 색인 기능을 제공합니다.

Installation

composer require wangta69/laravel-meta
php artisan pondol:install-meta

1. 메타 데이터 관리 (Database & Real-time)

A. 데이터베이스 기반 관리

라우트 정보를 기준으로 메타 데이터를 저장하여 관리자 페이지에서 수정 가능하게 합니다.

Meta::set('market.item', ['item' => (string)$item->id])
    ->title($item->name)
    ->description($item->short_desc)
    // 2차원 배열에서 특정 키값을 추출하여 키워드로 자동 변환
    ->extractKeywordsFromArray($item->tags, 'tag')
    ->image(\Storage::url($item->image))
    ->update();

B. 실시간 메타 수정 및 로드

현재 페이지의 라우트를 분석해 자동으로 데이터를 가져오며, 즉석에서 내용을 변경할 수 있습니다.

// Controller
$meta = Meta::get()->title($request->q . ' 검색결과');

return view('search', compact('meta'));

2. 블레이드 컴포넌트 (Blade Components)

헤더 태그 출력뿐만 아니라, 검색 엔진에 콘텐츠 변경을 알리는 전용 컴포넌트를 제공합니다.

<!-- 헤더 영역: 메타 태그, OG, Twitter, JSON-LD 자동 출력 -->
<x-pondol-meta::meta :meta="$meta" />

<!-- 본문 영역: 네이버/빙 등 검색엔진 자동 색인(IndexNow) 및 인증 처리 -->
<x-pondol-meta::indexnow-auth :meta="$meta ?? null" />

3. 강력한 SEO 도구 (Advanced SEO)

✨ Smart Description (지능형 문구 생성)

데이터 유무에 따라 문장을 자연스럽게 조합하여 매력포인트()와 같은 빈 괄호 노출을 방지합니다.

$meta->smartDescription(
    "사주 분석 결과.",
    $charms, // 배열 데이터
    "숨겨진 매력 포인트(:data) 확인!", // 데이터 존재 시에만 문구 삽입
    "지금 바로 확인해보세요."
);

🏷️ 제목 접미사 (Suffix)

페이지 번호 등 기존 제목 뒤에 공통적으로 붙는 텍스트를 처리합니다.

Meta::get()->suffix(function($suffix) use($page) {
    $suffix->title = ' - ' . $page . '페이지';
});

4. 지능형 JSON-LD (Structured Data)

Schema.org 규격에 맞는 구조화 데이터를 지원합니다. 여러 타입이 섞여도 지능적으로 병합(Smart Merge)하여 구글 리치 결과를 생성합니다.

  • 지원 타입: Article, Person, Product, Service, FAQPage 등
Meta::get()
    ->type('Person')
    ->structuredData([
        'name' => '스타 이름',
        'jobTitle' => '가수',
        'memberOf' => ['@type' => 'Organization', 'name' => '그룹명']
    ])
    ->faq(function($meta) {
        $meta->addFaq("질문 내용", "답변 내용");
    });

5. 이미지 관리 (Static & Dynamic)

A. 기존 이미지 경로 설정

Meta::get()->image('/path/to/image.jpg');

B. 실시간 텍스트 이미지 생성 (Dynamic OG Image)

설정된 배경 위에 텍스트가 올라간 이미지를 즉석에서 생성합니다.

Meta::get()->create_image(function($image) {
    $image->save_path = 'public/meta/banner.png'; // 저장 경로
    $image->background_image = public_path('images/bg.jpg'); // 배경
    $image->font = public_path('fonts/Nanum.ttf'); // 폰트
    $image->fontSize = 25; // 크기
    $image->create();
});

6. 관리소 및 사이트맵 (Admin & Sitemap)

관리자 페이지

웹에서 라우트별 메타 정보를 직접 수정할 수 있습니다. config/pondol-meta.php에서 접근 권한 설정 후 접속하세요.

  • URL: yourDomain/meta/admin

XML 사이트맵

검색 엔진 최적화의 필수인 사이트맵을 자동 생성합니다.

  • Google: yourDomain/meta/google.xml
  • Naver: yourDomain/meta/naver.xml

Demo (데모 사이트)

본 패키지의 모든 기능(Meta, JSON-LD, IndexNow)이 실제로 적용되어 운영 중인 사례입니다.

License

The MIT License (MIT).