Panduan Strapi SEO

Strapi adalah sebuah CMS headless dengan Tidak frontend, so Anda SEO adalah decided oleh bagaimana frontend renders — plus konten modeling, SEO plugin, sitemaps, drafts, dan preview hygiene.

Pertama kali diterbitkan: 27 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Lanjutan

Strapi adalah sebuah open-sumber CMS headless dengan Tidak rendering layer, so ini adalah SEO-neutral — setiap outcome adalah decided oleh frontend (Berikutnya.js, Nuxt, Astro) itu consumes -nya API. Render di HTML di bangun atau permintaan time (SSG/SSR), tidak di browser (CSR). Model SEO fields di Anda konten jenis (gunakan community SEO plugin), pertahankan drafts dan preview/staging deployments out dari indeks, block /admin panel dan mentah /api JSON, dan bangun sitemap.xml dan robots.txt di frontend. Mendapatkan rendering right dan sebuah Strapi situs dapat beat sebuah tradisional CMS pada Core Web Vitals.

TL;DR — Strapi adalah sebuah backend-hanya CMS headless (REST + GraphQL, self-hosted atau Strapi Cloud) dengan Tidak rendering layer, so ini adalah SEO-neutral — frontend’s rendering mode decides semuanya. SSG/SSR ship fully-dirender HTML dan adalah safe; CSR adalah risky (sebuah crawler itu fetches hanya awal HTML sees sebuah empty shell — itu’s bagaimana several major AI crawler saat ini behave); ISR memiliki stale-pada-pertama-permintaan trap. Model SEO fields di Anda konten jenis ( community @strapi/plugin-seo stores dan previews them tetapi melakukan tidak output HTML, sitemaps, atau robots.txt — itu’s frontend’s job). pertahankan drafts out melalui publish workflow (tidak pernah lulus auth tokens di publik permintaan), noindex preview/staging di host tingkat, pertahankan /admin dan mentah /api/* JSON out dari penelusuran, dan bangun sitemap.xml + robots.txt di frontend. Strapi adalah neutral; Anda architecture adalah product.

Strapi adalah tidak SEO decision — frontend adalah

single sebagian besar penting concept di Strapi SEO: Strapi memiliki Tidak rendering layer. ini adalah konten storage, sebuah konten model, sebuah editing UI, dan sebuah API. setiap SEO outcome — indexability, metadata, speed, data terstruktur — adalah determined oleh frontend kerangka kerja consuming Strapi’s API. Strapi’s job adalah purely untuk store dan sajikan right fields.

Bukti untuk klaim ini Strapi provides REST and GraphQL content APIs rather than rendering a public website. Cakupan: GraphQL requires Strapi's GraphQL plugin; REST is available for content types. Tingkat keyakinan: tinggi · Diverifikasi: Strapi: REST API

itu membuat “Strapi adalah bad untuk SEO” (terjemahan) “Strapi adalah buruk untuk SEO” wrong frame. Strapi adalah neutral. sebagai Strapi’s own team puts ini, “headless architectures require developers untuk take kepemilikan dari SEO aspects itu tradisional konten management sistem tangani secara otomatis.” (terjemahan) “headless architectures memerlukan developers untuk take kepemilikan dari SEO aspects itu tradisional sistem manajemen konten tangani secara otomatis.” sebuah Strapi + Berikutnya.js situs rendering pada SSG, dengan sebuah disciplined metadata layer, akan outperform sebuah neglected WordPress install. sebuah Strapi situs fronted oleh sebuah client-dirender React SPA dengan Tidak metadata wiring akan diam-diam fall apart. sama backend, opposite outcomes — karena rendering decisions differ. ini adalah yang sama poin I membuat tentang JavaScript SEO umumnya: pertanyaan untuk mulai dengan adalah selalu bagaimana adalah frontend rendering ini konten?

four rendering modes (paling critical decision)

«- SSG — Static Site Generation. HTML built at build time, served as static files. Best-case SEO: fully-rendered HTML on first fetch, fast TTFB and Core Web Vitals. Tradeoff: new/changed content needs a rebuild. Gatsby and Astro are SSG-first; Next.js does it per route. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh lima, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- SSR — Server-Side Rendering. HTML rendered per request on a server or edge. Always-fresh, fully-rendered HTML. Tradeoff: Strapi API latency lands directly in your TTFB on every request. Next.js, Nuxt, SvelteKit, Remix. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh lima, bagian kecil dua: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- ISR — Incremental Static Regeneration. Static pages regenerated in the background after a revalidation window. A good middle ground with one trap (below). » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh lima, bagian kecil tiga: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) «- CSR — Client-Side Rendering. A near-empty shell ships and the browser fetches from Strapi and builds the DOM. Worst SEO option: Google must queue the page for a later render wave — “Googlebot queues all pages with a 200 HTTP status code for rendering, unless a robots meta tag or header tells Google not to index the page” — so your content doesn’t exist until that wave runs. AI crawlers and Bing handle this far worse than Google. Acceptable only for logged-in dashboards you don’t want indexed anyway. A raw React/Vue SPA over Strapi lands here by default — avoid it for public content.

Bukti untuk klaim ini Google sends pages with successful HTTP responses to a rendering queue and recommends server-side or pre-rendering for reliable content delivery. Cakupan: Google Search JavaScript processing; rendering is not an assurance of indexing. Tingkat keyakinan: tinggi · Diverifikasi: Google: JavaScript SEO basics

» (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh lima, bagian kecil empat: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

** ISR trap:** ketika revalidation window expires, berikutnya permintaan — yang dapat menjadi Googlebot — masih mendapatkan stale cached halaman; fresh satu menyajikan hanya pada berikut permintaan. untuk volatile data (prices, stock), prefer SSR. ISR adalah ideal untuk konten itu perubahan pada order dari hours atau days.

konten modeling untuk SEO di Strapi

Strapi memberikan frontend tidak ada apa pun untuk render unless Anda put fields di konten model. untuk setiap publik konten jenis, tambahkan sebuah SEO component dengan di minimum:

  • metaTitle, metaDescription
  • canonicalURL
  • ogImage (dan Open Graph / Twitter fields)
  • sebuah robots directive — e.g. sebuah preventIndexing Boolean untuk per-entry noindex control

gunakan Strapi’s UID field untuk slugs — ini auto-generates dari judul dan enforces uniqueness. untuk multilingual situs, enable Strapi’s dibangun-di i18n per konten jenis, localize slug dan SEO fields per locale, lalu output <link rel="alternate" hreflang="..."> di frontend menggunakan localizations hubungan setiap entry exposes. sebagai SALT.agency notes, judul “dapat either menjadi populated dengan itu Strapi SEO Plugin atau oleh creating a text field di mana itu title tag akan menjadi stored, dengan conditions added such sebagai tidak menjadi lebih singkat daripada atau tidak exceeding a set amount dari characters.” (terjemahan) “dapat either menjadi populated dengan Strapi SEO Plugin atau oleh membuat sebuah text field di mana tag judul akan menjadi stored, dengan conditions ditambahkan such sebagai tidak menjadi lebih singkat daripada atau tidak exceeding sebuah set amount dari characters.”

frontend lalu membaca itu fields dari API dan populates <head> — Berikutnya.js generateMetadata, Nuxt useSeoMeta, Astro’s layout <head>. reliability aturan adalah yang sama sebagai semua headless SEO: HTML-tingkat metadata beats JS-injected metadata, karena Google sees ini pada pertama fetch.

Strapi SEO plugin — apa ini melakukan dan tidak melakukan

community SEO plugin (@strapi/plugin-seo, formerly @strapi-community/plugin-seo, listed pada Strapi Market) adalah standard alat. ini “embeds a side panel di setiap Konten-Jenis edit view di mana Anda dapat set meta titles, descriptions, canonical URLs, dan social share images,” (terjemahan) “embeds sebuah side panel di setiap konten-jenis edit view di mana Anda dapat set meta judul, deskripsi, canonical URLs, dan social share images,” menambahkan sebuah SERP preview, dan berjalan di-konten analysis — green, orange, atau red indicators untuk readability, keyword distribution, dan schema compliance.

Apa ini melakukan tidak melakukan, dan ini adalah paling umum misconception:

  • ini melakukan tidak generate <head> HTML — frontend renders fields.
  • ini melakukan tidak generate sebuah sitemap — itu’s sebuah terpisah plugin (pada Strapi 5, Webtools sitemap tambahkan-pada atau strapi-5-sitemap-plugin).
  • ini melakukan tidak tulis robots.txt atau implement data terstruktur — frontend’s job.

dengan kata lain, plugin memberikan editors sebuah baik authoring UX dan stores bersih fields. frontend masih memiliki untuk melakukan sebenarnya SEO output.

Drafts, preview, /admin, dan /api — mempertahankan wrong hal out dari indeks

ini adalah di mana Strapi memiliki lebih failure modes daripada sebuah hosted platform like Shopify.

  • Draft/Publish. Strapi marks drafts dengan publishedAt: null; API mengembalikan hanya published entries untuk unauthenticated permintaan. critical discipline: tidak pernah lulus sebuah authenticated API token di publik frontend permintaan, atau semua draft konten becomes fetchable. sitemap plugin/tambahkan-pada respects publish state dan hanya mencakup published URLs.
  • Preview / staging environments. Vercel branch deploys, Netlify deploy previews, dan dedicated preview hosts consuming Strapi drafts adalah biasanya publicly reachable. Block them dengan sebuah layered approach: sebuah X-Robots-Tag: noindex header di host tingkat (tidak hanya sebuah meta tag sebuah CSR halaman injects late), Disallow: / di robots.txt, sebuah noindex meta tag pada setiap halaman, dan HTTP authentication di mana mungkin. Watch Search Console untuk unexpected hostnames — itu’s Anda early warning.
  • ** /admin panel.** Strapi’s admin adalah sebuah React SPA; konfirmasi ini carries <meta name="robots" content="noindex"> (Strapi v4+ melakukan), pertahankan ini off publik tautan, dan password-lindungi ini — sebuah unprotected /admin adalah discoverable melalui Google dorking.
  • ** mentah /api/* JSON.** ini tidak akan peringkat sebagai sebuah halaman, tetapi ini wastes anggaran crawling dan dapat leak data. sebagian besar production setups put API pada -nya own subdomain (cms.example.com / api.example.com); block itu subdomain entirely di robots.txt dan pertahankan ini off sitemap. jika API dan frontend share sebuah domain, Disallow: /api/.

Sitemaps dan robots.txt — dibangun di frontend

ada Tidak Yoast, so keduanya adalah jelas. Dua sitemap routes:

  1. sebuah sitemap plugin di dalam Strapi — generates XML dan hanya mencakup published entries. pada Strapi 5 maintained option adalah Webtools sitemap tambahkan-pada (strapi-plugin-webtools + webtools-addon-sitemap) untuk lebih besar, multilingual situs, atau strapi-5-sitemap-plugin untuk simpler ones. older standalone strapi-plugin-sitemap (pluginpal) tops out di Strapi 4 — -nya own docs poin v5 pengguna untuk Webtools alih-alih, so jangan install ini pada sebuah v5 project. Quoting plugin docs: ketika draft/publish adalah pada, “ini setting akan membuat sure itu all draft halaman adalah excluded dari itu sitemap.” (terjemahan) “ini setting akan pastikan itu semua draft halaman adalah excluded dari sitemap.”
  2. Frontend-generated — Berikutnya.js sitemap.ts, Astro @astrojs/sitemap, Nuxt sitemap modules, fetching published URLs dari Strapi API. Lebih control di atas canonical URLs, lastmod, dan changefreq.

robots.txt adalah disajikan dari frontend (Berikutnya.js robots.ts, Astro public/robots.txt). sertakan sebuah Sitemap: directive, block preview hosts dengan Disallow: /, dan — sebagai dengan apa pun headless stack — tidak pernah disallow .js atau .css (ini blocks rendering).

tinggi-nilai pattern adalah webhook workflow: Strapi fires sebuah webhook pada publish → triggers sebuah Vercel/Netlify rebuild atau pada-demand revalidation → regenerates sitemap → pings Google Search Console dan IndexNow. Karena headless konten memperbarui flow melalui sebuah API alih-alih sebuah plugin itu pings mesin pencari, IndexNow (Bing, Yandex, dan others) adalah terutama valuable wired untuk itu publish webhook.

Strapi Cloud vs. self-hosted — SEO implications

Strapi’s hosting memengaruhi API respons time, yang penting differently oleh rendering mode:

  • SSG/ISR: Strapi API speed penting di bangun time, tidak runtime — halaman adalah pre-dibangun, so API latency tidak touch pengguna’s TTFB.
  • SSR: Strapi API latency menambahkan secara langsung untuk TTFB pada setiap permintaan → memengaruhi LCP → sebuah nyata peringkat input. ini adalah case untuk mengoptimalkan.

Strapi Cloud adalah managed infrastructure dengan sebuah asset CDN — baik untuk tim tanpa DevOps. Self-hosted memberikan Anda penuh control dari caching (Redis), database pengindeksan, dan geographic proximity untuk frontend. Either cara: cache Strapi API respons di CDN layer, atau gunakan ISR dengan pendek revalidation, untuk decouple frontend runtime dari Strapi latency. Satu caveat worth stating plainly — Strapi Cloud’s CDN menyajikan Strapi API dan assets, tidak Anda frontend situs web; Anda Core Web Vitals adalah diukur terhadap frontend, yang adalah hosted secara terpisah (Vercel, Netlify, Cloudflare halaman).

Migrating untuk atau dari Strapi

WordPress → Strapi adalah umum path, dan migrations adalah di mana headless SEO sebenarnya goes wrong:

  • Map setiap existing slug persis onto Strapi’s UID field; apa pun slug perubahan perlu sebuah 301 redirect (gunakan strapi-plugin-redirect-urls atau Smart Redirect Manager, baca oleh frontend/middleware).
  • Migrate meta judul, deskripsi, dan og:image dari wp_postmeta ke SEO component fields, dan image teks alt ke Media Library alternativeText field.
  • Inventory setiap URL — tidak hanya posts: tag halaman, paginated archives, parameter URLs — dan bangun peta pengalihan sebelum go-langsung.
  • Migrate canonicals explicitly; jangan assume frontend auto-generates them right.
  • Post-launch: jalankan sebuah Screaming Frog crawl perbandingan, re-verify data terstruktur dengan Rich hasil Test, resubmit sitemaps untuk GSC dan Bing, dan stand up IndexNow.

Strapi SEO adalah benar-benar sebuah specialized application dari JavaScript SEO dan rendering — sibling CMS headless SEO tulis-up covers platform-agnostic versi dari semua dari ini.

Tambahkan catatan pakar

Sematkan kutipan pakar

Orang baru? Buat profilnya yang belum diklaim di /admin/experts/ → Sematkan kutipan pakar terlebih dahulu.