Task for the team!!!
We are waiting for your proposals on price and deadlines in private messages
WorldPress/woocommers - Marketplace enhancement!
Brief description:
1. The store is one of the microservices of the project, and some of its functions require interaction with other services.
2. The theme used is worldpress Astra pro
- Elementor is not used
- The theme code is partially modified (main modifications in the Funktions.php file)
3. Plugins used
- WPML for multilingualism (Ukrainian as the main, Russian as additional)
- String translation plugin
- Also WPML woocommers
- Elastic press for integration with Elastic search
- WPML Elastic press as well. Each language has its own index (uk and ru)
- Category menu plugin in the sidebar. The category menu is hierarchical from 2 to 4 levels deep
There are over 2000 categories on the site
The category menu is cached as HTML files
The cache is updated via cron once an hour
- Fifu image URL (images)
- W3 total cache (for caching, object cache)
- WP all import (for importing products and categories) NOT DEBUGGED FOR free import
- Mstore API for integration with iOS and Android applications
- Wprest cache for copying API requests
4. Availability statuses and prices are mass synchronized through a separate microservice by directly updating the Wp_post meta and Wp_wc_products meta lookup tables
5. The checkout form has been modified (added integration with NP (Nova Poshta)) and others.
6. The service has over 30,000 products, a copy in each language, totaling 60+k products
7. The project runs in Docker (via Docker Compose)
DETAILED TECH TASK
1. SEARCH:
Engine Elastic search
Plugin Elastic press
Confirmed at 90 %
- Ensure that the search works and is functional
- When importing (this needs to be done - this is one of the tasks) new products, their data must be added to the necessary Elastic search indexes
- Ensure that sorting by price and rating works (rating depends on the number of sales, where by default all products have 4*, more than 10 sales 4.5*, and more than 30 sales 5*)
- The search should look for any complete word in the title (the order of words can be changed) words can be separated by either a hyphen or a space
- Correct operation with the list of synonyms. They exist. Ensure that when adding new synonyms, they are correctly applied and considered immediately during the search
2. PRODUCT IMPORT
Import via the WP all import plugin
- Solve the problem of slowing down the import speed as the number of products increases
- Check that the import does not conflict with current plugins
- Must correctly add data to Elastic search indexes
- Correctly import images for smooth Fifu operation
- Correctly set Alt and Title (currently takes from the product name)
IN THE SEO TECH TASK section additional information and tasks
- The import generally works, it needs to be refined and optimized for import speed
- It is important that categories from the file that do not exist are automatically added during import.
- The list of products for import should be one file. One of the fields of the file should be the ID of categories in the form of ID or Slug into which the product is added! Products are always added to the deepest category of the hierarchy
- Uniqueness of products is determined by the article number. If there are products in the file with already existing article numbers, they should be updated
- Export should be via WP all export and in the same format in which they were added!
- Both import and export MUST consider multilingualism (ru and uk)
- A product in Ukrainian can be added without Russian! But a product in Russian cannot be added without Ukrainian
- It should be possible to import products in RU while those in Uk have already been added, by enriching (supplementing) the export file
- The export should have filters by product category (both single and multiple)
by Articles
by identifiers
- The import and export file always contains all existing product fields
- Import and export should use pre-prepared templates
WP all import and WP all export should use automatically configured templates. To minimize the number of actions required from the user
3. PAYMENT FORMS (order creation)
1. The delivery method is one - it is NP (Nova Poshta)
Order forms are also used by mobile applications in the form of web view, so adaptation for mobile applications should also be considered. This is handled by the GET parameter app=1 when opening the page! There is also integration with the Nova Poshta API, which displays the selection of the city and NP branch. Integration with NP is added not as a delivery method, but directly as additional fields on the form! Most standard fields are hidden on the form, as they are not needed! And the style of selecting the payment method has been visually changed!
Tasks for Payment Forms (order creation):
1. Make the selection of the city and NP branch (Nova Poshta) quick and understandable
Currently, the search for cities is slow, and the selection of branches is random! If a person types in the city of Odessa and branch 12, they should immediately see branch 12 of the city of Odessa!
2. Add Debounce mini delay to reduce server load
3. Add Throttling. To protect against server attacks through multiple requests
4. CART
The cart works. But there are bugs (
The cart is Ajax, an audit needs to be conducted, bugs found and fixed!
Ensure that when adding multiple or single products, when removing products from the cart, etc., EVERYTHING is counted correctly
5. Main page of the store
- Divide into sections
a) “best offers”
b) “rating leaders”
c) “new arrivals”
“a and b” in the form of horizontal sliders with horizontal scrolling.
Display 10-15 products and a button “All” or “show all” An example can be seen in the mobile application TraficBank
https://play.google.com/store/apps/details?id=com.traficbank.catalog
https://apps.apple.com/ua/app/traficbank-%D0%BC%D0%B0%D1%80%D0%BA%D0%B5%D1%82%D0%BF%D0%BB%D0%B5%D0%B9%D1%81/id6502899256?l=ru
In “new arrivals” or “You may be interested”
vertical section displaying 5 products in a list, where 30 products are conditionally new arrivals, and then a button to “load more” mix - the criterion is random order, goes after new arrivals!
5. SEO OPTIMIZATION!
All necessary technical settings need to be made so that the marketplace is accessible to search engines (primarily Google)
And all pages and sections are indexed correctly!
IMPORTANT:
It is necessary that all modifications made also consider the Rest API of Woocommerc. Since mobile applications work through it
Achieve fast loading of all marketplace pages with high Webvitals scores (over 80)