Panduan Joomla SEO

sebuah SEO teknis guide untuk Joomla — enabling SEF URLs (dan htaccess.txt rename itu actually membuat them berfungsi), fixing Joomla's default duplicate konten, sitemaps dan schema via extensions, dan what changed di seluruh Joomla 4, 5, dan 6.

Pertama kali diterbitkan: 27 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

Joomla 5 memiliki strong dibangun-di SEO — SEF URLs, per-artikel metadata, sebuah native Schema plugin, dan sebuah excellent performa baseline — tetapi defaults bite Anda. Enabling SEF URLs hanya berfungsi setelah Anda rename htaccess.txt untuk.htaccess; bahkan lalu legacy ID-based URLs stay reachable dan Joomla dapat emit multiple competing tag canonical, so duplicate konten adalah sebuah nyata out-dari--box masalah Anda fix dengan canonicals, redirects, atau sebuah extension. There's no native sitemap XML (gunakan OSMap, Aimy Sitemap, Route66, atau 4SEO), dan sh404SEF — old dominant extension — adalah tidak pernah ported untuk Joomla 4/5, so Route66 (free) dan 4SEO (premium) adalah saat ini picks. Joomla 6 adalah now out (October 2025) dan adalah getting active updates alongside sebuah masih-maintained Joomla 5.x line, so versi-periksa apa pun Joomla situs sebelum assuming which settings apply. I've worked dengan Joomla since setidaknya 2012, when I spoke pada SEO teknis di Joomla Day Chicago.

TL;DR — Joomla 5 adalah genuinely capable: SEF URLs, per-artikel metadata, sebuah native Schema plugin, dan sebuah strong Core Web Vitals baseline. tetapi defaults perlu berfungsi. SEF URLs hanya function setelah Anda rename htaccess.txt untuk .htaccess (Apache) — #1 missed langkah. bahkan lalu non-SEF ID URLs stay reachable dan Joomla dapat output up untuk 3 competing rel=canonical tags untuk one artikel, so duplicate konten adalah nyata out dari box — fix ini dengan canonicals, redirects, atau sebuah extension. No native sitemap XML (OSMap / Aimy Sitemap / Route66 / 4SEO). sh404SEF adalah tidak pernah ported untuk Joomla 4/5 — gunakan Route66 (free) atau 4SEO (paid). Joomla 5 menambahkan native schema dan hreflang ( 5,2 self-referencing hreflang bug adalah fixed di 5,3). Joomla 6 shipped di October 2025 dan adalah saat ini major, dengan Joomla 5.x masih getting security/bugfix updates alongside ini — periksa which major sebuah situs adalah pada sebelum trusting apa pun settings path.

Where I’m coming dari

I’ve described my background sebagai berfungsi dengan “Drupal, Joomla, WordPress, and tons of different e-commerce systems,” (terjemahan) “Drupal, Joomla, WordPress, dan tons dari berbeda e-commerce sistem,” dan Joomla goes back sebuah while untuk me — I gave sebuah talk, SEO teknis, di Joomla Day Chicago di 2012. So ini isn’t sebuah tour dari sebuah CMS I read tentang; ini adalah platform I’ve actually configured. pendek versi dari my opinion: myth itu “Joomla is bad for SEO” (terjemahan) “Joomla adalah buruk untuk SEO” adalah wrong. Joomla 5 adalah comparable untuk WordPress technically. nyata issues adalah UX (settings adalah scattered) dan sebuah few harmful defaults.

Global Configuration: SEO settings itu penting

Everything starts di sistem → Global Configuration → situs tab → SEO Settings:

  • mesin pencari Friendly URLs → Yes. Converts index.php?option=com_content&view=article&id=2 ke sebuah readable slug. Google memiliki panjang recommended readable, kata-based URLs di atas ID strings, so ini adalah baseline.
  • gunakan URL Rewriting → Yestetapi hanya setelah .htaccess rename below. menghapus index.php dari path.
  • menambahkan Suffix untuk URL → No (biasanya). Appends .html; leave off untuk clean URLs unless sebuah legacy situs sudah relies pada ini.
  • Unicode Aliases → No dalam kebanyakan kasus. Transliterated slugs adalah cleaner daripada raw non-Latin characters; hanya enable untuk genuine international perlu.
  • sertakan situs Name di halaman judul — choose sebelum/setelah untuk control how Anda situs name appears di <title>.

