Terug naar hoofdinhoud
Joomla uitgelegd
Op deze pagina
# Topics

Joomla uitgelegd

07 juni 2026

Joomla is een gratis, open source contentmanagementsysteem dat alles aandrijft, van kleine zakelijke websites tot grote meertalige portalen. Op het eerste gezicht lijkt het "zomaar een websitetool", maar eronder zit een compleet applicatieframework met gebruikers, rechten, meertalige ondersteuning en een REST API.

Dit artikel legt uit wat Joomla echt is en hoe alles samenhangt. Het behandelt de basis voor website-eigenaren en redacteuren, de dagelijkse instellingen voor beheerders en de technische details voor ontwikkelaars. Je leert hoe een Joomla-site is opgebouwd, hoe de backend en frontend zich tot elkaar verhouden, hoe extensies werken en hoe Joomla 6 content beschikbaar maakt via de Web Services API.

Joomla is niet een enkel programma. Het is een framework dat veel kleine onderdelen samen laat werken.

Het doel is simpel: je Joomla goed genoeg laten begrijpen om met vertrouwen een site te plannen, te beheren en te laten groeien.

1. De basis

1.1 Wat is Joomla?

Joomla is een contentmanagementsysteem (CMS). Met een CMS maak en beheer je een website zonder zelf HTML te schrijven. Je logt in, typt je inhoud, klikt op opslaan, en het systeem bouwt de openbare pagina's voor je.

Drie feiten kenmerken Joomla:

  • Het is gratis en open source, uitgebracht onder de GNU GPL-licentie.
  • Het is geschreven in PHP en slaat de gegevens op in een database zoals MySQL of MariaDB.
  • Het wordt onderhouden door een wereldwijde gemeenschap van vrijwilligers, niet door een enkel bedrijf.

1.2 Wat kun je ermee bouwen?

Joomla is een veelzijdig CMS. Mensen gebruiken het voor veel soorten sites:

Soort siteVoorbeeld
Zakelijke website Bedrijfspagina's, diensten, contactformulieren.
Nieuws of magazine Veel auteurs, categorieen en tags.
Ledensite Afgeschermde inhoud voor ingelogde gebruikers.
Meertalig portaal Een site in meerdere talen.
Webapplicatie Eigen componenten voor reserveringen, catalogi en meer.

1.3 Joomla, WordPress en Drupal

Mensen vergelijken vaak de drie grote open source systemen. Een korte, eerlijke samenvatting:

  • WordPress is het eenvoudigst om mee te starten en domineert blogs en kleine sites.
  • Drupal is het flexibelst voor zeer grote, op maat gemaakte projecten, maar heeft een steilere leercurve.
  • Joomla zit ertussenin. Het biedt sterke ingebouwde functies (meertaligheid, rechtenbeheer, custom fields) zonder dat je veel extra plugins nodig hebt.

Het grote voordeel van Joomla is dat veel kracht al in de core zit. Je hebt geen lange lijst met add-ons nodig om een serieuze site te bouwen.

Naar boven

2. Een korte geschiedenis en de versiecyclus

2.1 Waar Joomla vandaan komt

Joomla begon in 2005 als een fork van een ouder CMS genaamd Mambo. De naam komt van het Swahili-woord Jumla, dat "alles samen" betekent. Dat idee klopt nog steeds: Joomla brengt veel onderdelen samen in een systeem.

2.2 Hoofdversies

Joomla gaat vooruit in grote releases. Elke grote versie kan veranderen hoe extensies en templates werken:

JaarVersieWat is er veranderd?
2005 Joomla 1.0 Afsplitsing (fork) van Mambo CMS.
2008-2012 Joomla 1.5 - 2.5 Het klassieke tijdperk, met een zeer lange levensduur.
2012 Joomla 3.x Bootstrap-frontend, langdurige ondersteuning en zeer breed gebruikt.
2021 Joomla 4.x Een grote moderne aanpassing: nieuwe backend, Web Services API en code met namespaces.
2023 Joomla 5.x Verbeteringen, hogere prestaties en schonere code.
2025 Joomla 6.x De huidige generatie, voortbouwend op de architectuur van Joomla 4 en 5.

