I transformed an existing Elementor Pro website for a Mexican company specializing in value chain training into a scalable course platform focused on SEO, SEM, and dynamic event management. I created a custom course post type with ACF Pro, custom Elementor templates and loops, and an SEO-friendly course archive. To manage course dates, I integrated The Events Calendar Pro and developed a custom WordPress plugin that extended its shortcode functionality, dynamically connecting each course with its scheduled events through shared tags. This allowed the client to manage courses and dates efficiently while automatically displaying the correct upcoming events on each course page.
A mexican company specialized in professional training and courses already had a WordPress website built with Elementor Pro, but they wanted to take the next step: start actively promoting their courses through Google.
The main challenge was that their courses were not simply static products or services. Each course could have different dates, and the same course could be offered multiple times throughout the year. They needed a system that could clearly present their courses, show upcoming dates, and, at the same time, create a solid SEO foundation for both organic search and paid campaigns.
SEO was especially important because the company wanted to target specific keywords around their courses and training programs. This meant that the website architecture needed to go beyond simply displaying information on a page. Each course needed its own optimized URL and template, while the course archive also needed to be structured as an important landing page for search engines and potential customers.
I started by creating a custom post type for the courses using ACF Pro. This provided a structured way to manage all the courses independently from regular WordPress content. I then created a custom Elementor Pro loop to display the courses dynamically, along with an archive template specifically designed for the new post type.
I also created a dedicated template for individual course pages. This allowed the client to manage their courses from WordPress while keeping a consistent design across the entire website. More importantly, it gave us control over the structure and content of both the course archive and individual course pages, which was essential for the SEO strategy and for creating targeted landing pages that could also be used in Google Ads campaigns.
The next challenge was handling the different dates on which each course would take place.
For this, I implemented The Events Calendar Pro. The plugin provided everything needed to manage the training sessions as events, including dates, venues, organizers, categories, and tags. It also made it possible to display events either as a calendar or as a list using shortcodes, which was particularly useful from a design and content management perspective.
At this point, however, I ran into an interesting technical challenge.
While building the individual course template in Elementor, I needed to dynamically display all the upcoming events associated with the specific course being viewed. The events needed to be connected to their corresponding courses, but there was no direct relationship between the two content types that would allow Elementor to retrieve them dynamically.
I decided to solve this by creating a shared taxonomy system between courses and events. Each course would have its own tag, and that same tag would be assigned to the events belonging to that course. This created a simple but powerful relationship: the course and all of its scheduled dates could be connected through a shared tag.
The idea worked well in theory, but there was another problem. The Events Calendar Pro shortcode did not provide a way to dynamically receive the current course’s tag and use it to filter the events displayed on the page.
Instead of creating static configurations for every course or manually managing the events displayed on each page, I decided to build a custom solution.
I developed a custom WordPress plugin that extended the functionality of the Events Calendar Pro shortcode. The custom shortcode could dynamically retrieve the tag associated with the current course and use that information to query and display only the events related to that specific course.
This meant that the same Elementor course template could be used for every course. When a new course was created, its corresponding tag could be assigned to the relevant events, and the course page would automatically display the correct schedule without requiring additional page-building or manual configuration.
The final result was a more scalable WordPress architecture that connected the course content system with the event management system in a dynamic way. The client could manage courses, dates, venues, organizers, and event information directly from WordPress, while Elementor Pro handled the presentation layer and the custom plugin handled the missing connection between the two systems.
The project combined SEO-focused WordPress architecture, custom post types, ACF Pro, Elementor Pro, The Events Calendar Pro, dynamic content, and custom plugin development to create a flexible platform for promoting and managing professional courses.
What started as an existing Elementor Pro website that needed better visibility in Google evolved into a custom WordPress solution designed around the client’s specific business model, making it easier to promote courses through both organic SEO and paid search campaigns while keeping the management of course dates as simple and dynamic as possible.