Café 't HuchieHandleiding

Begin hier

Welkom bij de handleiding van je website

Alles wat je moet weten om de website van Café 't Huchie zelf bij te houden. Geschreven voor iemand die dit nog nooit eerder gedaan heeft. Geen voorkennis nodig.

Hoe je dit leest

Links staat de inhoudsopgave. Je hoeft niet alles te lezen. Zoek het hoofdstuk dat bij je vraag past, of typ bovenin een woord in het zoekvak.

Als je dit wiltGa naar
Voor het eerst inloggenInloggen
Een tekst op de site veranderenEen tekst aanpassen
Een foto vervangen of toevoegenFoto's en Media
De openingstijden aanpassenInstellingen van de site
Een biljarttoernooi invoerenNieuw toernooi invoeren
Weten hoe je beter in Google komtWat is SEO
Er gaat iets misVeelvoorkomende problemen

Je kunt bijna niets kapot maken

De website bewaart van elke pagina een geschiedenis. Ga je de fout in, dan zet je een oudere versie in twee klikken terug. Zie Versies terugzetten.

En zolang je op Bewaar concept klikt in plaats van op Publiceren, ziet niemand je werk. Je kunt dus rustig rondkijken en dingen uitproberen.

Als je er niet uitkomt

Stuur een bericht

Deze website is gebouwd en wordt onderhouden door Driezie Studio. Loop je vast, is er iets stuk, of wil je iets veranderen dat je hier niet kunt vinden? Mail dan naar contact@driezie.studio.

Vertel daarbij kort: wat je wilde doen, op welke pagina, en wat er gebeurde. Een schermfoto helpt enorm.

Wat er in deze handleiding staat

  • Begin hier en De eerste keer: wat dit is, hoe je inlogt, waar alles staat.
  • Tekst en foto's aanpassen: het dagelijkse werk. Waarschijnlijk het enige deel dat je echt nodig hebt.
  • Gevonden worden in Google: wat SEO is en wat jij eraan kunt doen.
  • Toernooien en biljart: het biljartarchief, speciaal voor dit café gebouwd.
  • Als er iets misgaat: veelvoorkomende problemen en de oplossing.
  • Voor je websitebouwer: de technische kant. Alleen nodig voor wie programmeert.
  • Overdracht: wat er nog geregeld moet worden en welke toegang je nodig hebt.

Klik op elke schermafbeelding om hem groot te bekijken. De rode rondjes in de plaatjes horen bij de genummerde stappen in de tekst eronder.

Begin hier

Wat is deze website

Café 't Huchie in Veenendaal bestaat sinds 1897. De website vertelt dat verhaal, laat de kaart zien, toont de openingstijden, en bewaart het complete biljartarchief.

De website heeft twee helften

HelftAdresVoor wieWat is het
De website/IedereenWat de bezoeker ziet. De openbare pagina's.
Het beheerscherm/adminAlleen jijWaar je teksten, foto's en toernooien aanpast. Achter een wachtwoord.

Alles wat je in het beheerscherm verandert en publiceert, staat meteen op de website. Je hoeft niemand te bellen en er is geen wachttijd.

De homepagina van Café 't Huchie
De homepagina zoals een bezoeker hem ziet.

De pagina's die er nu zijn

PaginaAdresWat staat erop
Home/De grote foto bovenaan, wat het café biedt, cijfers, galerij, citaat, openingstijden en kaart.
Over ons/overHet verhaal van het café.
Geschiedenis/over/geschiedenisDe tijdlijn vanaf 1897. Deze pagina hangt onder Over ons.
De kaart/kaartWat je kunt eten en drinken.
Toernooien/toernooienHet biljartarchief. Elk toernooi heeft ook een eigen pagina.
Contact/contactAdres, openingstijden en het contactformulier.
Galerij/galerijAlle foto's bij elkaar.
Privacyverklaring/privacyWat er met de gegevens uit het contactformulier gebeurt. Staat onderaan in de voettekst.

Hoe hij eruitziet op een telefoon

Meer dan de helft van de bezoekers komt op een telefoon. De site past zich daar vanzelf op aan.

De homepagina op een telefoon
Dezelfde pagina op een telefoonscherm.

Begin hier

Woordenlijst

Twaalf woorden die je in het beheerscherm tegenkomt. Meer hoef je niet te kennen.

WoordWat het betekent
PayloadHet programma waarin je de website aanpast. Payload is het beheerscherm.
CollectieEen verzameling van hetzelfde soort dingen. "Pagina's" is een collectie, "Evenementen" ook. Zie het als een la in een kast.
DocumentEén item uit zo'n collectie. De pagina Contact is één document.
VeldEén invulvakje. Bijvoorbeeld Titel of Ondertitel.
Sectie of blokEen bouwsteen van een pagina. Een pagina is een stapel blokken boven elkaar.
SlugHet stukje adres van een pagina. Bij /over is de slug over. Kleine letters, geen spaties.
ConceptEen opgeslagen versie die de bezoeker nog niet ziet. Jouw kladblok.
PublicerenJe wijziging echt op de website zetten, zichtbaar voor iedereen.
VersieEen oude opgeslagen toestand van een pagina. Je kunt er altijd naar terug.
MediaDe fotobibliotheek. Alle afbeeldingen staan hier één keer en je gebruikt ze op meerdere plekken.
InstellingenGegevens die maar één keer bestaan voor de hele site, zoals de openingstijden of het menu bovenaan.
Live previewEen venster naast je tekst dat meteen laat zien hoe de pagina eruit gaat zien.

De eerste keer

Wat is Payload en waarom is het er

Vroeger moest je voor elke tekstwijziging op een website een programmeur bellen. Payload lost dat op.

Payload is een beheerscherm waarin je zelf de teksten en foto's aanpast, zonder ook maar één regel code. Het doet drie dingen:

  1. Het bewaart alle tekst en alle foto's in een database.
  2. Het geeft jou een scherm om die tekst en foto's aan te passen.
  3. Het geeft de website die informatie, zodat de bezoeker hem ziet.

De inhoud zit niet in de website zelf

Belangrijk om te snappen

De teksten en foto's zitten niet in de code van de website. Ze zitten in een database. De code is het huis, de database is de inboedel. Daarom kan er aan de website gesleuteld worden zonder dat jouw teksten weg zijn, en daarom is het bewaren van die database zo belangrijk.

Waarom Payload en niet WordPress

Payload is gemaakt voor sites die precies moeten doen wat de eigenaar wil. Anders dan bij een kant en klaar systeem staat elk invulvakje er met opzet, met een uitleg eronder, en zonder honderd knoppen die je toch nooit gebruikt. Wat jij ziet is speciaal voor dit café gemaakt: een tabblad voor poules, een vinkje voor het aankomende toernooi, een veld voor het te maken aantal caramboles. Dat scheelt jou tijd en het scheelt fouten.

De eerste keer

Alle adressen op een rij

Bewaar deze pagina. Hier staat alles wat je ooit nodig hebt om ergens te komen.

WatAdres
De website, wat bezoekers zienhttps://dev.cafehuchie.driezie.studio
Het beheerscherm, waar jij inlogthttps://dev.cafehuchie.driezie.studio/admin
Wachtwoord vergetenhttps://dev.cafehuchie.driezie.studio/admin/forgot
Deze handleidinghttps://handleiding.cafehuchie.driezie.studio
Hulp en storingencontact@driezie.studio

Let op het adres

De site staat nu op een adres dat begint met dev. Dat is een tijdelijk testadres. Zodra de site naar het echte domein gaat, verandert dit adres. Vraag daarnaar bij Driezie Studio.

Zet het beheerscherm bij je favorieten

Dan hoef je het adres nooit meer te typen. In Chrome doe je dat met het sterretje rechts in de adresbalk.

De eerste keer

Inloggen

Het beheerscherm zit achter een wachtwoord. Zo kom je erin.

Het inlogscherm met genummerde markeringen
Het inlogscherm. De nummers horen bij de stappen hieronder.
  1. Ga naar https://dev.cafehuchie.driezie.studio/admin en typ in het bovenste vakje je emailadres.
  2. Typ in het vakje eronder je wachtwoord. Met het oogje rechts kun je zien wat je typt.
  3. Klik op Inloggen. Je komt nu op het overzichtsscherm.
  4. Wachtwoord kwijt? Klik hier. Zie Wachtwoord vergeten.

Blijf ingelogd

Je blijft een tijd ingelogd. Als je lang niets doet, verschijnt een venstertje met de vraag of je ingelogd wilt blijven. Klik dan op Ingelogd blijven. Doe je dat niet, dan word je uitgelogd en ben je niet opgeslagen werk kwijt.

Nog geen account

Vraag om een account

Heb je nog geen inloggegevens, of moet er iemand bij die ook mag meewerken? Mail dan naar contact@driezie.studio met de naam en het emailadres van die persoon. Je krijgt de inloggegevens terug.

De eerste keer

Wachtwoord vergeten

Kom je er niet meer in, dan is dat zo opgelost.

Het scherm om je wachtwoord opnieuw in te stellen
Het scherm dat je krijgt na klikken op "Wachtwoord vergeten?".
  1. Vul je emailadres in. Dat moet hetzelfde adres zijn als waarmee je inlogt.
  2. Klik op Indienen. Je krijgt een email met een link. Klik erop en kies een nieuw wachtwoord.

Komt er geen email

Op dit moment werkt deze knop nog niet

De website kan nu nog geen email versturen, omdat de mailserver nog niet ingesteld is. Je krijgt dus geen link in je mailbox. Dat wordt opgelost, maar tot die tijd geldt het onderstaande.

Zo kom je er toch weer in

Mail naar contact@driezie.studio en vraag om een nieuw wachtwoord. Vermeld het emailadres waarmee je inlogt. Je krijgt een nieuw wachtwoord terug dat je daarna zelf kunt veranderen.

Dit is met opzet zo: het opnieuw instellen van een wachtwoord gebeurt op de server en dat kun je zelf niet doen. Zo kan ook niemand anders zomaar bij je website.

Je eigen wachtwoord veranderen

Ben je gewoon ingelogd en wil je een ander wachtwoord? Klik dan rechtsboven op het rondje, kies je eigen account, en pas het wachtwoord daar aan.

De eerste keer

Rondleiding door het scherm

Je bent ingelogd. Dit zie je, en dit is waar alles staat.