2.3 Waarom versies belangrijk zijn

Twee praktische regels volgen uit de versiecyclus:

  • Houd je site op een ondersteunde versie. Oude versies krijgen geen beveiligingsupdates meer.
  • Plan grote upgrades op tijd, want sommige extensies hebben een update nodig om te blijven werken.

Kleine updates (bijvoorbeeld 6.0 naar 6.1) zijn meestal veilig en snel. Grote upgrades vragen eerst om een testronde op een kopie van je site.

Naar boven

3. De bouwstenen van een Joomla-site

Bijna alles wat je in Joomla doet, gebruikt dezelfde kleine set bouwstenen. Zodra je deze zeven woorden kent, valt de rest van het systeem op zijn plaats.

3.1 De zeven kernbegrippen

BegripWat het is
Artikel Een enkel stuk inhoud, een pagina met tekst en afbeeldingen.
Categorie Een container die artikelen en andere items groepeert.
Menu Een lijst met links die bepaalt welke pagina's bestaan en hoe bezoekers ze bereiken.
Module Een klein blok inhoud rond de hoofdpagina (inlogvak, menu, laatste nieuws).
Component De hoofdapplicatie die het centrale deel van een pagina vult.
Plugin Achtergrondcode die op gebeurtenissen reageert en het gedrag van Joomla aanpast.
Template De ontwerplaag die bepaalt hoe alles eruitziet.

3.2 Hoe een pagina tot stand komt

Wanneer een bezoeker een pagina opent, stelt Joomla die samen uit deze onderdelen:

Menu-item        bepaalt welk component en welke weergave laadt
   |
Component        bouwt de hoofdinhoud (bijvoorbeeld een artikel)
   |
Modules          voegen blokken eromheen toe (menu, zoeken, inloggen)
   |
Plugins          draaien tijdens het proces en kunnen de uitvoer aanpassen
   |
Template         verpakt alles in het siteontwerp

Dit is het allerbelangrijkste idee in Joomla: een menu-item kiest een component, de template tekent het kader, en modules vullen de ruimtes rond de inhoud.

3.3 Een kort voorbeeld

Stel je een "Nieuws"-pagina voor:

  • Een menu-item van het type "Categorieblog" wijst naar de categorie Nieuws.
  • Het component com_content leest de artikelen in die categorie.
  • Een module toont het hoofdmenu links, een andere toont een zoekvak.
  • De template bepaalt de kleuren, lettertypen en de positie van elk blok.
Naar boven

4. Joomla installeren

4.1 Wat je nodig hebt

Joomla draait op een gewone webserver. De gebruikelijke vereisten zijn:

  • Een webserver: ApacheNGINX of OpenLiteSpeed.
  • PHP in een ondersteunde versie (Joomla 6 gebruikt een recente PHP-release).
  • Een database: MySQLMariaDB of PostgreSQL.
  • HTTPS, zodat het website verkeer van bezoekers en logins versleuteld is.

Deze combinatie heet vaak een LAMP-stack (Linux, Apache, MySQL, PHP).

4.2 De installatiestappen

Een nieuwe installatie volgt een kort, begeleid proces:

1. Download Joomla en upload de bestanden naar je server.
2. Maak een lege database en een databasegebruiker aan.
3. Open de site in je browser om de webinstaller te starten.
4. Vul de sitenaam, het beheerdersaccount en de databasegegevens in.
5. Joomla maakt de tabellen aan en rondt de installatie af.

Na de installatie vraagt Joomla je de installatiemap te verwijderen. Dit is een veiligheidsstap, zodat niemand de installer opnieuw kan draaien.

4.3 Voorbeeldgegevens

Tijdens de installatie kun je voorbeeldgegevens laden. Die vullen de site met voorbeeldartikelen, menu's en modules. Dat is een goede manier om te leren, want je ziet hoe een werkende site in elkaar zit. Installeer voor een echt project juist een lege site.

Naar boven

5. De backend: het beheerdersgedeelte

5.1 Twee kanten van elke Joomla-site

Elke Joomla website heeft twee delen:

  • De frontend: de openbare website die je bezoekers zien.
  • De backend: het besloten controlepaneel waar je de site beheert.

