Person schema adalah markup JSON-LD schema.org bertipe `Person` yang
menjelaskan identitas author lewat properti seperti nama, jabatan, dan
tautan profil, lalu dihubungkan ke artikel lewat properti `author` pada
BlogPosting. Markup ini membantu mesin pencari dan AI search memverifikasi
kredibilitas penulis, salah satu sinyal E-E-A-T yang dinilai Google saat
menentukan sumber yang layak dikutip atau diranking tinggi.

**Ringkasan cepat:**

1. Person schema adalah markup JSON-LD schema.org yang menjelaskan
   identitas author lewat properti seperti `name`, `jobTitle`, `url`, dan
   `sameAs`.
2. Google Search Central merekomendasikan `author.url` mengarah ke
   halaman bio penulis dan `sameAs` ke profil eksternal yang benar-benar
   dimiliki, untuk membantu disambiguasi penulis.
3. Person schema idealnya dibuat sebagai satu entitas dengan `@id`
   stabil, lalu dirujuk berulang dari BlogPosting, ProfilePage, atau
   WebSite tanpa mengulang objek Person penuh di tiap halaman.
4. `sameAs` hanya diisi profil yang benar-benar aktif dimiliki (LinkedIn,
   GitHub, Wikipedia); array kosong atau tautan ke akun yang tidak ada
   berisiko dianggap sinyal palsu, bukan memperkuat entitas.
5. Person schema adalah bagian teknis dari strategi entity SEO yang
   lebih luas, saling terhubung ke artikel lewat referensi `@id` yang
   sama.

## Apa Itu Person Schema dan Kenapa Relevan untuk E-E-A-T?

