E-commerce · Medical and beauty equipment

Ara Sanat: a medical-equipment shop on WordPress, with a bespoke theme and 18 custom plugins

A specialist medical and beauty equipment shop on WordPress and WooCommerce with a bespoke theme and 18 custom plugins: category landings without a page builder, technical SEO, local payment and SMS, and tracked consultation and instalment forms.

Client
Ara Sanat
Industry
Medical and beauty equipment
Year
2025
Status
Live
  • Discovery and analysis
  • UX and UI design
  • Software architecture
  • Front-end development
  • Back-end and API development
  • Database design
  • Third-party integrations
  • Technical SEO
  • QA and testing
  • Support and ongoing development

The result, in numbers

18
custom plugins

instead of piling everything into the theme

0
page-builder dependency

category landings are built without Elementor

The challenge

Selling medical and beauty equipment is not like selling ordinary goods. Customers want advice before they buy, part of the trade is on instalments, and a category page has to sell products and work as an SEO landing page at the same time — rich content, frequently asked questions and guidance, not just a grid of items.

With off-the-shelf tooling this usually ends in two problems. First the page builder: the category landing is assembled in Elementor, the page gets heavy, and every structural change depends on one person. Second plugin sprawl: one for SEO, one for the gateway, one for SMS, one for Persian localisation — and every update is a fresh risk.

The solution

WordPress and WooCommerce were kept as the platform — authentication, products, orders and payment come from them — and everything specific to Ara Sanat was written from scratch: a hand-written theme (version 3.2.6) with full right-to-left support, the locally hosted IRANSansX typeface and semantic HTML, plus 18 independent plugins.

The important decision was not to pile capabilities into the theme. Each service is its own plugin, so it can be updated, switched off or debugged on its own, and changing the theme later does not take the site down with it.

SEO in the project, not in a generic plugin. The bespoke SEO plugin provides meta titles and descriptions, canonicals, robots, Open Graph, structured data, FAQ blocks, breadcrumbs, a sitemap and redirects — exactly what a landing page needs.

Category landings without a page builder. A dedicated plugin builds a proper page for any WooCommerce category: a mix of products, rich content, FAQs and a route to advice — no Elementor and no extra weight.

Local payment and SMS. A ZarinPal gateway with HPOS and Checkout Blocks support, card-to-card and IBAN transfer with receipt upload and admin review, and SMS.ir with a send queue for order notifications and one-time codes.

Forms that are actually tracked. Consultation, contact, instalment purchase, complaints and recruitment each have their own plugin, with a tracking code and administration in the dashboard — not an email form that disappears into an inbox. Form security uses capability checks, nonces, input validation, a honeypot and safe handling of uploaded files.

Performance. Conditional asset loading, a local font, responsive images, deferred scripts, and page caching with WooCommerce exclusions so the cart and checkout are never cached.

Key features

  • A fully dynamic home page

    Product hero, seasonal banners, category and hand-picked showcases, featured products, advice and the magazine — all from the dashboard.

  • Category landings without a page builder

    Products, rich content, FAQs and a route to advice in one SEO landing page.

  • A proper product page

    Gallery, specifications, price and discount, colour options, buying guidance, warranty and a call to advice.

  • Advanced header and navigation

    A mega menu, sticky header, product search, a mobile panel and a fixed mobile action bar.

  • Technical SEO inside the project

    Meta, canonicals, robots, Open Graph, JSON-LD, FAQs, breadcrumbs, sitemap and redirects.

  • Local payment

    ZarinPal with HPOS and Checkout Blocks support, plus card-to-card and IBAN transfer with receipt upload and admin approval.

  • Tracked enquiry forms

    Consultation, contact, instalments, complaints and recruitment — each with a tracking code and dashboard administration.

  • Queued SMS and OTP

    A secure SMS.ir connection with a send queue, order notifications and one-time codes.

Architecture and stack

Style
CMS-based

WordPress here is the platform, not a theme: products, orders, users and payment come from WooCommerce, and nothing WordPress already does was rebuilt.

On top of it, the project's logic is split across 18 independent plugins rather than one fat theme. Each has a single responsibility — shared infrastructure, the hero slider, SEO, category landings, the product page, product colours, per-page CSS, caching, Persian localisation, WooCommerce localisation, the ZarinPal gateway, bank transfer, SMS, consultation, enquiries and instalments, complaints, recruitment, and the dashboard interface — and that separation is what makes maintenance, updates and debugging possible.

Form security is taken seriously, because every form is public: capability checks, nonces, input validation, a honeypot and safe handling of uploaded files (CVs and payment receipts).

Performance comes from conditional asset loading, a local font, responsive images and deferred scripts, and the page cache is deliberately conservative: cart, checkout and account pages are never cached, because caching them produces the worst class of shop bug.

HPOS and Checkout Blocks compatibility was respected from the start, so future WooCommerce updates will not break the gateway or the checkout.

Back end and API
WordPressWooCommercePHPREST API

A bespoke 3.2.6 theme and 18 custom plugins, HPOS and Checkout Blocks compatible

Database
MySQL
Front end
HTML5CSS3JavaScript (ES6+)Responsive Design

RTL, the IRANSansX font served locally, no page builder

Infrastructure and deployment
Docker
Other
UI/UX DesignPerformance Optimization

JSON-LD structured data, conservative caching

Integrations

  • ZarinPal payment gateway
  • Card-to-card and IBAN transfer with receipt upload and admin approval
  • SMS.ir messaging with a send queue

Have a similar project in mind?

Fifteen minutes is enough to say what it needs, how long it takes and where to start.