Je bereikt de backend door /administrator achter je siteadres te zetten:

https://example.test/administrator

5.2 De hoofdmenu's

Het bovenmenu van de backend groepeert elke taak in een paar duidelijke gebieden:

MenuWat je daar beheert
Systeem Globale instellingen, cache, gebruikers, templates, onderhoud.
Inhoud Artikelen, categorieen, custom fields en de mediabibliotheek.
Menu's De sitemenu's en hun menu-items.
Componenten De grotere ingebouwde tools (contacten, banners, smart search en meer).
Gebruikers Gebruikersaccounts, groepen en toegangsniveaus.

5.3 Het Home dashboard

Na het inloggen kom je op het Home dashboard. Het toont snelkoppelingen, voorbeeldwidgets en belangrijke meldingen zoals beschikbare updates. Behandel de updatemelding als een klus die af moet, niet als een bericht om te negeren.

Naar boven

6. De frontend en Templates

6.1 Wat een Template doet

Een template bepaalt het uiterlijk van je site: kleuren, lettertypen, witruimte en waar elk blok komt. Dezelfde inhoud kan er totaal anders uitzien onder twee templates, omdat de inhoud en het ontwerp gescheiden blijven.

6.2 Moduleposities

Templates definieren benoemde moduleposities, zoals sidebar-right of top-a. Vervolgens wijs je modules aan deze posities toe. Zo bepaal je bijvoorbeeld dat het inlogvak rechtsboven verschijnt en het menu links.

Templatepositie "menu"     → module Hoofdmenu
Templatepositie "sidebar"  → module Laatste Artikelen
Templatepositie "footer"   → module Copyright

6.3 Site- en beheerderstemplates

Joomla heeft aparte templates voor de twee kanten van de site:

  • Een sitetemplate voor de openbare frontend.
  • Een beheerderstemplate voor de backend.

Je kunt meerdere templates installeren en de actieve wisselen, of een andere template toewijzen aan specifieke menu-items.

6.4 Overrides

Templates kunnen overrides bevatten: kopieen van de standaard lay-outbestanden van Joomla, geplaatst in de template. Met overrides verander je hoe een component eruitziet zonder de corebestanden van Joomla te bewerken, zodat je wijzigingen updates overleven. We komen hierop terug in het ontwikkelaarsgedeelte.

Naar boven

7. Extensies: hoe je Joomla's functionaliteit kunt uitbreiden

Je breidt Joomla uit door extensies te installeren. Een extensie is een pakket dat je in de backend uploadt. De verschillende types kennen voorkomt veel verwarring.

7.1 De vijf belangrijkste extensietypes

TypeRolPrefix
Component Een volledige applicatie; vult het hoofdgedeelte van de pagina. com_
Module Een klein blok op een templatepositie. mod_
Plugin Achtergrondcode die op gebeurtenissen reageert. plg_
Template De ontwerplaag van de site of de backend. tpl_
Taal Een vertaalpakket voor de interface. lang

Er bestaan nog twee types voor ontwikkelaars en pakketmakers:

  • Library: gedeelde PHP-code die meerdere extensies kunnen hergebruiken, in plaats van dat elke extensie een eigen kopie meelevert.
  • Package: een bundel die in een keer meerdere extensies installeert. Een webshop arriveert bijvoorbeeld vaak als een package met daarin het component, de modules en de plugins samen.

7.2 Hoe ze samenwerken

Een echte functie gebruikt vaak meerdere types tegelijk. Een webshop kan bijvoorbeeld bestaan uit:

  • Een component voor de productcatalogus en het afrekenen.
  • Een module voor het blok "winkelwagen".
  • Een plugin die productresultaten toevoegt aan Smart Search.

7.3 Extensies veilig installeren

Je installeert extensies via Systeem → Installeren → Extensies. Twee veiligheidsregels zijn belangrijk:

  • Installeer alleen extensies uit bronnen die je vertrouwt. Een extensie draait met volledige toegang tot je site.
  • Kies extensies die actief worden onderhouden en je Joomla-versie ondersteunen.
Naar boven

8. Gebruikers, groepen en toegangsbeheer

8.1 De drie ACL-begrippen

