BakuMebel — ölçüyə uyğun mebel kataloqu
Bakıda mətbəx, qarderob və salon mebeli hazırlayan BakuMebel üçün üçdilli kataloq saytı. Next.js ilə qurulub, VPS-də işləyir; qiymət gözləntisini beş addımlı kalkulyator qurur, müraciət isə hazır mesajla WhatsApp-a gedir.
Canlı sayta bax- Müştəri
- BakuMebel — Bakıda ölçüyə uyğun mebel istehsalı: mətbəx, qarderob, salon, yataq, ofis və uşaq otağı
- Rol
- Frontend və backend development, kataloq strukturu, qiymət kalkulyatorunun məntiqi, idarə paneli, struktur data (schema.org) və VPS-ə deploy.
- Stack
- Next.js · TypeScript · Tailwind CSS
- Tarix
- Sentyabr 2026
- Dil
- 3 — AZ / EN / RU
- Səhifə
- 17 × 3
Ölçüyə uyğun mebeldə sabit qiymət yoxdur: eyni mətbəx ölçüdən, materialdan və furnituradan asılı olaraq iki dəfə fərqlənə bilər. Bu, saytı qapalı vəziyyətə salır — qiymət yazmasan ziyarətçi «deməli bahadır» deyib çıxır, konkret rəqəm yazsan isə ölçü götürüləndən sonra həmin rəqəmi müdafiə edə bilmirsən. Saytın vəzifəsi qiymət mövzusunda nə susmaq, nə də tuta bilməyəcəyi söz vermək idi.
- Üç dil — AZ, EN, RU; hər səhifənin hər dil versiyası sitemap-da ayrıca ünvandır
- Altı kateqoriya: mətbəx, salon, yataq otağı, qarderob, ofis və uşaq otağı
- Beş əsas səhifə — ana səhifə, kataloq, kalkulyator, haqqımızda, əlaqə — üstəgəl kateqoriya və məhsul səhifələri
- Məhsul səhifəsi: şəkil qalereyası, kateqoriya nişanı, qiymət, texniki təsvir və oxşar modellər
- Beş addımlı qiymət kalkulyatoru: otaq, ölçü, material, furnitura, əlavələr
- Kalkulyator hər otaq tipini öz vahidi ilə hesablayır — mətbəx uzunluq metri, qarderob və TV divarı fasad sahəsi, çarpayı hazır model
- Ana səhifədə üç slaydlı hero, üstünlük blokları, kataloqdan seçmələr və həftənin təklifi
- Məhsulların idarə olunduğu, e-poçt və şifrə ilə qorunan idarə paneli
- Hər çağırış düyməsi WhatsApp-ı məhsula uyğun hazır mesajla açır
- Organization, Product, Offer, OfferCatalog, ItemList və BreadcrumbList sxemaları ilə struktur data
Səbət yox, kalkulyator
Səbət və onlayn ödəniş texniki olaraq çətin deyildi, amma məhsulun özü ilə ziddiyyət təşkil edirdi: ölçüyə uyğun mətbəxin qiyməti ölçü götürülməmiş məlum olmur. Səbət ziyarətçiyə sabit rəqəm vəd edərdi, istehsalçı isə onu saxlaya bilməzdi. Onun yerinə kataloq gözlənti qurur, kalkulyator büdcə həddini verir, söhbət isə WhatsApp-da davam edir — yəni sayt heç bir mərhələdə tuta bilməyəcəyi söz vermir.
Kalkulyator hər otağı öz vahidi ilə ölçür
Mebel bazarında mətbəx uzunluq metri ilə, qarderob və TV divarı fasad sahəsi ilə, çarpayı isə hazır model kimi qiymətləndirilir. Hamısını tək düsturla hesablamaq sadə olardı, amma nəticə peşəkar adama dərhal yanlış görünərdi. Kalkulyator ona görə seçilən otaq tipinə uyğun hesablama bazasına keçir — rəqəm sənayenin öz məntiqi ilə çıxır.
Nəticə dəqiq rəqəm deyil, diapazondur
Kalkulyator konkret məbləğ yox, aralıq qaytarır və bunun təxmini olduğunu, dəqiq qiymətin yalnız ustanın yerində ölçüsündən sonra müəyyənləşdiyini açıq yazır. Bu, ziyarətçini itirmək bahasına deyil, əksinə: gözlənti düzgün qurulanda ölçüdən sonrakı söhbət «siz 2000 demişdiniz» mübahisəsi ilə başlamır.
Üç dil bir marşrut ağacında
Dil ayrıca marşrut seqmenti (/az, /en) deyil, `?lang=` sorğu parametridir. Bu, bütün marşrut ağacını üç dəfə təkrarlamadan üç dil verir. Güzəşt görünməsin deyə əsas şərt yerinə yetirilib: hər dilin öz ünvanı var, bu ünvanlar həm sitemap-da, həm də hreflang elanında (AZ isə x-default kimi) verilib — yəni üç versiya axtarış sistemi üçün bir-birindən ayrı səhifələrdir, kopyalanmış məzmun deyil.
Hər məhsul qiymətli Product qovşağıdır
Kataloqdakı modellər struktur datada yalnız mətn kimi yox, hər biri öz təsviri, kateqoriyası və qiyməti ilə ayrıca Product və Offer obyekti kimi elan olunub; kateqoriyalar isə OfferCatalog kimi bağlanıb. Beləlikə «Bakıda akril mətbəx qiyməti» tipli sual veriləndə axtarış və AI sistemləri səhifəni ümumi reklam mətni kimi yox, qiyməti bəlli məhsullar siyahısı kimi oxuyur.
Məzmun kodda deyil, idarə panelindədir
Yeni model, şəkil və ya qiymət dəyişikliyi üçün kod redaktə etmək və yenidən deploy etmək lazım deyil — məhsullar saytın öz idarə panelindən idarə olunur, panel isə e-poçt və şifrə ilə qorunub və giriş edilməmiş açılmır. Mebel kataloqunda qiymətlər mövsümə və materiala görə dəyişdiyi üçün bu, layihənin davamlı işləməsinin şərtidir.
Server rejimi, öz VPS-ində
Sayt paylaşılan hostinqdə deyil, öz VPS-ində Ubuntu üzərində nginx arxasında Next.js serveri kimi işləyir. Səbəb idarə panelidir: statik ixrac olunmuş sayt nə qorunan marşrut, nə də server tərəfli yazma əməliyyatı saxlaya bilməzdi. Eyni proses həm vitrini, həm də paneli daşıyır — ayrıca backend tətbiqi yoxdur.
Sayt bakumebel.az ünvanında canlıdır. Üç dilin hər biri sitemap-da və hreflang elanında ayrıca ünvanla verilir, yəni axtarış sistemi üç versiyanı ayrı-ayrılıqda indeksləyə bilir. Kataloq altı kateqoriyaya bölünüb; hər məhsul səhifədə mətn kimi deyil, qiyməti ilə birlikdə ayrıca Product qovşağı kimi elan olunur.
- Saytda səbət və onlayn ödəniş niyə yoxdur?
- Bilərəkdən. Ölçüyə uyğun mebelin qiyməti ölçü götürülməmiş dəqiqləşmir, ona görə səbət saxlaya bilməyəcəyi rəqəm vəd edərdi. Bunun yerinə kalkulyator büdcə həddini göstərir, müraciət isə hazır mesajla WhatsApp-a keçir.
- Kalkulyatorun verdiyi qiymət dəqiqdir?
- Xeyr, və sayt bunu açıq yazır. Kalkulyator seçilən otaq, ölçü, material və furnituraya görə təxmini aralıq verir. Dəqiq qiymət yalnız ustanın yerində ölçüsündən sonra müəyyən olunur.
- Yeni məhsul əlavə etmək üçün developer lazımdırmı?
- Xeyr. Məhsullar, şəkillər və qiymətlər saytın öz idarə panelindən idarə olunur — kod dəyişikliyi və yenidən deploy tələb olunmur.
- Sayt neçə dildə işləyir?
- Üç dildə: azərbaycan, ingilis və rus. Hər dilin hər səhifə üçün ayrıca ünvanı var və bu ünvanlar həm sitemap-da, həm də hreflang elanında verilib.
- Sayt hansı texnologiyalarla qurulub?
- Next.js, TypeScript və Tailwind CSS. Sayt öz VPS-ində Ubuntu üzərində nginx arxasında Next.js serveri kimi işləyir; idarə paneli də ayrıca tətbiq deyil, elə həmin Next.js layihəsinin bir hissəsidir.
Layihənizi danışaq — adətən eyni gün cavab verirəm.
Nurlan Qadirov — Baku, Azerbaijan