Skip to content

Modul SEO ​

Toolkit SEO on-page dan teknis lengkap untuk TAVP CMS. Mengelola meta tag, structured data, sitemap, redirect, dan analisis konten.

Ikhtisar ​

Modul SEO menyediakan semua yang dibutuhkan untuk optimasi mesin pencari di level CMS:

  • Meta Tags — Title, description, keywords per record konten
  • Open Graph — Optimasi berbagi di Facebook/LinkedIn
  • Twitter Cards — Optimasi berbagi di Twitter
  • JSON-LD Schemas — Structured data untuk rich snippets
  • XML Sitemap — Dibuat otomatis, otomatis di-ping ke mesin pencari
  • Robots.txt — Dibuat dinamis dari konfigurasi
  • RSS Feed — Sindikasi konten
  • Redirect Manager — Redirect 301/302 dengan pelacakan hit
  • SEO Analyzer — Skor konten beserta saran
  • Social Sharing — Tombol bagikan ke platform utama
  • Webmaster Tools — Verifikasi Google/Bing
  • Google Analytics — Suntik kode pelacakan otomatis
  • Outbound Link Tracking — Deteksi tautan rusak
  • AI Meta Generator — Generate meta otomatis dari konten

Quick Start ​

SEO aktif secara default di TAVP CMS. Tidak perlu setup tambahan.

bash
# Buka dashboard SEO
open https://yoursite.com/admin/seo

# Lihat sitemap
open https://yoursite.com/sitemap.xml

# Lihat robots.txt
open https://yoursite.com/robots.txt

# Lihat RSS feed
open https://yoursite.com/feed

Konfigurasi ​

config/seo.php ​

php
return [
    'enabled' => true,

    'meta' => [
        'title_suffix' => ' | My Site',
        'separator' => ' | ',
        'description_max' => 160,
        'title_max' => 60,
    ],

    'sitemap' => [
        'enabled' => true,
        'path' => '/sitemap.xml',
        'max_urls' => 50000,
        'cache_ttl' => 3600,
        'ping_google' => true,
        'ping_bing' => true,
    ],

    'robots' => [
        'enabled' => true,
        'path' => '/robots.txt',
        'allow' => ['/'],
        'disallow' => ['/admin', '/api'],
        'sitemap_url' => '/sitemap.xml',
    ],

    'open_graph' => [
        'enabled' => true,
        'default_image' => '',
        'default_type' => 'website',
    ],

    'twitter' => [
        'enabled' => true,
        'card_type' => 'summary_large_image',
        'site_handle' => '@yoursite',
    ],

    'schemas' => [
        'enabled' => true,
        'types' => [
            'page' => 'WebPage',
            'post' => 'Article',
            'product' => 'Product',
        ],
        'organization' => [
            'name' => 'My Company',
            'logo' => 'https://yoursite.com/logo.png',
            'url' => 'https://yoursite.com',
        ],
    ],

    'rss' => [
        'enabled' => true,
        'path' => '/feed',
        'limit' => 20,
    ],

    'webmaster' => [
        'google_verification' => env('GOOGLE_SITE_VERIFICATION'),
        'bing_verification' => env('BING_SITE_VERIFICATION'),
    ],

    'analytics' => [
        'google_analytics_id' => env('GOOGLE_ANALYTICS_ID'),
    ],

    'redirects' => [
        'enabled' => true,
        'ignore_case' => true,
        'track_hits' => true,
    ],

    'analyzer' => [
        'enabled' => true,
        'min_title_length' => 30,
        'max_title_length' => 60,
        'min_description_length' => 120,
        'max_description_length' => 160,
    ],

    'social_sharing' => [
        'enabled' => true,
        'platforms' => ['twitter', 'facebook', 'linkedin', 'whatsapp', 'telegram'],
    ],
];

Admin UI ​

Dashboard (/admin/seo) ​

Ikhtisar kesehatan SEO:

  • Total record meta SEO
  • Rata-rata skor SEO
  • Jumlah redirect aktif
  • Jumlah tautan rusak
  • Tautan sitemap dan robots.txt
  • Tombol ping mesin pencari

Settings (/admin/seo/settings) ​