Joomla heeft een krachtig Access Control List-systeem (ACL). Het is opgebouwd uit drie ideeen die samenwerken:

BegripVraag die het beantwoordt
Gebruikersgroep Tot welke groep behoort deze gebruiker?
Toegangsniveau Welke groepen mogen dit item zien?
Rechten Wat mag een groep doen (aanmaken, bewerken, verwijderen)?

8.2 Standaard gebruikersgroepen

Joomla levert een kant-en-klare set groepen, geordend als een boom. Elke groep erft van zijn ouder:

Public
 +-- Registered
 |    +-- Author
 |         +-- Editor
 |              +-- Publisher
 +-- Manager
      +-- Administrator
           +-- Super Users

Een Super User mag alles. Een Registered-gebruiker ziet alleen inhoud die voor ingelogde bezoekers is gereserveerd. Je kunt eigen groepen toevoegen voor elke situatie, zoals "Betalende Leden" of "Personeel".

8.3 Rechten erven van bovenaf

Rechten stromen naar beneden, van globale instellingen naar het enkele item:

Globale Configuratie
   +-- Component (bijvoorbeeld com_content)
         +-- Categorie
               +-- Artikel

Op elk niveau kan een recht Inherit, Allowed of Denied zijn. Een "Denied" hoog in de boom kun je lager niet meer overschrijven. Een handige regel: weiger op het hoogste niveau dat kan, sta toe op het laagste niveau dat moet.

Naar boven

9. Meertalig Joomla

9.1 Ingebouwd in de core

Een van de sterkste functies van Joomla is dat meertalige ondersteuning is ingebouwd. Je hebt geen betaalde extensie nodig om een site in meerdere talen te draaien.

9.2 Hoe het werkt

Een meertalige site gebruikt een paar samenhangende onderdelen:

  • Installeer een taalpakket per taal.
  • Activeer de plugin Language Filter.
  • Maak contenttalen aan en koppel elk artikel, elke categorie en elk menu aan een taal.
  • Voeg associaties toe zodat Joomla weet dat de Engelse en Nederlandse versie van een pagina bij elkaar horen.

9.3 De taalkeuze

Een kleine module Language Switcher laat bezoekers tussen talen kiezen. Dankzij associaties stuurt die hen naar de bijbehorende vertaalde pagina in plaats van terug naar de homepage.

Naar boven

10. Onder de motorkap (ontwikkelaarsblik)

10.1 De mappenstructuur

Een Joomla-installatie heeft een heldere mappenstructuur. De belangrijkste mappen zijn:

administrator/   de backendapplicatie en adminonderdelen van componenten
api/             de Web Services (REST) applicatie
components/      het frontendgedeelte van elk component
modules/         sitemodules
plugins/         alle plugins, gegroepeerd per type
templates/       sitetemplates
libraries/       de Joomla- en Framework-corecode
language/        geinstalleerde taalpakketten
media/           openbare CSS, JavaScript en afbeeldingen
images/          je geuploade media
cache/, tmp/, logs/   werkmappen

10.2 De database

Joomla bewaart bijna alles in de database. Tabelnamen gebruiken een instelbare prefix, in code geschreven als #__ (bijvoorbeeld #__content voor artikelen). Met de prefix kunnen meerdere Joomla-sites veilig een database delen.

Een paar coretabellen laten het patroon zien:

TabelBewaart
#__content Artikelen.
#__categories Categorieen voor elk component.
#__menu Menu-items.
#__modules Modules en hun instellingen.
#__extensions Elke geinstalleerde extensie.
#__users Gebruikersaccounts (wachtwoorden worden als hash opgeslagen, nooit als platte tekst).
#__user_usergroup_map Welke gebruiker bij welke groep hoort.
#__assets De ACL-regels; dit is de tabel achter elk recht.

De tabel #__assets is de stille motor van het toegangsbeheer van Joomla. Elk component, elke categorie en elk artikel heeft een bijbehorende assetrij die de rechtenregels als JSON opslaat, geordend als een geneste boom zodat rechten van ouder naar kind kunnen erven. Als ACL "zich niet gedraagt", ligt de oorzaak bijna altijd hier.

10.3 Het MVC-patroon