lalu two more, elsewhere di Global Configuration:

  • server → Force HTTPS → Entire situs untuk enforce HTTPS sitewide. Evidence for this claim Joomla provides an Entire Site Force HTTPS configuration option. Scope: Joomla global configuration after HTTPS is functional on the server. Confidence: high · Verified: Joomla: Global configuration help
  • Metadata Settings — set sebuah global deskripsi meta dan confirm default Robots nilai adalah “Index, Follow.” (terjemahan) “indeks, ikuti.”

.htaccess rename — single sebagian besar-missed langkah

Joomla ships sebuah file named htaccess.txt (not .htaccess) di root directory. Until Anda rename ini untuk .htaccess, “Use URL Rewriting” (terjemahan) “gunakan URL Rewriting” toggle melakukan nothing — ini adalah #1 cause dari SEF URL failures pada Apache. melakukan rename sebelum (atau di least pada saat yang sama sebagai) enabling URL rewriting di Global Configuration, atau Anda’ll flip switch dan watch Anda clean URLs break. pada Nginx there’s no .htaccess; Anda tambahkan equivalent rewrite aturan untuk server config instead.

Joomla’s duplicate konten masalah

ini adalah Joomla’s biggest out-dari—box SEO issue, dan ini adalah worth understanding precisely. Joomla manufactures multiple URLs untuk yang sama konten:

  • ** non-SEF URL** (/index.php?option=com_content&view=article&id=2) — selalu reachable, bahkan dengan SEF pada.
  • SEF URL via menu vs. SEF URL via category — berbeda paths untuk yang sama artikel jika ini appears di multiple places.
  • www vs. non-www, HTTP vs. HTTPS, trailing-slash variants, dan ?layout=print appended untuk apa pun URL.

JoomlaSEO.com checklist puts core dari ini well: “Even when you have SEF links turned on in your Joomla global configuration, the non-SEF URL still exists, meaning 2 URLs with the same content, and often there are more,” (terjemahan) “bahkan when Anda memiliki SEF tautan turned pada di Anda Joomla global configuration, non-SEF URL masih exists, meaning 2 URLs dengan yang sama konten, dan sering ada more,” dan notes itu “Non-SEF URLs are still reachable, despite SEF-URLs being activated, like this: /index.php?option=com_content&view=article&id=2.” (terjemahan) “Non-SEF URLs adalah masih reachable, despite SEF-URLs menjadi activated, like ini: /indeks.php?option=com_content&view=artikel&id=2.” sebagai JoomUnited frames stakes, “Any duplicate content could have harmful effects on your SEO because search bots cannot determine which version deserves indexing priority.” (terjemahan) “apa pun duplicate konten dapat memiliki harmful effects pada Anda SEO because search bot cannot determine which versi deserves pengindeksan priority.”

ini gets worse daripada hanya two URLs. di beberapa configurations — opening yang sama artikel oleh category ID, artikel ID, atau kueri parameters — Joomla outputs three berbeda rel="canonical" tautan oleh default. Multiple canonicals adalah sebuah self-defeating signal: sebagai Google’s canonicalization guidance membuat jelas, declare more daripada one dan mereka tend untuk get ignored. So sebelum launch, run sebuah single-halaman audit (pemeriksaan URL, atau sebuah crawler) dan confirm setiap halaman emits exactly one canonical.

cara fix ini:

  • gunakan per-artikel Canonical URL field (Publishing tab → Metadata).
  • 301-redirect non-SEF URLs untuk SEF via .htaccess.
  • gunakan sistem – SEF plugin’s strict routing / “strict handling of index.php” (terjemahan) “strict handling dari indeks.php” (Joomla 4/5) untuk strip index.php dan redirect older URLs.
  • atau let sebuah extension (4SEO, Route66) tambahkan canonicals dan redirect non-SEF URLs automatically.

untuk underlying concepts, see canonicalization dan tag canonical.

Per-artikel dan per-category metadata (dan UX trap)

