In een serie van artikelen ga ik uitgebreid in op de eisen die vanuit SEO bezien gesteld mogen worden aan Content Management Systemen (CMS-en). Een CMS is een prachtig instrument om op eenvoudige wijze dynamische websites te realiseren. Maar als de website vervolgens slecht wordt gevonden in zoekmachines is dat een gemiste kans, juist omdat een CMS potentieel zo geschikt is voor zoekmachines. Je ziet in toenemende mate CMS-en op de markt verschijnen die zich profileren op het gebied van SEO. Op welke punten doen ze dat en kloppen hun claims wel? Hoe ziet een écht SEO-CMS er idealiter uit, zowel vanuit technisch perspectief als het perspectief van de beheerder ervan?
Abonneer u op de RSS-feed van deze weblog om meteen op de hoogte te worden gebracht van het verschijnen van het volgende artikel of plaats uw naam op de mailinglijst (rechtsonder in scherm). Het ideale SEO CMS – deel I is hier te lezen.
Inleiding
Het is al weer drie maanden geleden dat ik het eerste deel in deze serie gepubliceerd heb. Hoogste tijd dus om een stevige tweede stap te zetten. In dit artikel zal ik ingaan op de wijze waarop de input van de cms-gebruiker, in het vervolg van dit artikel ‘contentbeheerder’ genoemd, in mijn optiek zou moeten worden vertaald naar voor zoekmachines optimale html-code.
Kenmerkend voor een cms is dat de contentbeheerder geen kennis van html hoeft te hebben om toch webpagina’s te kunnen maken: het CMS vertaalt de door de beheerder ingevoerde gegevens naar mooie webpagina’s. De wijze echter waarop het CMS dat doet is bepalend voor de vraag hoe goed de pagina’s straks gevonden gaan worden in Google. M.a.w.: het CMS moet voor zoekmachines geoptimaliseerde html code genereren. Maar hoe zou die geoptimaliseerde html code er in de kern uit moeten zien? Daarover handelt dit artikel.
Hoewel ik mijn uiterste best heb gedaan mijn kennis en ervaring zo goed mogelijk in dit artikel te verwerken, ben ik er zeker van dat e.e.a. nóg beter kan. Indien u in dit verband aanvullingen, opmerkingen, etc. heeft, verneem ik dat graag! Dan kan ik dat aanpassen, danwel meenemen naar het volgende artikel in de serie.
Terminologie
Een CMS maakt het mogelijk om producten, diensten of artikelen in een structuur van ‘categorieën’ en ‘subcategorieën’ te plaatsen, waarbij ik in het vervolg voor het gemak alleen nog spreek van “artikelen” en “categorieën”. Verder is het vanuit SEO bezien interessant om aan alle artikelen (of producten of diensten…) nul of meer zogenaamde “tags” toe te kunnen kennen. Naast de ordening via categorieën is dit als het ware een tweede manier van ordenen van de artikelen.
“Categorie-pagina’s” zijn in mijn terminologie pagina’s met een overzicht van (d.w.z. verwijzingen naar) alle artikelen binnen betreffende categorie. “Tag-pagina’s” zijn pagina’s met een overzicht van (d.w.z. verwijzingen naar) alle artikelen die betreffende tag toegekend hebben gekregen. “Artikel-pagina’s” zijn de pagina’s met het uiteindelijke artikel (of product, etc.).
Categorieën en tags
De schrijver van een artikel plaatst het artikel in mijn ideale SEO-CMS niet alleen binnen een categorie, maar kent bovendien nul of meer vooraf gedefinieerde tags toe aan het artikel.
Wat de tags betreft ben ik van mening dat het raadzaam is hier selectief mee om te gaan. Sommige seo’s raden het gebruik van tags zelfs af, maar ik meen dat het wel degelijk iets belangrijks toevoegt, echter alleen wanneer één en dezelfde tag aan meer dan één artikel wordt toegekend. Precies dan heeft de tag-pagina (met de verwijzingen naar alle artikelen die betreffende tag hebben gekregen) wel degelijk toegevoegde waarde ten opzichte van de individuele artikel-pagina’s. Daarom zou ik wensen dat er vooraf over een “taglijst” wordt nagedacht, net zoals er vooraf over een “categorielijst” wordt nagedacht. Het heeft namelijk geen enkele zin als er steeds tags worden bedacht die op slechts één artikel van toepassing zijn. Een gelimiteerde set tags kan een oplossing zijn voor dit probleem.
Een voorbeeld van voorgaande is het woord ‘language targeting’, één van de tags in onderhavige blog. Als daar binnen Google op wordt gezocht scoort de tag-pagina hoog. Bovendien wordt het aantal berichten tussen titel en snippet vermeld (“2 berichten”), dit ter bevestiging dat het voor Google een signifikante rol speelt.
Vanuit SEO bezien is het voorts van belang dat zowel categorieën als tags zo veel mogelijk uit goede zoekwoorden bestaan, dus woorden die mensen frequent gebruiken binnen Google.
Input voor het CMS
Aan de invoerkant van het CMS zou ik de volgende velden willen zien. Deze velden moeten eenmalig worden ingevuld en spelen steeds een belangrijke rol bij het genereren van de webpagina’s. Ik noem ze de ‘site constanten’. Ze dienen allen verplicht te worden ingevuld, en moeten uiteraard kunnen worden onderhouden binnen het CMS.
Site constante | Toelichting |
Bedrijfsnaam | Naam van het bedrijf, zoals die straks in de meta-titles van de pagina’s (en dus in de zoekresultaten) gaat verschijnen. Voor SEO niet van belang (tenzij de naam uit goede zoekwoorden bestaat), maar voor de naams-branding wel. |
Titel website (60 karakters max, incl. spaties) | De titel van de website gaat gebruikt worden voor de meta-title van de index-pagina en dient in kernwoorden te beschrijven waar de website over gaat. Deze kernwoorden dienen woorden te zijn waar mensen daadwerkelijk op zoeken. |
Omschrijving website (150 karakters max, incl. spaties) | Korte toelichting op de website. Daar deze in de meta-description van de index pagina zal worden opgenomen en getoond zal gaan worden als snippet in de zoekresultaten dient deze toelichting wervend te zijn. Voor seo is de meta-description waarschijnlijk van matig belang. |
Google Analytics (GA) code | Deze code gaat op iedere pagina opgenomen worden om via GA van alles te kunnen meten, mn op welke zoekwoorden mensen de site vinden. Belangrijker nog is te onderzoeken welke zoekwoorden leiden tot een laag weigeringspercentage en het allerbelangrijkst is de bepaling welke zoekwoorden leiden tot conversies. Mn. op die zoekwoorden zou je steeds beter willen gaan scoren. |
Categorielijst en per Categorie een toelichting (toelichting 150 karakters max, incl. spaties) |
Iedere door de contentbeheerder te maken artikel moet onder een categorie worden geplaatst. Hier worden dus alle mogelijke categorieën gedefinieerd en wordt er aan iedere categorie een toelichting (uitgebreidere beschrijving) gehangen. Deze gegevens worden gebruikt bij het genereren van de categorie-pagina’s. |
Taglijst en per Tag een toelichting (toelichting 150 karakters max, incl. spaties) | Aan ieder artikel moeten nul of meer tags kunnen worden gehangen. De taglijst is een overzicht van toegestane tags. Ook aan iedere tag wordt een toelichting gekoppeld. |
Verder moeten voor ieder artikel afzonderlijk de volgende zaken kunnen worden gespecificeerd: de schrijver van het artikel dient deze velden allen verplicht in te vullen.
Velden per artikel | Toelichting |
Titel artikel (60 karakters max, incl. spaties) | Ieder artikel krijgt een titel, die zowel in de kop van de pagina als in de meta-title toegepast kan worden. |
Categorie | Het artikel moet binnen een categorie geplaatst kunnen worden. |
Tag(s) | Aan het artikel moeten nul of meer tags kunnen worden toegekend. |
Tekst |
De hoofdtekst van het artikel, inclusief mogelijkheid van toevoegen afbeeldingen, video, etc. |
Omschrijving artikel (150 karakters max, incl. spaties) | Kort omschrijving van het artikel, te gebruiken voor de meta-description van betreffende pagina. |
NB. Het aantal karakters van toelichtingen en omschrijvingen zijn steeds op 150 karakters (incl. spaties) gesteld, omdat deze zaken in de meta-descriptions worden opgenomen en Google daar maximaal zo’n 150 karakters van toont in de snippets van de zoekresultaten. De titels zijn gesteld op 60 karakters (incl. spaties), daar Google hiervan in principe niet meer dan 60 karakters toont in de zoekresultaten.
Output voor het CMS
Op basis van voorgaande input kunnen index-pagina, categorie-pagina’s, tag-pagina’s en artikel-pagina’s worden gegenereerd. Hieronder vindt u vier linkjes naar vier pdf’s met de schema’s van de geoptimaliseerde html code. De hiervoor geïntroduceerde contstanten en variabelen zijn in het rood weergegeven, alle vaste elementen in het zwart. De elementen in het blauw verwijzen naar andere gegenereerde pagina’s. Binnen rechte haken (‘[‘ en ‘]’) zijn toelichtende opmerkingen opgenomen (die dus niet letterlijk op die manier in de code moeten worden overgenomen).
Om de juiste interne linkstructuur te krijgen zijn zogenaamde ‘breadcrumbs’ ideale, ook door Google geadviseerde, oplossingen. Een breadcrumb is het pad om weer terug bij de index-pagina (home) te komen. De breadcrumb wordt boven in iedere pagina opgenomen. Ter illustratie van wat breadcrumbs zijn volgt hier een voorbeeld.
Stel dat we een site hebben waar de categorie “auto’s” en daarbinnen de subcategorie “hybride” gedefinieerd is. Vervolgens kan daar weer binnen de “Toyota Prius” worden geselecteerd. De breadcrumb ziet er dan als volgt uit, waarbij de onderstreepte woorden linkjes zijn naar de betreffende overzichtspagina:
Home > auto’s > hybride > Toyota Prius
Op deze manier kan naar ieder punt worden gestapt op het pad terug naar Home. Dit is de ideale interne linkstructuur. In de hiernavolgende schema’s met de geoptimaliseerde html code zijn de breadcrumbs binnen rechte haken opgenomen en aangeduid met ‘breadcrumb’. Ook zijn de schema’s voorzien van voorbeelden, afgeleid van voorgaand Toyota voorbeeld. Ter illustratie is daarbij ook de tag “zuinige auto’s” bedacht, die aan deze Toyota Prius gekoppeld is.
Ondersteunende tools voor contentbeheerder
Niet alles op SEO-gebied kan worden geautomatiseerd. In mijn optiek zou de contentbeheerder daarom ook SEO basiskennis moeten bezitten. Dit is een onderschat punt bij veel bedrijven. Als de tekstschrijvers van een website seo kennis zouden bezitten en toepassen, zou het zoekmachine-rendement van de website (gemiddelde hoeveelheid verkeer vanuit de zoekmachines per geschreven artikel) aanzienlijk worden vergroot. CMS en beheerder tesamen, kan het geheel tot een krachtig seo span maken. De contentbeheerder kan bij het toepassen van zijn/haar seo-kennis wel heel goed door de techniek worden ondersteund. Ik vermeld hier een aantal tools die de contentbeheerder kunnen ondersteunen in het verhogen van het zoekmachine-rendement.
1. Zoekwoord-suggesties met selectie-mechanisme De contentbeheerder zou vooraf aan het schrijven van het artikel gestimuleerd moeten worden na te denken op welke (liefst veelgebruikte) zoekwoorden het artikel straks goed gevonden zou moeten worden. Daartoe dient deze vertrouwd te zijn met het “Hulpprogramma voor zoekwoorden” van Google.Om het de contentbeheerder zo gemakkelijk mogelijk te maken wordt dit hulpprogramma voor zoekwoorden idealiter (via Google API) geïntegreerd binnen het CMS. De door Google voorgestelde zoekwoorden kunnen dan door de contentmanager worden geselecteerd en zijn daarmee binnen het cms bekend. Dat is handig voor een aantal andere, hieronder vermelde, ondersteunende functies.
2. Synoniemen voor geselecteerde zoekwoorden
Het cms zou met synoniemen voor de geselecteerde zoekwoorden moeten kunnen komen. Het is vanuit SEO bezien namelijk goed als niet alleen de zoekwoorden in de titel, tekst, etc. gaan terugkomen, maar ook synoniemen ervan. Ook om de ambiguïteit die mogelijk rond de zoekwoorden bestaat, te elimineren: gaat het bij ‘Paris Hilton’ om de schone celebrity of om het hotel? Synoniemen kunnen dat verhelderen.
3. Huidige dichtheid geselecteerde keywords
Als de geselecteerde zoekwoorden binnen het CMS bekend zijn, dan kan het CMS tijdens het schrijven van het artikel aangeven wat tot dan toe de dichtheid is van deze zoekwoorden. De contentbeheerder kan er aldus voor zorgen dat ieder geselecteerd zoekwoord met een percentage van minimaal 1.5 á 2% (en maximaal 5%) op de pagina terugkomt. Ook kan worden bijgehouden of de synoniemen wel in de tekst terugkomen.
4. Html attributen
Uiteraard moet het tijdens het schrijven van de tekst mogelijk zijn de voor seo van belang zijnde attributen van waarden te voorzien. Zo moet het bij hyperlinks mogelijk zijn de “nofollow” te specificeren en bij images de “alt”. Tekstfragmenten moeten kunnen worden benadrukt via <strong> en extra kopjes moeten de <h2> mee kunnen krijgen.
=========Toevoeging december 2009
Het definitieve vragenformulier (toegespitst op commerciele, closed source CMSen) kunt u hier vinden: https://www.seoguru.nl/seo-blog/vragenformulier-onderzoek-zoekmachine-vriendelijkheid-van-commerciele-closed-source-cmsen/
Ingevulde vragenformulieren worden hier gepubliceerd:
https://www.seoguru.nl/seo-blog/resultaten-seo-onderzoek-commerciele-closed-source-cmsen/
=========
Ric van Westhreenen zegt
In oktober is er in de Adformatie een artikel verschenen waarin een aantal content management systemen als SEO vriendelijk bestempeld werden. Volgens dat artikel zijn dat TYPO3, Media Surface en Sitecore. Bovenstaand artikel past zeer zeker bij de mogelijkheden van TYPO3.
marketbizz zegt
Vanwaar die zeer arbitraire maximale aantalen bij Titel en Description ? Dat Google ze niet toont, wil absoluut niet zeggen dat ze niet meetellen ! (Dus waarom vooraf beperken?)
Voorts kan een CMS tegenwoordig (steeds vaker) wel redelijk ge-SEO-ed worden, maar zolang het bij de gebruikers ontbreekt aan kennis en inzicht, schiet men er uiteindelijk toch niets mee op.
Met het teruglopende belang van de Meta Description (Google toont immers steeds vaker stukjes uit de body rond de zoekterm) wordt goed & slim copywriten nog belangrijker, en ook dat kan je niet met een CMS oplossen.
Laat de CMS leveranciers zich eerst concentreren op een zoekmachinevriendelijk output (o.a. door SEO vriendelijke input mogelijk te maken) maar laat ze vooralsnog niet ook een “seoguru” positie innemen.
Kortom CMS-en kunnen, nee: moeten, beter, maar degene die het CMS vult blijft het belangrijkste.
Alain Sadon zegt
@marketbizz (wat is je naam eigenlijk?)
Goed punt: title en description mogen best iets langer zijn (hoewel niet al te lang). Het lijkt me tegelijkertijd voor de contentbeheerder wel van belang te weten hoeveel karakters van zijn title en description worden getoond in de zoekresultaten.
Verder lijken we het ook eens: belang van -wat ik noem- ‘contentbeheerder’ is inderdaad groot. CMS kan namelijk zeker niet alles op seo-gebied oplossen. Maar op 2 punten kan het cms veel betekenen:
1. De juiste code genereren (zie pdf’s)
2. De contentbeheerder zo goed mogelijk ondersteunen.
Je laatste ‘kortom’ vind ik echter geen goede samenvatting. Geen van de twee is in mijn visie de belangrijkste. Als er van een CMS gebruik gemaakt wordt (en dat kan ik iedereen aanbevelen), zijn zowel CMS als contentbeheerder cruciaal voor een goed seo-resultaat: als één van de twee zijn seo-werk niet goed verricht, kan de andere dat niet compenseren.
marketbizz zegt
Met HTML kan je je site prima SEO-en.
Een CMS moet er voor zorgen dat het SEO niet in de weg staat, de content beheerder is in mijn ogen veel belangrijker dan het CMS. De huidige CMS faciliteren echter nog niet goed genoeg. En daar zit dan ook de crux.
Een slecht CMS verhindert optimalisatie, een goed CMS kan alleen door een goede content beheerder juist gebrukt worden. Niet alles in SEO is in regeltjes vast te leggen. Het door jouw voorgestelde ideale CMS zou die illusie weleens kunnen wekken.
Rob
marketbizz zegt
@ Ric : het is juist het soort oppervlakkigeheid van het artikel in Adformatie dat me tot nadenken (en dus reageren)aanzet.
Rob
Theo zegt
In al je voorbeeldcode zie ik dat de breadcrumbs eerst in de body staan, dan de H1 en dan de content.. is het goed om in je body te beginnen met de breadcrumbs ivm zoekmachines?
Alain Sadon zegt
@theo : dat denk ik eerlijk gezegd wel, maar zeker ben ik er niet van. Aan één kant kan je zeggen dat Google de linkjes naar de hogere niveaus in de structuur gewoon ergens in de body moet vinden, aan de andere kant lijkt het me makkelijker voor Google de structuur te ontdekken via een breadcrumb-constructie die normaal gesproken hoog in de body te vinden is.
Koen zegt
@Theo:
Breadcrumbs kunnen de interne linkstructuur binnen je site nogal lelijk maken (alle pagina’s linken naar de hoofdpagina, alle subcategorieën linken naar de hoofdcategorieën etc.).
Voor gebruikers is dit handig, maar voor je ranking is dat funest. Google houdt van grillige, organische linkstructuren dus breadcrumbs doe ik persoonlijk altijd met een js include.
@Alain:
Het is niet nodig om Google te helpen met het ontdekken van de interne linkstructuur d.m.v. breadcrumbs. Los van de breadcrumbs is er een menu met links, een (XML)sitemap (ik ben tegen HTML sitemaps), en staan er links in de content; dus de sitestructuur ontdekken is voor Google op meerdere manieren mogelijk.
Alain Sadon zegt
@Koen:
Google is behoorlijk expliciet in het advies om breadcrumbs te gebruiken als site-navigatie. Lees bijvoorbeeld de lijst van ‘Good Practices’ in de SEO-startersgids van Google van november 2008.
Dat Google op meerdere manieren de structuur van de website kan achterhalen, ben ik overigens met je eens. Met breadcrumbs ben je echter wel in één klap klaar, en weet je zeker dat het (voor Google) goed en helder is.
Jeroen Nieuwstad zegt
Geïnspireerd door tip 3 bij ‘Ondersteunende tools voor contentbeheerder’ hebben we een tool hiervoor gemaakt.
Terwijl je aan het typen bent kan je het % en het aantal keer per trefwoord zien. De tool staat in beta versie op http://www.internet-marketing-support.nl.
Als hier nog meer ideeën zijn voor handige seo tools hoor ik het graag :), kan het me niet voorstellen, er is al zoveel.
vg Jeroen
Alain Sadon zegt
Tool ziet er leuk uit. Grafisch klopt e.e.a in mijn browser echter niet (IE7). De eerste regel in het vak met dichtheden valt weg achter de tabbladen.
En verder is het misschien een aardig idee bij de toelichting te vermelden wie je inspiratiebron is geweest voor deze tool…
Jeroen Nieuwstad zegt
OK, bedankt. Is nog beta, inderdaad nog geen IE7 check gedaan. Wij werken met Firefox en Safari. Ik zal IE7 bekijken en aanpassen.
Matthijs zegt
Je zou ook de populariteit van je pagina nog me kunnen nemen en afzetten tegen het gekozen keyword (lage populariteit zou het advies moeten krijgen om een keyword met minder concurrentie te tonen).
Overigens zou je bij een dergelijk systeem erg op moeten passen dat de eindgebruiker nog snapt wat hij/zij moet doen. Dat is voor veel mensen al moeilijk genoeg.
Nienke Buiskool Leeuwma - Traffic Builders zegt
Naar aanleiding van dit artikel heb ik eens na gevraagd of het mogelijk is voor het cms Covide om keyword density toe te voegen.
En wat denk je, het is sinds gister geïmplementeerd!
Dankjewel voor de suggestie en ik hoop dat vele er nog gebruik van zullen maken.
Per pagina kun je nu op keyword density klikken en dan geeft hij voor enkele woorden, 2 woorden en 3 woorden de density aan.
marketbizz zegt
Keyword Density ? Serieus? dat is toch echt jaren-90 SEO. Met gezondverstand bereik je echt veel meer,…. en kost bovendien veel minder moeite en energie.
Alain Sadon zegt
@marketbizz
Content is fundamenteel voor het hoog scoren in Google. En gelukkig maar, want stel je eens voor dat dat niet zo is. Bij de bepaling waar de content precies over gaat is keyword density één van de belangrijke factoren.
Natuurlijk zijn er meerdere factoren om de content te bepalen, zoals via semantische toevoegingen aan de html-code (H1, alt, bestandsnaam, etc., maar waarschijnlijk ook de id’s van de div’s, classes, etc).
Verder heb ik de indruk dat content weer belangrijker aan het worden is (ja, misschien wel zoals in de jaren ’90, maar nu op een veel professionelere manier). Bij het ontstaan van Google waren het de inkomende verwijzingen die vertelden waar een pagina over ging en hoe populair die was. Dat is nu nog steeds het geval, maar de directe content-analyse lijkt belangrijker geworden.
‘Met gezondverstand bereik je echt veel meer’ klinkt goed, maar zegt me niet zo veel. Kan je inhoudelijk aangeven wat je daarmee bedoelt? M.a.w., kan je iets meer content produceren? Dank!
Webdesign en zoekmachine Optimalisatie zegt
Een zeer interessant artikel, wij zijn op dit moment intern bezig met een compleet nieuw content management systeem. Ik heb dit artikel zojuist uitgeprint en in de grote map gestopt.
We gaan deze blog zeker blijven bekijken.
SEO blog zegt
Leuk initiatief Alain, ik ga deze discussies zeker opvolgen, ook je forum!
Omtrent het ideale SEO cms wil toch even het volgende kwijt. Ik ben het ideale CMS nog niet tegengekomen. Verscheidene CMS systemen hebben hun voordelen en dan ook weer hun nadelen.
Persoonlijk ben ik van mening dat “content” of je inhoud de één van de belangrijkste factoren is. Deze is niet zozeer gebonden aan de mogelijkheden van het CMS systeem. Wanneer we bv de 2 opensource systemen “Joomla” en “Drupal” bekijken. Joomla heeft interessante plugins als SEF404. Geeft je heel wat mogelijkheden om te spelen met de url en je redirects, je meta en dergelijke meer. Het spijtige hier is weer dat deze vaak problemen geeft wanneer je met meerdere talen moet rekening houden.
Joomla heeft dan ook weer andere voordelen zoals een makkelijke leercurve. Iemand die niet zozeer ervaren is met CMS systemen en front end development hiervoor, kan relatief snel leren werken met Joomla. Dit is hier niet zozeer terzake.
Bekijken we Drupal, wat toch een meer betrouwbaar systeem is, heeft heel wat mogelijkheden op gebied van SEO. Het meest interessante aan Drupal vind ik persoonlijk de RDF integratie. Je weet nog uit een vorige discussie tussen ons (op mijn blog). Ik heb je toen het voorbeeld gegevens van de Britney Spears website. De RDF integratie en de mogelijkheden momenteel voor Yahoo en searchMonkey. Deze zijn nog niet in Google beschikbaar momenteel, maar dat komt nog wel denk ik.
Verder voeg ik me aan bij de opmerkingen omtrent de gebruiksvriendelijkheid van een CMS, zoals hierboven meermaals vermeld.
Ik kijk uit naar de volgende resultaten hierover.