Het overzichtsscherm van Payload
1 is het menu aan de linkerkant. 2 is het rondje rechtsboven: daar log je uit en zet je licht of donker.

Zie je het menu links niet? Klik dan op het vierkantje links van het woord Dashboard. Dat klapt het menu open en dicht.

De vijf plekken die je het meest gebruikt

Het linkermenu met markeringen bij de belangrijkste onderdelen
De vijf plekken die je het vaakst nodig hebt.
  1. Pagina's: alle teksten en secties van de website. Hier ben je het vaakst.
  2. Media: alle foto's.
  3. Evenementen: de biljarttoernooien met poules en uitslagen.
  4. Instellingen: openingstijden, adres, telefoon, sociale media. Geldt voor de hele site.
  5. Hoofdmenu: welke links bovenaan en onderaan de site staan.

De rest van het menu

OnderdeelWaarvoorHoe vaak nodig
GebruikersWie mag inloggen en wat diegene mag.Zelden
RedirectsOude adressen doorsturen naar nieuwe.Zelden
SpelersDe biljarters. Elke speler staat hier één keer per toernooi.Bij een toernooi
PersonenMensen met contactgegevens, bijvoorbeeld voor inschrijvingen.Zelden
ArrangementenFeesten, borrels en zaalverhuur.Soms
SponsorenDe sponsoren met hun logo.Soms
ContactberichtenWat mensen via het contactformulier sturen.Regelmatig lezen
Forms en Form SubmissionsZelfgemaakte formulieren en wat daarop binnenkomt.Zelden

Het menu rechtsboven

Het menu dat opent bij het rondje rechtsboven
Klik op het rondje rechtsboven voor je eigen account, licht of donker, en uitloggen.

De eerste keer

De vijf gouden regels

Houd je hieraan en er gaat vrijwel nooit iets mis.

1. Verander nooit de slug van een pagina die al online staat

De slug is het adres. Verander je over in over-ons, dan werkt elke oude link naar die pagina niet meer, en Google raakt de pagina kwijt. Moet het toch, maak dan eerst een doorverwijzing. Zie Doorverwijzingen.

2. Verwijder geen foto die nog gebruikt wordt

Een foto staat één keer in Media en wordt op meerdere pagina's gebruikt. Verwijder je hem, dan verdwijnt hij overal tegelijk. Wil je een foto vervangen? Upload de nieuwe en kies die op de pagina. Laat de oude gewoon staan.

3. Publiceer pas als je klaar bent

Gebruik Bewaar concept zolang je nog bezig bent. Niemand ziet dat. Pas Publiceer wijzigingen zet het echt online.

4. Vul altijd de alt tekst in bij een foto

De alt tekst beschrijft wat er op de foto staat. Blinden horen die tekst voorgelezen, en Google gebruikt hem om de foto te begrijpen. Eén korte zin is genoeg: "De bar met glazen op de tap".

5. Twijfel je? Kijk eerst bij Versies

Elke opgeslagen wijziging blijft bewaard. Ging er iets mis, dan zet je een oude versie terug. Zie Versies terugzetten.

Tekst en foto's aanpassen

Een tekst aanpassen

Dit is verreweg wat je het vaakst doet. In zes stappen.

De lijst met alle pagina's
1 is de knop om een nieuwe pagina te maken. 2 is de naam van een pagina: daarop klik je om hem te openen.
  1. Klik links in het menu op Pagina's.
  2. Klik op de naam van de pagina die je wilt aanpassen.
  3. Ga naar het tabblad waar de tekst staat. Meestal is dat Secties.
  4. Klik op de sectie die je wilt veranderen, zodat hij openklapt. Pas de tekst aan.
  5. Klik rechtsboven op Bewaar concept als je nog niet klaar bent.
  6. Klaar? Klik op Publiceer wijzigingen. Ververs de website en je ziet het.
Een pagina bewerken, tabblad Algemeen
1 Titel. 2 Slug, het adres. 3 Publiceren. 4 Live preview aanzetten.

Bang om iets fout te doen

Klik gewoon op Bewaar concept en kijk met de live preview of het klopt. Zolang je niet publiceert, ziet geen enkele bezoeker je wijziging.

Tekst en foto's aanpassen

Concept en publiceren

Het verschil tussen je kladblok en de echte website.

KnopWat er gebeurtZiet de bezoeker het
Bewaar conceptJe werk wordt bewaard, maar alleen jij ziet het.Nee
Publiceer wijzigingenJe werk gaat live op de website.Ja, meteen
Publicatie ongedaan makenDe pagina gaat van de site af en wordt weer een concept.Nee, de pagina verdwijnt

Waar je ziet in welke toestand je zit

Bovenaan het scherm staat altijd de toestand van de pagina:

  • Gepubliceerd: wat je ziet staat ook op de website.
  • Concept: deze pagina staat nog nergens online.
  • Gepubliceerd met wijzigingen: er staat iets online, maar jij hebt daarna nog iets veranderd dat nog niet gepubliceerd is.

Even weg? Bewaar concept

Sluit je het scherm zonder opslaan, dan ben je je werk kwijt. Klik dus altijd op Bewaar concept voordat je wegloopt.

De knop Publicatie ongedaan maken zit achter de drie puntjes rechtsboven, naast de publiceerknop.

Tekst en foto's aanpassen

Live preview, meteen zien hoe het wordt

Naast je invulvelden kun je een venster openen dat de pagina laat zien terwijl je typt.

Payload met het live preview venster ernaast
Links vul je in, rechts zie je het resultaat. Bovenin het venster kies je Mobiel, Tablet of Desktop.
  1. Open een pagina.
  2. Klik rechtsboven op het kleine schermpictogram naast de publiceerknop.
  3. Typ iets in een veld. Het venster rechts werkt vanzelf bij.
  4. Klik op Mobiel om te zien hoe het op een telefoon staat.

Kijk altijd even op Mobiel

De meeste bezoekers zitten op een telefoon. Een lange titel die op een groot scherm mooi past, kan op een telefoon over vier regels lopen.

Tekst en foto's aanpassen

Versies terugzetten

Payload bewaart elke opgeslagen toestand van een pagina. Heb je per ongeluk een tekst weggegooid, dan haal je hem zo terug.

Het overzicht met alle versies van een pagina
Elke regel is een moment waarop iemand opsloeg. De nieuwste staat bovenaan.
  1. Open de pagina.
  2. Klik rechtsboven op Versies. Het getal ernaast zegt hoeveel er zijn.
  3. Klik op de datum van de versie die je terug wilt.
  4. Je ziet nu wat er veranderd is. Klik op Herstel deze versie.
  5. De pagina staat weer zoals hij was. Vergeet niet opnieuw te publiceren.

Waar versies wel en niet werken

Versies werken bij Pagina's, Evenementen, Arrangementen en de Instellingen. Bij Media en Gebruikers niet. Van een pagina worden de laatste twintig versies bewaard.

Tekst en foto's aanpassen

De vier tabbladen van een pagina

Elke pagina is verdeeld over vier tabbladen. Zo weet je waar je moet zijn.

De vier tabbladen boven een pagina
De vier tabbladen bovenaan elke pagina.
  1. Algemeen: titel, slug (het adres), ondertitel en onder welke pagina deze hangt.
  2. Kop: het blok bovenaan de pagina. De grote foto, de titel eroverheen en eventueel knoppen.
  3. Secties: de inhoud van de pagina, opgebouwd uit bouwstenen. Hier ben je het meest.
  4. SEO: hoe de pagina eruitziet in Google en op sociale media. Zie SEO per pagina invullen.

Tabblad Algemeen

VeldWat je invultVerplicht
TitelDe naam van de pagina, bijvoorbeeld "Over ons".Ja
SlugHet adres, bijvoorbeeld over. Kleine letters, geen spaties, geen schuine streep vooraan.Ja
OndertitelEen korte zin onder de titel. Mag leeg.Nee
MenugroepAlleen om de lijst in het beheerscherm netjes te houden. Het echte menu stel je in bij Hoofdmenu.Nee
Bovenliggende paginaKies je hier "Over ons", dan wordt het adres /over/geschiedenis. Zo maak je onderpagina's.Nee

Tabblad Kop

Het tabblad Kop van een pagina
Het tabblad Kop bepaalt wat er bovenaan de pagina staat.

Tekst en foto's aanpassen

Waarom de site uit blokken bestaat

Elke pagina is opgebouwd uit losse bouwstenen in plaats van uit één groot tekstvak. Dat is een bewuste keuze. Hier lees je waarom, zodat je snapt waarom het beheerscherm eruitziet zoals het eruitziet.

De twee manieren om een website te vullen

Eén groot tekstvakLosse blokken (zo werkt deze site)
Hoe het werktJe typt alles in één veld, zoals in Word, en maakt zelf de opmaak.Je stapelt kant en klare bouwstenen: een fotoband, een citaat, een galerij.
Ziet het er altijd goed uitNee. Één verkeerde lettergrootte en de pagina is scheef.Ja. Elk blok heeft een vaste vorm die de ontwerper bepaald heeft.
Werkt het op een telefoonVaak niet. Tabellen en kolommen lopen mis.Altijd. Elk blok weet zelf hoe hij op een klein scherm moet staan.
Hoeveel moet je wetenVeel. Je bent eigenlijk een beetje ontwerper.Weinig. Je vult tekstvakjes in en kiest een foto.
Kun je iets slopenJa, per ongeluk zo gebeurd.Nauwelijks. Je kunt alleen invullen wat er voor bedoeld is.

Wat dat voor jou betekent

Je hoeft nooit na te denken over lettertypes, kleuren, marges of hoe iets op een telefoon valt. Dat is één keer goed ontworpen en zit in de blokken. Jij levert de inhoud: de tekst, de foto, de prijs, het jaartal.

Het gevolg is dat de site over vijf jaar nog steeds strak oogt, ook als er in de tussentijd honderd wijzigingen zijn gedaan door verschillende mensen.

Waarom er 22 blokken zijn en niet drie

Elk blok lost één soort verhaal op. Een citaat vraagt om een ander beeld dan een lijst met prijzen. Door voor elk soort verhaal een eigen blok te maken, hoef je nooit iets te forceren.

