Lewati ke konten
Tutorial

Cara Menambahkan Person Schema Author di Next.js (2026)

M. Irfan Ramadhan4 menit baca
Siluet seseorang dengan wajah buram dilihat dari samping, latar gelap dengan pencahayaan lembut.
Foto: Unsplash
Daftar Isi

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 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. Dokumentasi resmi Google Search Central untuk Article structured data 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:

// 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:

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:

PropertiSinyal lemah (umum ditemukan)Sinyal kuat (direkomendasikan)
@idObjek Person ditulis ulang penuh di tiap halaman@id stabil, dirujuk ulang lewat { "@id": "..." }
author.urlTidak diisi atau mengarah ke homepage sajaMengarah ke halaman bio lengkap (mis. /tentang)
sameAsArray kosong atau tautan ke akun yang tidak aktifHanya profil eksternal yang benar-benar dimiliki dan aktif
Nama penulis di halamanTeks polos tanpa markup apa punTerhubung ke Person schema lewat @id yang sama
Person antar halamanBeberapa objek Person terpisah untuk penulis yang samaSatu entitas @id, dirujuk konsisten di BlogPosting/ProfilePage/WebSite

Ringkasan

  • 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 untuk konteks strateginya, atau lihat Cara Implementasi Schema Markup JSON-LD di Next.js untuk pola komponen render JSON-LD secara umum. Butuh bantuan menerapkan schema markup lengkap di situs sendiri? Cek layanan SEO teknis dan web development yang saya tawarkan.

person schema · json-ld · e-e-a-t · nextjs · schema markup

Pertanyaan yang Sering Diajukan

Apa itu Person schema dan kenapa penting untuk author artikel?

Person schema adalah tipe data terstruktur schema.org yang menjelaskan identitas seseorang lewat properti seperti nama, jabatan, lokasi, dan tautan profil. Untuk author artikel, Person schema membantu mesin pencari dan AI search memverifikasi siapa penulisnya, bagian dari sinyal E-E-A-T (experience, expertise, authoritativeness, trust).

Apakah Person schema wajib punya @id supaya bisa dipakai berulang?

Tidak wajib secara teknis, tapi sangat dianjurkan. @id memberi identitas unik yang stabil pada entitas Person, sehingga schema di banyak halaman (BlogPosting, ProfilePage, WebSite) bisa saling merujuk ke entitas yang sama lewat referensi singkat, bukan mengulang objek Person penuh di setiap halaman.

Apakah properti sameAs di Person schema harus diisi semua akun media sosial?

Tidak. sameAs sebaiknya hanya diisi URL profil yang benar-benar dimiliki dan aktif, seperti LinkedIn, GitHub, atau Wikipedia jika ada. Mengisi array kosong atau tautan ke akun yang tidak ada justru berisiko dianggap sinyal palsu, bukan memperkuat disambiguasi entitas.

M. Irfan Ramadhan

SEO Specialist & Web Developer

Menulis tentang SEO teknis, GEO/AI search, dan pengembangan web modern berdasarkan pengalaman langsung mengerjakan proyek klien.