Page title: Internet trgovina (web shop, web trgovina) | Savjeti za izradu web shopova | Medialive

> Što je internet trgovina, koji su osnovni elementi web shopa i zašto su struktura, checkout i održavanje važni za prodaju.

Source: https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/izrada-internet-trgovine-web-shop

Savjeti za izradu web shopova 29.10.2018. Vjeko

# Internet trgovina (web shop, web trgovina)

Ažurirano: 26.05.2026.

Što je internet trgovina, koji su osnovni elementi web shopa i zašto su struktura, checkout i održavanje važni za prodaju.

![Internet trgovina (web shop, web trgovina)](https://www.medialive.hr/images/blog/medialive_blog_izrada-internet-trgovine-web-shopa.webp)
Internet trgovina omogućuje prodaju proizvoda putem weba, ali uspješan web shop nije samo katalog s košaricom. Potrebna je dobra struktura, siguran checkout i jasno iskustvo kupnje.

## Što je internet trgovina

Internet trgovina, web shop ili web trgovina je sustav koji kupcima omogućuje pregled proizvoda, dodavanje u košaricu i slanje narudžbe ili plaćanje online. Iako definicija zvuči jednostavno, kvalitetna izvedba uključuje mnogo detalja koji utječu na prodaju.

Kupac mora lako pronaći proizvod, razumjeti uvjete kupnje, odabrati dostavu, platiti i dobiti potvrdu narudžbe. Svaki od tih koraka mora raditi pouzdano.

## Osnovni elementi web shopa

Web trgovina treba imati pregledne kategorije, dobre fotografije, jasne opise, cijene, zalihe, košaricu, checkout, načine plaćanja i dostave. Uz to su potrebni uvjeti kupnje, politika privatnosti, kontakt podaci i e-mail obavijesti.

Za ozbiljniji shop korisni su kuponi, akcije, povezani proizvodi, varijacije, preporuke i osnovna analitika. No sve to treba uvoditi postupno i smisleno.

## Zašto je planiranje važno

Loše planirana trgovina može brzo postati nepregledna. Ako kategorije nisu jasne, proizvodi nemaju dobre opise ili checkout traži previše koraka, korisnici će odustajati. Zato je prije izrade važno znati što se prodaje, koliko ima proizvoda i kakav je proces isporuke.

Kod većih trgovina treba razmišljati i o kasnijem unosu proizvoda, održavanju zaliha, popustima i povezivanju s drugim sustavima.

## Web shop treba održavati

Nakon objave trgovina traži redovitu brigu. Plaćanje, dostava, dodaci, sigurnost i backup moraju ostati pod nadzorom. Web shop koji ne radi ispravno ne stvara samo tehnički problem, nego gubi narudžbe.

## Za prvu verziju web shopa pripremite

- Osnovne kategorije i proizvode.
- Pravila dostave i plaćanja.
- Kontakt, uvjete kupnje i povrat.

Ako planirate internetsku trgovinu, pogledajte našu uslugu [izrada web shopa](https://www.medialive.hr/usluge/izrada-web-shopa). Ovaj članak daje osnovno objašnjenje, a uslužna stranica prikazuje što sve treba uključiti u konkretnu izradu.

Teme: [konverzije](https://www.medialive.hr/teme/konverzije) [korisničko iskustvo](https://www.medialive.hr/teme/korisnicko-iskustvo) [woocommerce](https://www.medialive.hr/teme/woocommerce)
Slične teme

## Povezani članci

[![Zašto vaš web shop ima posjetitelje, ali nema dovoljno narudžbi?](https://www.medialive.hr/images/medialive_blog-imate-web-shop-ali-nemate-posjetitelja-i-prodaje.jpg)](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/zasto-vas-web-shop-ima-posjetitelje-ali-nema-dovoljno-narudzbi)
Savjeti za izradu web shopova 04.05.2026.

### [Zašto vaš web shop ima posjetitelje, ali nema dovoljno narudžbi?](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/zasto-vas-web-shop-ima-posjetitelje-ali-nema-dovoljno-narudzbi)

Ako web shop ima posjetitelje, ali nema dovoljno narudžbi, problem nije uvijek u prometu. Često se radi o povjerenju, jasnoći ponude,...

[Pročitaj više →](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/zasto-vas-web-shop-ima-posjetitelje-ali-nema-dovoljno-narudzbi)

[![5 razloga zašto vaš web shop ne prodaje (i kako to popraviti)](https://www.medialive.hr/images/medialive_blog-5-razloga-zasto-vas-web-shop-ne-prodaje-i-kako-to-popraviti.jpg)](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/5-razloga-zasto-vas-web-shop-ne-prodaje-i-kako-to-popraviti)
Savjeti za izradu web shopova 21.04.2025.

### [5 razloga zašto vaš web shop ne prodaje (i kako to popraviti)](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/5-razloga-zasto-vas-web-shop-ne-prodaje-i-kako-to-popraviti)

Web shop ne prodaje dovoljno najčešće zbog kombinacije više manjih problema. Loš prvi dojam, nejasni proizvodi, kompliciran checkout...

[Pročitaj više →](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/5-razloga-zasto-vas-web-shop-ne-prodaje-i-kako-to-popraviti)

[![8 Najčešćih pogrešaka pri vođenju web trgovine](https://www.medialive.hr/images/blog/medialive_blog_8-najcescih-pogresaka-pri-vodjenju-trgovine.webp)](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/8-najcescih-pogresaka-pri-vodenju-web-trgovine)
Savjeti za izradu web shopova 10.01.2019.

### [8 Najčešćih pogrešaka pri vođenju web trgovine](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/8-najcescih-pogresaka-pri-vodenju-web-trgovine)

Vođenje web trgovine traži više od dodavanja proizvoda. Najčešće pogreške događaju se u opisu proizvoda, checkoutu, održavanju,...

[Pročitaj više →](https://www.medialive.hr/blog/savjeti-za-izradu-web-shopova/8-najcescih-pogresaka-pri-vodenju-web-trgovine)

Želite bolji web?

## Razgovarajmo o vašem projektu.

Javite nam što želite postići, a mi ćemo predložiti realno i održivo web rješenje.

---

Ova Markdown verzija namijenjena je AI agentima i alatima za čitanje sadržaja.
<style id="ml-newsletter-popup-css">
.mlnp{position:fixed;z-index:99990;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18171c}.mlnp *{box-sizing:border-box}.mlnp[hidden]{display:none!important}.mlnp__box{background:#fff;border:1px solid rgba(24,23,28,.10);box-shadow:0 24px 80px rgba(24,23,28,.18);border-radius:24px;overflow:hidden}.mlnp__inner{padding:26px}.mlnp__eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5A41BF;margin-bottom:10px}.mlnp__title{font-size:24px;line-height:1.15;margin:0 0 10px;font-weight:850}.mlnp__text{font-size:15px;line-height:1.55;color:#5e5d64;margin:0 0 18px}.mlnp form{display:grid;gap:10px}.mlnp label{font-size:13px;font-weight:750}.mlnp input{width:100%;border:1px solid #d9d9db;border-radius:12px;padding:12px 13px;font-size:15px;background:#fff}.mlnp button{border:0;border-radius:12px;padding:12px 16px;font-weight:850;cursor:pointer}.mlnp__submit{background:#5A41BF;color:#fff}.mlnp__close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:999px;background:rgba(24,23,28,.06);color:#18171c;font-size:20px;line-height:1}.mlnp__note{font-size:12px;color:#74727a;line-height:1.45;margin:10px 0 0}.mlnp__success{display:none;padding:18px;border-radius:16px;background:#f1f7f2;border:1px solid #cfe8d2;color:#244629;font-weight:700}.mlnp.is-success form,.mlnp.is-success .mlnp__text,.mlnp.is-success .mlnp__note{display:none}.mlnp.is-success .mlnp__success{display:block}.mlnp--popup{inset:0;display:grid;place-items:center;background:rgba(24,23,28,.28);backdrop-filter:blur(5px);padding:20px}.mlnp--popup .mlnp__box{width:min(520px,100%)}.mlnp--slide{right:22px;bottom:22px;width:min(420px,calc(100vw - 44px))}.mlnp--corner_left,.mlnp--corner_left_minimal{left:22px;bottom:22px;width:min(390px,calc(100vw - 44px))}.mlnp--corner_left .mlnp__box,.mlnp--corner_left_minimal .mlnp__box{border-radius:20px;box-shadow:0 18px 54px rgba(24,23,28,.16)}.mlnp--corner_left .mlnp__inner{padding:22px}.mlnp--corner_left .mlnp__title{font-size:21px}.mlnp--corner_left .mlnp__text{font-size:14px}.mlnp--corner_left_minimal .mlnp__inner{padding:18px}.mlnp--corner_left_minimal .mlnp__eyebrow{display:none}.mlnp--corner_left_minimal .mlnp__title{font-size:18px;margin-right:32px}.mlnp--corner_left_minimal .mlnp__text{font-size:13px;margin-bottom:12px}.mlnp--corner_left_minimal form{grid-template-columns:1fr auto;align-items:end}.mlnp--corner_left_minimal form label{display:none}.mlnp--corner_left_minimal input[name="name"]{display:none}.mlnp--corner_left_minimal input[type="email"]{padding:11px 12px}.mlnp--corner_left_minimal .mlnp__submit{padding:11px 14px}.mlnp--corner_left_minimal .mlnp__note{display:none}.mlnp--bar{left:18px;right:18px;bottom:18px}.mlnp--bar .mlnp__inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:20px;align-items:center}.mlnp--bar .mlnp__title{font-size:20px}.mlnp--bar .mlnp__text{margin-bottom:0}@media(max-width:767px){.mlnp--hide-mobile{display:none!important}.mlnp--bar .mlnp__inner{grid-template-columns:1fr}.mlnp__inner{padding:22px}.mlnp__title{font-size:21px}.mlnp--slide,.mlnp--corner_left,.mlnp--corner_left_minimal{left:14px;right:14px;bottom:14px;width:calc(100vw - 28px)}.mlnp--corner_left_minimal form{grid-template-columns:1fr}}
</style>
<div id="ml-newsletter-popup" class="mlnp mlnp--corner_left" hidden data-delay="6000" data-frequency-days="14">
  <div class="mlnp__box" role="dialog" aria-modal="false" aria-labelledby="mlnp-title">
    <button class="mlnp__close" type="button" aria-label="Zatvori">×</button>
    <div class="mlnp__inner">
      <div>
        <div class="mlnp__eyebrow">Medialive newsletter</div>
        <h2 id="mlnp-title" class="mlnp__title">Želite korisne savjete za bolji web?</h2>
        <p class="mlnp__text">Povremeno šaljemo kratke i konkretne savjete o web stranicama, web shopovima, održavanju i online nastupu. Bez spama.</p>
      </div>
      <form method="post" action="/component/ml_newsletter">
        <label>Ime</label><input type="text" name="name" autocomplete="name" placeholder="Vaše ime">
        <label>Email</label><input type="email" name="email" required autocomplete="email" placeholder="vas@email.hr">
        <input type="hidden" name="task" value="subscribe"><input type="hidden" name="mlnp_popup" value="1"><input type="hidden" name="mlnp_ajax" value="1"><input type="hidden" name="source_url" value=""><div style="position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden" aria-hidden="true"><label>Website</label><input type="text" name="mln_hp" value="" tabindex="-1" autocomplete="off"></div><input type="hidden" name="mln_started_at" value="1781872286"><input type="hidden" name="312111683719f63412f7d58280826636" value="1">
        <button class="mlnp__submit" type="submit">Prijavi me</button>
      </form>
      <div class="mlnp__success">Hvala! Poslali smo vam email za potvrdu prijave.</div>
      <p class="mlnp__note">Prijavu potvrđujete klikom na link koji ćemo poslati na email. Odjava je moguća u svakom newsletteru.</p>
    </div>
  </div>
</div>
<script>
(function(){
  var el=document.getElementById('ml-newsletter-popup'); if(!el) return;
  var key='mlnp_closed_until_v1';
  var now=Date.now();
  var until=parseInt(localStorage.getItem(key)||'0',10);
  if(until && until>now) return;
  function closeBox(days){ var d=days || parseInt(el.getAttribute('data-frequency-days')||'14',10); localStorage.setItem(key, String(Date.now()+d*86400000)); el.setAttribute('hidden','hidden'); }
  var close=el.querySelector('.mlnp__close'); if(close) close.addEventListener('click', function(){ closeBox(); });
  el.addEventListener('click', function(e){ if(e.target===el && el.classList.contains('mlnp--popup')) closeBox(); });
  var delay=parseInt(el.getAttribute('data-delay')||'6000',10);
  setTimeout(function(){ el.removeAttribute('hidden'); }, delay);
  var form=el.querySelector('form');
  if(form){
    form.addEventListener('submit', function(e){
      e.preventDefault();
      var submit=form.querySelector('.mlnp__submit');
      var oldText=submit ? submit.textContent : '';
      var src=form.querySelector('input[name="source_url"]'); if(src) src.value=window.location.href;
      if(submit){ submit.disabled=true; submit.textContent='Šaljem...'; }
      var url=form.getAttribute('action') || window.location.href;
      url += (url.indexOf('?') === -1 ? '?' : '&') + 'format=json';
      fetch(url, { method:'POST', body:new FormData(form), credentials:'same-origin', headers:{'X-Requested-With':'XMLHttpRequest'} })
        .then(function(r){ return r.json(); })
        .then(function(data){
          if(data && data.ok){
            try{ localStorage.setItem(key, String(Date.now()+365*86400000)); }catch(err){}
            var success=el.querySelector('.mlnp__success');
            if(success && data.message){ success.textContent=data.message; }
            el.classList.add('is-success');
          } else {
            alert((data && data.message) ? data.message : 'Prijava nije uspjela. Pokušajte ponovno.');
          }
        })
        .catch(function(){ alert('Prijava nije uspjela. Pokušajte ponovno.'); })
        .finally(function(){ if(submit){ submit.disabled=false; submit.textContent=oldText; } });
    });
  }
})();
</script>