Wat je wilt vertellenHet blok dat daarvoor bestaat
Dit is wie we zijn, met een grote fotoHero
Een rustige inleiding op een paginaPagina intro of Intro met initiaal
Dit is wat we doen, in een paar puntenServices blok
Kijk hoe lang we dit al doenUitgelicht met cijfers
Ons verhaal door de jaren heenTijdlijn
Iemand zei iets moois over onsCitaatband
Dit kun je eten en drinkenMenu blok
Kijk hoe het er hier uitzietGalerij of Beeldband
Wanneer zijn we open en waar zitten weOpeningstijden en Kaart
Neem contact opContactformulier of CTA band
Deze bedrijven steunen onsHoofdsponsor of Sponsorenwand
Dit zijn onze toernooienEvenementenarchief of Aankomend toernooi

Drie blokken vullen zichzelf

Je hoeft ze nooit meer aan te raken

Evenementenarchief, Aankomend toernooi en Sponsoren van het toernooi halen hun inhoud automatisch op uit de collectie Evenementen. Voeg je daar een toernooi toe en publiceer je het, dan verschijnt het vanzelf op de site. Dat scheelt je elke keer dubbel werk, en het voorkomt dat het archief en de pagina uit elkaar gaan lopen.

Waarom de openingstijden niet in een blok staan

De openingstijden staan op drie plaatsen op de site: bovenin de balk, op de contactpagina en in de gegevens die Google leest. Zou je ze per blok invullen, dan moet je ze drie keer aanpassen en vergeet je er gegarandeerd één.

Daarom staan ze één keer bij Instellingen, en halen alle blokken ze daar op. Datzelfde geldt voor het adres, het telefoonnummer en de sociale media.

De regel erachter

Alles wat op meer dan één plek staat, vul je op één plek in. Dat is de belangrijkste ontwerpregel van deze website.

Waarom je de volgorde zelf mag bepalen

De blokken staan onder elkaar in precies de volgorde waarin ze in het beheerscherm staan. Sleep je een blok naar boven, dan staat het op de website ook hoger. Zo kun je de opbouw van een pagina veranderen zonder dat er een programmeur aan te pas komt.

Tekst en foto's aanpassen

Secties, de bouwstenen van een pagina

Een pagina is een stapel bouwstenen boven elkaar. Je kunt ze slepen, toevoegen en weggooien.

Het tabblad Secties met de blokken van de homepagina
1 Eén sectie. Klik op de regel om hem open te klappen. 2 Het pijltje rechts opent en sluit. 3 De drie puntjes: kopiëren, dupliceren, verwijderen.

Wat je met een sectie kunt doen

ActieHoe
OpenklappenKlik op de balk met de naam. Nog een keer klikken sluit hem weer.
VerplaatsenPak het icoontje met de streepjes helemaal links vast en sleep de sectie omhoog of omlaag.
ToevoegenKlik onderaan op Voeg Sectie toe en kies een blok uit de lijst.
VerwijderenKlik op de drie puntjes rechts en kies Verwijderen.
DuplicerenDrie puntjes, dan Dupliceren. Handig als je iets bijna hetzelfde wilt.
Alles dichtklappenKlik bovenaan op Alles samenvouwen. Fijn bij een lange pagina.

Een blok kiezen

De keuzelijst met alle beschikbare blokken
Klik op "Voeg Sectie toe" en je krijgt deze keuzelijst. Bovenin kun je zoeken.

Elk blok heeft twee tabbladen

Klap je een blok open, dan zie je binnenin meestal twee tabbladen: Inhoud en Instellingen.

Een opengeklapt blok met alle velden
Het tabblad Inhoud: de tekst en de foto's van dit blok.
Het tabblad Instellingen binnen een blok
Het tabblad Instellingen: alleen de achtergrondkleur van dit blok.

Laat de achtergrondkleur het liefst leeg

Dan houdt het blok de kleur die de ontwerper bedacht heeft, en klopt het ritme van de pagina vanzelf. Kies je zelf een kleur, kijk dan met de live preview of het niet te druk wordt.

Tekst en foto's aanpassen

Alle 22 blokken

De volledige lijst. Bij elk blok staat waar het voor is en wat je invult.

De volledige keuzelijst met alle blokken
De volledige keuzelijst zoals je hem in de admin ziet.

Openen en tekst

BlokWaarvoorWat je invult
HeroDe grote openingsfoto met tekst eroverheen. Bovenaan de homepagina.Bovenkopje, Titel, Subtitel, Afbeelding, Watermerk, maximaal twee knoppen.
Pagina introDe standaardopening van elke pagina die niet de homepagina is.Bovenkopje, Titel, Ondertitel, Kopniveau.
Tekst intro blokRustig tekstblok in twee kolommen. Meestal direct onder de pagina intro.Bovenkopje, Titel, Tekst.
Intro met initiaalAls in een oud boek: de eerste letter groot en sierlijk.Bovenkopje, Openingstekst, Vervolgtekst, optioneel een foto rechts.
ContentHet meest vrije blok. Kies één of twee kolommen en zet er tekst, een afbeelding of het contactformulier in.Kolomindeling, per kolom rijen met tekst, afbeelding of formulier.
CitaatbandEen uitspraak groot afgedrukt. Houd hem kort.Wie zegt het, Citaat.

Beeld

BlokWaarvoorWat je invult
GalerijEen mozaïek van foto's. Klikken opent ze schermvullend, met pijltjes doorbladeren.Bovenkopje, Titel, Notitie, zoveel foto's als je wilt, elk met alt tekst en bijschrift.
BeeldbandEén foto van rand tot rand. Beweegt bij het scrollen iets langzamer mee.Foto, Bijschrift, Hoogte (laag, normaal of hoog).

Vertellen en overtuigen

BlokWaarvoorWat je invult
Services blokEen genummerde lijst van maximaal vier activiteiten met een foto per regel.Bovenkopje, Titel, per dienst: Titel, Beschrijving, Icoon, Foto, Link.
Uitgelicht met cijfersGrote getallen die bij het scrollen omhoog tellen. Bijvoorbeeld "128 jaar".Bovenkopje, Titel, Tekst, maximaal drie cijfers, optioneel een knop.
TijdlijnDe geschiedenis in rijen. Jaartal links, tekst in het midden, foto rechts.Titel, per periode: Jaar (mag ook "Naoorlogs" zijn), Titel, Tekst, Foto.
CTA bandEen opvallende band met een oproep en een knop. Zet hem onderaan een pagina.Bovenkopje, Titel, Beschrijving, Knoplabel, Knoplink.

Praktisch

BlokWaarvoorWat je invult
Menu blokDe hele kaartpagina in één blok: categorieën met gerechten en prijzen.Bovenkopje, Titel, Introtekst, optioneel een pdf van de originele kaart, categorieën met gerechten.
Openingstijden en KaartLinks tekst met knoppen, rechts de openingstijden, daaronder de kaart van Google.Bovenkopje, Titel, Tekst, knoppen, vinkje Kaart tonen.
ContactformulierDe hele onderkant van de contactpagina: formulier, openingstijden, adres, sociale knoppen en kaart.Bovenkopje, Titel, Ondertitel. De rest komt uit Instellingen.
FormulierEen formulier dat je zelf hebt gemaakt bij Forms op een pagina zetten.Titel, Introtekst, en welk formulier.

Toernooien en sponsoren

BlokWaarvoorWat je invult
EvenementenarchiefDe lijst met alle toernooien, nieuwste bovenaan. Vult zichzelf.Bovenkopje, Titel, optioneel filteren op soort en een maximum aantal.
Aankomend toernooiToont automatisch het toernooi met het vinkje "Dit is het aankomende toernooi". Staat dat nergens aan, dan is dit blok onzichtbaar.Bovenkopje, Tekst, Knoptekst, en de tekst als de inschrijving dicht is.
Sponsoren van het toernooiDe sponsorenwand van het aankomende toernooi, of anders van het meest recente.Bovenlabel, Titel, vinkje om de hoofdsponsor uit te lichten, Notitie.
HoofdsponsorEén sponsor groot uitgelicht in een kader, met tekst ernaast.Titel, Tekst, Naam sponsor, Logo, Website, Toelichting.
SponsorenwandEen wand van logo's. Deze typ je met de hand in.Bovenkopje, per sponsor: Naam, Logo, Website. Plus een notitie eronder.
Archief per jaarEen lijst jaartallen die je kunt openklappen. Staat nu op geen enkele pagina.Bovenkopje, per jaargang: Jaar, Titel, Tekst.

Welke blokken geen achtergrondkleur hebben

Veertien van de 22 blokken hebben een tabblad Instellingen met een achtergrondkleur. Acht blokken hebben dat niet en staan altijd op hun eigen kleur: Hero, Content, Menu blok, Beeldband, Tijdlijn, Hoofdsponsor, Sponsorenwand en Archief per jaar.

Tekst en foto's aanpassen

Foto's en Media

Alle foto's van de website staan bij elkaar in Media. Een foto staat daar één keer en je gebruikt hem op zoveel plekken als je wilt.

De fotobibliotheek met alle afbeeldingen
De fotobibliotheek. Rechtsboven staat de knop om een nieuwe foto te uploaden.

Een foto uploaden

  1. Klik links in het menu op Media.
  2. Klik rechtsboven op Nieuw(e) Media toevoegen.
  3. Sleep je foto in het vak, of klik erop en kies een bestand van je computer.
  4. Vul de Alt tekst in. Eén zin die beschrijft wat je op de foto ziet.
  5. Klik op Opslaan.
Een foto bewerken met alt tekst
1 De alt tekst. Vul deze altijd in.

De drie velden bij een foto

VeldWaarvoor
Alt tekstBeschrijft de foto voor mensen die niet kunnen zien, en voor Google. Altijd invullen.
BijschriftTekstje dat op de website onder de foto komt te staan. Alleen invullen als je dat wilt.
FotocreditWie de foto gemaakt heeft. Mag leeg.

Het focuspunt

Op een grote foto zie je een klein kruisje dat je kunt verslepen. Dat is het focuspunt. De website snijdt foto's bij voor verschillende schermen, en snijdt altijd rond dat punt. Staat er een gezicht op? Sleep het kruisje naar het gezicht, dan wordt dat nooit weggesneden.

Wat er automatisch gebeurt

Bij elke upload maakt de site vier extra formaten: 480, 900, 1400 en 2200 pixels breed. Een telefoon krijgt de kleine, een groot scherm de grote. Daar hoef jij niets voor te doen. Toegestaan zijn afbeeldingen en pdf bestanden.