Joomla lets Anda set metadata di artikel tingkat — tetapi fields adalah split di seluruh tabs, which adalah single sebagian besar annoying thing tentang Joomla konten SEO:

  • SEO judul (browser halaman judul): Edit artikel → Options tab.
  • deskripsi meta: Edit artikel → Publishing tab → Metadata.
  • Robots (indeks/ikuti, NoIndex/NoFollow): Edit artikel → Publishing tab → Metadata.
  • Canonical URL: Edit artikel → Publishing tab → Metadata.

So halaman judul adalah di one tab dan deskripsi adalah di lainnya. Seobility’s review captures broader pattern — “Basic SEO settings are buried” (terjemahan) “Basic SEO settings adalah buried” di Joomla’s standard interface, membuat them “easy to miss.” (terjemahan) “easy untuk miss.” Categories memiliki mereka own metadata di bawah Edit Category → Options. dan ignore meta keywords field Joomla masih exposes — Google memiliki ignored meta keywords since 2009; ini adalah harmless tetapi worthless.

sitemap XML — no native solusi

Joomla melakukan not generate sebuah sitemap XML pada -nya own. Anda install sebuah extension: Evidence for this claim Sitemap generation for Joomla is supplied by extensions rather than the cited core global configuration features. Scope: Joomla Extensions Directory ecosystem; extension compatibility must be checked against the installed Joomla version. Confidence: medium · Verified: Joomla Extensions Directory: Site map

  • OSMap (Weeblr/JoomlaShack) — paling widely digunakan; free dan pro.
  • Aimy Sitemap — mendukung Joomla 3/4/5/6, highly configurable.
  • JSitemap — XML, HTML, image, dan video sitemaps.
  • Route66 dan 4SEO — both bundle sitemap generation ke sebuah broader SEO suite.

setelah generating ini, tambahkan Sitemap: https://example.com/sitemap.xml untuk Anda robots.txt dan submit ini di Google Search Console dan Bing Webmaster alat.

robots.txt — full manual control

Joomla places sebuah nyata robots.txt di situs root (sama tingkat sebagai index.php), fully editable via FTP atau Anda host’s file manager. default sensibly blocks /administrator/, /api/, /cache/, dan /components/ — admin dan sistem directories Anda tidak ingin di-crawl. hanya remember universal aturan: robots.txt controls crawling, not pengindeksan — don’t gunakan ini untuk try untuk deindex halaman.

Extensions: what untuk gunakan (dan what untuk hindari)

  • Route66 (Firecoders, free) — Seobility panggilan ini “as close as you’ll get to a WordPress SEO plugin like YOAST for Joomla.” (terjemahan) “sebagai close sebagai Anda’ll get untuk sebuah WordPress SEO plugin like YOAST untuk Joomla.” SERP previews, sitemap, canonical management, SEO scoring.
  • 4SEO (Weeblr, premium) — Weeblr describes ini sebagai software itu “works exactly like a search engine, crawling your site to understand it then adds metadata, structured data, builds a sitemap, replace content, helps your social networks sharing or finds broken links.” (terjemahan) “berfungsi exactly like sebuah mesin pencari, crawling Anda situs untuk memahami ini lalu menambahkan metadata, data terstruktur, membangun sebuah sitemap, replace konten, helps Anda social networks sharing atau menemukan broken tautan.” Pair dengan 4SEF untuk URL management.
  • sh404SEF — jangan gunakan pada Joomla 4/5. ini adalah critical migration gotcha. setelah 15+ years sebagai dominant Joomla SEO extension, Weeblr chose not untuk port ini: “After more than 15 years of duty, sh404SEF won’t be ported to Joomla 4. It will not run on Joomla 4.x. To move to Joomla 4, consider newer extensions, including 4SEF to maintain your site SEF URLs and 4SEO for metadata.” (terjemahan) “setelah more daripada 15 years dari duty, sh404SEF won’t menjadi ported untuk Joomla 4. ini akan not run pada Joomla 4.x. untuk move untuk Joomla 4, pertimbangkan newer extensions, including 4SEF untuk maintain Anda situs SEF URLs dan 4SEO untuk metadata.” dan menjadi careful bahkan pada older situs — Joomlashack warns itu “If you have an existing site that is already using the built in SEF, activating this extension may change all of your URLs.” (terjemahan) “jika Anda memiliki sebuah existing situs itu adalah sudah menggunakan dibangun di SEF, activating ini extension dapat perubahan semua dari Anda URLs.” Switching URL-management extensions pada sebuah live situs dapat rewrite URLs dan break inbound tautan; selalu test pada staging dan prepare redirect maps pertama.
  • JCH mengoptimalkan (performa) — combines dan minifies CSS/JS.