Joomla-componenten volgen het Model-View-Controller-patroon (MVC). Dit verdeelt het werk in drie rollen:

  • Het Model praat met de database en houdt de gegevens bij.
  • De View zet die gegevens om in HTML, JSON of een ander formaat.
  • De Controller reageert op het verzoek en koppelt de twee aan elkaar.

Moderne Joomla-code is volledig namespaced en gebruikt een factory om componenten te laden. Een typisch voorbeeld:

use Joomla\CMS\Factory;

$app     = Factory::getApplication();
$factory = $app->bootComponent('com_content')->getMVCFactory();
$model   = $factory->createModel('Articles', 'Site', ['ignore_request' => true]);
$items   = $model->getItems();

10.4 Service providers en dependency injection

Moderne Joomla-extensies bouwen hun objecten niet meer via globale toegang. Elke extensie levert een service provider die zijn klassen registreert in een Dependency Injection-container (DI). Joomla vraagt de container vervolgens om wat het nodig heeft, en de container koppelt de onderdelen aan elkaar.

Voor een component is het startpunt een bestand:

com_example/
   services/
      provider.php      registreert het component in de DI-container
   src/
      Controller/
      Model/
      View/

Het voordeel is schonere, testbare code: klassen verklaren waar ze van afhankelijk zijn in plaats van het zelf op te halen. Dit is ook waarom moderne Joomla-code de PSR-standaarden volgt en Composer kan gebruiken voor externe libraries.

10.5 De database abstraction layer

Ontwikkelaars schrijven in Joomla zelden ruwe SQL-strings. In plaats daarvan gebruiken ze de Database Abstraction Layer en de query builder, die veilige, portable queries produceert:

$db    = $this->getDatabase();
$query = $db->getQuery(true)
    ->select($db->quoteName(['id', 'title']))
    ->from($db->quoteName('#__content'))
    ->where($db->quoteName('state') . ' = :state')
    ->bind(':state', 1, ParameterType::INTEGER);

$db->setQuery($query);
$rows = $db->loadObjectList();

De query builder quote namen, bindt parameters en past zich aan de gebruikte database aan. Dit voorkomt SQL-injectie en laat dezelfde code werken op MySQL en MariaDB.

10.6 Gebeurtenissen en plugins

Joomla gebruikt een gebeurtenissysteem dat wordt aangestuurd door een event dispatcher. Op belangrijke momenten vuurt het een gebeurtenis af, en plugins luisteren ernaar. Zo vuurt onContentPrepare af voordat inhoud wordt getoond, zodat een plugin de tekst kan aanpassen. Zo blijft Joomla flexibel zonder dat iemand de core hoeft te bewerken.

10.7 Snelheid en caching

Joomla kan de gegenereerde uitvoer cachen om pagina's sneller te maken. Het biedt page cache, view cache en module cache. Vergeet niet de cache te legen nadat je inhoud of instellingen wijzigt.

Op drukke sites combineer je Joomla's eigen cache met afstemming op serverniveau:

  • OPcache: een PHP-instelling die gecompileerde code in het geheugen houdt, zodat PHP niet bij elk verzoek opnieuw compileert.
  • Redis of Memcached: snelle opslag in het geheugen die Joomla voor cache en sessies kan gebruiken in plaats van bestanden.
  • Een CDN: levert afbeeldingen, CSS en JavaScript vanaf servers dicht bij de bezoeker.
  • Afbeeldingsoptimalisatie: kleinere afbeeldingen betekenen snellere pagina's en betere scores.
  • Database-indexering: op grote sites houden goede indexen de queries snel.
Naar boven

11. De Web Services API (Joomla zonder voorkant)

11.1 Joomla als backend voor andere apps

Sinds Joomla 4 bevat de core een Web Services API. Dit is een REST-interface waarmee andere programma's Joomla-gegevens kunnen lezen en schrijven. Je kunt Joomla puur als contentbackend gebruiken voor een mobiele app of een aparte frontend.

11.2 Authenticatie met een token

API-aanroepen gebruiken een token in plaats van een gewone login. Je maakt in de backend een token aan voor een gebruiker en stuurt het mee in een header:

curl -H "X-Joomla-Token: <jouw-token>" \
  https://example.test/api/index.php/v1/content/articles