Een foto vervangen doe je niet door de oude te verwijderen

Upload de nieuwe foto en kies die op de plek waar je hem wilt hebben. Laat de oude staan. Verwijder je de oude, dan verdwijnt hij overal waar hij nog gebruikt werd.

Alles wat je uploadt komt in de galerij

De pagina /galerij toont automatisch alle foto's uit Media. Upload je een foto, dan staat hij daar dus meteen bij. Sponsorlogo's en pdf bestanden worden er wel uit gehouden.

Tekst en foto's aanpassen

Instellingen van de hele site

Hier staan de gegevens die op meerdere plekken tegelijk gebruikt worden: het adres, het telefoonnummer, de openingstijden en de sociale media.

Het instellingenscherm met tabbladen
De instellingen staan verdeeld over tabbladen.

Wat er in de tabbladen staat

TabbladWat je er vindt
AlgemeenDe naam van het café, de slogan en een korte introductie.
ContactAdres, postcode, plaats, telefoon, emailadres, de kaart van Google en de openingstijden per dag.
SocialDe links naar Facebook, Instagram en LinkedIn.
ActieknoppenDe twee knoppen die op meerdere plekken op de site terugkomen.
EmailDe teksten van de emails die de site verstuurt, en naar welk adres contactberichten gaan.
GeavanceerdVakken voor extra code, bijvoorbeeld voor bezoekersstatistieken. Kom hier alleen als je weet wat je doet.

Openingstijden veranderen doe je hier

Niet op de pagina Contact, maar hier. De pagina Contact, de balk bovenaan de site en de gegevens die Google leest halen de tijden allemaal hier vandaan. Eén keer aanpassen dus.

Vier velden doen op dit moment niets

De velden Logo, Korte naam, Hero afbeelding en Locatie of gebouw staan wel in het scherm, maar de website gebruikt ze nergens. Je kunt ze invullen, maar er verandert niets van. Dit is gemeld aan Driezie Studio.

Tekst en foto's aanpassen

Een nieuwe pagina maken

Bijvoorbeeld een pagina over de feestzaal, of een pagina met vacatures.

Het scherm voor een nieuwe pagina
Een lege nieuwe pagina.
  1. Klik links op Pagina's en dan rechtsboven op Nieuw(e) Pagina toevoegen.
  2. Vul bij Titel de naam in, bijvoorbeeld "Feestzaal".
  3. Vul bij Slug het adres in, bijvoorbeeld feestzaal. Kleine letters, geen spaties.
  4. Moet de pagina onder een andere hangen? Kies rechts een Bovenliggende pagina.
  5. Ga naar Kop en vul de bovenkant van de pagina in.
  6. Ga naar Secties en bouw de pagina op met blokken.
  7. Vul het tabblad SEO in. Zie SEO per pagina invullen.
  8. Klik op Bewaar concept, kijk met live preview of het klopt, en klik dan op Publiceren.
  9. Ga naar Hoofdmenu en zet de pagina in het menu, anders vindt niemand hem.

Tekst en foto's aanpassen

Contactberichten lezen

Als iemand het contactformulier invult, komt dat bericht in het beheerscherm te staan bij Contactberichten.

De lijst met binnengekomen contactberichten
Alle berichten die via de site binnenkwamen.

Kijk hier voorlopig regelmatig zelf

Normaal krijg je ook een email zodra er een bericht binnenkomt. Dat werkt nu nog niet, want de mailserver is nog niet ingesteld. De berichten worden wél gewoon bewaard. Kijk dus een paar keer per week in deze lijst tot dit geregeld is.

Een bericht kun je lezen en verwijderen, niet aanpassen

Dat is met opzet: het is een verslag van wat iemand echt gestuurd heeft. Verwijderen is definitief.

Gevonden worden in Google

Wat is SEO

SEO betekent zoekmachineoptimalisatie. Simpel gezegd: alles wat je doet zodat mensen je website vinden als ze iets in Google typen.

Waarom het bestaat

Stel: iemand in Veenendaal heeft trek in een biertje en typt in Google café veenendaal. Google moet dan uit miljoenen websites kiezen welke tien hij bovenaan zet. Google is een computer, dus hij kan de sfeer van je café niet proeven. Hij kan alleen lezen wat er op je website staat.

SEO is niets anders dan: zorgen dat Google begrijpt waar jouw pagina over gaat, zodat hij hem laat zien aan de juiste mensen.

SEO is geen truc

Er bestaan geen geheime knopjes waarmee je ineens bovenaan staat. Wat werkt is saai en simpel: duidelijke teksten, eerlijke titels, en gegevens die kloppen. Iemand die belooft je in een week op nummer één te zetten, verkoopt lucht.

Wat Google van een pagina ziet

Als Google jouw pagina bezoekt, ziet hij ongeveer dit:

Wat Google leestWaar het vandaan komtWat jij eraan kunt doen
De titel van de paginaHet veld Titel, of de SEO titel als je die invultZet er in wat de pagina echt is, plus het woord waarop je gevonden wilt worden
De omschrijvingHet veld SEO omschrijving, of anders de ondertitelSchrijf één zin die iemand overhaalt om te klikken
De koppen op de paginaDe titels van je blokkenGebruik gewone woorden, geen kreten
De gewone tekstWat je in de blokken typtSchrijf zoals je praat. Noem de plaats en wat je aanbiedt
De alt tekst bij foto'sHet veld Alt tekst in MediaBeschrijf wat er op de foto staat
Het adres van de paginaDe slugKort en in gewone woorden. /kaart is beter dan /pagina-2
De openingstijden en het adresDe InstellingenHoud ze kloppend, ook rond feestdagen

Hoe je pagina in Google verschijnt

Een resultaat in Google bestaat uit drie regels: de blauwe klikbare titel, het groene webadres eronder, en een grijs tekstje. Die eerste en die derde regel bepaal jij.

Een goed voorbeeld

Titel: De kaart · Café 't Huchie
Omschrijving: Bier, wijn, borrelplanken en de beroemde kaas met worst. Bekijk de complete kaart van Café 't Huchie in Veenendaal.

Een slecht voorbeeld

Titel: Pagina
Omschrijving: Welkom op onze website. Wij zijn de beste.

Hier staat niet in wat je verkoopt, niet waar je zit, en er is geen enkele reden om te klikken.

Wat de website al automatisch voor je doet

Veel is al geregeld. Je hoeft er niets voor te doen.

WatWat het doet
Automatische titelsVul je bij SEO niets in, dan pakt de site de gewone titel van de pagina en zet er de naam van het café achter.
SitemapEen lijst van al je pagina's die Google kan ophalen, zodat hij er geen mist. Staat op /sitemap.xml en vult zichzelf.
Robots bestandVertelt zoekmachines wat ze wel en niet mogen bekijken. Het beheerscherm blijft zo uit Google.
Bedrijfsgegevens voor GoogleDe site geeft in computertaal door dat dit een café is, waar het staat, wat het telefoonnummer is en wanneer het open is. Daardoor kan Google een kaartje met openingstijden laten zien.
Snelle foto'sElke foto wordt in vier formaten gemaakt zodat een pagina snel laadt. Snelheid telt mee voor Google.
Werkt op een telefoonGoogle kijkt vooral naar de telefoonversie. Die is hier volledig verzorgd.

De vijf dingen die jij wel moet doen

  1. Geef elke pagina een duidelijke titel. Niet "Info" maar "Zaalverhuur in Veenendaal".
  2. Vul de SEO omschrijving in. Eén zin, ongeveer 150 tekens, die iemand overhaalt om te klikken.
  3. Vul de alt tekst bij foto's in. Dat helpt Google én blinde bezoekers.
  4. Noem waar je zit. Het woord Veenendaal mag rustig een paar keer in je teksten staan, zolang het natuurlijk klinkt.
  5. Houd de openingstijden kloppend. Google laat ze zien. Kloppen ze niet, dan staan mensen voor een dichte deur en dat kost je een slechte recensie.

Wat je vooral niet moet doen

  • Woorden stapelen. "Café Veenendaal café bier Veenendaal café" leest niet en Google straft het af.
  • Dezelfde titel op elke pagina. Dan kan Google ze niet uit elkaar houden.
  • Het adres van een pagina veranderen zonder doorverwijzing. Zie Doorverwijzingen.
  • Tekst in een foto zetten. Google kan een plaatje niet lezen. Zet belangrijke tekst als echte tekst op de pagina.

Wat nog meer helpt, buiten de website om

WatWaarom het helpt
Een Google BedrijfsprofielVoor een café is dit vaak belangrijker dan de website zelf. Het zorgt voor dat kaartje rechts in Google met foto's, openingstijden en recensies. Gratis aan te maken.
RecensiesVraag tevreden gasten er gewoon om. Veel goede recensies wegen zwaar mee bij lokaal zoeken.
Vermeldingen op andere sitesEen link vanaf de biljartbond, de gemeentegids of een lokale nieuwssite is waardevol.
Verse inhoudEen site waar af en toe iets bijkomt, bijvoorbeeld een nieuw toernooi, wordt vaker bekeken door Google.

Hulp nodig bij SEO

Wil je weten hoe je site het doet, of wil je meer bezoekers uit Google halen? Mail naar contact@driezie.studio. Er kan gekeken worden naar zoekwoorden, naar het bedrijfsprofiel en naar wat de concurrentie doet.

Gevonden worden in Google

SEO per pagina invullen

Elke pagina heeft een tabblad SEO. Zo vul je het in.

Het SEO tabblad met titel, omschrijving en afbeelding
De balkjes onder de velden geven aan of je tekst een goede lengte heeft. Groen is goed.
  1. Open een pagina en klik bovenaan op het tabblad SEO.
  2. Vul bij Meta titel in wat er als blauwe regel in Google moet staan. Houd het onder de 60 tekens.
  3. Vul bij Meta omschrijving één wervende zin in. Ongeveer 150 tekens.
  4. Kies bij Meta afbeelding een mooie liggende foto. Die verschijnt als iemand de link deelt op WhatsApp of Facebook.
  5. Kijk of de balkjes groen zijn en publiceer.
VeldWaarvoorGoede lengte
Meta titelDe blauwe klikbare regel in Google.50 tot 60 tekens
Meta omschrijvingHet grijze tekstje eronder in Google.140 tot 160 tekens
Meta afbeeldingDe foto bij een gedeelde link.Liggend, minimaal 1200 pixels breed

