Article summary
Before building an online shop: catalog, inventory, payments, SEO, and admin panel decisions.
An online shop is not a shopfront. Write catalog, stock, gateway, shipping, and the order panel on paper before you pick a theme. KGSM on kgsm.ir builds Laravel shops so loyalty or a second warehouse can be added later, instead of rewriting the cart after month one. Start with web design if you need the look; pair it with web programming if you need sales logic. Product SEO belongs in sprint one via SEO. Scope version one through contact.
This guide — Building an e-commerce site with Laravel — what to decide first — is written from KGSM delivery work: scoped first versions, staged releases, and support after handoff.
Audience, risk, and how KGSM works
A shop owner or product lead who wants a Laravel store, not an unsupported ready-made theme
Without catalog, payment, and stock rules, the shop breaks orders in week one and product SEO never lands.
KGSM builds the shop with an order panel, Iranian gateways, and room to grow — visuals in web design and logic in web programming.
Lock catalog and stock before the theme
A Laravel shop stays stable when the catalog is frozen before anyone picks a theme. Write how many variants each item has, where SKUs come from, and whether zero stock means stop selling or take pre-orders. Many Iranian businesses sell from a warehouse, Instagram stock, and a supplier at once; a single quantity field will lie. KGSM, in web programming, first defines stock reservation at payment so two buyers cannot take the same unit. Split warehouse and sales roles, and demand a daily Excel export. If you add this after the visual design, both cart and panel get rewritten and the bill exceeds version one. Keep a stock history so warehouse disputes have evidence and returns close against a real number, not a chat argument about what the shelf looked like last Tuesday.
Write size and color variants before you design the product card. A shop with no stock hold sold the same unit twice on a sale Friday and froze shipping for a week.
Treat payment, shipping, and invoices as finance
A gateway is not just a Zarinpal button. Decide which methods version one needs: card, cash on delivery, or installments. Write shipping by weight, city, and courier or the cart will lie for distant cities. An invoice must keep a unique number, amount, tax, and payment status so finance can see the same row in Excel tomorrow. KGSM confirms gateway access in discovery because tokens, webhooks, and return URLs become expensive after a pretty design. Test failed payment, cancel, and retry; shops that only demo the happy path freeze on a busy Friday. Keep SMS receipts optional so message cost does not surprise you. Show gateway fees and settlement in the panel so the first-week finance argument ends with a number, not a screenshot from the payment dashboard nobody else can open.
The gateway was tested only on success; a broken return URL left orders stuck. Hold stock until payment confirms so you do not double-sell.
The order panel is for staff, not a demo
A busy panel with twenty colors slows packing. Staff must filter today, change status, and print a shipping label without touching the database. A read-only finance role belongs on day one so the admin password is not shared. Log price changes and cancellations; a dispute without evidence becomes an endless chat. At KGSM the panel is part of delivery, not a later extra. Ask for search by order number, mobile, and tracking in week one. If loyalty or coupons come later, separate guest and customer records now so the next merge does not break tables. Put a fifteen-minute training for warehouse and courier in the contract or, after the external team leaves, only the original builder can unsuspend an order. That is how cheap shops become expensive to run.
Give finance a read-only role; sales should not edit price alone. After a pretty design, finance had no read-only role and the admin password leaked in chat.
Put product SEO and mobile speed in sprint one
A product page without a unique title, real copy, and a compressed image disappears in Google. Pick Persian or English URLs once and do not change them. Category filters must not index duplicate parameter sets. Shrink the hero; a full-screen slider ruins LCP on Iranian phones. KGSM closes technical shop SEO with SEO so the product sitemap and stock stay in sync. Mobile must show cart, price, and buy without pinch-zoom. If visuals go to web design and logic to another team, meta and speed usually fall between them. For a scoped shop estimate, send SKU count, gateways, and roles through the KGSM contact form so version one is a plan, not a guess, and you are not paying twice for titles that should have shipped with the first catalog import.
Color filters indexed duplicate URLs and Google treated product pages as copies. Test shipping cost for at least three sample cities in version one.
Do not change a product URL after index unless you have a 301. Shipping was correct only for Tehran; an out-of-city order confirmed at a false price.
Code lived on a freelancer account and the order panel locked when they left. Demand a daily order Excel export in the handoff, not as phase two.
Compress product photos before upload; a heavy gallery kills mobile. A shop with no stock hold sold the same unit twice on a sale Friday and froze shipping for a week.
The gateway was tested only on success; a broken return URL left orders stuck. Test the gateway webhook on a failed payment in staging too.
Implementation checklist
- Write size and color variants before you design the product card.
- Hold stock until payment confirms so you do not double-sell.
- Give finance a read-only role; sales should not edit price alone.
- Test shipping cost for at least three sample cities in version one.
- Do not change a product URL after index unless you have a 301.
- Demand a daily order Excel export in the handoff, not as phase two.
- Compress product photos before upload; a heavy gallery kills mobile.
- Test the gateway webhook on a failed payment in staging too.
Field scenario 1
A shop with no stock hold sold the same unit twice on a sale Friday and froze shipping for a week.
Write size and color variants before you design the product card.
Field scenario 2
The gateway was tested only on success; a broken return URL left orders stuck.
Hold stock until payment confirms so you do not double-sell.
Field scenario 3
After a pretty design, finance had no read-only role and the admin password leaked in chat.
Give finance a read-only role; sales should not edit price alone.
Field scenario 4
Color filters indexed duplicate URLs and Google treated product pages as copies.
Test shipping cost for at least three sample cities in version one.
Field scenario 5
Shipping was correct only for Tehran; an out-of-city order confirmed at a false price.
Do not change a product URL after index unless you have a 301.
Field scenario 6
Code lived on a freelancer account and the order panel locked when they left.
Demand a daily order Excel export in the handoff, not as phase two.
Related KGSM pages
Continue with KGSM services: سئو فنی سامانه و صفحات عملیاتی, ویترین و تجربه کاربری سامانه, برنامهنویسی سامانههای اختصاصی. Related reading: چکلیست UI/UX برای سایت فارسی و راستچین, چه زمانی باید سایت را از نو طراحی کرد؟. For a scoped estimate, use the contact form.
Frequently asked questions
How long does a Laravel shop take? +
Is a ready-made shop theme enough? +
Which payment gateway do you connect? +
Is shop SEO a separate bill? +
Who owns the code and server? +
Keywords
Related KGSM services