data terstruktur

data terstruktur handling depends pada Anda Joomla versi:

  • Joomla 5 ships sebuah native Schema plugin supporting BlogPosting, Event, Product, dan Organization (plus Book, Vacancy, Person, Recipe) — configured via Edit artikel → Schema tab. No extension needed.
  • Joomla 4 dan older memerlukan sebuah extension (Google data terstruktur, 4SEO, atau tassos.gr’s) — atau manual JSON-LD di template <head>.
  • Manual JSON-LD selalu berfungsi regardless dari versi, dan Joomla’s dibangun-di Breadcrumbs module pairs naturally dengan BreadcrumbList markup.

Multilingual SEO dan hreflang

Joomla memiliki sebuah strong dibangun-di multilingual sistem. Install languages via sistem → Extensions → Languages, lalu enable Language Filter plugin dan turn pada “Add alternate meta tags” (terjemahan) “tambahkan alternate meta tags” untuk generate hreflang tags automatically; Language Code plugin mempertahankan BCP47 codes correct. setiap language gets sebuah URL prefix (/en/, /fr/, /de/).

One historical caution, now resolved: Joomla 5,2 shipped dengan self-referencing hreflang tag missing — tag pointing untuk saat ini halaman itself adalah omitted (GitHub issue #44297). itu adalah fixed di 5,3 release, dan issue adalah closed. jika Anda’re pada 5,3 atau later (including Joomla 6), Anda shouldn’t hit ini — tetapi jika Anda’re auditing sebuah old, unpatched 5,2 install, verify hreflang output directly sebelum assuming ini adalah correct.

performa: Joomla’s quiet strength

Joomla’s Core Web Vitals baseline adalah better daripada banyak expect. Seobility ditemukan default Cassiopeia template “scored 93/100 on PageSpeed Insights with ‘absolutely nothing’ done for optimization,” (terjemahan) “scored 93/100 pada PageSpeed Insights dengan ‘absolutely nothing’ done untuk optimization,” dan concluded “Joomla 5 is even better, with great performance and many SEO features built in.” (terjemahan) “Joomla 5 adalah bahkan better, dengan great performa dan banyak SEO fitur dibangun di.” Enable Gzip halaman Compression dan Cache di Global Configuration → server; tambahkan JCH mengoptimalkan, image compression, dan sebuah CDN untuk more. Because Joomla doesn’t carry WordPress’s typical plugin stack (separate SEO + cache + security plugins), bare Joomla sering beats bare WordPress pada performa — which penting untuk Core Web Vitals.

Joomla 3 vs. 4 vs. 5 vs. 6 untuk SEO

  • Joomla 3 (end dari life Dec 2023): basic SEF URLs; nearly everything else needed sebuah extension; sh404SEF adalah dominant solusi.
  • Joomla 4 (Aug 2021): cleaner admin, ditingkatkan SEF routing — tetapi sh404SEF adalah abandoned, dan Route66 / 4SEO emerged sebagai alternatives.
  • Joomla 5 (Oct 2023): native Schema plugin, extended deskripsi meta (~300 chars), trailing-slash control dan strict index.php handling di sistem – SEF plugin, AVIF mendukung, Organization/situs web schema, dan sebuah better performa baseline.
  • Joomla 6 (Oct 2025, currently pada 6,1.x line): saat ini major versi. ini carries forward Joomla 5’s SEO fitur set — I haven’t ditemukan pertama-party documentation dari SEO-spesifik settings perubahan antara 5 dan 6, so treat Global Configuration paths above sebagai masih accurate pada 6 until Anda’ve confirmed otherwise pada actual install Anda’re auditing. Joomla 5.x remains pada active security/bugfix mendukung di parallel, so plenty dari live situs adalah masih pada 5, not 6.

jika Anda’re auditing sebuah Joomla situs, pertama three pertanyaan adalah: which major versi (periksa Joomla’s own versi angka di admin footer atau sistem informasi, don’t assume dari theme), adalah SEF URLs actually berfungsi (periksa .htaccess rename), dan adalah non-SEF duplicate URL handled? Get itu right dan Joomla behaves.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.