Laat je het leeg, dan is het ook goed

Vul je niets in, dan maakt de site zelf een titel van de paginanaam en een omschrijving van de ondertitel. Dat is prima. Zelf invullen is beter, maar leeg laten is nooit fout.

Het tabblad SEO bestaat alleen bij Pagina's

Bij toernooien, arrangementen en sponsoren is er geen SEO tabblad. Die pagina's krijgen automatisch een titel en omschrijving uit hun eigen gegevens. Dat is voldoende.

Gevonden worden in Google

Doorverwijzingen

Een doorverwijzing stuurt iemand die een oud adres opvraagt automatisch naar het nieuwe adres. Zo raak je geen bezoekers kwijt.

Wanneer je er een nodig hebt

  • Je verandert de slug van een pagina die al online staat.
  • Je gooit een pagina weg en er is een andere pagina die er dicht bij komt.
  • Er staat ergens een oude link, bijvoorbeeld op Facebook of in een gedrukte folder.
Het scherm voor doorverwijzingen
Bij Redirects zet je het oude adres en het nieuwe adres naast elkaar.
  1. Klik links in het menu op Redirects.
  2. Vul bij Van het oude adres in, bijvoorbeeld /biljart.
  3. Kies bij Naar de pagina waar het naartoe moet, of typ een adres.
  4. Sla op. De doorverwijzing werkt meteen.

Een doorverwijzing is blijvend

Zoekmachines onthouden een doorverwijzing lang. Maak hem dus alleen als je zeker weet dat het oude adres niet meer terugkomt.

Alleen als er geen echte pagina op dat adres staat

Bestaat er wél een pagina op dat adres, dan wint die pagina en gebeurt er met de doorverwijzing niets.

Toernooien en biljart

Hoe de toernooien in elkaar zitten

Dit is het stuk dat speciaal voor Café 't Huchie gebouwd is. Het bewaart het complete biljartarchief: elk toernooi met zijn poules, uitslagen, finales en sponsoren.

Drie dingen vormen samen een toernooi

OnderdeelWat het isWaar in het menu
EvenementHet toernooi zelf. Titel, jaar, soort, poules, finales en sponsoren.Evenementen
SpelerEén deelname van één persoon aan één toernooi. Dezelfde man die vijf jaar meedeed staat er vijf keer.Spelers
PersoonOptioneel adresboekje: email, telefoon en woonplaats. Eén keer per mens.Personen

Waarom een speler per toernooi apart staat

Omdat zijn naam of zijn te maken aantal caramboles per jaar anders kan zijn. Het archief moet precies bewaren wat er destijds stond, ook als dat inmiddels anders is. Wil je toch weten wie iemand is en hoe je hem bereikt, koppel de speler dan aan een Persoon.

Waarom je eerst spelers registreert

Je typt een naam maar één keer. Daarna kies je hem overal uit een keuzelijst: in de poules én in de finalepartijen. Dat scheelt tikwerk en voorkomt schrijffouten waardoor dezelfde man twee keer anders in het archief staat.

Een toernooipagina op de website
Zo ziet een toernooi eruit op de website: de poules bovenaan, daaronder de finaleronde.

Toernooien en biljart

Een nieuw toernooi invoeren

Volg deze volgorde. Wijk je ervan af, dan werken de keuzelijsten voor spelers nog niet.

Stap 1: het toernooi aanmaken

Het tabblad Algemeen van een toernooi
Het tabblad Algemeen. Rechts staan de sorteervolgorde en de bronpagina.
  1. Klik links op Evenementen en dan op Nieuw(e) Evenement toevoegen.
  2. Vul de Titel in, bijvoorbeeld "Libre toernooi 2026".
  3. Vul de Slug in, bijvoorbeeld libre-2026. Dit wordt het adres /toernooien/libre-2026.
  4. Vul het Jaar in. Dit is tekst, want bij een competitie staat er soms "2019 tot 2020".
  5. Kies de Soort: Libre toernooi, Driebanden of Teamcompetitie.
  6. Klik op Bewaar concept. Dit is belangrijk, want pas nu bestaat het toernooi en kun je er spelers aan koppelen.
VeldWat je invultVerplicht
TitelZoals het toernooi heette.Ja
SlugHet adres, kleine letters.Ja
JaarBijvoorbeeld 2026, of een reeks bij een competitie.Ja
SoortLibre, Driebanden of Teamcompetitie.Ja
PeriodeBijvoorbeeld "januari tot maart".Nee
SamenvattingEen paar zinnen die in het archief onder de titel komen.Nee
WinnaarDe naam van de winnaar, komt in het archiefoverzicht.Nee
AfbeeldingDe foto bovenaan de toernooipagina.Nee
SorteervolgordeBepaalt de plek in het archief. Laat je hem leeg, dan vult de site hem zelf met het jaartal maal tien. 2026 wordt 20260. Twee toernooien in hetzelfde jaar zet je uit elkaar met 20261 en 20262.Nee
Bronpagina op de oude siteAlleen voor jezelf, om terug te kunnen zoeken. Staat niet op de website.Nee

Stap 2: de spelers registreren

Het tabblad Spelers van een toernooi
Op het tabblad Spelers zie je alle spelers die aan dit toernooi hangen.
  1. Ga naar het tabblad Spelers.
  2. Klik op de knop om een speler toe te voegen.
  3. Vul de Naam in, precies zoals hij op de site moet staan.
  4. Vul Te maken in: het aantal caramboles dat deze speler moet maken. Mag leeg bij een teamcompetitie.
  5. Het veld Toernooi staat al goed omdat je vanaf het toernooi werkt.
  6. Optioneel: koppel een Persoon als je zijn contactgegevens wilt bewaren.
  7. Herhaal voor alle deelnemers en sla op.

Stap 3: de poules invullen

Het tabblad Uitslagen met poules en finalepartijen
Het tabblad Uitslagen. Bovenaan de poules, daaronder de finalepartijen.
Een opengeklapte poule met regels
Een opengeklapte poule. Elke regel is één speler met zijn nummer, gespeelde partijen en punten.
  1. Ga naar het tabblad Uitslagen.
  2. Wil je een andere kop dan "Groepsfase", vul dan Kop boven de poules in. Bij een teamcompetitie bijvoorbeeld "De teams".
  3. Klik op Voeg Poule toe en geef de poule een Naam, bijvoorbeeld "Groep A".
  4. Klik binnen de poule op Voeg Regel toe voor elke speler.
  5. Per regel: Nr. is het volgnummer (of "C" voor teamcaptain), Speler kies je uit de lijst, Gesp en Ptn zijn de gespeelde partijen en de punten.

Lege regels mogen blijven staan

Was een poule van vier niet vol? Laat de regel gewoon leeg. Dan blijft de poule er in het archief uitzien zoals hij was.

Waarom Gesp en Ptn tekstvakken zijn en geen getallen

Omdat de betekenis per jaargang verschilde. In sommige jaren stond in de kolom Gesp niet het aantal partijen maar het te maken aantal caramboles. Door er tekst van te maken bewaart het archief precies wat er destijds stond. Leg dat uit in het veld Toelichting bij de kolommen, dan staat er een regeltje boven de tabel.

Stap 4: de finaleronde invullen

Een opengeklapte finalepartij
Een finalepartij: ronde, thuis, uit, scores en eventueel beurten.
  1. Klik onder Poules op Voeg Partij toe.
  2. Vul de Ronde in, bijvoorbeeld "Kwartfinale". De volgorde waarin je de partijen zet, is de volgorde op de site. Partijen met dezelfde rondenaam die op elkaar volgen komen onder één kop.
  3. Kies bij Thuis een speler uit de lijst en vul zijn Score in.
  4. Doe hetzelfde bij Uit.
  5. Staat er in de bron geen naam maar een code zoals "W1" of "Winnaar groep 12"? Laat Speler dan leeg en vul de Plaatscode in.
  6. Optioneel: Beurten, Doorgangscode en Speeldag, datum of tijd.

Stap 5: sponsoren en verslag

Het tabblad Sponsoren van een toernooi
Per toernooi kun je een hoofdsponsor en een rij kleinere sponsoren zetten.

Op het tabblad Verslag schrijf je een uitgebreid verhaal bij het toernooi. Op het tabblad Sponsoren zet je de sponsoren van dat jaar. Een sponsor zonder logo mag: van oude jaargangen zijn soms alleen de namen bewaard.

Stap 6: publiceren

Klik op Publiceer wijzigingen. Het toernooi verschijnt nu in het archief op /toernooien en heeft een eigen pagina op /toernooien/jouw-slug. Je hoeft daarvoor geen enkele pagina aan te passen.

Toernooien en biljart

Een aankomend toernooi tonen

Wil je een toernooi aankondigen dat nog moet komen, dan zet je dat aan op het tabblad Aankomend.

Het tabblad Aankomend van een toernooi
Drie velden bepalen of en hoe het toernooi als aankomend getoond wordt.
VeldWat het doet
Dit is het aankomende toernooiVinkje aan betekent: dit toernooi wordt getoond als de eerstvolgende, op elke pagina waar het blok Aankomend toernooi staat.
Datum in woordenBijvoorbeeld "zaterdag 14 maart 2026". Gewoon tekst, dus "in het voorjaar" mag ook.
Inschrijving is openVinkje aan zet een inschrijfformulier op de toernooipagina.

Zet het vinkje bij het oude toernooi uit

Vergeet niet het vinkje "Dit is het aankomende toernooi" bij het vorige toernooi weg te halen. Anders staan er twee aankomende toernooien.

Na afloop hoef je niets te doen

Zet je het vinkje overal uit, dan verdwijnt de aankondiging vanzelf van de site en zakt de pagina netjes dicht alsof het blok er nooit was.

Toernooien en biljart

Spelers en personen beheren

De spelerslijst is het adresboek van het archief. De personenlijst is het echte adresboekje.

De lijst met alle spelers
Alle spelers van alle toernooien bij elkaar. De kolom Toernooi laat zien bij welk toernooi ze horen.

Je kunt hier rechtstreeks werken, maar het is bijna altijd handiger om het vanaf het toernooi zelf te doen. Dan staat het veld Toernooi meteen goed.

Personen