11.3 Veelgebruikte endpoints

De API weerspiegelt de structuur van de corecomponenten:

EndpointGeeft terug
/v1/content/articles Een lijst met artikelen.
/v1/content/articles/42 Een artikel op id.
/v1/content/categories Contentcategorieen.
/v1/users Gebruikersaccounts.
/v1/menus Menu's en menu-items.

11.4 De Joomla CLI

Joomla levert ook een commandoregeltool voor servertaken, zoals het legen van de cache of het draaien van geplande taken:

php cli/joomla.php core:check-updates
php cli/joomla.php cache:clean

Dit is handig voor automatisering en om taken te draaien zonder de backend te openen.

Naar boven

12. Beveiliging en onderhoud

12.1 Updates zijn je eerste verdediging

De allerbelangrijkste beveiligingstaak is om Joomla en alle extensies up-to-date te houden. De meeste gehackte Joomla-sites draaien verouderde software met bekende lekken. Joomla toont updates op het dashboard en kan zichzelf met een klik bijwerken.

12.2 Een eenvoudige onderhoudsroutine

Hoe vaakTaak
Wekelijks Controleer op updates voor Joomla en extensies; voer ze door.
Wekelijks Bevestig dat er een recente back-up bestaat die werkt.
Maandelijks Controleer gebruikers, vooral Super Users, en verwijder ongebruikte accounts.
Maandelijks Bekijk de Action Logs op ongewone activiteit.

12.3 Back-ups

Een back-up is een volledige kopie van je bestanden en database die je na een probleem kunt terugzetten. Test altijd of een back-up echt terugzet; een ongeteste back-up is geen back-up. Bewaar minstens een kopie op een andere locatie buiten de server.

12.4 Extra bescherming

  • Gebruik sterke wachtwoorden en activeer tweestapsverificatie voor backendgebruikers.
  • Serveer de hele site via HTTPS.
  • Voeg beveiligingsheaders toe (Joomla heeft een ingebouwde HTTP Headers-plugin).
  • Verwijder extensies die je niet meer gebruikt; ongebruikte code is nog steeds een risico.

12.5 Hoe Joomla je standaard beschermt

Veel beveiliging zit al in de core, zodat goed geschreven extensies die gratis krijgen:

MechanismeWat het doet
CSRF-tokens Elk formulier draagt een eenmalige token, zodat aanvallers geen verzoeken namens een gebruiker kunnen vervalsen.
Invoerfiltering Joomla schoont binnenkomende verzoekgegevens op via de inputklasse in plaats van ze ruw te vertrouwen.
Wachtwoord-hashing Wachtwoorden worden als sterke eenrichtings-hash opgeslagen, nooit als leesbare tekst.
Sessiebescherming Sessies worden gevalideerd om kaping en fixatie te beperken.

Het kernpunt voor ontwikkelaars: gebruik de input-, formulier- en databasetools van Joomla. Die passen deze bescherming automatisch toe. Zelfgeschreven omwegen eromheen zijn waar de meeste kwetsbaarheden in extensies vandaan komen.

Naar boven

13. SEO en metadata

13.1 Zoekmachinevriendelijke URL's

Joomla kan schone, leesbare URL's maken. In Systeem → Globale Configuratie → Site activeer je:

  • Zoekmachinevriendelijke URL's: maakt van index.php?option=com_content&id=42 een /nieuws/joomla-6-uitgebracht.
  • URL Rewriting: verwijdert index.php uit het adres (vereist rewrite-regels op de server).

13.2 Metadata

Elk artikel, elke categorie en elk menu-item kan een metatitel en metabeschrijving dragen. Joomla ondersteunt ook een globale metadata-instelling en laat je de robots-richtlijn per pagina sturen (bijvoorbeeld index, follow of noindex).

13.3 Ingebouwde SEO-hulpmiddelen

  • Categorieen en Tags vormen natuurlijke themaclusters en schone URL-paden.
  • Het Redirect component vangt kapotte links op en stuurt bezoekers naar de juiste pagina.
  • Sitemap-ondersteuning is beschikbaar via extensies, zodat zoekmachines elke pagina vinden.

