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 wilt | Ga naar |
|---|---|
| Voor het eerst inloggen | Inloggen |
| Een tekst op de site veranderen | Een tekst aanpassen |
| Een foto vervangen of toevoegen | Foto's en Media |
| De openingstijden aanpassen | Instellingen van de site |
| Een biljarttoernooi invoeren | Nieuw toernooi invoeren |
| Weten hoe je beter in Google komt | Wat is SEO |
| Er gaat iets mis | Veelvoorkomende 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
| Helft | Adres | Voor wie | Wat is het |
|---|---|---|---|
| De website | / | Iedereen | Wat de bezoeker ziet. De openbare pagina's. |
| Het beheerscherm | /admin | Alleen jij | Waar 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 pagina's die er nu zijn
| Pagina | Adres | Wat staat erop |
|---|---|---|
| Home | / | De grote foto bovenaan, wat het café biedt, cijfers, galerij, citaat, openingstijden en kaart. |
| Over ons | /over | Het verhaal van het café. |
| Geschiedenis | /over/geschiedenis | De tijdlijn vanaf 1897. Deze pagina hangt onder Over ons. |
| De kaart | /kaart | Wat je kunt eten en drinken. |
| Toernooien | /toernooien | Het biljartarchief. Elk toernooi heeft ook een eigen pagina. |
| Contact | /contact | Adres, openingstijden en het contactformulier. |
| Galerij | /galerij | Alle foto's bij elkaar. |
| Privacyverklaring | /privacy | Wat 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.
Begin hier
Woordenlijst
Twaalf woorden die je in het beheerscherm tegenkomt. Meer hoef je niet te kennen.
| Woord | Wat het betekent |
|---|---|
| Payload | Het programma waarin je de website aanpast. Payload is het beheerscherm. |
| Collectie | Een verzameling van hetzelfde soort dingen. "Pagina's" is een collectie, "Evenementen" ook. Zie het als een la in een kast. |
| Document | Eén item uit zo'n collectie. De pagina Contact is één document. |
| Veld | Eén invulvakje. Bijvoorbeeld Titel of Ondertitel. |
| Sectie of blok | Een bouwsteen van een pagina. Een pagina is een stapel blokken boven elkaar. |
| Slug | Het stukje adres van een pagina. Bij /over is de slug over. Kleine letters, geen spaties. |
| Concept | Een opgeslagen versie die de bezoeker nog niet ziet. Jouw kladblok. |
| Publiceren | Je wijziging echt op de website zetten, zichtbaar voor iedereen. |
| Versie | Een oude opgeslagen toestand van een pagina. Je kunt er altijd naar terug. |
| Media | De fotobibliotheek. Alle afbeeldingen staan hier één keer en je gebruikt ze op meerdere plekken. |
| Instellingen | Gegevens die maar één keer bestaan voor de hele site, zoals de openingstijden of het menu bovenaan. |
| Live preview | Een 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:
- Het bewaart alle tekst en alle foto's in een database.
- Het geeft jou een scherm om die tekst en foto's aan te passen.
- 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.
| Wat | Adres |
|---|---|
| De website, wat bezoekers zien | https://dev.cafehuchie.driezie.studio |
| Het beheerscherm, waar jij inlogt | https://dev.cafehuchie.driezie.studio/admin |
| Wachtwoord vergeten | https://dev.cafehuchie.driezie.studio/admin/forgot |
| Deze handleiding | https://handleiding.cafehuchie.driezie.studio |
| Hulp en storingen | contact@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.
- Ga naar
https://dev.cafehuchie.driezie.studio/adminen typ in het bovenste vakje je emailadres. - Typ in het vakje eronder je wachtwoord. Met het oogje rechts kun je zien wat je typt.
- Klik op Inloggen. Je komt nu op het overzichtsscherm.
- 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.
- Vul je emailadres in. Dat moet hetzelfde adres zijn als waarmee je inlogt.
- 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.
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
- Pagina's: alle teksten en secties van de website. Hier ben je het vaakst.
- Media: alle foto's.
- Evenementen: de biljarttoernooien met poules en uitslagen.
- Instellingen: openingstijden, adres, telefoon, sociale media. Geldt voor de hele site.
- Hoofdmenu: welke links bovenaan en onderaan de site staan.
De rest van het menu
| Onderdeel | Waarvoor | Hoe vaak nodig |
|---|---|---|
| Gebruikers | Wie mag inloggen en wat diegene mag. | Zelden |
| Redirects | Oude adressen doorsturen naar nieuwe. | Zelden |
| Spelers | De biljarters. Elke speler staat hier één keer per toernooi. | Bij een toernooi |
| Personen | Mensen met contactgegevens, bijvoorbeeld voor inschrijvingen. | Zelden |
| Arrangementen | Feesten, borrels en zaalverhuur. | Soms |
| Sponsoren | De sponsoren met hun logo. | Soms |
| Contactberichten | Wat mensen via het contactformulier sturen. | Regelmatig lezen |
| Forms en Form Submissions | Zelfgemaakte formulieren en wat daarop binnenkomt. | Zelden |
Het menu rechtsboven
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.
- Klik links in het menu op Pagina's.
- Klik op de naam van de pagina die je wilt aanpassen.
- Ga naar het tabblad waar de tekst staat. Meestal is dat Secties.
- Klik op de sectie die je wilt veranderen, zodat hij openklapt. Pas de tekst aan.
- Klik rechtsboven op Bewaar concept als je nog niet klaar bent.
- Klaar? Klik op Publiceer wijzigingen. Ververs de website en je ziet het.
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.
| Knop | Wat er gebeurt | Ziet de bezoeker het |
|---|---|---|
| Bewaar concept | Je werk wordt bewaard, maar alleen jij ziet het. | Nee |
| Publiceer wijzigingen | Je werk gaat live op de website. | Ja, meteen |
| Publicatie ongedaan maken | De 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.
- Open een pagina.
- Klik rechtsboven op het kleine schermpictogram naast de publiceerknop.
- Typ iets in een veld. Het venster rechts werkt vanzelf bij.
- 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.
- Open de pagina.
- Klik rechtsboven op Versies. Het getal ernaast zegt hoeveel er zijn.
- Klik op de datum van de versie die je terug wilt.
- Je ziet nu wat er veranderd is. Klik op Herstel deze versie.
- 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.
- Algemeen: titel, slug (het adres), ondertitel en onder welke pagina deze hangt.
- Kop: het blok bovenaan de pagina. De grote foto, de titel eroverheen en eventueel knoppen.
- Secties: de inhoud van de pagina, opgebouwd uit bouwstenen. Hier ben je het meest.
- SEO: hoe de pagina eruitziet in Google en op sociale media. Zie SEO per pagina invullen.
Tabblad Algemeen
| Veld | Wat je invult | Verplicht |
|---|---|---|
| Titel | De naam van de pagina, bijvoorbeeld "Over ons". | Ja |
| Slug | Het adres, bijvoorbeeld over. Kleine letters, geen spaties, geen schuine streep vooraan. | Ja |
| Ondertitel | Een korte zin onder de titel. Mag leeg. | Nee |
| Menugroep | Alleen om de lijst in het beheerscherm netjes te houden. Het echte menu stel je in bij Hoofdmenu. | Nee |
| Bovenliggende pagina | Kies je hier "Over ons", dan wordt het adres /over/geschiedenis. Zo maak je onderpagina's. | Nee |
Tabblad Kop
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 tekstvak | Losse blokken (zo werkt deze site) | |
|---|---|---|
| Hoe het werkt | Je 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 uit | Nee. Één verkeerde lettergrootte en de pagina is scheef. | Ja. Elk blok heeft een vaste vorm die de ontwerper bepaald heeft. |
| Werkt het op een telefoon | Vaak niet. Tabellen en kolommen lopen mis. | Altijd. Elk blok weet zelf hoe hij op een klein scherm moet staan. |
| Hoeveel moet je weten | Veel. Je bent eigenlijk een beetje ontwerper. | Weinig. Je vult tekstvakjes in en kiest een foto. |
| Kun je iets slopen | Ja, 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 vertellen | Het blok dat daarvoor bestaat |
|---|---|
| Dit is wie we zijn, met een grote foto | Hero |
| Een rustige inleiding op een pagina | Pagina intro of Intro met initiaal |
| Dit is wat we doen, in een paar punten | Services blok |
| Kijk hoe lang we dit al doen | Uitgelicht met cijfers |
| Ons verhaal door de jaren heen | Tijdlijn |
| Iemand zei iets moois over ons | Citaatband |
| Dit kun je eten en drinken | Menu blok |
| Kijk hoe het er hier uitziet | Galerij of Beeldband |
| Wanneer zijn we open en waar zitten we | Openingstijden en Kaart |
| Neem contact op | Contactformulier of CTA band |
| Deze bedrijven steunen ons | Hoofdsponsor of Sponsorenwand |
| Dit zijn onze toernooien | Evenementenarchief 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.
Wat je met een sectie kunt doen
| Actie | Hoe |
|---|---|
| Openklappen | Klik op de balk met de naam. Nog een keer klikken sluit hem weer. |
| Verplaatsen | Pak het icoontje met de streepjes helemaal links vast en sleep de sectie omhoog of omlaag. |
| Toevoegen | Klik onderaan op Voeg Sectie toe en kies een blok uit de lijst. |
| Verwijderen | Klik op de drie puntjes rechts en kies Verwijderen. |
| Dupliceren | Drie puntjes, dan Dupliceren. Handig als je iets bijna hetzelfde wilt. |
| Alles dichtklappen | Klik bovenaan op Alles samenvouwen. Fijn bij een lange pagina. |
Een blok kiezen
Elk blok heeft twee tabbladen
Klap je een blok open, dan zie je binnenin meestal twee tabbladen: Inhoud en Instellingen.
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.
Openen en tekst
| Blok | Waarvoor | Wat je invult |
|---|---|---|
| Hero | De grote openingsfoto met tekst eroverheen. Bovenaan de homepagina. | Bovenkopje, Titel, Subtitel, Afbeelding, Watermerk, maximaal twee knoppen. |
| Pagina intro | De standaardopening van elke pagina die niet de homepagina is. | Bovenkopje, Titel, Ondertitel, Kopniveau. |
| Tekst intro blok | Rustig tekstblok in twee kolommen. Meestal direct onder de pagina intro. | Bovenkopje, Titel, Tekst. |
| Intro met initiaal | Als in een oud boek: de eerste letter groot en sierlijk. | Bovenkopje, Openingstekst, Vervolgtekst, optioneel een foto rechts. |
| Content | Het 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. |
| Citaatband | Een uitspraak groot afgedrukt. Houd hem kort. | Wie zegt het, Citaat. |
Beeld
| Blok | Waarvoor | Wat je invult |
|---|---|---|
| Galerij | Een 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. |
| Beeldband | Eén foto van rand tot rand. Beweegt bij het scrollen iets langzamer mee. | Foto, Bijschrift, Hoogte (laag, normaal of hoog). |
Vertellen en overtuigen
| Blok | Waarvoor | Wat je invult |
|---|---|---|
| Services blok | Een genummerde lijst van maximaal vier activiteiten met een foto per regel. | Bovenkopje, Titel, per dienst: Titel, Beschrijving, Icoon, Foto, Link. |
| Uitgelicht met cijfers | Grote getallen die bij het scrollen omhoog tellen. Bijvoorbeeld "128 jaar". | Bovenkopje, Titel, Tekst, maximaal drie cijfers, optioneel een knop. |
| Tijdlijn | De geschiedenis in rijen. Jaartal links, tekst in het midden, foto rechts. | Titel, per periode: Jaar (mag ook "Naoorlogs" zijn), Titel, Tekst, Foto. |
| CTA band | Een opvallende band met een oproep en een knop. Zet hem onderaan een pagina. | Bovenkopje, Titel, Beschrijving, Knoplabel, Knoplink. |
Praktisch
| Blok | Waarvoor | Wat je invult |
|---|---|---|
| Menu blok | De 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 Kaart | Links tekst met knoppen, rechts de openingstijden, daaronder de kaart van Google. | Bovenkopje, Titel, Tekst, knoppen, vinkje Kaart tonen. |
| Contactformulier | De hele onderkant van de contactpagina: formulier, openingstijden, adres, sociale knoppen en kaart. | Bovenkopje, Titel, Ondertitel. De rest komt uit Instellingen. |
| Formulier | Een formulier dat je zelf hebt gemaakt bij Forms op een pagina zetten. | Titel, Introtekst, en welk formulier. |
Toernooien en sponsoren
| Blok | Waarvoor | Wat je invult |
|---|---|---|
| Evenementenarchief | De lijst met alle toernooien, nieuwste bovenaan. Vult zichzelf. | Bovenkopje, Titel, optioneel filteren op soort en een maximum aantal. |
| Aankomend toernooi | Toont 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 toernooi | De sponsorenwand van het aankomende toernooi, of anders van het meest recente. | Bovenlabel, Titel, vinkje om de hoofdsponsor uit te lichten, Notitie. |
| Hoofdsponsor | Eén sponsor groot uitgelicht in een kader, met tekst ernaast. | Titel, Tekst, Naam sponsor, Logo, Website, Toelichting. |
| Sponsorenwand | Een wand van logo's. Deze typ je met de hand in. | Bovenkopje, per sponsor: Naam, Logo, Website. Plus een notitie eronder. |
| Archief per jaar | Een 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.
Een foto uploaden
- Klik links in het menu op Media.
- Klik rechtsboven op Nieuw(e) Media toevoegen.
- Sleep je foto in het vak, of klik erop en kies een bestand van je computer.
- Vul de Alt tekst in. Eén zin die beschrijft wat je op de foto ziet.
- Klik op Opslaan.
De drie velden bij een foto
| Veld | Waarvoor |
|---|---|
| Alt tekst | Beschrijft de foto voor mensen die niet kunnen zien, en voor Google. Altijd invullen. |
| Bijschrift | Tekstje dat op de website onder de foto komt te staan. Alleen invullen als je dat wilt. |
| Fotocredit | Wie 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.
Wat er in de tabbladen staat
| Tabblad | Wat je er vindt |
|---|---|
| Algemeen | De naam van het café, de slogan en een korte introductie. |
| Contact | Adres, postcode, plaats, telefoon, emailadres, de kaart van Google en de openingstijden per dag. |
| Social | De links naar Facebook, Instagram en LinkedIn. |
| Actieknoppen | De twee knoppen die op meerdere plekken op de site terugkomen. |
| De teksten van de emails die de site verstuurt, en naar welk adres contactberichten gaan. | |
| Geavanceerd | Vakken 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.
- Klik links op Pagina's en dan rechtsboven op Nieuw(e) Pagina toevoegen.
- Vul bij Titel de naam in, bijvoorbeeld "Feestzaal".
- Vul bij Slug het adres in, bijvoorbeeld
feestzaal. Kleine letters, geen spaties. - Moet de pagina onder een andere hangen? Kies rechts een Bovenliggende pagina.
- Ga naar Kop en vul de bovenkant van de pagina in.
- Ga naar Secties en bouw de pagina op met blokken.
- Vul het tabblad SEO in. Zie SEO per pagina invullen.
- Klik op Bewaar concept, kijk met live preview of het klopt, en klik dan op Publiceren.
- 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.
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 leest | Waar het vandaan komt | Wat jij eraan kunt doen |
|---|---|---|
| De titel van de pagina | Het veld Titel, of de SEO titel als je die invult | Zet er in wat de pagina echt is, plus het woord waarop je gevonden wilt worden |
| De omschrijving | Het veld SEO omschrijving, of anders de ondertitel | Schrijf één zin die iemand overhaalt om te klikken |
| De koppen op de pagina | De titels van je blokken | Gebruik gewone woorden, geen kreten |
| De gewone tekst | Wat je in de blokken typt | Schrijf zoals je praat. Noem de plaats en wat je aanbiedt |
| De alt tekst bij foto's | Het veld Alt tekst in Media | Beschrijf wat er op de foto staat |
| Het adres van de pagina | De slug | Kort en in gewone woorden. /kaart is beter dan /pagina-2 |
| De openingstijden en het adres | De Instellingen | Houd 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.
| Wat | Wat het doet |
|---|---|
| Automatische titels | Vul je bij SEO niets in, dan pakt de site de gewone titel van de pagina en zet er de naam van het café achter. |
| Sitemap | Een lijst van al je pagina's die Google kan ophalen, zodat hij er geen mist. Staat op /sitemap.xml en vult zichzelf. |
| Robots bestand | Vertelt zoekmachines wat ze wel en niet mogen bekijken. Het beheerscherm blijft zo uit Google. |
| Bedrijfsgegevens voor Google | De 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's | Elke foto wordt in vier formaten gemaakt zodat een pagina snel laadt. Snelheid telt mee voor Google. |
| Werkt op een telefoon | Google kijkt vooral naar de telefoonversie. Die is hier volledig verzorgd. |
De vijf dingen die jij wel moet doen
- Geef elke pagina een duidelijke titel. Niet "Info" maar "Zaalverhuur in Veenendaal".
- Vul de SEO omschrijving in. Eén zin, ongeveer 150 tekens, die iemand overhaalt om te klikken.
- Vul de alt tekst bij foto's in. Dat helpt Google én blinde bezoekers.
- Noem waar je zit. Het woord Veenendaal mag rustig een paar keer in je teksten staan, zolang het natuurlijk klinkt.
- 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
| Wat | Waarom het helpt |
|---|---|
| Een Google Bedrijfsprofiel | Voor 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. |
| Recensies | Vraag tevreden gasten er gewoon om. Veel goede recensies wegen zwaar mee bij lokaal zoeken. |
| Vermeldingen op andere sites | Een link vanaf de biljartbond, de gemeentegids of een lokale nieuwssite is waardevol. |
| Verse inhoud | Een 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.
- Open een pagina en klik bovenaan op het tabblad SEO.
- Vul bij Meta titel in wat er als blauwe regel in Google moet staan. Houd het onder de 60 tekens.
- Vul bij Meta omschrijving één wervende zin in. Ongeveer 150 tekens.
- Kies bij Meta afbeelding een mooie liggende foto. Die verschijnt als iemand de link deelt op WhatsApp of Facebook.
- Kijk of de balkjes groen zijn en publiceer.
| Veld | Waarvoor | Goede lengte |
|---|---|---|
| Meta titel | De blauwe klikbare regel in Google. | 50 tot 60 tekens |
| Meta omschrijving | Het grijze tekstje eronder in Google. | 140 tot 160 tekens |
| Meta afbeelding | De 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.
- Klik links in het menu op Redirects.
- Vul bij Van het oude adres in, bijvoorbeeld
/biljart. - Kies bij Naar de pagina waar het naartoe moet, of typ een adres.
- 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
| Onderdeel | Wat het is | Waar in het menu |
|---|---|---|
| Evenement | Het toernooi zelf. Titel, jaar, soort, poules, finales en sponsoren. | Evenementen |
| Speler | Eén deelname van één persoon aan één toernooi. Dezelfde man die vijf jaar meedeed staat er vijf keer. | Spelers |
| Persoon | Optioneel 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.
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
- Klik links op Evenementen en dan op Nieuw(e) Evenement toevoegen.
- Vul de Titel in, bijvoorbeeld "Libre toernooi 2026".
- Vul de Slug in, bijvoorbeeld
libre-2026. Dit wordt het adres/toernooien/libre-2026. - Vul het Jaar in. Dit is tekst, want bij een competitie staat er soms "2019 tot 2020".
- Kies de Soort: Libre toernooi, Driebanden of Teamcompetitie.
- Klik op Bewaar concept. Dit is belangrijk, want pas nu bestaat het toernooi en kun je er spelers aan koppelen.
| Veld | Wat je invult | Verplicht |
|---|---|---|
| Titel | Zoals het toernooi heette. | Ja |
| Slug | Het adres, kleine letters. | Ja |
| Jaar | Bijvoorbeeld 2026, of een reeks bij een competitie. | Ja |
| Soort | Libre, Driebanden of Teamcompetitie. | Ja |
| Periode | Bijvoorbeeld "januari tot maart". | Nee |
| Samenvatting | Een paar zinnen die in het archief onder de titel komen. | Nee |
| Winnaar | De naam van de winnaar, komt in het archiefoverzicht. | Nee |
| Afbeelding | De foto bovenaan de toernooipagina. | Nee |
| Sorteervolgorde | Bepaalt 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 site | Alleen voor jezelf, om terug te kunnen zoeken. Staat niet op de website. | Nee |
Stap 2: de spelers registreren
- Ga naar het tabblad Spelers.
- Klik op de knop om een speler toe te voegen.
- Vul de Naam in, precies zoals hij op de site moet staan.
- Vul Te maken in: het aantal caramboles dat deze speler moet maken. Mag leeg bij een teamcompetitie.
- Het veld Toernooi staat al goed omdat je vanaf het toernooi werkt.
- Optioneel: koppel een Persoon als je zijn contactgegevens wilt bewaren.
- Herhaal voor alle deelnemers en sla op.
Stap 3: de poules invullen
- Ga naar het tabblad Uitslagen.
- Wil je een andere kop dan "Groepsfase", vul dan Kop boven de poules in. Bij een teamcompetitie bijvoorbeeld "De teams".
- Klik op Voeg Poule toe en geef de poule een Naam, bijvoorbeeld "Groep A".
- Klik binnen de poule op Voeg Regel toe voor elke speler.
- 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
- Klik onder Poules op Voeg Partij toe.
- 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.
- Kies bij Thuis een speler uit de lijst en vul zijn Score in.
- Doe hetzelfde bij Uit.
- 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.
- Optioneel: Beurten, Doorgangscode en Speeldag, datum of tijd.
Stap 5: sponsoren en verslag
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.
| Veld | Wat het doet |
|---|---|
| Dit is het aankomende toernooi | Vinkje aan betekent: dit toernooi wordt getoond als de eerstvolgende, op elke pagina waar het blok Aankomend toernooi staat. |
| Datum in woorden | Bijvoorbeeld "zaterdag 14 maart 2026". Gewoon tekst, dus "in het voorjaar" mag ook. |
| Inschrijving is open | Vinkje 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.
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 ziet | Wat er aan de hand is | Wat je doet |
|---|---|---|
| Ik heb iets aangepast maar op de site verandert niets | Je 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 staan | Het 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 contactbericht | De mailserver is nog niet ingesteld. | De berichten staan wél in de admin. Zie Contactberichten lezen. |
| Wachtwoord vergeten stuurt geen email | Zelfde oorzaak. | Mail contact@driezie.studio. |
| Ik word steeds uitgelogd | Je bent te lang weggeweest zonder iets te doen. | Log opnieuw in. Klik voortaan op Ingelogd blijven als dat gevraagd wordt. |
| De live preview blijft leeg | Er 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 menu | Het menu vult zichzelf niet. | Ga naar Hoofdmenu en voeg hem toe. |
| Alle icoontjes zijn verdwenen | De 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 formulier | Er mogen maximaal vijf berichten per tien minuten van hetzelfde adres komen. Dat is spambescherming. | Tien minuten wachten. |
| Een sponsor staat als naam in hoofdletters | Er 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 onbereikbaar | Waarschijnlijk 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.
- Wat wilde je doen. Bijvoorbeeld: "de openingstijden op tweede kerstdag aanpassen".
- Waar was je. Welke pagina of welk scherm, het liefst met het adres uit de adresbalk.
- Wat gebeurde er. Wat zag je op het scherm, en wat had je verwacht.
- 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.
| Onderdeel | Wat | Versie |
|---|---|---|
| Framework | Next.js, App Router, React 19 | 16.2.7 |
| CMS | Payload CMS, Postgres adapter, Lexical editor | 4.0.0-canary.9 |
| Database | PostgreSQL | 16 |
| Styling | Tailwind CSS met kleuren als theme tokens | 4.3.2 |
| Animatie | GSAP en Motion | 3.15 en 12.42 |
| Beeldverwerking | sharp | 0.34.2 |
| Foutmeldingen | Sentry, alleen actief met een DSN | 10.65 |
| Pakketbeheer | pnpm | 10.33.2 |
| Node | Minimaal 24.15 | 24.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 buildheeft geen database nodig. - Het schema komt uit migraties. In
src/payload.config.tsstaatpush: 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_dumpenpsql
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
| Commando | Wat het doet |
|---|---|
pnpm dev | Start de site voor ontwikkelen op poort 3100. |
pnpm devsafe | Hetzelfde, maar gooit eerst .next weg. Bij rare fouten. |
pnpm build | Bouwt de productieversie. Heeft geen database nodig. |
pnpm start | Draait de gebouwde productieversie. |
pnpm migrate | Past openstaande databasewijzigingen toe. |
pnpm seed | Maakt de eerste gebruiker en de demo inhoud. Overschrijft niets bestaands. |
pnpm generate:types | Maakt src/payload-types.ts opnieuw. Na elke veldwijziging. |
pnpm generate:importmap | Nodig na het toevoegen van eigen admin componenten. |
pnpm lint en pnpm typecheck | Controle 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.
| Naam | Verplicht | Wat het doet |
|---|---|---|
PAYLOAD_SECRET | Ja | Ondertekent inlogtokens. Verander je hem, dan wordt iedereen uitgelogd. |
DATABASE_URI | Ja | Waar de database staat, met gebruiker en wachtwoord. |
NEXT_PUBLIC_SERVER_URL | Ja | Het publieke adres. Gebruikt voor absolute links, admin, cors en csrf. |
NEXT_PUBLIC_SITE_NAME | Nee | Merknaam in de titelbalk en in emails. |
NEXT_PUBLIC_SITE_SHORT_NAME | Nee | Korte naam. |
NEXT_PUBLIC_SITE_DESCRIPTION | Nee | Standaard omschrijving voor Google. |
PREVIEW_SECRET | Nee | Sleutel voor de live preview van concepten. |
SMTP_HOST | Nee | Is deze leeg, dan verstuurt de site geen email, alleen naar het logboek. |
SMTP_PORT | Nee | Meestal 587. Bij 465 gaat beveiligde verbinding automatisch aan. |
SMTP_USER en SMTP_PASS | Nee | Inloggegevens van de mailserver. |
EMAIL_FROM_ADDRESS en EMAIL_FROM_NAME | Nee | Afzender. |
CONTACT_NOTIFY_TO | Nee | Waar contactberichten heen gaan. |
SENTRY_DSN | Nee | Foutmeldingen van de server. |
NEXT_PUBLIC_SENTRY_DSN | Nee | Foutmeldingen uit de browser. Moet ook tijdens het bouwen bestaan. |
NEXT_PUBLIC_RECAPTCHA_SITE_KEY | Nee | Spambescherming aanzetten. Leeg is uit. |
RECAPTCHA_SECRET_KEY | Nee | De bijbehorende geheime sleutel. |
RECAPTCHA_MIN_SCORE | Nee | Ondergrens tussen 0 en 1. Standaard 0.5. |
SEED_ADMIN_EMAIL en SEED_ADMIN_PASSWORD | Nee | Alleen 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.
| Migratie | Wat erin veranderde |
|---|---|
20260722_164216_initial | Alle tabellen voor het eerst. |
20260722_173721_eyebrow_optioneel | Het bovenkopje werd optioneel. |
20260722_182521_toernooi_afbeelding | Een toernooi kreeg een afbeelding. |
20260726_092547_dropcap_intro | Het blok Intro met initiaal erbij. |
20260726_222601_aankomend_toernooi_blok | Het blok Aankomend toernooi erbij. |
20260726_234023_relationele_toernooien | Spelers werden een eigen collectie, poules en finales werden relaties. |
20260727_140557_personen_en_speler_persoon | De collectie Personen erbij, met koppeling vanaf de speler. |
Een veld toevoegen of veranderen
- Pas het veld aan in de collectie.
- Draai
pnpm payload migrate:create naam_van_de_wijziging. - Lees het migratiebestand na. Verwijdert het per ongeluk een kolom met data? Pas het aan.
- Draai
pnpm migrateom hem lokaal toe te passen. - Draai
pnpm generate:types. - 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.
| Wat | Owner | Admin | Editor |
|---|---|---|---|
| Inloggen in het beheerscherm | Ja | Ja | Ja |
| Pagina's, toernooien en foto's bewerken | Ja | Ja | Ja |
| Foto's en toernooien verwijderen | Ja | Ja | Nee |
| Contactberichten lezen | Ja | Ja | Nee |
| Doorverwijzingen beheren | Ja | Ja | Nee |
| Gebruikers aanmaken | Ja | Alleen editors | Nee |
| Rollen toewijzen of wijzigen | Ja | Nee | Nee |
| De owner zien of aanpassen | Ja | Nee | Nee |
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.
| Wat | Waarde |
|---|---|
| Coolify applicatie | cafehuchie |
| Manier van bouwen | Docker image, geen build op de server |
| Image | jelte2847523875/cafehuchie:latest op Docker Hub, privé |
| Domein | https://dev.cafehuchie.driezie.studio |
| Database | Coolify Postgres cafehuchie-db-v2, niet bereikbaar vanaf internet |
| Poort in de container | 3000 |
| Media | Volume op /app/media, blijft bestaan over uitrollen heen |
De uitrol in vier stappen
- Zet je wijzigingen in git en controleer met
pnpm lintenpnpm typecheck. - 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 . - Push naar Docker Hub:
docker push jelte2847523875/cafehuchie:latest - 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
- Zet een A record van
wwwnaar het IP van de Coolify server. Bij Cloudflare: wolk op grijs (DNS only). - Zet in Coolify het domein op
https://www.cafehuchie.nl. Coolify vraagt zelf een certificaat aan. - Zet
NEXT_PUBLIC_SERVER_URLop het nieuwe adres, als build variabele én als runtime variabele. - Bouw de image opnieuw met dat adres als build argument, push, en rol uit. Dit moet echt, want het adres zit in de browserbestanden.
- Controleer het slotje,
/adminen/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:
- 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 - Via SSH. Log in op de server en draai
pg_dumpin 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 contactformulier | Een zelfgemaakt formulier | |
|---|---|---|
| Blok | Contactformulier | Formulier |
| Velden aanpassen | Nee, die staan vast | Ja, via de form builder |
| Inzendingen bij | Contactberichten | Form Submissions |
| Server action | src/app/(frontend)/contact/actions.ts | src/app/(frontend)/forms/actions.ts |
De volgorde bij een inzending
- Valstrikveld. Een onzichtbaar invulvakje bovenaan. Ingevuld betekent robot, bericht wordt weggegooid.
- Teller. Maximaal vijf berichten per tien minuten per IP adres.
- reCAPTCHA. Alleen als de sleutels ingevuld zijn. Nu overgeslagen.
- Opslaan in de admin.
- 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:
| Naam | Voorbeeld |
|---|---|
SMTP_HOST | smtp.gmail.com |
SMTP_PORT | 587 |
SMTP_USER | het emailadres van het account |
SMTP_PASS | een app wachtwoord, geen gewoon wachtwoord |
CONTACT_NOTIFY_TO | waar 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
| Script | Wat het doet |
|---|---|
src/scripts/reset-password.ts | Zet het wachtwoord van een gebruiker terug. Vereist RESET_EMAIL en RESET_PASSWORD. |
src/scripts/publish-seeded-pages.ts | Zet alle pagina's van concept naar gepubliceerd. Vangnet voor als een verse database toch overal 404 geeft. |
src/scripts/resync-seeded-pages.ts | Zet de standaardpagina's terug naar de opbouw uit de code. Overschrijft handmatige wijzigingen. |
src/scripts/vind-streepjes-in-database.ts | Zoekt lange streepjes in teksten en in het hoofdmenu. |
scripts/herstel-media-bestanden.ts | Herstelt 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
| Letter | Waarvoor |
|---|---|
| Oswald | Smal en hoog. Kleine kopjes, knoppen, menu en prijzen. |
| Playfair Display | Klassiek met dunne haartjes. Alleen de grote titels. |
| Archivo | De 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
| Effect | Waar | Bestand |
|---|---|---|
| Blokken die opkomen bij scrollen | Overal | Reveal.tsx |
| Titels die regel voor regel openvegen | Grote koppen | ScrollTitle.tsx |
| Parallax | Hero en fotobanden | Parallax.tsx |
| Getallen die omhoog tellen | Uitgelicht met cijfers | CountUp.tsx |
| Paginaovergang | Bij elke interne link | PageTransition.tsx |
| Foto's schermvullend | Galerij en losse foto's | Lightbox.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.
- Log in op
/adminen ga naar Gebruikers. - Maak een aparte gebruiker voor de AI, rol Editor of Admin.
- Zet API sleutel inschakelen aan, sla op en kopieer de sleutel.
- 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
| Wat | Waarom het uitmaakt |
|---|---|
| Er is geen backup | Niemand maakt automatisch een reservekopie van de database of de foto's. Bij een serverstoring is alles weg. |
| De site verstuurt geen email | Niemand krijgt bericht bij een contactformulier, en wachtwoord vergeten werkt niet. |
| Zeven foto's ontbreken op de server | De pagina Geschiedenis mist zeven afbeeldingen. |
| De site staat op een testadres | dev.cafehuchie.driezie.studio is geen echt domein. Ook Google en gedeelde links wijzen daarnaartoe. |
| Er is één account voor iedereen | Alleen contact@driezie.studio kan inloggen. Het café heeft een eigen account nodig. |
Goed om te weten
| Wat | Toelichting |
|---|---|
| Foutmeldingen worden niet bijgehouden | Sentry staat uit. |
| Spambescherming staat half aan | Valstrikveld en teller werken. reCAPTCHA staat uit. |
| De privacyverklaring is een startversie | De 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 niets | Logo, Korte naam, Hero afbeelding en Locatie of gebouw worden nergens uitgelezen. |
| Het blok Archief per jaar wordt niet gebruikt | Het bestaat wel, maar staat op geen enkele pagina. |
| Eén lintfout blokkeert de automatische controle | In 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 ontwerpproces | De mappen .design-sync, .ds-sync, ds-bundle en het bestand Café 't Huchie Redesign.zip. |
| Iconen komen van internet | Van kit.fontawesome.com. Externe afhankelijkheid. |
| Payload draait op een canary versie | Prima nu, maar voorzichtig bij een upgrade. |
Overdracht
Overdrachtslijst
Wat een nieuwe beheerder nodig heeft om verder te kunnen.
| Nodig | Waar | Wie regelt het |
|---|---|---|
| Inloggegevens voor het beheerscherm | /admin | Driezie Studio maakt een account aan |
| Toegang tot Coolify | https://app.coolify.io | Driezie Studio |
| Toegang tot Docker Hub | Account jelte2847523875, image cafehuchie | Driezie Studio |
| Toegang tot de code | De git repository | Driezie Studio |
| Toegang tot de domeinnaam | Bij de partij waar het domein staat | Het café |
| Mailserver gegevens | Voor de SMTP variabelen | Het café of de hostingpartij |
| De laatste reservekopie | Een .dump bestand | Zie Backup en herstel |
Wat je nooit deelt
PAYLOAD_SECRETenPREVIEW_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.