De lijst Personen is een intern adresboekje met email, telefoonnummer en woonplaats. Die gegevens komen niet op de website. Ze staan er zodat je iemand kunt bereiken die zich voor een toernooi inschrijft.

Dit zijn persoonsgegevens

Personen en Contactberichten bevatten privégegevens van echte mensen. Ga er zorgvuldig mee om, deel ze niet, en verwijder wat je niet meer nodig hebt. Ze zijn met opzet afgeschermd: ze staan nergens op de website.

Als er iets misgaat

Veelvoorkomende problemen

Negen van de tien keer is het één van deze dingen.

Wat je zietWat er aan de hand isWat je doet
Ik heb iets aangepast maar op de site verandert nietsJe hebt op Bewaar concept geklikt in plaats van op Publiceren.Klik op Publiceer wijzigingen en ververs de pagina.
Een pagina geeft "pagina niet gevonden"De pagina staat als concept, of de slug klopt niet, of hij hangt onder een andere pagina.Kijk of hij op Gepubliceerd staat en of de slug klopt. Hangt hij onder een andere pagina, dan is het adres /ouder/kind.
Er staat een leeg vlak waar een foto moet staanHet bestand is weg van de server, terwijl de website hem nog verwacht.Upload de foto opnieuw bij Media en kies hem op de pagina.
Ik krijg geen email bij een contactberichtDe mailserver is nog niet ingesteld.De berichten staan wél in de admin. Zie Contactberichten lezen.
Wachtwoord vergeten stuurt geen emailZelfde oorzaak.Mail contact@driezie.studio.
Ik word steeds uitgelogdJe bent te lang weggeweest zonder iets te doen.Log opnieuw in. Klik voortaan op Ingelogd blijven als dat gevraagd wordt.
De live preview blijft leegEr is iets mis met de verbinding tussen het beheerscherm en de site.Ververs de pagina. Blijft het, mail dan Driezie Studio.
Een nieuwe pagina staat niet in het menuHet menu vult zichzelf niet.Ga naar Hoofdmenu en voeg hem toe.
Alle icoontjes zijn verdwenenDe iconen worden van een externe dienst geladen. Ligt die plat, dan verdwijnen ze tijdelijk.Wacht even en ververs. Blijft het langer dan een uur, meld het.
"Te veel berichten" bij het testen van een formulierEr mogen maximaal vijf berichten per tien minuten van hetzelfde adres komen. Dat is spambescherming.Tien minuten wachten.
Een sponsor staat als naam in hoofdlettersEr is geen logo gekozen. Dat is met opzet zo ontworpen.Upload een logo bij Media en kies het bij de sponsor.
De hele website is onbereikbaarWaarschijnlijk een storing op de server.Mail meteen contact@driezie.studio.

Als er iets misgaat

Wat je beter niet aanraakt

Vier dingen waar je van af moet blijven, en waarom.

De slug van een pagina die al online staat

Alle oude links breken en Google raakt de pagina kwijt. Moet het toch, maak dan eerst een doorverwijzing.

Foto's verwijderen uit Media

Je ziet niet waar een foto overal gebruikt wordt. Verwijderen betekent overal weg. Laat oude foto's gewoon staan, ze kosten niets.

Het tabblad Geavanceerd in de Instellingen

Daar kun je code plakken die op elke pagina wordt uitgevoerd. Plak daar niets in wat je niet zelf gekregen hebt van een betrouwbare partij.

Gebruikers en rollen

Geef mensen niet zomaar de hoogste rol. Een medewerker die alleen teksten bijhoudt heeft genoeg aan de rol Editor.

Als er iets misgaat

Hulp vragen

Kom je er niet uit, dan is dat geen probleem. Daar is de bouwer voor.

contact@driezie.studio

Deze website is gebouwd en wordt onderhouden door Driezie Studio. Stuur een bericht naar contact@driezie.studio.

Wat je in je bericht zet

Hoe meer van deze vier dingen je noemt, hoe sneller het opgelost is.

  1. Wat wilde je doen. Bijvoorbeeld: "de openingstijden op tweede kerstdag aanpassen".
  2. Waar was je. Welke pagina of welk scherm, het liefst met het adres uit de adresbalk.
  3. Wat gebeurde er. Wat zag je op het scherm, en wat had je verwacht.
  4. Een schermfoto. Op Windows druk je op de Windows toets plus Shift plus S. Plak het plaatje in de mail.

Wat je zelf niet kunt doen

Deze dingen gebeuren op de server en kun je niet vanuit het beheerscherm regelen. Vraag ze aan via de mail.

  • Een wachtwoord opnieuw instellen als je er niet meer in komt.
  • Nieuwe gebruikers met een hoge rol aanmaken.
  • De site naar een ander domein verhuizen.
  • Het versturen van email aanzetten.
  • Een nieuw soort blok laten bouwen.
  • Een reservekopie terugzetten.

Bij een echte storing

Is de hele website onbereikbaar, zet dan STORING in het onderwerp van je mail. Dan wordt het met voorrang opgepakt.

Voor je websitebouwer

Wat zit erin

Vanaf hier gaat het over de code. Ben je alleen redacteur, dan hoef je dit niet te lezen. Dit deel is voor de programmeur die de site overneemt.

OnderdeelWatVersie
FrameworkNext.js, App Router, React 1916.2.7
CMSPayload CMS, Postgres adapter, Lexical editor4.0.0-canary.9
DatabasePostgreSQL16
StylingTailwind CSS met kleuren als theme tokens4.3.2
AnimatieGSAP en Motion3.15 en 12.42
Beeldverwerkingsharp0.34.2
FoutmeldingenSentry, alleen actief met een DSN10.65
Pakketbeheerpnpm10.33.2
NodeMinimaal 24.1524.x

Payload draait op een canary versie

De site gebruikt 4.0.0-canary.9, gekozen omdat die Next 16 ondersteunt. Ga je upgraden, zet dan alle @payloadcms/ pakketten op precies dezelfde versie, draai pnpm generate:types en controleer de migraties.

Twee dingen die het gedrag bepalen

  • Alles is force dynamic. Er wordt niets vooraf klaargezet. Elke bezoeker haalt de pagina vers uit de database. Gevolg: een wijziging in de admin is meteen zichtbaar zonder cache te legen, en next build heeft geen database nodig.
  • Het schema komt uit migraties. In src/payload.config.ts staat push: false. Verander je een veld, dan maak je zelf een migratie.

Mappenstructuur

src/
├─ payload.config.ts   De kern: collecties, globals, plugins, database.
├─ payload-types.ts    Automatisch gegenereerd. Niet handmatig aanpassen.
├─ collections/        Pagina's, Media, Evenementen, Spelers, enzovoort.
├─ globals/            SiteSettings en MainMenu.
├─ blocks/             De 22 sectiedefinities.
├─ components/         De React componenten (blocks, cards, gallery,
│                      interactive, seo, ui, admin).
├─ app/(frontend)/     De publieke website.
├─ app/(payload)/      Het beheerscherm en de API.
├─ access/             Rollen en rechten.
├─ lib/                Hulpcode en de seed functies.
├─ migrations/         Databasewijzigingen op datum.
├─ scripts/            Onderhoudsscripts.
├─ seed/               Eerste vulling van een lege database.
└─ config/site.ts      Merknaam, beschrijving, email afzender.

Voor je websitebouwer

Lokaal draaien vanaf nul

Zo krijg je de site draaiend op een lege computer.

Wat je nodig hebt

  • Node 24.15 of hoger
  • pnpm: npm install -g pnpm@10.33.2
  • Docker Desktop, of een eigen PostgreSQL 16
  • Optioneel de PostgreSQL client tools voor pg_dump en psql

Stap voor stap

git clone <de repo> cafehuchie
cd cafehuchie
pnpm install

Kopieer .env.example naar .env en vul in:

PAYLOAD_SECRET=<lange willekeurige tekst>
DATABASE_URI=postgres://cafehuchie:<wachtwoord>@127.0.0.1:5433/cafehuchie
NEXT_PUBLIC_SERVER_URL=http://localhost:3100
NEXT_PUBLIC_SITE_NAME=Café 't Huchie
NEXT_PUBLIC_SITE_SHORT_NAME='t Huchie
PREVIEW_SECRET=<willekeurige tekst>

Start een database in Docker op poort 5433, want 5432 is vaak al bezet:

docker run --name cafehuchie_dev_db -d -p 5433:5432 \
  -e POSTGRES_USER=cafehuchie \
  -e POSTGRES_PASSWORD=<wachtwoord> \
  -e POSTGRES_DB=cafehuchie \
  postgres:16-alpine
pnpm migrate
pnpm dev

De site draait op http://localhost:3100, het beheerscherm op /admin.

Op een verse database staat alles als concept

De seed maakt de pagina's meteen gepubliceerd aan, dus de site werkt direct. Geeft een verse database toch overal 404, dan staan de pagina's als concept en draai je pnpm payload run src/scripts/publish-seeded-pages.ts.

Draai je pnpm seed voor de eerste gebruiker: die krijgt de rol Editor, niet Owner. Zet die rol daarna handmatig goed.

Alle commando's

CommandoWat het doet
pnpm devStart de site voor ontwikkelen op poort 3100.
pnpm devsafeHetzelfde, maar gooit eerst .next weg. Bij rare fouten.
pnpm buildBouwt de productieversie. Heeft geen database nodig.
pnpm startDraait de gebouwde productieversie.
pnpm migratePast openstaande databasewijzigingen toe.
pnpm seedMaakt de eerste gebruiker en de demo inhoud. Overschrijft niets bestaands.
pnpm generate:typesMaakt src/payload-types.ts opnieuw. Na elke veldwijziging.
pnpm generate:importmapNodig na het toevoegen van eigen admin componenten.
pnpm lint en pnpm typecheckControle op codestijl en types.
pnpm payload run <pad>Draait een los script.

Draai pnpm bootstrap of pnpm setup nooit op deze site

Die zijn bedoeld om een nieuw project uit het sjabloon te maken. Ze schrijven een nieuwe .env met verse geheimen en maken een database aan.

Voor je websitebouwer

Omgevingsvariabelen

Lokaal in .env, op de server in Coolify onder Environment Variables.

