Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

What should be in an online store

17/04/2025, by Ivan

1. Product Categories. 

 First of all, you need to think through what product categories you will have. This determines the structure of your website — whether you'll need a catalog with category pages or just a few categories without subcategories. Aim to have no more than 200 products per category, and create subcategories so users can quickly find what they need. If you have a lot of products but don’t want to create subcategories, then consider using Filters (see section H).

If you’ll have many categories, the Taxonomy Manager will help:

Taxonomy manager

2. Product Display.

If the homepage is the facade, then the product page is the foundation of your online store. This is where most buyers decide, by reading the specifications and viewing photos, whether or not to add a product to the cart (see section H). If you have several product images, consider adding a mini slideshow to the product page. You can use these modules:
Views slideshow
Cloud Zoom
Gallery formatter

3. Product Search

Search functionality is important for users who want to quickly find what they need. No one wants to browse through 5,000 products and hundreds of categories. If your products only have textual descriptions, the standard Drupal Search will suffice.

If your products have characteristics like width, weight, color, or size, you can create filters based on those. These modules will help:
https://www.drupal.org/project/search_api
https://www.drupal.org/project/facetapi
There are many submodules for faceted search, like a price slider:
https://www.drupal.org/project/facetapi_slider
https://www.drupal.org/project/search_api_ranges
For text attributes, use modules like Facet API multiselect and Facet API collapsible:
https://www.drupal.org/project/facetapi_multiselect
https://www.drupal.org/project/facetapi_collapsible
(Write an article about configuring faceted filters)

If your hosting allows, consider installing Sphinx and its integration module:
http://sphinxsearch.com/
https://www.drupal.org/project/search_api_sphinx
(Write an article about Sphinx integration) 

You can also use Apache Solr instead of Sphinx:
https://www.drupal.org/project/search_api_solr
(Write an article about Apache Solr) 

4. Shopping Cart

The shopping cart allows users to build and submit their orders to the store manager. The standard cart module will do, but you should add product images to the cart list using Views. Adding a bit of AJAX functionality using the commerce cart ajax module can be helpful:
https://www.drupal.org/project/commerce_ajax_cart
https://www.drupal.org/project/dc_cart_ajax 

5. Checkout

The checkout process should be as simple and quick as possible to avoid losing customers. Remove unnecessary fields and leave only the essential ones: full name, phone number, and email. If delivery is by mail, include an address field and ideally a postal code. Leave a comment field so users can add delivery preferences or other notes.

A helpful module that saves previously entered customer data is Commerce Addressbook:
https://www.drupal.org/project/commerce_addressbook 

6. Payment Modules

If you want to sell directly from your website, you’ll need payment modules. 

Important! Keep in mind that most payment systems charge about 3% commission for withdrawals, depending on the method and system. Factor this into your profit calculations.

Yandex Money

Yandex Money is a very popular e-wallet in Russia and the CIS. To receive payments, you need a professional Yandex account and the Commerce Yandex.Money module:
https://www.drupal.org/project/commerce_yandex_money
Instructions for upgrading to a professional account:
https://money.yandex.ru/pro/index.xml?ncrnd=6416

You might benefit from ordering a Yandex.Money card to pay for purchases:
https://money.yandex.ru/ymc/promo.xml?_openstat=imainnew;ycard

Qiwi

Qiwi isn’t as popular as Yandex Money, but some users find it more convenient — some have Qiwi cards or use the service without fees.

This module is still in the sandbox but works fine:
https://drupalcommerce.org/extensions/sandbox/project/commerce-qiwi
https://www.drupal.org/sandbox/xcono/1850052 

Qiwi also offers a card for withdrawals:
https://visa.qiwi.ru/qiwicard/main.action

Webmoney

Webmoney is no longer the dominant payment system, but some users still rely on it:
https://www.drupal.org/sandbox/ymakux/1887378

7. Delivery 

Think through how you’ll deliver your products. If you plan to use Russian Post or EMS, customers may appreciate calculating shipping costs during checkout:
https://www.drupal.org/sandbox/dimitr.semenov/2078953

It’s also convenient to use a fixed delivery rate:
https://www.drupal.org/project/commerce_flat_rate

 Consider offering free shipping for orders above a certain amount.

8. Contact Page

 1. Create a separate contact page with a Google or Yandex map.
https://tech.yandex.ru/maps/tools/constructor/
https://www.google.ru/mapmaker 

2. Add your company name to the page. Use images, logos, and corporate colors directly associated with your brand.

3. Provide your full physical office address (including city and postal code), phone number with area code, and email. For example,

     Address: 644000, Omsk, 20 Liniya St., 16

     Manager: +7 908 723–71–11

     Director: +7 913 339–11–11,

     Email: shop@roga-kopyta.ru

4. Mention other contact methods, like a Skype support number or links to your company’s Twitter/Facebook/VKontakte accounts. Some users prefer to follow updates and promotions via social media.

5. Also consider adding a contact form. Keep it simple with minimal fields. If you have high traffic, a CAPTCHA may help reduce spam. But remember, CAPTCHA and required custom fields reduce form submission rates.
https://www.drupal.org/project/webform
https://www.drupal.org/project/captcha
https://www.drupal.org/project/recaptcha 

9. Discounts, Coupons, and Promotions

Customers love discounts. Offer them discounts for orders over a certain amount. Include samples, nice packaging, and run promotions to attract new customers.

https://www.drupal.org/project/commerce_discount
https://www.drupal.org/project/commerce_discount_extra
https://www.drupal.org/project/commerce_coupon 

10. User Account

Drupal Commerce includes a user account page with order history. Make the link to this page easily accessible so users can always check their order status.