Panduan Sitecore SEO
cara membuat sebuah Sitecore situs peringkat — dua platforms itu perubahan semuanya (XP vs XM Cloud), apa SXA memberikan Anda out dari box dan apa ini tidak, dan platform-spesifik traps itu catch enterprise tim: default robots.txt itu blocks setiap crawler, aliases itu buat duplicate konten di HTTP 200, dan metadata itu silently fails untuk inherit karena blank tidak NULL.
Sitecore adalah sebuah enterprise DXP itu ships dengan hampir Tidak SEO functionality out dari box — dan dua product lines behave very differently. Sitecore XP adalah tradisional server-dirender.NET; XM Cloud (renamed SitecoreAI di Sitecore's saat ini docs) adalah headless SaaS di mana sebuah Berikutnya.js front end (melalui JSS, now published sebagai konten SDK) controls HTML dan Anda manage SEO dengan Berikutnya.js metadata APIs. SXA menambahkan basics (sitemap, robots.txt management, metadata fields) tetapi semuanya masih perlu configuration. Three Sitecore-spesifik traps catch tim: default robots.txt blocks setiap crawler jika robots field adalah left blank (empty ≠ permissive); item aliases sajikan HTTP 200 pada keduanya URLs, membuat benar duplicate konten itu canonical tidak perbaiki secara otomatis; dan blank metadata fields jangan fall back untuk Standard nilai unless 'Reset Blank' adalah enabled, karena blank tidak NULL. pada enterprise scale Sitecore lives di, governance — sebuah base SEO template, validation aturan, environment control — penting sebagai banyak sebagai apa pun single setting.
Bukti untuk klaim ini The article's described sitecore-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Cakupan: Platform-specific capability documentation. Tingkat keyakinan: tinggi · Diverifikasi: Sitecore: SEO Bukti untuk klaim ini Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Cakupan: Google requirements independent of platform. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: SEO Starter GuideTL;DR — Sitecore adalah sebuah big enterprise CMS, dan ini melakukan tidak tangani SEO untuk Anda. basics setiap situs perlu — halaman judul, deskripsi, sebuah sitemap, sebuah sensible robots.txt — memiliki untuk menjadi siapkan, dan Sitecore memiliki sebuah sedikit traps itu dapat diam-diam block Anda seluruh situs atau buat duplicate halaman. Knowing mereka exist adalah sebagian besar dari battle.
Apa Sitecore adalah
Sitecore adalah sebuah Digital Experience Platform — sebuah besar, enterprise CMS itu big companies gunakan untuk jalankan kompleks situs web dengan personalization, multiple languages, dan banyak situs di satu install. ini muncul di dua main flavors, dan perbedaan penting sebuah lot untuk SEO:
- Sitecore XP (Experience Platform) — tradisional, older style. ini adalah dibangun pada.NET dan renders halaman pada server, so mesin pencari umumnya see finished HTML.
- XM Cloud — modern, cloud versi. Di sini Sitecore hanya stores konten, dan sebuah terpisah front-end situs web (biasanya dibangun dengan Berikutnya.js) pulls itu konten di dan membangun sebenarnya halaman. SEO adalah controlled di itu front-end app, tidak di dalam Sitecore.
big hal untuk know
Sitecore tidak memberikan Anda banyak SEO out dari box. ada sebuah tambahkan-pada called SXA (Sitecore Experience Accelerator) itu menyediakan essentials — sebuah sitemap, robots.txt control, dan metadata fields — tetapi Anda (atau Anda developers) masih memiliki untuk set ini semua up. Tanpa SXA, bahkan basic hal like sebuah meta deskripsi field memiliki untuk menjadi ditambahkan oleh hand.
Three traps untuk watch untuk
Sitecore memiliki sebuah sedikit quirks itu catch tim off guard:
- ** robots.txt itu blocks everyone.** jika robots field di Sitecore’s settings adalah left blank, Sitecore tidak sajikan sebuah empty (permissive) robots.txt — ini menyajikan satu itu blocks setiap mesin pencari. Blank melakukan tidak berarti “izinkan semuanya” (terjemahan) “izinkan semuanya” di sini.
- Aliases itu duplicate halaman. Sitecore lets Anda memberikan sebuah halaman sebuah kedua URL (sebuah “alias” (terjemahan) “alias”). Keduanya URLs mengembalikan wajar “200 OK” (terjemahan) “200 OK” — ada Tidak redirect — so Anda end up dengan dua langsung URLs untuk yang sama konten, yang adalah duplicate konten.
- Empty fields itu jangan fill themselves di. Sitecore dapat set sebuah default nilai untuk sebuah field (sebuah “Standard Value” (terjemahan) “Standard nilai”), tetapi jika sebuah author clears field, ini tetap blank alih-alih falling back untuk default. hasil adalah halaman dengan empty judul dan deskripsi.
ingin teknis versi — bagaimana SEO sebenarnya berfungsi pada XP vs XM Cloud, Berikutnya.js metadata pipeline, hreflang, dan enterprise governance? Switch untuk Advanced tab.
Bukti untuk klaim ini The article's described sitecore-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Cakupan: Platform-specific capability documentation. Tingkat keyakinan: tinggi · Diverifikasi: Sitecore: SEO Bukti untuk klaim ini Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Cakupan: Google requirements independent of platform. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: SEO Starter GuideTL;DR — Sitecore ships dengan hampir Tidak SEO functionality; SXA menambahkan basics tetapi perlu configuration. dua platforms diverge completely: XP adalah server-dirender.NET (crawler see finished HTML, personalization renders server-side); XM Cloud adalah headless, di mana sebuah Berikutnya.js front end controls HTML dan Anda manage SEO dengan Berikutnya.js metadata APIs (
generateMetadata,MetadataRoute) — dengan SSG/ISR recommended rendering modes. platform-spesifik traps: default robots.txt blocks semua crawler ketika field adalah blank; item aliases kembalikan HTTP 200 pada keduanya URLs (benar duplicate konten, Tidak canonical perbaiki oleh default); dan blank metadata fields jangan inherit Standard nilai unless “Reset Blank” (terjemahan) “Reset Blank” adalah enabled (blank ≠ NULL). di Sitecore’s enterprise scale, governance — sebuah base SEO template, validation aturan, environment control — adalah nyata berfungsi. (Naming note: Sitecore’s docs now panggil XM Cloud product SitecoreAI; architecture di bawah adalah unchanged.)
Dua platforms, dua completely berbeda SEO models
single sebagian besar penting hal untuk establish sebelum touching apa pun: yang Sitecore adalah Anda pada? product name adalah yang sama; SEO mechanics adalah tidak.
- Sitecore XP (Experience Platform). Tradisional.NET, server-dirender melalui Razor/MVC, deployed pada-premise atau di managed cloud. Googlebot umumnya menerima finished HTML. SEO adalah managed di dalam Sitecore — di templates, Standard nilai, dan permintaan pipelines.
- XM Cloud. Headless SaaS. Sitecore stores konten dan exposes ini di atas sebuah GraphQL API (Experience Edge); sebuah decoupled front end — hampir selalu Berikutnya.js dibangun dengan Sitecore JSS (JavaScript Services) — renders HTML. SEO lives di Berikutnya.js application layer. Sitecore holds konten; Berikutnya.js controls output.
«A naming note if you’re checking Sitecore’s own docs while reading this: as of
mid-2026, Sitecore’s documentation site has renamed the composable SaaS product
from “XM Cloud” to SitecoreAI — the old doc.sitecore.com/xmc/... and
developers.sitecore.com/learn/accelerate/xm-cloud/... URL paths now redirect to
.../sai/.../sitecoreai/... paths, and the platform’s own landing page describes
it as “a cloud-native, SaaS, hybrid headless digital experience platform.” The
architecture this article describes is unchanged — Experience Edge, GraphQL,
a decoupled Next.js front end — but the front-end SDK is now published as
Content SDK (open source, Next.js-first) rather than under the JSS name, and
you’ll see “SitecoreAI” rather than “XM Cloud” in current screenshots and menu
labels. I’ve kept “XM Cloud” in this article because that’s still the term most
practitioners search for and most existing implementations run on, but don’t be
thrown if your Sitecore rep or the Cloud Portal now says SitecoreAI — same
platform, same SEO mechanics below.
» (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh satu, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
di keduanya cases practical baseline adalah yang sama. sebagai Fishtank’s Marcel put ini back di 2018, “Sitecore ships dengan virtually Tidak SEO functionality (dengan itu exception dari SXA yang includes some basics).” (terjemahan) “Sitecore ships dengan virtually Tidak SEO functionality (dengan exception dari SXA yang mencakup beberapa basics).” itu’s masih right mental model. SXA (Sitecore Experience Accelerator) adalah layer itu memberikan Anda sebuah sitemap module, robots.txt management di konten tree, dan standardized metadata fields. Tanpa ini, semua dari itu adalah custom development.
ini adalah squarely SEO perusahaan territory. Sitecore implementations involve dedicated developers dan solusi partners, dan — sebagai I’ve ditulis tentang enterprise situs umumnya — “itu lebih kemungkinan besar Anda adalah untuk jalankan menjadi multiple tech stacks,” (terjemahan) “ lebih mungkin Anda adalah untuk jalankan ke multiple tech stacks,” legacy sistem, dan split kepemilikan di seluruh bagian. pertahankan itu di mind: pada Sitecore, perbaiki untuk sebuah SEO masalah adalah sering sebuah template perubahan atau sebuah pipeline override owned oleh sebuah developer, tidak sebuah setting Anda flip yourself.
Metadata — dan blank-vs-NULL trap
SEO fields (halaman judul, deskripsi meta, Open Graph tags) langsung di Anda halaman data templates. bersih pattern adalah sebuah base SEO template itu setiap halaman template inherits dari, so fields exist di mana-mana. Ken Gray dari Konabos notes default kesenjangan secara langsung: “out-dari-itu-box, Sitecore’s data templates mungkin tidak include some dari itu Meta Data fields.” (terjemahan) “out-dari—box, Sitecore’s data templates mungkin tidak sertakan beberapa dari Meta data fields.”
Standard nilai let Anda set sensible defaults untuk itu fields (misalnya sebuah
$name token sebagai sebuah judul fallback). tetapi di sini’s Sitecore-spesifik trap itu
produces missing metadata di scale. Sitecore’s own docs adalah jelas: “Jika itu
value dari a field adalah NULL, itu item contains itu standard value untuk itu field sebagai
didefinisikan di itu data template untuk itu item.” (terjemahan) “jika
nilai dari sebuah field adalah NULL, item berisi standard nilai untuk itu field sebagai
didefinisikan di data template untuk itu item.” catch adalah itu sebuah blank field
adalah tidak NULL. Ketika sebuah konten author clears sebuah deskripsi meta, ini becomes blank
— dan sebuah blank field melakukan tidak fall back untuk Standard nilai unless “Reset
Blank” (terjemahan) “Reset
Blank” adalah enabled pada itu field. hasil adalah halaman rendering
<meta name="description" content=""> alih-alih inheriting sebuah default. pada sebuah
besar situs, itu’s thousands dari empty deskripsi tidak seorang pun yang dimaksud.
perbaiki adalah twofold: enable “Reset Blank” (terjemahan) “Reset Blank” pada metadata fields di mana sebuah fallback adalah desired, dan tambahkan validation aturan itu enforce non-empty judul dan deskripsi (dan character limits) so authors dapat’t silently ship blanks.
URL management dan alias trap
Sitecore generates URLs dari konten-tree path oleh default; bersih URLs come dari SXA settings atau custom item resolvers.
trap adalah item aliases — alternate URLs Anda dapat attach untuk apa pun item. mereka look harmless dan mereka adalah tidak SEO-neutral. sebagai Dheer Rajpoot terdokumentasi, “Tidak redirect (Tidak 301 atau 302 HTTP status code) happens ketika Anda adalah menggunakan aliases di Sitecore,” (terjemahan) “Tidak redirect (Tidak 301 atau 302 HTTP kode status) happens ketika Anda adalah menggunakan aliases di Sitecore,” yang berarti “multiple URLs akan menjadi dibuat untuk a single halaman URL.” (terjemahan) “multiple URLs akan menjadi dibuat untuk sebuah single halaman URL.” Keduanya canonical URL dan alias kembalikan HTTP 200 dengan identical konten — genuine duplicate konten, dan Sitecore melakukan tidak auto-emit sebuah tag canonical untuk resolve ini.
Anda memiliki dua governance-grade memperbaiki:
- Override
AliasResolverdiHttpRequestpipeline untuk inject sebuah tag canonical pointing di nyata URL, atau - Modify alias pipeline untuk issue sebuah 301 redirect alih-alih serving alias secara langsung.
My recommendation adalah kedua: treat aliases sebagai redirects, tidak alternate access URLs. Ken Gray’s advice applies broadly di sini — “gunakan Sitecore’s canonical link management untuk specify itu preferred version dari a URL” (terjemahan) “gunakan Sitecore’s canonical tautan management untuk specify preferred versi dari sebuah URL” — tetapi pada aliases secara khusus, sebuah 301 adalah cleaner daripada relying pada canonical hints.
Sitemaps
pada SXA, configure sitemap di situs/Settings → mesin pencari Sitemap →
Sitemap Mode. Dua relevant modes: Stored di cache ( default —
regenerates dynamically; baik untuk frequently diperbarui atau Azure-hosted situs) dan
Stored di file (sebuah static file; better untuk besar situs itu perubahan
infrequently, avoiding regeneration overhead). SXA secara otomatis appends
sitemap URL untuk robots.txt, dan sitemap lives di /sitemap.xml. sebuah umum
failure: jika TargetHostName tidak configured, sitemap mengembalikan sebuah 404.
pada XM Cloud + Berikutnya.js, generate sitemap programmatically dengan
MetadataRoute.Sitemap, querying Experience Edge di atas GraphQL — yang lets Anda
exclude non-dapat diindeks URLs di application layer. Sitecore’s own guidance notes
itu “Berikutnya.js offers built-di sitemap dan robots.txt generation.” (terjemahan) “Berikutnya.js offers dibangun-di sitemap dan robots.txt generation.”
Robots.txt — default itu blocks semuanya
ini adalah Sitecore trap dengan highest blast radius. pada SXA, robots.txt adalah configured di konten tree (situs Settings → Robots konten field), dan Anda harus republish situs setelah sebuah perubahan. gotcha, straight dari Sitecore’s docs: “If no rules are added, the system writes: ‘User-agent: * Disallow: /’” (terjemahan) “jika Tidak aturan adalah ditambahkan, sistem menulis: ‘pengguna-agent: * Disallow: /’” — yang blocks setiap crawler. sebuah empty robots field adalah tidak sebuah permissive robots.txt; ini adalah sebuah situs-wide block. Anda harus explicitly set:
User-agent: *
Allow: /pada sebagian besar platforms sebuah missing robots.txt berarti “crawl semuanya.” (terjemahan) “crawl semuanya.” pada Sitecore ini
dapat berarti opposite, so verifying production robots.txt adalah sebuah non-negotiable
launch langkah. pada XM Cloud + Berikutnya.js, gunakan MetadataRoute.Robots untuk sebuah
code-driven, jenis-safe robots.txt. Secara terpisah, CM (konten Management)
instances dan QA/staging environments seharusnya selalu disallow semua — hanya CD
(konten Pengiriman) production instance seharusnya menjadi dapat di-crawl.
Multilingual, hreflang, dan multisite
Sitecore stores language versi sebagai terpisah versi dari yang sama item, tidak
terpisah items. itu, combined dengan language fallback (item-tingkat atau lebih
granular field-tingkat, e.g. sebuah es-MX → es-ES → en chain), dapat sajikan sama
konten di multiple language URLs — sebuah duplicate-konten vector unless hreflang
sinyal hubungan. dan hreflang adalah tidak automatic di standard Sitecore;
ini memiliki untuk menjadi ditambahkan untuk templates (SXA dapat generate ini ketika configured), dengan penuh
absolute URLs, bidirectional references, dan sebuah x-default. sebagai John Mueller put
ini (cited oleh Jakub Koba), “TBH hreflang adalah satu dari itu paling complex aspects dari SEO
(jika tidak itu paling complex satu).” (terjemahan) “TBH hreflang adalah satu dari paling kompleks aspects dari SEO
(jika tidak paling kompleks satu).” jangan underestimate ini.
Sitecore juga natively mendukung multisite — banyak situs di satu install, sometimes sharing konten. Shared konten di seluruh situs boundaries perlu sebuah deliberate canonical strategy, dan setiap situs perlu -nya own sitemap dan robots.txt. ini adalah persis jenis dari split-kepemilikan, shared-infrastructure complexity I flagged di enterprise SEO teknis: “Sometimes berbeda orang adalah responsible untuk berbeda sections dari itu website atau even berbeda halaman, yang dapat membuat internal linking time-consuming.” (terjemahan) “Sometimes berbeda orang adalah responsible untuk berbeda bagian dari situs web atau bahkan berbeda halaman, yang dapat membuat internal linking time-consuming.”
«## Headless rendering strategy (XM Cloud) » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian empat puluh empat, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Satu layer-kepemilikan poin worth menjadi jelas tentang, since ini trips orang up: XM Cloud environments memiliki keduanya sebuah editing host dan sebuah rendering host, dan mereka adalah tidak yang sama hal. Sitecore’s own docs draw line dengan jelas — editing host ada hanya untuk power WYSIWYG editing experience di dalam halaman Builder/Design Studio, “adalah tidak set up atau scaled untuk serving langsung traffic,” (terjemahan) “adalah tidak siapkan atau scaled untuk serving langsung traffic,” dan sees internal (author-hanya) traffic. rendering host adalah publik-facing Berikutnya.js app — hosted pada Vercel, Netlify, atau Azure, consuming konten dari Experience Edge, dan scaled untuk sajikan nyata situs pengunjung. crawler hanya ever hit rendering host; editing host’s rendering perilaku (atau sebuah editing-host URL leaking ke sebuah sitemap atau getting ditautkan untuk) adalah tidak representative dari apa Googlebot sees dan tidak sesuatu mesin pencari seharusnya menjadi able untuk reach di semua.
pada XM Cloud rendering mode Anda choose di Berikutnya.js adalah SEO decision. Akshay Sura (Konabos) lays out four options cleanly:
| Strategy | SEO impact |
|---|---|
| SSG (static) | Best — “SSG pre-renders HTML di build time… Penelusuran engines dapat easily crawl itu pre-dirender HTML.” (terjemahan) “SSG pre-renders HTML di bangun time… mesin pencari dapat easily crawl pre-dirender HTML.” |
| ISR (incremental static regen) | baik — static performa dengan background freshness; recommended untuk konten di scale |
| SSR (server-side render) | baik — “Fully rendered HTML is ready for search engines to index.” (terjemahan) “Fully dirender HTML adalah ready untuk mesin pencari untuk indeks.” |
| CSR (client-side render) | Worst — “Penelusuran engines mungkin struggle dengan indexing JavaScript-dirender konten.” (terjemahan) “mesin pencari dapat struggle dengan pengindeksan JavaScript-dirender konten.” |
recommendation: SSG atau ISR untuk SEO-critical konten; reserve CSR untuk
interactive UI hanya. Metadata adalah set melalui generateMetadata (App Router). David
Austin (Fishtank) notes sebuah performa nicety: “All fetch calls dalam
generateMetadata adalah memoized, meaning identical URLs adalah hanya fetched setelah
across itu application, preventing redundant requests.” (terjemahan) “semua fetch panggilan di dalam
tidak terdefinisi adalah memoized, meaning identical URLs adalah hanya fetched setelah
di seluruh application, preventing redundant permintaan.” dan sebagai Sebastián Aliaga
puts ini, “Itu dynamic approach adalah itu better method untuk Sitecore Headless sebagai
Anda’ll menjadi able untuk take apa part dari itu halaman’s layout data dan incorporate it.” (terjemahan) “ dynamic approach adalah better metode untuk Sitecore Headless sebagai
Anda’ll menjadi able untuk take apa bagian dari halaman’s layout data dan incorporate ini.”
Personalization — jangan cloak
Sitecore’s personalization adalah sebuah nyata SEO consideration. pada XP, personalization renders server-side, so Googlebot sees default (un-personalized) experience — pastikan itu default adalah menyelesaikan dan SEO-dioptimalkan, tidak thin. pada XM Cloud, client-side personalization (JSS) dapat hide konten dari crawler itu jangan jalankan JavaScript; pre-render default dengan SSR, atau personalize di edge.
hard aturan di seluruh keduanya: tidak pernah sajikan berbeda konten untuk crawler daripada untuk pengguna — itu’s cloaking, dan ini adalah sebuah guidelines violation. tidak pernah personalize utama H1, FAQ konten, atau data terstruktur dengan client-side aturan. Personalization seharusnya tambahkan untuk, tidak pernah replace, canonical konten.
data terstruktur
gunakan JSON-LD di <script type="application/ld+json">. pada XP, render ini dari
template fields di Anda Razor view atau melalui pipeline; pada XM Cloud, model schema
fields di templates, retrieve di atas GraphQL, dan render di Berikutnya.js component.
Prioritize FAQPage, HowTo, Product, Article, dan BreadcrumbList. Anda dapat
deploy melalui sebuah tag manager — Martha van Berkel (Schema App) notes tim “typically
gunakan JavaScript untuk deploy Schema Markup untuk Sitecore… keduanya efficient dan scalable” (terjemahan) “typically
gunakan JavaScript untuk deploy Schema Markup untuk Sitecore… keduanya efficient dan scalable”
— tetapi menjadi aware client-side injection berarti AI crawler dapat miss ini, so prefer
server-dirender JSON-LD untuk maximum coverage. Peter Lambrou (Codehouse) frames
payoff sekadar: “Add schema markup untuk itu halaman HTML untuk membuat Anda penelusuran hasil
muncul lebih attractive.” (terjemahan) “tambahkan schema markup untuk halaman HTML untuk membuat Anda hasil pencarian
muncul lebih attractive.”
Enterprise governance — di mana nyata berfungsi adalah
Single settings aside, SEO outcome pada sebuah big Sitecore install adalah decided oleh governance. I’ve mengatakan sebelum itu enterprise situs adalah di mana SEO teknis shines precisely karena “enterprise sites dapat memiliki complex infrastructures dan a lot dari legacy sistem di place” (terjemahan) “enterprise situs dapat memiliki kompleks infrastructures dan sebuah lot dari legacy sistem di place” — dan “I doubt there’s a major website that is technically perfect.” (terjemahan) “I doubt ada sebuah major situs web itu adalah technically perfect.” recurring Sitecore-spesifik governance items:
- Template sprawl. Multiple templates untuk yang sama purpose, setiap dengan berbeda (atau missing) SEO fields. Audit them; enforce sebuah base SEO template itu setiap halaman template inherits.
- Metadata validation. “Reset Blank” (terjemahan) “Reset Blank” plus field-tingkat validation so authors dapat’t ship empty atau di atas-length judul dan deskripsi.
- Alias governance. sebuah policy itu aliases adalah hanya dibuat dengan sebuah canonical override atau sebagai 301s.
- Environment control. CM/QA/staging disallowed; production explicitly diizinkan dan verified.
- anggaran crawling di scale. Faceted navigation, language versi, dan parameter URLs dapat blow up URL space; curate sitemaps dan govern robots/noindex tightly. (See anggaran crawling.)
AI summary
sebuah condensed take pada Advanced versi:
- Dua platforms, dua SEO models. Sitecore XP = tradisional server-dirender .NET; crawler see finished HTML; SEO managed di dalam Sitecore (templates, Standard nilai, pipelines). XM Cloud = headless SaaS; sebuah Berikutnya.js front end (melalui JSS, now published sebagai konten SDK) controls HTML; SEO managed dengan Berikutnya.js metadata APIs. Sitecore’s docs now brand ini product SitecoreAI; architecture adalah yang sama.
- Editing host ≠ rendering host. pada XM Cloud, editing host adalah internal-hanya (WYSIWYG editing, tidak scaled untuk langsung traffic); rendering host adalah publik Berikutnya.js app crawler sebenarnya hit, disajikan dari Vercel/ Netlify/Azure dan fed oleh Experience Edge.
- Hampir tidak ada apa pun out dari box. “Sitecore ships dengan virtually Tidak SEO functionality” (terjemahan) “Sitecore ships dengan virtually Tidak SEO functionality” — SXA menambahkan sitemap, robots.txt management, dan metadata fields, tetapi semua perlu configuration.
- Robots.txt trap: sebuah blank robots field membuat Sitecore output
User-agent: * / Disallow: /— blocking setiap crawler. Empty ≠ permissive; setAllow: /explicitly dan republish. - Alias trap: item aliases kembalikan HTTP 200 pada keduanya URLs dengan Tidak redirect — benar duplicate konten. Canonical tidak applied secara otomatis; perbaiki dengan sebuah canonical override atau sebuah 301 pipeline perubahan.
- Metadata trap: blank ≠ NULL. sebuah cleared field melakukan tidak inherit -nya Standard nilai unless “Reset Blank” (terjemahan) “Reset Blank” adalah enabled — sebuah umum sumber dari empty judul/deskripsi di scale. tambahkan validation aturan.
- Headless rendering: SSG/ISR recommended untuk SEO; SSR fine; CSR worst.
Metadata melalui
generateMetadata; sitemap/robots melaluiMetadataRoute. - tidak pernah cloak: jangan personalize H1, FAQs, atau data terstruktur untuk crawler; pertahankan default experience SEO-menyelesaikan.
- Enterprise governance adalah nyata berfungsi: base SEO template, metadata validation, alias policy, environment control (block CM/QA/staging), dan crawl budget curation.
Dokumentasi resmi
Utama-sumber documentation — Sitecore’s own, plus Google guidance itu applies (Google memiliki Tidak Sitecore-spesifik docs).
«Sitecore
- Search engine optimization (SEO) — XM Cloud / SitecoreAI — the documented SEO feature set: sitemap, language codes in sitemap URLs, robots.txt, redirects, image optimization. (This URL now 308-redirects to a
.../sai/.../sitecoreai/...path — Sitecore’s docs have renamed the product SitecoreAI.) - Configure the robots.txt file — SitecoreAI — the source of the default-block behavior; where the robots field lives and why you must republish.
- Configure a sitemap — SXA — Sitemap Mode (cache vs file), attributes, and the TargetHostName 404 gotcha.
- Standard values for data template fields — XM — the NULL-vs-blank inheritance model and token support.
- Environment, editing hosts and rendering hosts — SitecoreAI — the CM/editing-host/rendering-host split: only the rendering host serves public (and crawler) traffic. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian enam puluh enam, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- On-page SEO Optimization — Accelerate Cookbook (XM Cloud / SitecoreAI) — Sitecore’s own on-page checklist (H1s, alt text, redirects, mixed content).
- Optimizing content for AI — Accelerate Cookbook (XM Cloud / SitecoreAI) — Sitecore’s GEO guidance (SSR/SSG/ISR, component-based authoring, schema). » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian enam puluh enam, bagian kecil dua: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Google (umum guidance itu applies)
- JavaScript SEO basics — relevant untuk XM Cloud headless rendering.
- crawling dan pengindeksan — robots, sitemaps, canonicalization, crawl controls.
Quotes dari sumber
Verified, pada—record statements dari Sitecore’s docs dan Sitecore-specialist practitioners.
Sitecore docs — default-block perilaku
- “If no rules are added, the system writes: ‘User-agent: * Disallow: /’” (terjemahan) “jika Tidak aturan adalah ditambahkan, sistem menulis: ‘pengguna-agent: * Disallow: /’” — Sitecore documentation, Configure robots.txt file.
- “If the value of a field is NULL, the item contains the standard value for that field as defined in the data template for that item.” (terjemahan) “jika nilai dari sebuah field adalah NULL, item berisi standard nilai untuk itu field sebagai didefinisikan di data template untuk itu item.” — Sitecore documentation, Standard nilai untuk data template fields. (dan catch: blank ≠ NULL.)
** baseline — “virtually no SEO functionality” (terjemahan) “virtually Tidak SEO functionality”**
- “Sitecore ships with virtually no SEO functionality (with the exception of SXA which includes some basics).” (terjemahan) “Sitecore ships dengan virtually Tidak SEO functionality (dengan exception dari SXA yang mencakup beberapa basics).” — Marcel, Sitecore SEO Best Practices | Fishtank (Aug 2018).
- “out-of-the-box, Sitecore’s data templates might not include some of the Meta Data fields.” (terjemahan) “out-dari—box, Sitecore’s data templates mungkin tidak sertakan beberapa dari Meta data fields.” / “Gunakan Sitecore’s canonical link management untuk specify itu preferred version dari a URL.” (terjemahan) “gunakan Sitecore’s canonical tautan management untuk specify preferred versi dari sebuah URL.” — Ken Gray, SEO Best Practices untuk Sitecore | Konabos (Jan 2024).
Aliases dan duplicate konten
- “Tidak redirect (Tidak 301 atau 302 HTTP status code) happens ketika Anda adalah menggunakan aliases di Sitecore” (terjemahan) “Tidak redirect (Tidak 301 atau 302 HTTP kode status) happens ketika Anda adalah menggunakan aliases di Sitecore” / “multiple URLs akan menjadi dibuat untuk a single halaman URL.” (terjemahan) “multiple URLs akan menjadi dibuat untuk sebuah single halaman URL.” — Dheer Rajpoot, Impact dari Sitecore Aliases pada SEO | BugDebugZone (Jul 2014).
Headless rendering (XM Cloud + Berikutnya.js)
- “SSG pre-renders HTML di build time, creating static files itu dapat menjadi served dari a CDN.” (terjemahan) “SSG pre-renders HTML di bangun time, membuat static files itu dapat menjadi disajikan dari sebuah CDN.” / “Search engines can easily crawl the pre-rendered HTML.” (terjemahan) “mesin pencari dapat easily crawl pre-dirender HTML.” / “Fully rendered HTML is ready for search engines to index.” (terjemahan) “Fully dirender HTML adalah ready untuk mesin pencari untuk indeks.” / “Penelusuran engines mungkin struggle dengan indexing JavaScript-dirender konten.” (terjemahan) “mesin pencari dapat struggle dengan pengindeksan JavaScript-dirender konten.” — Akshay Sura, Master rendering di Berikutnya.js dengan Sitecore XM Cloud | Konabos (Feb 2025).
- “All fetch calls dalam
generateMetadataadalah memoized, meaning identical URLs adalah hanya fetched setelah across itu application, preventing redundant requests.” (terjemahan) “semua fetch panggilan di dalam tidak terdefinisi adalah memoized, meaning identical URLs adalah hanya fetched setelah di seluruh application, preventing redundant permintaan.” / “metadata is one of those things we tend to leave to the bitter end.” (terjemahan) “metadata adalah satu dari itu hal kami tend untuk leave untuk bitter end.” — David Austin, Optimizing Metadata dan SEO di Berikutnya.js untuk Sitecore XM Cloud | Fishtank (Oct 2023). - “The dynamic approach is the better method for Sitecore Headless as you’ll be able to take what’s part of the page’s layout data and incorporate it.” (terjemahan) “ dynamic approach adalah better metode untuk Sitecore Headless sebagai Anda’ll menjadi able untuk take apa bagian dari halaman’s layout data dan incorporate ini.” — Sebastián Aliaga, Menangani SEO di Sitecore XM Cloud Projects | DEV (Jun 2024).
Multilingual dan schema
- “TBH hreflang is one of the most complex aspects of SEO (if not the most complex one).” (terjemahan) “TBH hreflang adalah satu dari paling kompleks aspects dari SEO (jika tidak paling kompleks satu).” — John Mueller, Google, cited oleh Jakub Koba, cara Customize Multilingual fitur di Sitecore | kogifi (Jun 2025).
- “we typically gunakan JavaScript untuk deploy Schema Markup untuk Sitecore. Ini method adalah keduanya efficient dan scalable…” (terjemahan) “kami typically gunakan JavaScript untuk deploy Schema Markup untuk Sitecore. ini metode adalah keduanya efficient dan scalable…” — Martha van Berkel, Implementing Schema Markup pada Sitecore | Schema App.
- “Add schema markup to the page HTML to make your search results appear more attractive.” (terjemahan) “tambahkan schema markup untuk halaman HTML untuk membuat Anda hasil pencarian muncul lebih attractive.” — Peter Lambrou, 10 SEO Tips untuk Anda Sitecore situs web | Codehouse (Dec 2022).
Enterprise context (my own)
- “Enterprise sites can have complex infrastructures and a lot of legacy systems in place.” (terjemahan) “Enterprise situs dapat memiliki kompleks infrastructures dan sebuah lot dari legacy sistem di place.” / “I doubt there’s a major website that is technically perfect.” (terjemahan) “I doubt ada sebuah major situs web itu adalah technically perfect.” — me, Enterprise situs adalah Di mana SEO teknis Shines | Ahrefs.
«## Sitecore SEO launch & audit checklist » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian delapan puluh enam, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Jalankan ini sebelum launch dan pada apa pun inherited Sitecore situs:
crawl & indeks basics
- Production robots.txt adalah jelas (
User-agent: * / Allow: /) — konfirmasi robots field adalah tidak blank (blank = blocks everyone) dan situs adalah republished. - CM, QA, dan staging instances disallow semua crawler.
- Sitemap resolves di
/sitemap.xml(SXA) atau melaluiMetadataRoute.Sitemap(Berikutnya.js);TargetHostNameadalah configured so ini tidak 404. - Sitemap lists hanya canonical, dapat diindeks URLs.
Metadata
- sebuah base SEO template ada dan setiap halaman template inherits ini (judul, deskripsi, OG fields).
- “Reset Blank” (terjemahan) “Reset Blank” adalah enabled pada metadata fields itu seharusnya fall back untuk Standard nilai.
- Validation aturan enforce non-empty, length-bounded judul dan deskripsi.
URLs & duplicates
- Item aliases adalah either 301-redirected atau carry sebuah canonical override — Tidak dua HTTP 200 URLs untuk yang sama konten.
- tag canonical adalah set, terutama untuk konten shared di seluruh multisite.
- URL consistency (www/non-www, trailing slash, language prefix) enforced.
Multilingual
- Hreflang adalah implemented (bidirectional, absolute URLs,
x-default). - Language fallback tidak silently duplicating konten di seluruh language URLs.
Headless (XM Cloud) hanya
- SEO-critical konten renders melalui SSG/ISR/SSR, tidak CSR.
- Metadata set melalui
generateMetadata; JSON-LD server-dirender (tidak client-hanya). - Tidak utama konten (H1, FAQs, schema) hidden behind client-side personalization.
Sitecore SEO governance kerangka kerja
Sitecore SEO scales ketika setiap halaman melewati melalui yang sama five controls rather daripada relying pada individual authors atau satu kali component memperbaiki.
- Base SEO template: setiap halaman template inherits yang sama judul, deskripsi, canonical, social, dan pengindeksan fields. sebuah template tanpa base adalah sebuah rilis defect, tidak sebuah editorial exception.
- Metadata validation: Standard nilai supply fallbacks, Reset Blank menangani cleared fields, dan validation aturan berhenti empty atau tidak valid metadata sebelum publish. Defaults dan enforcement berfungsi together.
- Alias governance: setiap alias either redirects permanently untuk canonical item atau memiliki sebuah jelas canonical implementation. Dua HTTP 200 URLs untuk satu item adalah tidak sebuah acceptable default.
- Environment control: production explicitly memungkinkan crawling; CM, QA, dan staging explicitly disallow ini. langsung robots respons adalah diperiksa setelah setiap publish itu touches setting.
- crawl-surface curation: sitemaps berisi hanya canonical, dapat diindeks URLs, sementara language fallback, shared multisite konten, facets, dan parameters adalah reviewed sebagai sources dari expansion.
untuk XP, enforce ini controls di templates, Standard nilai, pipelines, dan SXA. untuk
XM Cloud, pertahankan yang sama governance model tetapi implement output di Berikutnya.js
application melalui generateMetadata, MetadataRoute, server-dirender JSON-LD,
dan Experience Edge kueri layer.
Sitecore SEO cheat sheet
XP vs XM Cloud — di mana SEO adalah controlled
| Sitecore XP | XM Cloud | |
|---|---|---|
| Architecture | Tradisional.NET, server-dirender | Headless SaaS + Berikutnya.js (JSS) |
| crawler see | Finished server HTML | Whatever rendering mode emits |
| SEO managed di | Templates, Standard nilai, pipelines | Berikutnya.js metadata APIs |
| Metadata | Template fields | generateMetadata |
| Sitemap/robots | SXA modules | MetadataRoute.Sitemap / .Robots |
| Personalization | server-side (default experience terlihat) | Client-side risk; gunakan SSR/edge |
** three traps**
«| Trap | What happens | Fix |
| --- | --- | --- |
| Blank robots field | Outputs Disallow: / — blocks everyone | Set Allow: / explicitly + republish |
| Item alias | Both URLs return HTTP 200 (duplicate content) | 301 the alias, or inject canonical |
| Blank metadata field | Doesn’t inherit Standard Value (blank ≠ NULL) | Enable “Reset Blank” + validation |
» (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian seratus lima, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)
Headless rendering modes — SEO peringkat
- SSG → best (pre-dirender, CDN-disajikan)
- ISR → great (static + background freshness)
- SSR → baik (fully dirender per permintaan)
- CSR → hindari untuk dapat diindeks konten
Schema priority: FAQPage, HowTo, Product, Article, BreadcrumbList —
server-dirender JSON-LD (tag-manager injection dapat menjadi missed oleh AI crawler).
umum Sitecore SEO failures
production situs suddenly disappears behind sebuah crawl block
Symptom: langsung /robots.txt berisi User-agent: * dan Disallow: /, atau
crawler report sebuah sitewide block.
mungkin penyebab: Sitecore robots field adalah left blank dan published; blank adalah tidak permissive di ini implementation.
Perbaiki: Set sebuah jelas production izinkan aturan, republish situs, lalu fetch
langsung /robots.txt again. Konfirmasi CM, QA, dan staging tetap disallowed secara terpisah.
sebuah alias dan canonical item keduanya muncul sebagai dapat diindeks halaman
Symptom: Dua URLs kembalikan HTTP 200 dengan yang sama konten, dan alias melakukan tidak redirect.
mungkin penyebab: Sitecore’s item alias resolver menyajikan alternate path secara langsung dan melakukan tidak tambahkan sebuah canonical secara otomatis.
Perbaiki: perubahan alias pipeline untuk mengembalikan 301 untuk canonical item, atau tambahkan sebuah canonical override jika alias harus tetap accessible. Re-crawl keduanya URLs: preferred outcome adalah satu 200 destination dan satu permanent redirect.
Published halaman memiliki blank judul atau deskripsi
Symptom: Dirender metadata adalah empty bahkan though Standard nilai define sebuah fallback.
mungkin penyebab: sebuah author cleared field, membuat sebuah blank nilai alih-alih sebuah NULL nilai; Standard nilai melakukan tidak replace ini unless Reset Blank adalah enabled.
Perbaiki: Enable Reset Blank di mana fallback adalah yang dimaksud, tambahkan field validation, reset affected items, dan republish. Konfirmasi dirender sumber berisi fallback atau halaman’s intentional override.
SXA sitemap mengembalikan 404
Symptom: /sitemap.xml melakukan tidak resolve bahkan though sitemap mode adalah enabled.
mungkin penyebab: TargetHostName adalah missing atau situs definition poin di
wrong host.
Perbaiki: Configure correct target hostname, jelas relevant cache jika needed,
dan permintaan /sitemap.xml pada production host again.
Prove sebuah Sitecore robots.txt perubahan adalah safe
Fetch published production respons
Test untuk jalankan: setelah editing dan republishing robots field, permintaan langsung
production /robots.txt secara langsung.
Yang diharapkan hasil: Production berisi yang dimaksud jelas izinkan/disallow aturan
dan melakukan tidak fall back untuk sebuah blanket Disallow: /.
Failure interpretation: wrong item adalah edited, perubahan adalah tidak published, atau langsung situs adalah serving cached atau default konten.
Monitoring window: Immediate setelah publish dan cache refresh.
Rollback trigger: Restore terakhir known-baik robots nilai immediately jika production respons blocks semua crawler atau omits diperlukan protections.
periksa environment separation
Test untuk jalankan: Fetch /robots.txt pada CM, QA, staging, dan production pengiriman
host.
Yang diharapkan hasil: CM, QA, dan staging disallow crawling; hanya yang dimaksud production host adalah dapat di-crawl.
Failure interpretation: robots item, publish target, atau host-spesifik situs configuration adalah shared incorrectly di seluruh environments.
Monitoring window: Immediate setelah perubahan dan setelah environment promotion.
Rollback trigger: Roll back jika sebuah non-production environment becomes dapat di-crawl atau production inherits non-production blanket block.
Konfirmasi crawler-facing perilaku
Test untuk jalankan: gunakan Search Console pemeriksaan URL pada sebuah representative production URL setelah robots respons adalah correct.
Yang diharapkan hasil: pengujian langsung dapat fetch halaman, dan dirender HTML berisi yang diharapkan metadata dan konten.
Failure interpretation: lainnya crawl control, authentication layer, atau cached robots respons adalah masih blocking Google.
Monitoring window: Jalankan pengujian langsung immediately; izinkan wajar recrawling time sebelum judging report recovery.
Rollback trigger: Roll back related access-control perubahan jika Google tetap blocked sementara ordinary publik permintaan muncul open.
alat untuk Sitecore SEO
Sitecore-side
- SXA (Sitecore Experience Accelerator) — layer itu menyediakan sitemap generation, robots.txt management di konten tree, dan standardized metadata fields. default SEO toolkit untuk XP dan XM Cloud.
- Sitecore konten Editor — field validation aturan — enforce non-empty, length-bounded judul dan deskripsi so authors dapat’t ship blanks.
- Berikutnya.js
MetadataRoute/generateMetadata(XM Cloud) — code-driven sitemap, robots.txt, dan per-halaman metadata pulled dari Experience Edge melalui GraphQL.
Penelusuran-mesin verification
- Google Search Console — verify pengindeksan, inspect dirender HTML (pemeriksaan URL), submit sitemaps, watch halaman pengindeksan report.
- Bing Webmaster alat — terpisah verification dan sitemap submission; penting lebih pada headless karena Bing lags pada JS rendering.
Auditing & crawling
- Ahrefs situs Audit dan Screaming Frog SEO Spider — simulate sebuah crawl untuk catch alias duplicates, empty metadata, rantai pengalihan, dan blocked URLs di scale. Essential pada sebuah besar Sitecore install.
- Google Lighthouse — Sitecore’s own Accelerate Cookbook recommends ini untuk halaman-speed dan pada-halaman memeriksa.
Resources worth Anda time
My related writing
- SEO perusahaan — resource constraints, organizational complexity, dan internal linking di scale — world Sitecore lives di.
- Enterprise situs adalah Di mana SEO teknis Shines — legacy sistem, multiple tech stacks, split kepemilikan, dan canonicalization di enterprise scale.
My speaking
- Bagaimana Penelusuran berfungsi (SlideShare) — crawling, rendering, pengindeksan, dan peringkat; rendering bagian adalah bagian itu penting sebagian besar untuk headless Sitecore. (My standing disclaimer applies: “Ini adalah my understanding dari sistem… tidak going untuk menjadi 100% menyelesaikan atau accurate.” (terjemahan) “ini adalah my understanding dari sistem… tidak going untuk menjadi 100% menyelesaikan atau accurate.”)
dari sekitar industry
- SEO Best Practices untuk Sitecore | Konabos (Ken Gray, Jan 2024) — structured best practices including metadata fields dan canonical tautan management.
- Master rendering di Berikutnya.js dengan Sitecore XM Cloud | Konabos (Akshay Sura, Feb 2025) — definitive SSG/SSR/ISR/CSR breakdown untuk XM Cloud SEO.
- Optimizing Metadata dan SEO di Berikutnya.js untuk Sitecore XM Cloud | Fishtank (David Austin, Oct 2023) —
generateMetadatapipeline secara mendalam. - Sitecore SEO Best Practices | Fishtank (Marcel, Aug 2018) — “virtually no SEO functionality” (terjemahan) “virtually Tidak SEO functionality” baseline dan sebuah lifecycle approach.
- Impact dari Sitecore Aliases pada SEO | BugDebugZone (Dheer Rajpoot, Jul 2014) — alias duplicate-konten mechanics.
- cara Customize Multilingual fitur di Sitecore | kogifi (Jakub Koba, Jun 2025) — language versi, fallback, dan hreflang.
- 10 SEO Tips untuk Anda Sitecore situs web | Codehouse (Peter Lambrou, Dec 2022) — practical tips including schema markup.
Uji pemahaman Anda: Sitecore SEO
Five quick pertanyaan pada Sitecore-spesifik SEO traps dan platform differences. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 19 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.