NaamVerplichtWat het doet
PAYLOAD_SECRETJaOndertekent inlogtokens. Verander je hem, dan wordt iedereen uitgelogd.
DATABASE_URIJaWaar de database staat, met gebruiker en wachtwoord.
NEXT_PUBLIC_SERVER_URLJaHet publieke adres. Gebruikt voor absolute links, admin, cors en csrf.
NEXT_PUBLIC_SITE_NAMENeeMerknaam in de titelbalk en in emails.
NEXT_PUBLIC_SITE_SHORT_NAMENeeKorte naam.
NEXT_PUBLIC_SITE_DESCRIPTIONNeeStandaard omschrijving voor Google.
PREVIEW_SECRETNeeSleutel voor de live preview van concepten.
SMTP_HOSTNeeIs deze leeg, dan verstuurt de site geen email, alleen naar het logboek.
SMTP_PORTNeeMeestal 587. Bij 465 gaat beveiligde verbinding automatisch aan.
SMTP_USER en SMTP_PASSNeeInloggegevens van de mailserver.
EMAIL_FROM_ADDRESS en EMAIL_FROM_NAMENeeAfzender.
CONTACT_NOTIFY_TONeeWaar contactberichten heen gaan.
SENTRY_DSNNeeFoutmeldingen van de server.
NEXT_PUBLIC_SENTRY_DSNNeeFoutmeldingen uit de browser. Moet ook tijdens het bouwen bestaan.
NEXT_PUBLIC_RECAPTCHA_SITE_KEYNeeSpambescherming aanzetten. Leeg is uit.
RECAPTCHA_SECRET_KEYNeeDe bijbehorende geheime sleutel.
RECAPTCHA_MIN_SCORENeeOndergrens tussen 0 en 1. Standaard 0.5.
SEED_ADMIN_EMAIL en SEED_ADMIN_PASSWORDNeeAlleen voor pnpm seed.

Alles wat begint met NEXT_PUBLIC moet ook tijdens het bouwen bestaan

Die waarden worden letterlijk in de browserbestanden gezet op het moment dat je de image bouwt. Zet ze in Coolify dus als build variabele én als runtime variabele.

Wat er nu op de server staat

Aanwezig: NODE_ENV, PORT, HOSTNAME, PAYLOAD_SECRET, DATABASE_URI, PREVIEW_SECRET, NEXT_PUBLIC_SERVER_URL, de drie NEXT_PUBLIC_SITE_* waarden, EMAIL_FROM_NAME, EMAIL_FROM_ADDRESS, SMTP_PORT en RECAPTCHA_MIN_SCORE.

Ontbreekt: SMTP_HOST, SMTP_USER, SMTP_PASS, CONTACT_NOTIFY_TO, SENTRY_DSN en de reCAPTCHA sleutels. Daardoor verstuurt de site geen email en staan foutmeldingen en reCAPTCHA uit.

Voor je websitebouwer

Database en migraties

De structuur van de database komt uit de bestanden in src/migrations, op volgorde van datum.

MigratieWat erin veranderde
20260722_164216_initialAlle tabellen voor het eerst.
20260722_173721_eyebrow_optioneelHet bovenkopje werd optioneel.
20260722_182521_toernooi_afbeeldingEen toernooi kreeg een afbeelding.
20260726_092547_dropcap_introHet blok Intro met initiaal erbij.
20260726_222601_aankomend_toernooi_blokHet blok Aankomend toernooi erbij.
20260726_234023_relationele_toernooienSpelers werden een eigen collectie, poules en finales werden relaties.
20260727_140557_personen_en_speler_persoonDe collectie Personen erbij, met koppeling vanaf de speler.

Een veld toevoegen of veranderen

  1. Pas het veld aan in de collectie.
  2. Draai pnpm payload migrate:create naam_van_de_wijziging.
  3. Lees het migratiebestand na. Verwijdert het per ongeluk een kolom met data? Pas het aan.
  4. Draai pnpm migrate om hem lokaal toe te passen.
  5. Draai pnpm generate:types.
  6. Zet de migratie in git. Bij de volgende deploy draait hij vanzelf op de server.

Op de server gaat dit vanzelf

Het startcommando van de container is pnpm payload migrate && pnpm start. Bij elke start worden openstaande migraties toegepast en daarna start de site. Al toegepaste migraties worden overgeslagen.

Verander nooit een bestaande migratie

Die is al op de server gedraaid. Maak altijd een nieuwe.

Voor je websitebouwer

Rollen en rechten

Drie rollen, gedefinieerd in src/access/roles.ts.

WatOwnerAdminEditor
Inloggen in het beheerschermJaJaJa
Pagina's, toernooien en foto's bewerkenJaJaJa
Foto's en toernooien verwijderenJaJaNee
Contactberichten lezenJaJaNee
Doorverwijzingen beherenJaJaNee
Gebruikers aanmakenJaAlleen editorsNee
Rollen toewijzen of wijzigenJaNeeNee
De owner zien of aanpassenJaNeeNee
Het scherm om een gebruiker te bewerken
Een gebruiker met zijn rol. Hier zet je ook een API sleutel aan.

Een admin kan zijn eigen account niet aanpassen

De regel zegt dat een admin alleen gebruikers met de rol editor mag wijzigen. Daardoor kan een admin ook zichzelf niet aanpassen. In de praktijk vervelend. Laat het door de owner doen, of pas de regel aan zodat een gebruiker altijd zichzelf mag bewerken.

Voor je websitebouwer

Naar productie zetten

De site draait op Coolify. Belangrijk: Coolify bouwt de code niet zelf. Het draait een kant en klare image die jij naar Docker Hub duwt.

WatWaarde
Coolify applicatiecafehuchie
Manier van bouwenDocker image, geen build op de server
Imagejelte2847523875/cafehuchie:latest op Docker Hub, privé
Domeinhttps://dev.cafehuchie.driezie.studio
DatabaseCoolify Postgres cafehuchie-db-v2, niet bereikbaar vanaf internet
Poort in de container3000
MediaVolume op /app/media, blijft bestaan over uitrollen heen

De uitrol in vier stappen

  1. Zet je wijzigingen in git en controleer met pnpm lint en pnpm typecheck.
  2. Bouw de image met de juiste build argumenten:
    docker build \
      --build-arg NEXT_PUBLIC_SERVER_URL=https://dev.cafehuchie.driezie.studio \
      --build-arg "NEXT_PUBLIC_SITE_NAME=Café 't Huchie" \
      --build-arg "NEXT_PUBLIC_SITE_SHORT_NAME='t Huchie" \
      --build-arg "NEXT_PUBLIC_SITE_DESCRIPTION=Café 't Huchie" \
      -t jelte2847523875/cafehuchie:latest .
  3. Push naar Docker Hub:
    docker push jelte2847523875/cafehuchie:latest
  4. Ga naar Coolify, open de applicatie cafehuchie en klik op Redeploy.

Alleen Redeploy klikken doet niets

Dan haalt Coolify dezelfde image opnieuw op. Je moet eerst bouwen en pushen.

Er staan twee alternatieven in de repo

DEPLOYMENT.md beschrijft uitrollen met docker-compose.yml (app en database samen, met Traefik labels) en uitrollen als losse app met een aparte Coolify database. Die zijn nu niet in gebruik maar werken wel.

Naar het echte domein verhuizen

  1. Zet een A record van www naar het IP van de Coolify server. Bij Cloudflare: wolk op grijs (DNS only).
  2. Zet in Coolify het domein op https://www.cafehuchie.nl. Coolify vraagt zelf een certificaat aan.
  3. Zet NEXT_PUBLIC_SERVER_URL op het nieuwe adres, als build variabele én als runtime variabele.
  4. Bouw de image opnieuw met dat adres als build argument, push, en rol uit. Dit moet echt, want het adres zit in de browserbestanden.
  5. Controleer het slotje, /admin en /sitemap.xml.

Zorg dat poort 80 en 443 open staan in de firewall. Let's Encrypt controleert over poort 80.

Voor je websitebouwer

Backup en herstel

