Panduan Sitecore SEO
cara membuat sebuah Sitecore situs peringkat — two platforms itu perubahan everything (XP vs XM Cloud), what SXA gives Anda out dari box dan what ini doesn't, dan platform-spesifik traps itu catch enterprise teams: default robots.txt itu blocks setiap crawler, aliases itu buat duplicate konten di HTTP 200, dan metadata itu silently fails untuk inherit because blank isn't NULL.
Bahasa
Sitecore adalah sebuah enterprise DXP itu ships dengan almost no SEO functionality out dari box — dan two product lines behave very differently. Sitecore XP adalah traditional server-rendered.NET; XM Cloud (renamed SitecoreAI di Sitecore's saat ini docs) adalah headless SaaS where sebuah Next.js front end (via JSS, now published sebagai konten SDK) controls HTML dan Anda manage SEO dengan Next.js metadata APIs. SXA menambahkan basics (sitemap, robots.txt management, metadata fields) tetapi everything masih perlu configuration. Three Sitecore-spesifik traps catch teams: default robots.txt blocks setiap crawler jika robots field adalah left blank (empty ≠ permissive); item aliases sajikan HTTP 200 pada both URLs, membuat benar duplicate konten itu canonical doesn't fix automatically; dan blank metadata fields don't fall back untuk Standard nilai unless 'Reset Blank' adalah enabled, because blank isn't NULL. pada enterprise scale Sitecore lives di, governance — sebuah base SEO template, validation aturan, environment control — penting sebagai much sebagai apa pun single setting.
Evidence for this claim The article's described sitecore-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Scope: Platform-specific capability documentation. Confidence: high · Verified: Sitecore: SEO Evidence for this claim Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Scope: Google requirements independent of platform. Confidence: high · Verified: Google Search Central: SEO Starter GuideTL;DR — Sitecore adalah sebuah big enterprise CMS, dan ini melakukan not handle SEO untuk Anda. basics setiap situs perlu — halaman judul, deskripsi, sebuah sitemap, sebuah sensible robots.txt — memiliki untuk menjadi siapkan, dan Sitecore memiliki sebuah few traps itu dapat quietly block Anda whole situs atau buat duplicate halaman. Knowing mereka exist adalah sebagian besar dari battle.
What Sitecore adalah
Sitecore adalah sebuah Digital Experience Platform — sebuah besar, enterprise CMS itu big companies gunakan untuk run kompleks situs web dengan personalization, multiple languages, dan banyak situs di one install. ini comes di two main flavors, dan difference penting sebuah lot untuk SEO:
- Sitecore XP (Experience Platform) — traditional, older style. ini adalah dibangun pada.NET dan renders halaman pada server, so mesin pencari umumnya see finished HTML.
- XM Cloud — modern, cloud versi. Here Sitecore hanya stores konten, dan sebuah separate front-end situs web (biasanya dibangun dengan Next.js) pulls itu konten di dan membangun actual halaman. SEO adalah controlled di itu front-end app, not inside Sitecore.
big thing untuk know
Sitecore doesn’t give Anda much SEO out dari box. There’s 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. Without SXA, bahkan basic things like sebuah meta deskripsi field memiliki untuk menjadi ditambahkan oleh hand.
Three traps untuk watch untuk
Sitecore memiliki sebuah few quirks itu catch teams off guard:
- ** robots.txt itu blocks everyone.** jika robots field di Sitecore’s settings adalah left blank, Sitecore doesn’t sajikan sebuah empty (permissive) robots.txt — ini menyajikan one itu blocks setiap mesin pencari. Blank melakukan not berarti “allow everything” (terjemahan) “allow everything” here.
- Aliases itu duplicate halaman. Sitecore lets Anda give sebuah halaman sebuah kedua URL (sebuah “alias” (terjemahan) “alias”). Both URLs mengembalikan normal “200 OK” (terjemahan) “200 OK” — there’s no redirect — so Anda end up dengan two live URLs untuk yang sama konten, which adalah duplicate konten.
- Empty fields itu don’t 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 stays blank alih-alih falling back untuk default. hasil adalah halaman dengan empty judul dan deskripsi.
ingin technical versi — how SEO actually berfungsi pada XP vs XM Cloud, Next.js metadata pipeline, hreflang, dan enterprise governance? Switch untuk Advanced tab.
Evidence for this claim The article's described sitecore-seo capabilities must be evaluated against the platform's current documentation rather than assumed to be search-engine behavior. Scope: Platform-specific capability documentation. Confidence: high · Verified: Sitecore: SEO Evidence for this claim Regardless of platform, Google needs crawlable URLs, accessible rendered content, descriptive metadata, and valid search directives. Scope: Google requirements independent of platform. Confidence: high · Verified: Google Search Central: SEO Starter GuideTL;DR — Sitecore ships dengan almost no SEO functionality; SXA menambahkan basics tetapi perlu configuration. two platforms diverge completely: XP adalah server-rendered.NET (crawler see finished HTML, personalization renders server-side); XM Cloud adalah headless, where sebuah Next.js front end controls HTML dan Anda manage SEO dengan Next.js metadata APIs (
generateMetadata,MetadataRoute) — dengan SSG/ISR recommended rendering modes. platform-spesifik traps: default robots.txt blocks semua crawler when field adalah blank; item aliases kembalikan HTTP 200 pada both URLs (benar duplicate konten, no canonical fix oleh default); dan blank metadata fields don’t 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 below adalah unchanged.)
Two platforms, two completely berbeda SEO models
single sebagian besar penting thing untuk establish sebelum touching anything: which Sitecore adalah Anda pada? product name adalah yang sama; SEO mechanics adalah not.
- Sitecore XP (Experience Platform). Traditional.NET, server-rendered via Razor/MVC, deployed pada-premise atau di managed cloud. Googlebot umumnya menerima finished HTML. SEO adalah managed inside 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 — almost selalu Next.js dibangun dengan Sitecore JSS (JavaScript Services) — renders HTML. SEO lives di Next.js application layer. Sitecore holds konten; Next.js controls output.
sebuah naming note jika Anda’re memeriksa Sitecore’s own docs while reading ini: sebagai dari
mid-2026, Sitecore’s documentation situs memiliki renamed composable SaaS product
dari “XM Cloud” (terjemahan) “XM Cloud” untuk SitecoreAI — old doc.sitecore.com/xmc/... dan
developers.sitecore.com/learn/accelerate/xm-cloud/... URL paths now redirect untuk
.../sai/.../sitecoreai/... paths, dan platform’s own landing halaman describes
ini sebagai “a cloud-native, SaaS, hybrid headless digital experience platform.” (terjemahan) “sebuah cloud-native, SaaS, hybrid headless digital experience platform.”
architecture ini artikel describes adalah unchanged — Experience Edge, GraphQL,
sebuah decoupled Next.js front end — tetapi front-end SDK adalah now published sebagai
konten SDK (open source, Next.js-pertama) alih-alih di bawah JSS name, dan
Anda’ll see “SitecoreAI” (terjemahan) “SitecoreAI” alih-alih “XM Cloud” (terjemahan) “XM Cloud” di saat ini screenshots dan menu
labels. I’ve dipertahankan “XM Cloud” (terjemahan) “XM Cloud” di ini artikel because itu’s masih istilah sebagian besar
practitioners search untuk dan sebagian besar existing implementations run pada, tetapi don’t menjadi
thrown jika Anda Sitecore rep atau Cloud Portal now says SitecoreAI — sama
platform, sama SEO mechanics below.
di both cases practical baseline adalah yang sama. sebagai Fishtank’s Marcel put ini back di 2018, “Sitecore ships with virtually no SEO functionality (with the exception of SXA which includes some basics).” (terjemahan) “Sitecore ships dengan virtually no SEO functionality (dengan exception dari SXA which mencakup beberapa basics).” itu’s masih right mental model. SXA (Sitecore Experience Accelerator) adalah layer itu gives Anda sebuah sitemap module, robots.txt management di konten tree, dan standardized metadata fields. Without 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 written tentang enterprise situs umumnya — “the more likely you are to run into multiple tech stacks,” (terjemahan) “ more mungkin Anda adalah untuk run ke multiple tech stacks,” legacy sistem, dan split ownership di seluruh bagian. pertahankan itu di mind: pada Sitecore, fix untuk sebuah SEO masalah adalah sering sebuah template perubahan atau sebuah pipeline override owned oleh sebuah developer, not sebuah setting Anda flip yourself.
Metadata — dan blank-vs-NULL trap
SEO fields (halaman judul, deskripsi meta, Open Graph tags) live di Anda halaman data templates. clean pattern adalah sebuah base SEO template itu setiap halaman template inherits dari, so fields exist everywhere. Ken Gray dari Konabos notes default gap directly: “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 not 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 here’s Sitecore-spesifik trap itu
produces missing metadata di scale. Sitecore’s own docs adalah explicit: “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
defined di data template untuk itu item.” catch adalah itu sebuah blank field
adalah not NULL. When sebuah konten author clears sebuah deskripsi meta, ini becomes blank
— dan sebuah blank field melakukan not 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 nobody intended.
fix adalah twofold: enable “Reset Blank” (terjemahan) “Reset Blank” pada metadata fields where 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; clean 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 not SEO-neutral. sebagai Dheer Rajpoot documented, “no redirect (no 301 or 302 HTTP status code) happens when you are using aliases in Sitecore,” (terjemahan) “no redirect (no 301 atau 302 HTTP kode status) happens when Anda adalah menggunakan aliases di Sitecore,” which berarti “multiple URLs will be created for a single page URL.” (terjemahan) “multiple URLs akan menjadi dibuat untuk sebuah single halaman URL.” Both canonical URL dan alias kembalikan HTTP 200 dengan identical konten — genuine duplicate konten, dan Sitecore melakukan not auto-emit sebuah tag canonical untuk resolve ini.
Anda memiliki two governance-grade fixes:
- Override
AliasResolverdiHttpRequestpipeline untuk inject sebuah tag canonical pointing di nyata URL, atau - Modify alias pipeline untuk issue sebuah 301 redirect alih-alih serving alias directly.
My recommendation adalah kedua: treat aliases sebagai redirects, not alternate access URLs. Ken Gray’s advice applies broadly here — “use Sitecore’s canonical link management to specify the preferred version of a URL” (terjemahan) “gunakan Sitecore’s canonical tautan management untuk specify preferred versi dari sebuah URL” — tetapi pada aliases specifically, sebuah 301 adalah cleaner daripada relying pada canonical hints.
Sitemaps
pada SXA, configure sitemap di situs/Settings → mesin pencari Sitemap →
Sitemap Mode. Two relevant modes: Stored di cache ( default —
regenerates dynamically; baik untuk frequently updated atau Azure-hosted situs) dan
Stored di file (sebuah static file; better untuk besar situs itu perubahan
infrequently, avoiding regeneration overhead). SXA automatically appends
sitemap URL untuk robots.txt, dan sitemap lives di /sitemap.xml. sebuah umum
failure: jika TargetHostName isn’t configured, sitemap mengembalikan sebuah 404.
pada XM Cloud + Next.js, generate sitemap programmatically dengan
MetadataRoute.Sitemap, querying Experience Edge di atas GraphQL — which lets Anda
exclude non-dapat diindeks URLs di application layer. Sitecore’s own guidance notes
itu “Next.js offers built-in sitemap and robots.txt generation.” (terjemahan) “Next.js offers dibangun-di sitemap dan robots.txt generation.”
Robots.txt — default itu blocks everything
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 no aturan adalah ditambahkan, sistem writes: ‘pengguna-agent: * Disallow: /’” — which blocks setiap crawler. sebuah empty robots field adalah not 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 everything.” (terjemahan) “crawl everything.” pada Sitecore ini
dapat berarti opposite, so verifying production robots.txt adalah sebuah non-negotiable
launch langkah. pada XM Cloud + Next.js, gunakan MetadataRoute.Robots untuk sebuah
code-driven, jenis-safe robots.txt. Separately, CM (konten Management)
instances dan QA/staging environments seharusnya selalu disallow semua — hanya CD
(konten Delivery) production instance seharusnya menjadi dapat di-crawl.
Multilingual, hreflang, dan multisite
Sitecore stores language versi sebagai separate versi dari yang sama item, not
separate items. itu, combined dengan language fallback (item-tingkat atau more
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
signals relationship. dan hreflang adalah not automatic di standard Sitecore;
ini memiliki untuk menjadi ditambahkan untuk templates (SXA dapat generate ini when configured), dengan full
absolute URLs, bidirectional references, dan sebuah x-default. sebagai John Mueller put
ini (cited oleh Jakub Koba), “TBH hreflang is one of the most complex aspects of SEO
(if not the most complex one).” (terjemahan) “TBH hreflang adalah one dari paling kompleks aspects dari SEO
(jika not paling kompleks one).” Don’t underestimate ini.
Sitecore juga natively mendukung multisite — banyak situs di one 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 exactly jenis dari split-ownership, shared-infrastructure complexity I flagged di enterprise SEO teknis: “Sometimes different people are responsible for different sections of the website or even different pages, which can make internal linking time-consuming.” (terjemahan) “Sometimes berbeda people adalah responsible untuk berbeda bagian dari situs web atau bahkan berbeda halaman, which dapat membuat internal linking time-consuming.”
Headless rendering strategy (XM Cloud)
One layer-ownership poin worth menjadi explicit tentang, since ini trips people up: XM Cloud environments memiliki both sebuah editing host dan sebuah rendering host, dan mereka adalah not yang sama thing. Sitecore’s own docs draw line clearly — editing host exists hanya untuk power WYSIWYG editing experience inside halaman Builder/Design Studio, “is not set up or scaled for serving live traffic,” (terjemahan) “adalah not siapkan atau scaled untuk serving live traffic,” dan sees internal (author-hanya) traffic. rendering host adalah public-facing Next.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 not representative dari what Googlebot sees dan isn’t something mesin pencari seharusnya menjadi able untuk reach di semua.
pada XM Cloud rendering mode Anda choose di Next.js adalah SEO decision. Akshay Sura (Konabos) lays out four options cleanly:
| Strategy | SEO impact |
|---|---|
| SSG (static) | Best — “SSG pre-renders HTML at build time… Search engines can easily crawl the pre-rendered HTML.” (terjemahan) “SSG pre-renders HTML di bangun time… mesin pencari dapat easily crawl pre-rendered 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 rendered HTML adalah ready untuk mesin pencari untuk indeks.” |
| CSR (client-side render) | Worst — “Search engines may struggle with indexing JavaScript-rendered content.” (terjemahan) “mesin pencari dapat struggle dengan pengindeksan JavaScript-rendered konten.” |
recommendation: SSG atau ISR untuk SEO-critical konten; reserve CSR untuk
interactive UI hanya. Metadata adalah set via generateMetadata (App Router). David
Austin (Fishtank) notes sebuah performa nicety: “All fetch calls within
generateMetadata are memoized, meaning identical URLs are only fetched once
across the application, preventing redundant requests.” (terjemahan) “semua fetch panggilan di dalam
undefined adalah memoized, meaning identical URLs adalah hanya fetched once
di seluruh application, preventing redundant permintaan.” dan sebagai Sebastián Aliaga
puts ini, “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 what’s bagian dari halaman’s layout data dan incorporate ini.”
Personalization — don’t 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 complete dan SEO-dioptimalkan, not thin. pada XM Cloud, client-side personalization (JSS) dapat hide konten dari crawler itu don’t run JavaScript; pre-render default dengan SSR, atau personalize di edge.
hard aturan di seluruh both: tidak pernah sajikan berbeda konten untuk crawler daripada untuk pengguna — itu’s cloaking, dan ini adalah sebuah guidelines violation. tidak pernah personalize primary 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 via pipeline; pada XM Cloud, model schema
fields di templates, retrieve di atas GraphQL, dan render di Next.js component.
Prioritize FAQPage, HowTo, Product, Article, dan BreadcrumbList. Anda dapat
deploy via sebuah tag manager — Martha van Berkel (Schema App) notes teams “typically
use JavaScript to deploy Schema Markup to Sitecore… both efficient and scalable” (terjemahan) “typically
gunakan JavaScript untuk deploy Schema Markup untuk Sitecore… both efficient dan scalable”
— tetapi menjadi aware client-side injection berarti AI crawler dapat miss ini, so prefer
server-rendered JSON-LD untuk maximum coverage. Peter Lambrou (Codehouse) frames
payoff simply: “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
appear more attractive.”
Enterprise governance — where nyata berfungsi adalah
Single settings aside, SEO outcome pada sebuah big Sitecore install adalah decided oleh governance. I’ve said sebelum itu enterprise situs adalah where SEO teknis shines precisely because “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” — dan “I doubt there’s a major website that is technically perfect.” (terjemahan) “I doubt there’s 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 allowed 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:
- Two platforms, two SEO models. Sitecore XP = traditional server-rendered .NET; crawler see finished HTML; SEO managed inside Sitecore (templates, Standard nilai, pipelines). XM Cloud = headless SaaS; sebuah Next.js front end (via JSS, now published sebagai konten SDK) controls HTML; SEO managed dengan Next.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, not scaled untuk live traffic); rendering host adalah public Next.js app crawler actually hit, disajikan dari Vercel/ Netlify/Azure dan fed oleh Experience Edge.
- Almost nothing out dari box. “Sitecore ships with virtually no SEO functionality” (terjemahan) “Sitecore ships dengan virtually no 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 both URLs dengan no redirect — benar duplicate konten. Canonical isn’t applied automatically; fix dengan sebuah canonical override atau sebuah 301 pipeline perubahan.
- Metadata trap: blank ≠ NULL. sebuah cleared field melakukan not inherit -nya Standard nilai unless “Reset Blank” (terjemahan) “Reset Blank” adalah enabled — sebuah umum source dari empty judul/deskripsi di scale. tambahkan validation aturan.
- Headless rendering: SSG/ISR recommended untuk SEO; SSR fine; CSR worst.
Metadata via
generateMetadata; sitemap/robots viaMetadataRoute. - tidak pernah cloak: don’t personalize H1, FAQs, atau data terstruktur untuk crawler; pertahankan default experience SEO-complete.
- Enterprise governance adalah nyata berfungsi: base SEO template, metadata validation, alias policy, environment control (block CM/QA/staging), dan crawl budget curation.
Official documentation
Primary-source documentation — Sitecore’s own, plus Google guidance itu applies (Google memiliki no Sitecore-spesifik docs).
Sitecore
- optimisasi mesin pencari (SEO) — XM Cloud / SitecoreAI — documented SEO fitur set: sitemap, language codes di sitemap URLs, robots.txt, redirects, image optimization. (ini URL now 308-redirects untuk sebuah
.../sai/.../sitecoreai/...path — Sitecore’s docs memiliki renamed product SitecoreAI.) - Configure robots.txt file — SitecoreAI — source dari default-block perilaku; where robots field lives dan why Anda harus republish.
- Configure sebuah sitemap — SXA — Sitemap Mode (cache vs file), attributes, dan TargetHostName 404 gotcha.
- Standard nilai untuk data template fields — XM — NULL-vs-blank inheritance model dan token mendukung.
- Environment, editing hosts dan rendering hosts — SitecoreAI — CM/editing-host/rendering-host split: hanya rendering host menyajikan public (dan crawler) traffic.
- pada-halaman SEO Optimization — Accelerate Cookbook (XM Cloud / SitecoreAI) — Sitecore’s own pada-halaman checklist (H1s, teks alt, redirects, mixed konten).
- Optimizing konten untuk AI — Accelerate Cookbook (XM Cloud / SitecoreAI) — Sitecore’s GEO guidance (SSR/SSG/ISR, component-based authoring, schema).
Google (umum guidance itu applies)
- JavaScript SEO basics — relevant untuk XM Cloud headless rendering.
- crawling dan pengindeksan — robots, sitemaps, canonicalization, crawl controls.
Quotes dari source
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 no aturan adalah ditambahkan, sistem writes: ‘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 defined 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 no SEO functionality”**
- “Sitecore ships with virtually no SEO functionality (with the exception of SXA which includes some basics).” (terjemahan) “Sitecore ships dengan virtually no SEO functionality (dengan exception dari SXA which 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 not sertakan beberapa dari Meta data fields.” / “Use Sitecore’s canonical link management to specify the preferred version of 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
- “no redirect (no 301 or 302 HTTP status code) happens when you are using aliases in Sitecore” (terjemahan) “no redirect (no 301 atau 302 HTTP kode status) happens when Anda adalah menggunakan aliases di Sitecore” / “multiple URLs will be created for a single page 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 + Next.js)
- “SSG pre-renders HTML at build time, creating static files that can be served from 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-rendered HTML.” / “Fully rendered HTML is ready for search engines to index.” (terjemahan) “Fully rendered HTML adalah ready untuk mesin pencari untuk indeks.” / “Search engines may struggle with indexing JavaScript-rendered content.” (terjemahan) “mesin pencari dapat struggle dengan pengindeksan JavaScript-rendered konten.” — Akshay Sura, Master rendering di Next.js dengan Sitecore XM Cloud | Konabos (Feb 2025).
- “All fetch calls within
generateMetadataare memoized, meaning identical URLs are only fetched once across the application, preventing redundant requests.” (terjemahan) “semua fetch panggilan di dalam undefined adalah memoized, meaning identical URLs adalah hanya fetched once di seluruh application, preventing redundant permintaan.” / “metadata is one of those things we tend to leave to the bitter end.” (terjemahan) “metadata adalah one dari itu things kami tend untuk leave untuk bitter end.” — David Austin, Optimizing Metadata dan SEO di Next.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 what’s bagian dari halaman’s layout data dan incorporate ini.” — Sebastián Aliaga, Handling 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 one dari paling kompleks aspects dari SEO (jika not paling kompleks one).” — John Mueller, Google, cited oleh Jakub Koba, cara Customize Multilingual fitur di Sitecore | kogifi (Jun 2025).
- “we typically use JavaScript to deploy Schema Markup to Sitecore. This method is both efficient and scalable…” (terjemahan) “kami typically gunakan JavaScript untuk deploy Schema Markup untuk Sitecore. ini metode adalah both 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 appear more 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 there’s sebuah major situs web itu adalah technically perfect.” — me, Enterprise situs adalah Where SEO teknis Shines | Ahrefs.
Sitecore SEO launch & audit checklist
Run ini sebelum launch dan pada apa pun inherited Sitecore situs:
crawl & indeks basics
- Production robots.txt adalah explicit (
User-agent: * / Allow: /) — confirm robots field adalah not blank (blank = blocks everyone) dan situs adalah republished. - CM, QA, dan staging instances disallow semua crawler.
- Sitemap resolves di
/sitemap.xml(SXA) atau viaMetadataRoute.Sitemap(Next.js);TargetHostNameadalah configured so ini doesn’t 404. - Sitemap lists hanya canonical, dapat diindeks URLs.
Metadata
- sebuah base SEO template exists 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 — no two 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 isn’t silently duplicating konten di seluruh language URLs.
Headless (XM Cloud) hanya
- SEO-critical konten renders via SSG/ISR/SSR, not CSR.
- Metadata set via
generateMetadata; JSON-LD server-rendered (not client-hanya). - No primary konten (H1, FAQs, schema) hidden behind client-side personalization.
Sitecore SEO governance framework
Sitecore SEO scales when setiap halaman passes melalui yang sama five controls rather daripada relying pada individual authors atau one-off component fixes.
- Base SEO template: setiap halaman template inherits yang sama judul, deskripsi, canonical, social, dan pengindeksan fields. sebuah template without base adalah sebuah release defect, not sebuah editorial exception.
- Metadata validation: Standard nilai supply fallbacks, Reset Blank handles cleared fields, dan validation aturan stop empty atau invalid metadata sebelum publish. Defaults dan enforcement berfungsi together.
- Alias governance: setiap alias either redirects permanently untuk canonical item atau memiliki sebuah explicit canonical implementation. Two HTTP 200 URLs untuk one item adalah not sebuah acceptable default.
- Environment control: production explicitly allows crawling; CM, QA, dan staging explicitly disallow ini. live robots respons adalah diperiksa setelah setiap publish itu touches setting.
- crawl-surface curation: sitemaps berisi hanya canonical, dapat diindeks URLs, while 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 Next.js
application melalui generateMetadata, MetadataRoute, server-rendered JSON-LD,
dan Experience Edge kueri layer.
Sitecore SEO cheat sheet
XP vs XM Cloud — where SEO adalah controlled
| Sitecore XP | XM Cloud | |
|---|---|---|
| Architecture | Traditional.NET, server-rendered | Headless SaaS + Next.js (JSS) |
| crawler see | Finished server HTML | Whatever rendering mode emits |
| SEO managed di | Templates, Standard nilai, pipelines | Next.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 kembalikan HTTP 200 (duplicate konten) | 301 alias, atau inject canonical |
| Blank metadata field | Doesn’t inherit Standard nilai (blank ≠ NULL) | Enable “Reset Blank” (terjemahan) “Reset Blank” + validation |
Headless rendering modes — SEO peringkat
- SSG → best (pre-rendered, CDN-disajikan)
- ISR → great (static + background freshness)
- SSR → baik (fully rendered per permintaan)
- CSR → hindari untuk dapat diindeks konten
Schema priority: FAQPage, HowTo, Product, Article, BreadcrumbList —
server-rendered JSON-LD (tag-manager injection dapat menjadi missed oleh AI crawler).
umum Sitecore SEO failures
production situs suddenly disappears behind sebuah crawl block
Symptom: live /robots.txt berisi User-agent: * dan Disallow: /, atau
crawler report sebuah sitewide block.
mungkin cause: Sitecore robots field adalah left blank dan published; blank adalah not permissive di ini implementation.
Fix: Set sebuah explicit production allow aturan, republish situs, lalu fetch
live /robots.txt again. Confirm CM, QA, dan staging remain disallowed separately.
sebuah alias dan canonical item both appear sebagai dapat diindeks halaman
Symptom: Two URLs kembalikan HTTP 200 dengan yang sama konten, dan alias melakukan not redirect.
mungkin cause: Sitecore’s item alias resolver menyajikan alternate path directly dan melakukan not tambahkan sebuah canonical automatically.
Fix: perubahan alias pipeline untuk mengembalikan 301 untuk canonical item, atau tambahkan sebuah canonical override jika alias harus remain accessible. Re-crawl both URLs: preferred outcome adalah one 200 destination dan one permanent redirect.
Published halaman memiliki blank judul atau deskripsi
Symptom: Rendered metadata adalah empty bahkan though Standard nilai define sebuah fallback.
mungkin cause: sebuah author cleared field, membuat sebuah blank nilai alih-alih sebuah NULL nilai; Standard nilai melakukan not replace ini unless Reset Blank adalah enabled.
Fix: Enable Reset Blank where fallback adalah intended, tambahkan field validation, reset affected items, dan republish. Confirm rendered source berisi fallback atau halaman’s intentional override.
SXA sitemap mengembalikan 404
Symptom: /sitemap.xml melakukan not resolve bahkan though sitemap mode adalah enabled.
mungkin cause: TargetHostName adalah missing atau situs definition poin di
wrong host.
Fix: 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 run: setelah editing dan republishing robots field, permintaan live
production /robots.txt directly.
Expected hasil: Production berisi intended explicit allow/disallow aturan
dan melakukan not fall back untuk sebuah blanket Disallow: /.
Failure interpretation: wrong item adalah edited, perubahan adalah not published, atau live situs adalah serving cached atau default konten.
Monitoring window: Immediate setelah publish dan cache refresh.
Rollback trigger: Restore last known-baik robots nilai immediately jika production respons blocks semua crawler atau omits diperlukan protections.
periksa environment separation
Test untuk run: Fetch /robots.txt pada CM, QA, staging, dan production delivery
host.
Expected hasil: CM, QA, dan staging disallow crawling; hanya intended 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.
Confirm crawler-facing perilaku
Test untuk run: gunakan Search Console pemeriksaan URL pada sebuah representative production URL setelah robots respons adalah correct.
Expected hasil: live test dapat fetch halaman, dan rendered HTML berisi expected metadata dan konten.
Failure interpretation: lainnya crawl control, authentication layer, atau cached robots respons adalah masih blocking Google.
Monitoring window: Run live test immediately; allow normal recrawling time sebelum judging report recovery.
Rollback trigger: Roll back related access-control perubahan jika Google remains blocked while ordinary public permintaan appear 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.
- Next.js
MetadataRoute/generateMetadata(XM Cloud) — code-driven sitemap, robots.txt, dan per-halaman metadata pulled dari Experience Edge via GraphQL.
Search-mesin verification
- Google Search Console — verify pengindeksan, inspect rendered HTML (pemeriksaan URL), submit sitemaps, watch halaman pengindeksan report.
- Bing Webmaster alat — separate verification dan sitemap submission; penting more pada headless because 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 Where SEO teknis Shines — legacy sistem, multiple tech stacks, split ownership, dan canonicalization di enterprise scale.
My speaking
- How Search berfungsi (SlideShare) — crawling, rendering, pengindeksan, dan peringkat; rendering bagian adalah bagian itu penting sebagian besar untuk headless Sitecore. (My standing disclaimer applies: “This is my understanding of systems… not going to be 100% complete or accurate.” (terjemahan) “ini adalah my understanding dari sistem… not going untuk menjadi 100% complete 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 Next.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 Next.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 no 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.
Test yourself: 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.