Toen we voor het eerst de noodzaak voor verandering identificeerden, leek de taak eenvoudig: "Verander het bovenste blok en maak de call-to-action effectiever." Op het eerste gezicht lijkt dit misschien een snelle oplossing, maar we realiseerden ons al snel dat deze kleine taak veel grotere onderliggende problemen met de structuur en het ontwerp van de site onthulde. Het probleem was niet slechts één blok; het was de hele architectuur van de site die een revisie nodig had.
Onze website was in de loop der tijd gebouwd, met verschillende pagina's die waren toegevoegd met verschillende ontwerpen en lay-outs, zonder een verenigend thema of sjabloon. Elke pagina was uniek in zijn ontwerp, wat misschien creatief klinkt, maar leidde tot een belangrijk probleem: inconsistentie. Als we door zouden gaan en een nieuw ontwerp zouden maken voor alleen het bovenste blok, terwijl we de rest van de site zouden laten zoals die was, zou dat betekenen dat we dat blok handmatig moesten bijwerken op meer dan 700 pagina's en berichten. Erger nog, dit handmatige proces zou elke keer dat we toekomstige wijzigingen wilden aanbrengen, moeten worden herhaald. Stel je de inefficiëntie voor van het moeten doorspitten van honderden pagina's om ervoor te zorgen dat elke pagina de nieuwste updates had. Het werd al snel duidelijk dat het niet duurzaam zou zijn om door te gaan met de oude site.
Naast de logistiek van het updaten van elke pagina, moesten we ook rekening houden met de algehele gebruikerservaring. Gebruikers verwachten tegenwoordig naadloze, samenhangende ervaringen wanneer ze een website bezoeken. Als ze naar beneden scrollen op een pagina en zien dat het ontwerp inconsistent is – waarbij elk blok verschillende stijlen gebruikt – creëert dat een onsamenhangende en onprofessionele indruk. Erger nog, wanneer een gebruiker van de ene naar de andere pagina gaat en merkt dat de lay-out en het ontwerp volledig anders zijn, versterkt dat een gevoel van wanorde.
De inconsistentie reikte verder dan de lay-out. Veel van de afbeeldingen op de site waren verouderd, slecht gestyled of zelfs verkeerd gegenereerd door neurale netwerken. Deze afbeeldingen voldeden niet aan de moderne ontwerpnormen en het vervangen ervan was een andere ontmoedigende taak. Het gebruik van slechte afbeeldingen weerspiegelde de algehele kwaliteit van de site slecht, waardoor gebruikers een negatieve indruk kregen van het product of de service die we aanboden.
Er was geen eenvoudige manier om de site uitgebreid te updaten met een tool als Elementor. Elke pagina en elk blok bevatte zijn eigen inline-stijlen, wat betekende dat wijzigingen niet wereldwijd konden worden doorgevoerd. Als we de stijl van de site wilden updaten, moesten we elke pagina afzonderlijk doorlopen en elk blok handmatig updaten, wat tijdrovend en inefficiënt zou zijn. Met dit in gedachten werd het duidelijk dat onze enige oplossing was om een nieuwe website vanaf nul te bouwen. Dit zou ons in staat stellen om alle content over te zetten met behoud van dezelfde URL's, maar met een nieuw, consistent en eenvoudig te updaten ontwerp.
Elementor is een van de populairste paginabuilders voor WordPress. Op het eerste gezicht lijkt het een geweldige tool die het mogelijk maakt om snel en eenvoudig pagina's te maken. Echter, na er uitgebreid mee gewerkt te hebben, kwamen we verschillende beperkingen tegen waardoor we besloten om Elementor te verlaten en in plaats daarvan te kiezen voor een op maat gemaakte website.
Beperkingen en uitdagingen van Elementor:
containers binnen andere elementen, elk met zijn eigen set stijlen. Dit resulteert in een opgeblazen structuur die een negatieve invloed heeft op de laadsnelheid, de paginaprestaties en uiteindelijk de SEO-rangschikking van de website. Toen we snelheidstests uitvoerden, waren de resultaten consistent slecht en de zware code die door Elementor werd gegenereerd, was grotendeels de schuld.
Met al deze uitdagingen in gedachten werd het duidelijk dat we een robuustere oplossing nodig hadden. We besloten een nieuwe, onafhankelijke website te bouwen zonder Elementor, en kozen voor een duurzamere en flexibelere aanpak.
Door de nieuwe site vanaf nul op te bouwen, kregen we de kans om een schoon, gestroomlijnd proces voor het maken van pagina's op te zetten. In het nieuwe systeem is het maken van een pagina eenvoudig:
Dit proces is eenvoudig maar flexibel. In plaats van te vertrouwen op het ingewikkelde bloksysteem van Elementor, is de content editor in WordPress veel schoner, wat snelle updates en eenvoudige aanpassingen mogelijk maakt. Onder de editor bevinden zich instellingen voor Advanced Custom Fields (ACF), die al zijn geconfigureerd om consistentie over de hele site te behouden.
Met ACF kunnen we flexibele contentsecties maken, met blokken zoals Content 1…Content 15 , waar u eenvoudig de titel, tekst, afbeelding en knoplabels voor elke sectie van de pagina kunt instellen. Deze blokken wisselen automatisch de positionering van afbeeldingen en tekst af, waardoor de lay-out visueel aantrekkelijk blijft zonder dat er handmatige aanpassingen nodig zijn.
Voor afbeeldingen hebben we een kleurmatchingsysteem geïmplementeerd dat automatisch een gradiënt toepast in de hoofdkleuren van de site. Dit zorgt ervoor dat alle afbeeldingen aansluiten bij de algehele esthetiek. Voor logo's of screenshots waarbij de kleuren intact moeten blijven, is er een optie 'kleuren behouden' die de gradiënt overschrijft.
Dit systeem vereenvoudigt het beheer van content, terwijl de consistentie van het ontwerp op alle pagina's behouden blijft.
Het maken van berichten op de nieuwe site verloopt volgens hetzelfde gestroomlijnde proces als het maken van pagina's, met een paar belangrijke verschillen:
De template voor alle posts bevindt zich in het bestand template-parts/content/content-single.php , dat de structuur en lay-out van elke blogpost afhandelt. Deze consistente template zorgt voor eenvoudige updates en zorgt ervoor dat alle posts voldoen aan dezelfde ontwerprichtlijnen.
ACF is een essentieel onderdeel van de ontwikkeling van onze nieuwe website. Het stelt ons in staat om aangepaste velden te maken die eenvoudig beheerd kunnen worden via het WordPress admin paneel. Velden zoals content_1 worden gerefereerd in de PHP code, waardoor we dynamisch de juiste content voor elke pagina en post kunnen ophalen.
Deze flexibiliteit is van cruciaal belang om ervoor te zorgen dat we de site efficiënt kunnen beheren en updaten, terwijl we indien nodig nog steeds ruimte bieden voor aanpassingen.
Een van de belangrijkste verbeteringen die we met de nieuwe site hebben doorgevoerd, was de implementatie van A/B-testen. Met A/B-testen kunnen we twee versies van de site vergelijken om te zien welke het beste presteert bij gebruikers. Dit kan het testen van verschillende kleuren, knopvormen, achtergronden of zelfs lay-outs omvatten.
We hebben deze functionaliteit geïmplementeerd met behulp van GET-parameters in de URL. Zo kunnen bijvoorbeeld twee identieke advertentiecampagnes worden gemaakt, maar met verschillende URL's:
https://www.conveythis.com/?param=1
https://www.conveythis.com/?param=2
Wanneer gebruikers op deze links klikken, wordt de parameter opgeslagen in een cookie. Afhankelijk van de waarde van de parameter, zal de site verschillende versies van de pagina tonen, zoals verschillende knopkleuren of achtergrondafbeeldingen. Dit stelt ons in staat om waardevolle gegevens te verzamelen over gebruikersvoorkeuren en -gedragingen.
Alle gebeurtenissen worden vastgelegd in een.csv
bestand en in een MySQL-database, waardoor we de gegevens kunnen analyseren en weloverwogen beslissingen kunnen nemen over verbeteringen aan de site.
Een van de belangrijkste toepassingen van het bestand functions.php was het maken van aangepaste berichttypen en taxonomieën, waardoor we de inhoud effectiever konden organiseren. In plaats van alleen te vertrouwen op de standaard WordPress-structuur (pagina's en berichten), introduceerden we aangepaste typen voor specifieke inhoud, zoals casestudies, getuigenissen of productfuncties. Dit hield niet alleen onze inhoud beter georganiseerd, maar verbeterde ook de gebruikerservaring door het gemakkelijker te maken om te navigeren en relevante informatie te vinden.
Om bijvoorbeeld een aangepast berichttype voor casestudies te maken, hebben we de volgende code toegevoegd aan functions.php :
functie create_case_study_post_type() {
register_post_type( 'case_studies',
reeks(
'etiketten' =>
reeks(
'naam' => __( 'Casestudy's' ),
'singular_name' => __( 'Casestudy' )
),
'publiek' => waar,
'has_archive' => waar,
'rewrite' => array('slug' => 'case-studies'),
)
);
}
voeg_actie( 'init', 'maak_case_study_post_type' );
Hierdoor ontstond een nieuw berichttype genaamd ‘Case Studies’ dat zich op een vergelijkbare manier gedroeg als gewone berichten, maar met een eigen archief en taxonomiestructuur.Een ander belangrijk gebruik van functions.php was om externe scripts en stijlen te laden, om ervoor te zorgen dat onze website alle benodigde bibliotheken en frameworks had. Zo integreerden we bibliotheken zoals Slick.js voor sliders en AOS (Animate on Scroll) voor vloeiende animaties. Door deze assets selectief te laden, alleen wanneer ze nodig waren (bijvoorbeeld op specifieke pagina's of sjablonen), verminderden we onnodige bloat en verbeterden we de laadsnelheid van pagina's.
Zo hebben we het laden van stijlen en scripts aangepakt:
functie load_custom_scripts() {
// Laad Slick-schuifregelaar voor specifieke sjablonen
als(is_page_template('template-slider.php') ) {
wp_enqueue_style( 'slick-css', get_template_directory_uri() . '/css/slick.css' );
wp_enqueue_script( 'slick-js', get_template_directory_uri(). '/js/slick.min.js', array('jquery'), '', true);
}
// Laad AOS-animaties op de hele site
wp_enqueue_style( 'aos-css', get_template_directory_uri() . '/css/aos.css' );
wp_enqueue_script( 'aos-js', get_template_directory_uri(). '/js/aos.js', array('jquery'), '', true);
}
voeg_actie( 'wp_enqueue_scripts', 'laad_aangepaste_scripts' );
Door gebruik te maken van voorwaardelijke controles (bijv.is_pagina_sjabloon()
) hebben we ervoor gezorgd dat er geen onnodige scripts op de hele site werden geladen, waardoor de prestaties werden geoptimaliseerd.Om de flexibiliteit voor niet-technische gebruikers die de site-inhoud beheren te verbeteren, hebben we aangepaste shortcodes toegevoegd via functions.php . Met deze shortcodes konden gebruikers eenvoudig complexe functionaliteit of gestileerde elementen invoegen zonder de code aan te raken. We hebben bijvoorbeeld een shortcode gemaakt om aangepaste knoppen overal op de site toe te voegen:
functie custom_button_shortcode($atts) {
$atts = shortcode_atts(
reeks(
'label' => 'Klik hier',
'url' => '#',
),
$atts,
'aangepaste_knop'
);
retourneer ' ' . esc_html( $atts['label'] ) . ' ';
}
add_shortcode('aangepaste_knop', 'aangepaste_knop_shortcode');
Dankzij deze shortcode kunnen redacteuren eenvoudig knoppen met aangepaste tekst en URL's toevoegen, waardoor ze snel aanpassingen kunnen doen zonder dat het ontwerp wordt gewijzigd.Een belangrijke focus tijdens de revisie van de website was het verbeteren van SEO en de algehele siteprestaties. De originele site, gebouwd met Elementor, had problemen met langzame laadtijden en suboptimale SEO-praktijken vanwege opgeblazen code en niet-geoptimaliseerde afbeeldingen.
Om ervoor te zorgen dat onze nieuwe site SEO-vriendelijk was, hebben we vanaf het begin een aantal best practices geïmplementeerd:
,
, etc.), waardoor zoekmachines de inhoudshiërarchie eenvoudig konden parseren en begrijpen. Dit is met name belangrijk voor zowel SEO-ranglijsten als toegankelijkheid.functie add_schema_markup() {
echo'
{
"@context": "http://schema.org",
"@type": "Organisatie",
"naam": "ConveyThis",
"url": "https://www.conveythis.com",
"logo": "https://www.conveythis.com/logo.png",
"sameAs": [
"https://www.facebook.com/conveythis",
"https://twitter.com/conveythis"
]
}
';
}
add_action( 'wp_head', 'add_schema_markup' );
Prestaties zijn een kritische factor, niet alleen voor de gebruikerservaring, maar ook voor SEO-ranglijsten. We hebben verschillende stappen ondernomen om de sitesnelheid te verbeteren:
De oude website had een aanzienlijke hoeveelheid "junk" data verzameld vanwege Elementor's bloat en inefficiënte databasestructuur. Om ervoor te zorgen dat de nieuwe site soepel draaide, hebben we een grondige database-opschoning en -optimalisatie uitgevoerd.
Zoals eerder vermeld, zelfs na het deactiveren van Elementor, waren de stijlen en instellingen nog steeds in de database ingebed. We gebruikten aangepaste query's om deze overtollige gegevens te verwijderen en de database op te schonen. Daarnaast verwijderden we alle ongebruikte mediabestanden, post-revisies en verlopen transients die zich in de loop van de tijd hadden opgehoopt.
We hebben de database ook geoptimaliseerd door indexen toe te voegen aan kolommen die vaak worden opgevraagd, waardoor databasequery's sneller en efficiënter werden. Bijvoorbeeld door een index toe te voegen aan depost_datum
kolom versnelde zoekopdrachten met betrekking tot recente berichten, waardoor de prestaties van onze blogpagina's verbeterden.
De beslissing om een nieuwe website vanaf nul te bouwen, werd ingegeven door de beperkingen en inefficiënties van de oude site. Het simpelweg veranderen van het thema was geen haalbare optie vanwege inconsistenties in het ontwerp, opgeblazen stijlen en prestatieproblemen veroorzaakt door Elementor. Door een nieuwe site te maken met aangepaste ontwikkeling en Advanced Custom Fields, bereikten we een efficiëntere, samenhangende en professionelere website die de gebruikerservaring verbetert en tegelijkertijd gestroomlijnde updates en A/B-testfunctionaliteit mogelijk maakt. Deze nieuwe site biedt een solide basis voor toekomstige groei en verbeteringen.
Vertalen is, veel meer dan alleen het kennen van talen, een complex proces.
Als u onze tips opvolgt en ConveyThis gebruikt, zullen uw vertaalde pagina's aanslaan bij uw publiek en aanvoelen alsof ze de doeltaal beheersen.
Hoewel het moeite kost, is het resultaat lonend. Als u een website vertaalt, kan ConveyThis u uren besparen met geautomatiseerde machinevertaling.
Probeer ConveyThis 7 dagen gratis!