Twee dingen moet je bewaren: de database (alle tekst) en de media map (alle foto's). De code staat in git.

Er is nu geen automatische backup

Niemand maakt automatisch een reservekopie. Bij een serverstoring ben je alles kwijt. Zet in Coolify een geplande backup van de database aan. Dit is het belangrijkste openstaande punt.

De database ophalen

De productiedatabase staat met opzet niet open naar internet. Twee manieren om er toch bij te komen:

  1. Via Coolify. Open de database en zet de publieke poort tijdelijk aan. Maak de reservekopie en zet hem meteen weer uit.
    pg_dump -h <server-ip> -p <poort> -U cafehuchie -d cafehuchie \
      --no-owner --no-privileges -Fc -f live-cafehuchie.dump
  2. Via SSH. Log in op de server en draai pg_dump in de databasecontainer. Dan hoef je niets open te zetten. Dit heeft de voorkeur.

Terugzetten op je eigen computer

psql -h 127.0.0.1 -p 5433 -U cafehuchie -d postgres \
  -c "DROP DATABASE IF EXISTS cafehuchie;" \
  -c "CREATE DATABASE cafehuchie OWNER cafehuchie;"

pg_restore -h 127.0.0.1 -p 5433 -U cafehuchie -d cafehuchie \
  --no-owner --no-privileges live-cafehuchie.dump

De foto's ophalen

De database bewaart alleen de bestandsnamen. De bestanden staan in het volume op /app/media. Ontbreken er lokaal een paar, dan haal je ze los op:

curl -o media/<bestandsnaam> \
  https://dev.cafehuchie.driezie.studio/api/media/file/<bestandsnaam>

Zeven foto's ontbreken op de server

historie-bar-corona, historie-biljartclub-1980, historie-gevel-2005, historie-gevel-2007, historie-pand-1900, historie-tap-delftsblauw en historie-veteranen-2005 (allemaal .webp) staan in de database maar de bestanden zijn weg van productie. Ze worden gebruikt op de pagina Geschiedenis.

Voor je websitebouwer

Formulieren en email

Twee soorten formulieren, met dezelfde spambescherming.

Het contactformulierEen zelfgemaakt formulier
BlokContactformulierFormulier
Velden aanpassenNee, die staan vastJa, via de form builder
Inzendingen bijContactberichtenForm Submissions
Server actionsrc/app/(frontend)/contact/actions.tssrc/app/(frontend)/forms/actions.ts

De volgorde bij een inzending

  1. Valstrikveld. Een onzichtbaar invulvakje bovenaan. Ingevuld betekent robot, bericht wordt weggegooid.
  2. Teller. Maximaal vijf berichten per tien minuten per IP adres.
  3. reCAPTCHA. Alleen als de sleutels ingevuld zijn. Nu overgeslagen.
  4. Opslaan in de admin.
  5. Twee emails: één naar het café, één bevestiging naar de bezoeker. Alleen als SMTP ingesteld is.

Spam krijgt met opzet dezelfde bedanktekst

Een verdachte inzending krijgt hetzelfde vriendelijke bericht als een echte, maar wordt niet opgeslagen. Zo weet een robot niet dat hij tegengehouden is.

Email aanzetten

In src/payload.config.ts staat: is SMTP_HOST leeg, dan wordt de mailverbinding helemaal niet aangezet. Zet in Coolify:

NaamVoorbeeld
SMTP_HOSTsmtp.gmail.com
SMTP_PORT587
SMTP_USERhet emailadres van het account
SMTP_PASSeen app wachtwoord, geen gewoon wachtwoord
CONTACT_NOTIFY_TOwaar contactberichten heen gaan

Deze waarden zijn alleen op runtime nodig. Opnieuw uitrollen is genoeg, opnieuw bouwen hoeft niet. De teksten van de emails staan in de admin bij Instellingen op het tabblad Email.

Voor je websitebouwer

De losse scripts

Draai ze met pnpm payload run <pad>.

Onderhoud, blijven nuttig

ScriptWat het doet
src/scripts/reset-password.tsZet het wachtwoord van een gebruiker terug. Vereist RESET_EMAIL en RESET_PASSWORD.
src/scripts/publish-seeded-pages.tsZet alle pagina's van concept naar gepubliceerd. Vangnet voor als een verse database toch overal 404 geeft.
src/scripts/resync-seeded-pages.tsZet de standaardpagina's terug naar de opbouw uit de code. Overschrijft handmatige wijzigingen.
src/scripts/vind-streepjes-in-database.tsZoekt lange streepjes in teksten en in het hoofdmenu.
scripts/herstel-media-bestanden.tsHerstelt ontbrekende fotobestanden.

Eenmalig, al gedraaid

Deze hebben ooit iets rechtgezet en zijn klaar. Ze blijven staan als naslag. Draai ze niet zomaar opnieuw: fix-adres.ts, hernoem-toernooien-route.ts, hero-eyebrow.ts, rename-biljart.ts, verwijder-demo-media.ts, voeg-demo-toernooi-toe.ts, wis-poule-toelichting.ts, zet-aankomend-blok-op-biljartpagina.ts.

Wachtwoord terugzetten

$env:RESET_EMAIL="contact@driezie.studio"
$env:RESET_PASSWORD="EenNieuwWachtwoord123!"
pnpm payload run src/scripts/reset-password.ts

Het script praat met de database uit DATABASE_URI. Draai je het lokaal, dan verander je alleen je eigen kopie.

Voor je websitebouwer

Vormgeving en animatie

Hoe de site eruitziet staat in src/app/(frontend)/globals.css: een bijna zwartbruine achtergrond, roomwitte tekst, warm goud als accent. Nergens ronde hoekjes en nergens schaduwen. Diepte komt van dunne lijntjes.

Drie lettertypen

LetterWaarvoor
OswaldSmal en hoog. Kleine kopjes, knoppen, menu en prijzen.
Playfair DisplayKlassiek met dunne haartjes. Alleen de grote titels.
ArchivoDe gewone leestekst.

Er is een testpagina voor lettertypen

Typ achter het adres van de site /fonts. Die pagina staat niet in het menu en Google mag hem niet zien. Je kunt er een andere letter kiezen en meteen zien hoe dat uitpakt.

De bewegingen

EffectWaarBestand
Blokken die opkomen bij scrollenOveralReveal.tsx
Titels die regel voor regel openvegenGrote koppenScrollTitle.tsx
ParallaxHero en fotobandenParallax.tsx
Getallen die omhoog tellenUitgelicht met cijfersCountUp.tsx
PaginaovergangBij elke interne linkPageTransition.tsx
Foto's schermvullendGalerij en losse foto'sLightbox.tsx, ZoomableImage.tsx

Wie minder beweging wil, krijgt minder beweging

Staat in het besturingssysteem de voorkeur voor minder beweging aan, dan staat alles meteen stil op zijn plek. Dat hoort bij toegankelijkheid.

Opgeruimd in augustus 2026

Vijf componenten die nergens gebruikt werden zijn verwijderd: MenuItemRow.tsx, ServiceCard.tsx (de map cards is daarmee weg), SpiralGallery.tsx, DebugFontMenu.tsx en MediaGridClient.tsx (de map admin is daarmee weg). Samen 829 regels.

Ook opgeruimd: de projectnaam in package.json, de naam van het startscript in de Dockerfile, MCP.md, het aantal blokken en de poort in de README.md, en de standaardpoort in .env.example en src/config/site.ts. Verder negeert eslint nu de mappen .claude/worktrees, .ds-sync, ds-bundle en .design-sync, waardoor pnpm lint van 22583 naar 35 meldingen ging.

Iconen komen van internet

Alle iconen komen van een Font Awesome kit op kit.fontawesome.com. Ligt die dienst plat, dan verdwijnen alle icoontjes van de site. Overweeg ze lokaal in het project te zetten.

Voor je websitebouwer

AI koppeling en foutmeldingen

MCP: content bewerken via een AI assistent

De site publiceert een koppeling op /api/mcp waarmee een AI assistent pagina's kan zoeken, aanmaken en bijwerken.

Wel toegestaan: pagina's, toernooien, arrangementen en media zoeken en aanpassen, en de instellingen en het menu lezen en bijwerken.
Niet toegestaan: verwijderen, versies terugzetten, en alles rond gebruikers, contactberichten, personen, formulieren en doorverwijzingen. Dat is met opzet dichtgezet omdat daar persoonsgegevens in staan.

  1. Log in op /admin en ga naar Gebruikers.
  2. Maak een aparte gebruiker voor de AI, rol Editor of Admin.
  3. Zet API sleutel inschakelen aan, sla op en kopieer de sleutel.
  4. Zet die sleutel in de AI client. Nooit in git.

MCP.md verwijst nog naar het verkeerde project

MCP.md is bijgewerkt naar Café 't Huchie, met een tabel van wat er per collectie wel en niet via MCP kan.

Sentry

Foutmeldingen worden doorgegeven aan Sentry, mits er een DSN gezet is. Dat is nu niet zo, dus er wordt niets doorgegeven.

Aanzetten: maak een Sentry project, zet SENTRY_DSN als runtime variabele en NEXT_PUBLIC_SENTRY_DSN ook als build variabele, en bouw opnieuw. Zonder SENTRY_AUTH_TOKEN worden er geen source maps geüpload en zijn de meldingen samengeperst en lastig te lezen.

Overdracht

Wat nog geregeld moet worden

Gevonden tijdens het schrijven van deze handleiding, op volgorde van belangrijkheid.

Belangrijk

WatWaarom het uitmaakt
Er is geen backupNiemand maakt automatisch een reservekopie van de database of de foto's. Bij een serverstoring is alles weg.
De site verstuurt geen emailNiemand krijgt bericht bij een contactformulier, en wachtwoord vergeten werkt niet.
Zeven foto's ontbreken op de serverDe pagina Geschiedenis mist zeven afbeeldingen.
De site staat op een testadresdev.cafehuchie.driezie.studio is geen echt domein. Ook Google en gedeelde links wijzen daarnaartoe.
Er is één account voor iedereenAlleen contact@driezie.studio kan inloggen. Het café heeft een eigen account nodig.

Goed om te weten

WatToelichting
Foutmeldingen worden niet bijgehoudenSentry staat uit.
Spambescherming staat half aanValstrikveld en teller werken. reCAPTCHA staat uit.
De privacyverklaring is een startversieDe pagina staat er en klopt met wat de site doet, maar laat hem nakijken door iemand die er verstand van heeft en vul de bewaartermijn in die jullie aanhouden.
Vier velden in Instellingen doen nietsLogo, Korte naam, Hero afbeelding en Locatie of gebouw worden nergens uitgelezen.
Het blok Archief per jaar wordt niet gebruiktHet bestaat wel, maar staat op geen enkele pagina.
Eén lintfout blokkeert de automatische controleIn src/components/interactive/ZoomableImage.tsx regel 60 staat een setState in een effect. De regel react-hooks/set-state-in-effect keurt dat af, waardoor pnpm lint en dus de controle op GitHub rood staat.
De drie design mappen blijven staan.design-sync, .ds-sync en ds-bundle zijn caches van het ontwerpgereedschap en staan niet in git. Ze bouwen zichzelf opnieuw op. De Redesign zip is gitignored en mogelijk de enige kopie van de ontwerpexport.
Restanten van het ontwerpprocesDe mappen .design-sync, .ds-sync, ds-bundle en het bestand Café 't Huchie Redesign.zip.
Iconen komen van internetVan kit.fontawesome.com. Externe afhankelijkheid.
Payload draait op een canary versiePrima nu, maar voorzichtig bij een upgrade.

Overdracht

Overdrachtslijst

Wat een nieuwe beheerder nodig heeft om verder te kunnen.

NodigWaarWie regelt het
Inloggegevens voor het beheerscherm/adminDriezie Studio maakt een account aan
Toegang tot Coolifyhttps://app.coolify.ioDriezie Studio
Toegang tot Docker HubAccount jelte2847523875, image cafehuchieDriezie Studio
Toegang tot de codeDe git repositoryDriezie Studio
Toegang tot de domeinnaamBij de partij waar het domein staatHet café
Mailserver gegevensVoor de SMTP variabelenHet café of de hostingpartij
De laatste reservekopieEen .dump bestandZie Backup en herstel

Wat je nooit deelt

  • PAYLOAD_SECRET en PREVIEW_SECRET
  • Het wachtwoord van de database
  • De Coolify API sleutel
  • API sleutels van gebruikers
  • De inhoud van Personen en Contactberichten, dat zijn persoonsgegevens

Deze handleiding bijwerken

Dit bestand is docs/handoff/index.html in het project, met de plaatjes in docs/handoff/schermafbeeldingen. Je kunt het gewoon in je browser openen, zonder internet en zonder server. Verandert er iets aan de site, werk dan ook dit document bij.