Multi-Vendor E-commerce Website: BuyArmenian – Custom Design & Development

In this case study, i am sharing the the full rehault the site which was initially build in Elementor and now moved to fully custom coded WordPress project. In 2021 this project came to me as speed optimization project which later turned into full fledge design and development by 2023.



Initial Engagement

When I started getting engaged in this project in 2021, I was a speed optimization request from the client, upon discovery I found out that the website is using one of the theme from the themeforest which is build in Elementor and its extremely slow. I proposed so that client that I can create replica of the theme in elementor itself so that certain speed is optimized. That was my initial engagement in 2021 and client came back to me in 2023 asking me for full redesign.

Full project

I was in regular contact with the client, whenever they had any questions I used to help them, and in 2023 they want me to redesign the full site. Considering the budget they told me to use the another Themeforest theme which I was not ready at all and I proposed theme full custom coded e-commerce solutions. After multiple meetings and discussion we decided to redesignt the entire site


1. Page Speed

This website is a multivendor platform build in WooCommerce with Dokan plugin. The site get large number of traffic from customers as well as vendors, thus the frontend and backend has to be in good speed equality. Almost every frontend pages of website was build in Elementor thus the site was slow.

2. Overuse of plugin


3. Staging and Live syncing issue

The major problem using page builder for building e-commerce is live/staging sync, all the layouts of Elementor is stored in database and when we change some setting in stating, we have to either do it manually in live site or import XML or json file and upload them manaull, most of the time it does not give accurate setting from staging to live.

Solution: Move away from Page Builder and Custom code entire site.

Elementor is great page builder, even I used it to build many websites before, however when it comes to woocommerce pagebuilder is really not ready, specially for the website like Buyarmenian which is multi-vendor woocommerce website powered by Dokan Plugin. If used for building landing pages, elementor is good as well, not for this project.

In the case of e-commerce the staging and live sync has to be seamless, my ideas was to move only files from staging to live

Implementation and Integration

As the primary objective of this full redesign and development is speed optimization we wanted to do the entire theme coded from scratch. my idea was to build the site in just HTML, CSS, JS and PHP, reduce the use of JQuery Libraries and Plugins, so all the section were crafted custom. We build the site in WordPress customizer using Kirki Framework, we wanted to give client to customize the website with simple features in customizer, all the blocks of home page will be customized form customizer only.

Slider and Carousel Integration

we will completely get away from Elementor or any other page build for the entire site. All small sections like carousel, slider, were build with Vanilla JS.

Inner Pages

As the site is multivendor e-commerce build on top of Dokan, we also made inner page from scratch.

Featured Products

We decided not to use customize for selecting featured product because there are 10,000+ products and it will be impossible for admin to select from the customize dropdown. We carefully thought of each of these while build the site. I initially added a section where there was Tab to show various product of different sections, however it was taking lots of speed so we removed. Instea of that I added a simple section where client can add featured products from the site.

Need help with your Website?

Whether you need a design refresh, improved functionality, or better optimization, hire me to handle the job with expertise and dedication.

Leave a Reply

Your email address will not be published. Required fields are marked *