---
title: "IGA (Infinity Gems)"
url: https://phatdev.net/en/projects/iga
lang: en
alternate:
  vi: https://phatdev.net/vi/projects/iga
markdown: https://phatdev.net/en/projects/iga.md
---

# IGA (Infinity Gems)

> A rebuild of the iga.vn gemstone store on a custom theme and plugin: collections by stone type, Five Elements stone matching, SEO-ready product copy, and an unchanged URL structure so rankings are preserved.

- Role: Full-stack · WooCommerce · Redesign
- Status: In final review on staging
- Technology: WordPress, WooCommerce, Block theme, PHP, SEO
- Docs and changelog: https://phatdev.net/docs/iga
- All projects: https://phatdev.net/en/projects.md

## Project facts

- Role: Design, development, data migration
- Platform: WordPress block theme, WooCommerce
- Version: Theme 0.4.92, iga-core 0.5.33
- Language: Vietnamese

## Metrics

- 5.256: products moved to the new design
- 62: stone types with element mapping

## Highlights

- **SEO preserved through the redesign**: URLs, main menu labels and policy text stay unchanged, with an SEO parity checklist between old and new before go-live.
- **Stones by Five Elements**: Shoppers enter a birth date to see their element and matching stones; element data for 62 stone types lives in one file and is reassigned in bulk by a command with dry run and backup.
- **Collections by stone type**: Home and landing pages group products by Ruby, Sapphire, golden rutilated quartz, Tourmaline, Jade and Amber.
- **Tools for advisors**: An internal page where staff choose matching elements per stone type, saving every click straight to the data.

## In-depth analysis

### Context
iga.vn (Infinity Gems) sells gemstones, gemstone sculptures and feng shui pieces, more than 5,000 products, mostly bought as gifts. The old site ran Flatsome. It is being rebuilt with a custom `iga` theme (0.4.92) and an `iga-core` plugin (0.5.33), currently being finished on staging. The store is Vietnamese only.

### Principles
- Keep the URL structure, main menu labels and policy text so **no SEO is lost**, with an SEO parity checklist between the old and new site.
- Product photos are real in-store shots, so the design has to work with handheld photography.
- Performance targets: mobile 95+, desktop 98+, CLS under 0.05.

### Features
#### Collections by stone type
Home and landing pages group products by stone (Ruby, Sapphire, golden rutilated quartz, Tourmaline, Jade, Amber...).
#### Stones by Five Elements
Enter a birth date to see the element and matching stones. The element colour table for 62 stone types lives in one data file; the `wp iga menh` command reassigns the "matching element" attribute on products, with a dry run and a backup before writing.
#### Internal page for advisors
Staff pick the matching elements for each stone type; every click saves straight into the data.
#### SEO-ready product descriptions
A bulk command adds an opening paragraph built from real product data and fixes H2/H3 levels.
#### Contact page with a map
MapLibre + OpenFreeMap, showing a static poster first and loading the map later so there is no CLS.

## License

Developed for Infinity Gems An Thịnh (iga.vn).

GPL version 2 or later (GPL-2.0-or-later). Free software: anyone may use, change and share it, as long as shared copies keep this license and include the source code.

- Theme iga 0.4.92: GPL-2.0-or-later (Declared in the code: themes/iga/style.css: License: GPL-2.0-or-later; iga-rebuild/package.json: license GPL-2.0-or-later)
- Plugin iga-core 0.5.33: GPL-2.0-or-later (Declared in the code: plugins/iga-core/iga-core.php: License:           GPL-2.0-or-later)

## Third-party libraries and resources (7)

| Name | Type | Version | License | Source |
|---|---|---|---|---|
| MapLibre GL JS | Library | 5.24.0 | BSD-3-Clause | https://maplibre.org |
| Be Vietnam Pro | Font (in the theme) | - | OFL-1.1 | https://github.com/bettergui/BeVietnamPro |
| Cormorant Garamond | Font (in the theme) | - | OFL-1.1 | https://github.com/CatharsisFonts/Cormorant |
| OpenFreeMap và dữ liệu OpenStreetMap. The store map loads map tiles from the OpenFreeMap service. | Data | - | ODbL-1.0 | https://openfreemap.org |
| Lighthouse. Measuring tool, not shipped with the product. | Tool (development only) | 13.5.0 | Apache-2.0 | https://github.com/GoogleChrome/lighthouse |
| PHPUnit. Test tool, not shipped with the product. | Tool (development only) | 11.5.57 | BSD-3-Clause | https://github.com/sebastianbergmann/phpunit |
| Playwright Core. Capture and test tool, not shipped with the product. | Tool (development only) | 1.63.0 | Apache-2.0 | https://playwright.dev |

Credit: Map data (c) OpenStreetMap contributors, under the ODbL license.

See the License and credits page: https://phatdev.net/en/licenses.md