Atur default SEO global:

  • Suffix dan separator title meta
  • Gambar OG default
  • Twitter handle
  • Kode verifikasi Google/Bing
  • ID Google Analytics/Tag Manager
  • Data schema organisasi

Redirects (/admin/seo/redirects) ​

Kelola redirect URL:

  • Tambah redirect baru (dari URL, ke URL, kode status)
  • Lihat daftar redirect beserta jumlah hit
  • Hapus redirect
  • Dukungan 301 (permanen) dan 302 (sementara)

Analyzer (/admin/seo/analyzer) ​

Analisis kualitas SEO konten:

  • Skor keseluruhan (0-100)
  • Daftar error (masalah kritis)
  • Daftar warning (perlu perbaikan)
  • Daftar saran (tips optimasi)
  • Preview pencarian Google

Routes ​

Public Routes ​

RouteMethodDescription
/sitemap.xmlGETXML sitemap
/robots.txtGETRobots.txt
/feedGETFeed RSS/Atom

Admin Routes ​

RouteMethodDescription
/admin/seoGETDashboard SEO
/admin/seo/settingsGET/POSTPengaturan SEO
/admin/seo/redirectsGET/POSTRedirect manager
/admin/seo/redirects/deletePOSTHapus redirect
/admin/seo/analyzerGETAnalisis konten
/admin/seo/pingPOSTPing mesin pencari

JSON-LD Schemas ​

Generator schema membuat structured data untuk rich snippets:

Article (untuk post) ​

json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "My Blog Post",
  "description": "Post description",
  "image": "https://yoursite.com/image.jpg",
  "datePublished": "2026-07-11T00:00:00+00:00",
  "dateModified": "2026-07-11T00:00:00+00:00",
  "author": {
    "@type": "Person",
    "name": "Admin"
  }
}

Product ​

json
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "My Product",
  "description": "Product description",
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "USD"
  }
}
json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://yoursite.com"},
    {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://yoursite.com/blog"}
  ]
}

Skor SEO Analyzer ​

SkorRatingWarna
70-100BagusHijau
40-69Perlu perbaikanKuning
0-39BurukMerah

Pemeriksaan ​

PemeriksaanPoinTipe
Title hilang-30Error
Title terlalu pendek/panjang-10Warning
Meta description hilang-20Error
Meta description terlalu pendek/panjang-10Warning
OG title hilang-5Warning
OG image hilang-5Saran
Canonical URL hilang-3Saran
Focus keyword belum diatur-5Saran
Tidak ada gambar di konten-3Saran
Konten tipis (<300 kata)-10Warning
Kepadatan keyword terlalu rendah/tinggi-5/-10Warning

Tabel Database ​

seo_meta ​

Menyimpan field SEO per record.

ColumnTypeDescription
idbigintPrimary key
content_typevarcharNama content type
content_idbigintID record konten
meta_titlevarcharSEO title
meta_descriptiontextSEO description
meta_keywordsvarcharKeyword dipisah koma
og_titlevarcharOpen Graph title
og_descriptiontextOpen Graph description
og_imagevarcharURL gambar Open Graph
og_typevarcharTipe Open Graph
twitter_titlevarcharTwitter Card title
twitter_descriptiontextTwitter Card description
twitter_imagevarcharURL gambar Twitter Card
twitter_cardvarcharTipe Twitter Card
canonical_urlvarcharCanonical URL
robotsvarcharDirektif meta robots
schema_typevarcharTipe schema JSON-LD
schema_datatextCustom schema JSON
seo_scoreintSkor SEO (0-100)
focus_keywordvarcharKeyword target

redirects ​

Menyimpan aturan redirect URL.

ColumnTypeDescription
idbigintPrimary key
from_urlvarcharURL sumber
to_urlvarcharURL tujuan
status_codeintStatus HTTP (301/302)
is_activebooleanFlag aktif
is_regexbooleanFlag pola regex
hitsintHit counter
last_hit_attimestampWaktu hit terakhir

Melacak tautan keluar untuk deteksi tautan rusak.

ColumnTypeDescription
idbigintPrimary key
content_typevarcharContent type sumber
content_idbigintID konten sumber
urlvarcharURL keluar
status_codeintKode status HTTP
is_brokenbooleanFlag rusak
last_checked_attimestampWaktu cek terakhir

Released under the MIT License.