Goede URL's en eerlijke metadata doen het meeste SEO-werk. De rest is goede inhoud.

Naar boven

14. Veelgemaakte fouten en valkuilen

14.1 Joomla behandelen als een statische site

Symptoom: een redacteur probeert elke pagina als een lang artikel te bouwen en plakt ruwe HTML voor de lay-out.

Oplossing: gebruik menu's, categorieen en modules. Laat Joomla pagina's samenstellen, zodat het ontwerp consistent en makkelijk aanpasbaar blijft.

14.2 Updates overslaan

Symptoom: de site draait jarenlang een oude versie en wordt dan gehackt of breekt bij een serverupgrade.

Oplossing: update volgens een schema. Test grote upgrades eerst op een kopie en voer ze daarna door op de live site.

14.3 Corebestanden bewerken

Symptoom: iemand wijzigt een Joomla-corebestand om een lay-out aan te passen ("core hack" genoemd), en de volgende update wist die wijziging.

Oplossing: gebruik template-overrides en plugins. Bewerk nooit rechtstreeks corebestanden.

14.4 Te veel extensies installeren

Symptoom: de site is traag en elke update is riskant omdat tientallen add-ons kunnen breken.

Oplossing: gebruik de core waar het kan. Elke extra extensie is meer code om te vertrouwen, bij te werken en te beveiligen.

14.5 Geen back-up voor wijzigingen

Symptoom: een update of bewerking gaat mis en er is geen weg terug.

Oplossing: maak een geteste back-up voor elke update of grote wijziging.

Naar boven

15. Best practices

Als je maar een paar dingen uit dit artikel onthoudt, onthoud dan deze:

  • Leer eerst de zeven bouwstenen; de rest van Joomla volgt daaruit.
  • Houd Joomla en elke extensie op een ondersteunde, bijgewerkte versie.
  • Bouw pagina's met menu's, componenten en modules, niet met handgeschreven HTML.
  • Gebruik template-overrides in plaats van corebestanden te bewerken.
  • Geef de voorkeur aan de sterke core-functies boven het stapelen van extensies.
  • Maak een geteste back-up voor elke update of grote wijziging.
  • Plan je categorieen, menu's en talen voordat je de site met inhoud vult.
Naar boven

16. In het kort

BACKEND       https://jouwsite/administrator
NIEUW ARTIKEL Inhoud → Artikelen → Nieuw
NIEUW MENU    Menu's → Beheren → Menu Toevoegen
MODULE        Systeem → Sitemodules → Nieuw
EXTENSIE      Systeem → Installeren → Extensies
GEBR. & ACL   Gebruikers → Beheren / Groepen / Toegangsniveaus
TEMPLATE      Systeem → Sitetemplates
SEF URL'S     Systeem → Globale Configuratie → Site
UPDATES       Systeem → Bijwerken → Joomla / Extensies
API           /api/index.php/v1/...  met X-Joomla-Token
CLI           php cli/joomla.php <commando>
Naar boven

17. Samenvatting

Joomla is veel meer dan een tool om webpagina's te typen. Het is een compleet systeem dat veel onderdelen samenbrengt:

  • Inhoud: artikelen, categorieen en tags.
  • Structuur: menu's en componenten die bepalen wat elke pagina doet.
  • Ontwerp: templates, moduleposities en overrides.
  • Mensen: gebruikers, groepen en een diepgaand toegangsbeheer.
  • Bereik: ingebouwde meertaligheid en een SEO-vriendelijke router.
  • Integratie: een REST API en een CLI voor headless en geautomatiseerd gebruik.

Omdat zoveel kracht in de core zit, blijft een goed opgezette Joomla-site jarenlang onderhoudbaar. De sleutel is begrijpen hoe de onderdelen samenwerken, alles bijgewerkt houden en Joomla je pagina's laten samenstellen in plaats van tegen het systeem te vechten.

Plan je een nieuwe Joomla-site, migreer je vanaf een oudere versie, of vermoed je dat je huidige opzet je tegenhoudt? Dan loont het om het fundament vroeg goed te krijgen. Een heldere structuur vandaag bespaart later veel reparatiewerk.

Naar boven
Joomla uitgelegd
Peter Martin
Peter Martin

Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.