[Person](https://schema.org/Person) adalah salah satu tipe inti di
schema.org untuk merepresentasikan manusia (hidup, sudah wafat, atau
fiksi) sebagai entitas terstruktur, lengkap dengan properti seperti
`name`, `jobTitle`, `url`, `address`, `image`, dan `sameAs`. Berbeda dari
sekadar menulis nama penulis sebagai teks biasa di halaman, Person schema
membuat identitas itu bisa dibaca mesin secara eksplisit dan dihubungkan
ke entitas lain dalam knowledge graph.

Kaitannya dengan E-E-A-T (Experience, Expertise, Authoritativeness,
Trust) bersifat langsung. Google sendiri mendefinisikan E-E-A-T sebagai
kumpulan faktor yang dipakai sistem rangking untuk menilai kualitas
konten, dengan trust sebagai aspek yang paling penting dari keempatnya:

> ...they identify a mix of factors that can help determine which
> content demonstrates aspects of experience, expertise,
> authoritativeness, and trustworthiness, or what we call E-E-A-T. Of
> these aspects, trust is most important.
>
> — Google Search Central, dokumentasi Creating Helpful, Reliable,
> People-First Content

Person schema adalah implementasi teknis yang mendukung sinyal trust
tersebut: dokumentasi resmi Google Search Central untuk
[Article structured data](https://developers.google.com/search/docs/appearance/structured-data/article)
merekomendasikan penggunaan properti `author.url` yang mengarah ke
halaman bio penulis, serta `sameAs` ke profil eksternal seperti Wikipedia
bila tersedia, keduanya berfungsi membantu Google mendisambiguasi penulis
yang benar. Tanpa markup ini, mesin pencari hanya melihat nama penulis
sebagai teks polos tanpa cara memverifikasi identitasnya.

> To help Google better understand who the author is, we strongly
> recommend using the `type` and `url` (or `sameAs`) properties. Use
> valid URLs for the `url` or `sameAs` properties.
>
> — Google Search Central, dokumentasi Article structured data

### Person Sebagai Entitas Tunggal yang Dipakai Ulang

Pola yang dianjurkan adalah membuat satu objek Person dengan `@id` stabil,
lalu merujuknya lewat `{ "@id": "..." }` di semua schema lain (BlogPosting,
ProfilePage, WebSite) yang perlu menyebut penulis yang sama. Pendekatan
ini menghindari duplikasi data identitas di banyak halaman dan menegaskan
ke mesin pencari bahwa semua schema tersebut merujuk entitas yang benar-benar
sama, bukan beberapa "penulis" yang kebetulan bernama sama.

## Bagaimana Cara Menambahkan Person Schema untuk Author di Next.js?

Langkah pertama adalah membuat fungsi builder yang mengembalikan objek
Person schema, ditempatkan di modul terpusat (mis. `lib/schema.ts`) supaya
bisa dipakai ulang, bukan ditulis manual di tiap halaman:

```ts
// lib/schema.ts
const SITE_URL = "https://situskamu.com";
export const PERSON_ID = `${SITE_URL}/#person`;

export function buildPersonSchema() {
  return {
    "@context": "https://schema.org",
    "@type": "Person",
    "@id": PERSON_ID,
    name: "Nama Penulis",
    url: `${SITE_URL}/tentang`,
    jobTitle: "Jabatan atau Keahlian Utama",
    image: `${SITE_URL}/images/author.jpg`,
    // Hanya isi sameAs dengan profil yang benar-benar ada dan aktif
    sameAs: [
      "https://www.linkedin.com/in/username",
      "https://github.com/username",
    ],
  };
}
```

Objek ini dirender lewat komponen `<script type="application/ld+json">`
di Server Component, mis. lewat `dangerouslySetInnerHTML` yang menerima
hasil `JSON.stringify(buildPersonSchema())`. Karena Server Component
merender penuh di server, markup ini otomatis ada di HTML mentah yang
diterima crawler non-JS seperti GPTBot atau PerplexityBot, tanpa
bergantung eksekusi JavaScript di browser.

## Bagaimana Cara Menghubungkan Person Schema Author ke Artikel Blog?

Setelah Person schema punya `@id` stabil, artikel (BlogPosting) cukup
merujuknya lewat referensi singkat alih-alih mengulang seluruh objek
Person:

```ts
export function buildBlogPostingSchema(article: { title: string; slug: string }) {
  return {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    headline: article.title,
    url: `${SITE_URL}/blog/${article.slug}`,
    author: {
      "@type": "Person",
      "@id": PERSON_ID,
      url: `${SITE_URL}/tentang`,
    },
    publisher: { "@id": PERSON_ID },
  };
}
```

Menyertakan `url` di dalam objek `author` (mengarah ke halaman bio
lengkap, bukan sekadar homepage) sejalan dengan rekomendasi Google di
atas, dan memberi AI search satu halaman kredensial yang bisa diverifikasi
untuk semua artikel yang ditulis penulis yang sama, bukan bio yang
tersebar terpisah di tiap halaman artikel.

Ringkasan sinyal lemah versus kuat untuk implementasi Person schema author,
supaya perbedaannya konkret:

| Properti | Sinyal lemah (umum ditemukan) | Sinyal kuat (direkomendasikan) |
| --- | --- | --- |
| `@id` | Objek Person ditulis ulang penuh di tiap halaman | `@id` stabil, dirujuk ulang lewat `{ "@id": "..." }` |
| `author.url` | Tidak diisi atau mengarah ke homepage saja | Mengarah ke halaman bio lengkap (mis. `/tentang`) |
| `sameAs` | Array kosong atau tautan ke akun yang tidak aktif | Hanya profil eksternal yang benar-benar dimiliki dan aktif |
| Nama penulis di halaman | Teks polos tanpa markup apa pun | Terhubung ke Person schema lewat `@id` yang sama |
| Person antar halaman | Beberapa objek Person terpisah untuk penulis yang sama | Satu entitas `@id`, dirujuk konsisten di BlogPosting/ProfilePage/WebSite |

## Ringkasan: @id Stabil sebagai Kunci Person Schema Author yang Kredibel

- Person schema menjelaskan identitas author secara terstruktur
  (`name`, `jobTitle`, `url`, `sameAs`) sehingga bisa diverifikasi mesin
  pencari, bukan sekadar teks nama penulis biasa.
- Google merekomendasikan `author.url` yang mengarah ke halaman bio
  lengkap dan `sameAs` ke profil eksternal yang benar-benar dimiliki
  untuk membantu disambiguasi penulis.
- Pakai `@id` stabil pada Person schema agar bisa dirujuk berulang dari
  BlogPosting, ProfilePage, atau schema halaman lain tanpa duplikasi.
- Person schema adalah salah satu bagian teknis dari strategi entity SEO
  yang lebih luas — baca [Entity SEO Adalah Apa? Cara Membangun Entitas
  Brand di Knowledge Graph](/blog/entity-seo-adalah-cara-membangun-entitas-brand)
  untuk konteks strateginya, atau lihat [Cara Implementasi Schema Markup
  JSON-LD di Next.js](/blog/cara-implementasi-schema-markup-json-ld-nextjs)
  untuk pola komponen render JSON-LD secara umum. Butuh bantuan menerapkan
  schema markup lengkap di situs sendiri? Cek [layanan SEO teknis dan web
  development](/layanan) yang saya tawarkan.