Ian Lurie (fondatore e CEO di Portent Inc.) pubblica un articolo con una serie di consigli per chi si vuole dedicare allo sviluppo di siti di e-commerce. "Parlo di un sacco di argomenti in questa lista, quindi per favore siate clementi."
Non è un articolo per chi cerca strategie. Qui i consigli sono tecnici. Vero, vero, un e-commerce, una volta partito, è questione di webmarketing, promozione e capacità commerciali. Ma se alle spalle non si ha un buon sistema i problemi non tarderanno ad arrivare.

1. Usate l'SSL solo all'interno dei vostri carrelli degli acquisti.
C'è un dibattito molto accesso a riguardo. Ma una cosa è certa: le richieste di pagine SSL richiedono computer più potenti rispetto alle richieste di pagina non SSL. Se il vostro sito ottiene decine di migliaia di pagine e richieste di file al giorno, va tutto bene. In più, se il vostro sito è interamente in SSL, strumenti come Google Webmaster Tools non funzioneranno. Usate l' SSL soltanto per le pagine che ne hanno bisogno: per esempio, il vostro processo di check-out e ogni altra pagina dove un cliente deve inserire una informazione confidenziale

2. Non usate gli SSID negli URL delle vostre pagine.
Mai. MAI. Gli SSID sono cose brutte tipo queste ?sid=asdfweroi120398123582745 che si trovano alla fine degli URL di certi siti. Sono usate solo per identificare la sessione di un utente, a scopo di monitorare, ad esempio, il contenuto del carrello. Sono persino superflue fino a che non mettete qualcosa nel carrello. Quindi non usatele nel sito, assolutamente, a meno che qualcuno abbia aggiunto qualcosa al carrello.

3. Usate una buona validazione.
Quando chi vi ha progettato il sito vi chiede di controllare se qualcuno si è dimenticato di scrivere il proprio indirizzo, non fate qualche commentino acido sul fatto che non vi interessa minimamente avere questa persona come cliente. Applicate un buon design difensivo: se per caso qualcuno facesse qualcosa di sbagliato, assicuratevi di fornire una guida chiara per correggere l'errore. Si sono dimenticati di riempire un campo?Ricaricate la pagina con un avviso che indica il problema. Qualcuno ha usato uno strano carattere di escape?Mettetelo a posto per loro.

4. Usate una validazione "friendly".
Quando una pagina si deve ricaricare perché qualcuno si è incasinato e ha lasciato uno spazio vuoto, ricaricatela con tutte le informazioni incluse. Ve ne prego. Leggete Defensive Design for the Web per ottenere molti buoni consigli.

5. Fate Cache di tutto ciò che avete.
Fate cache di pagine. di immagini, di dati dei carrelli degli acquisti. Se non potete fare cache di un'intera pagina, fatelo per sezioni della pagina. Fate cache in memoria e su disco. Cache, cache, cache. Altrimenti, un se cercate un grande successo vi dovrete attendere molte notti insonni e chiamate furiose dal vostro CEO che vi chiede di avere un sito più rapido. Fatelo adesso, e risparmiatevi i dolori.

6. Minimizzate le corrispondenze nel database.
Il processo di caching fa questo lavoro in parte, ma siete voi a dover sempre tenere d'occhio i "viaggi andata-ritorno" da e verso il vostro database. Se state caricando opzioni di prodotto, l'inventario e dieci immagini da 3 schede diverse e da 3 queries diverse, perché non caricarle tutte usando una singola query?Se mirate all'ottimizzazione, create una view.

7. Usate procedure già immagazzinate.
Spero di non dovervele spiegare. Se invece mi tocca, beh, sappiate che Google è vostro amico in questo caso. E lo sono anche queste procedure: rendono il vostro database più rapido, forniscono un velo di sicurezza e rendono la manutenzione molto più semplice.

8. Date al vostro database e al vostro sito web case separate.
Mettete il vostro database su un server e il vostro sito su un altro.

9. Impostate il server del vostro database per gestire il pesante tipo di operazioni di scrittura/lettura che dovrà supportare.
Ciò significa RAID 5 o 10, un grande storage e molta RAM. Vi serve una quantità di RAM almeno pari alla grandezza massima possibile del vostro database. Nota bene: per alcune applicazioni non di e-commerce, potreste soltanto aver bisogno di RAID 10 per il registro della vostra transazione, e potete risparmiare un po' di soldi inserendo i file veri e propri del database in una serie (meno costosa) di dischi. Se non potete permettervi tutta questa roba così carina, investite almeno in una serie SATA di base e comprare i drive più veloci che potete permettervi.

10. Impostate il vostro web server per gestire il tipo di operazioni di trattamento e cache che esso deve gestire.
Ciò comporta molta RAM, magari un processore molto rapido, ma non preoccupatevi della velocità dell'hard drive. A meno che non abbiate davvero fatto un casino, non dovreste aver bisogno di un'impostazione rapida di hard drive.

11. Create ridondanza ovunque: hard drive multipli con copie multiple del vostro database; la stessa cosa vale per il vostro web server.
In questo modo, se un hard drive non funziona, non avrete di che preoccuparvi. Una volta storcevo il naso vedendo gruppi statici di continuità doppi, ma mi hanno salvato il culo diverse volte. e poi non costano troppo. Se siete davvero paranoici, salvate una copia aggiornata del vostro sito su un sito di servizi come Amazon S3, in modo che possiate correre ai ripari in caso un meteorite si schiantasse contro la vostra struttura di hosting.

12. Pensate a proporre dei buoni sconto.
Assicuratevi che il carrello possa accettare coupon, anche se non avete ancora costruito la funzionalità per la loro parte posteriore.

13. Preparatevi a originali strutture di sconti.
A un certo punto, il capo delle vendite o di marketing entrerà nel vostro ufficio e richiederà il 15% di sconto per tutti gli ordini superiori ai 40$ che hanno qualcosa di blu. O per uno specifico set di prodotti etc…. Preparatevi anche ad essere molto flessibili.

14. Pensate ad includere recensioni di prodotti.
Ad un certo punto qualcuno dirà "dobbiamo essere client-friendly" e chiederà di inserire nel sito la funzionalità della recensione prodotto. A quel punto, potete dare uno schiaffo a sta gente per avere detto "client-friendly" oppure potete sfruttare questa idea e aggiungere le recensioni. Se il vostro database è già progettato per accettarle, beh ancora meglio!

15. L'AJAX va bene per il check-out, ma non per curiosare sui prodotti.
Non caricate prodotti o preview dei prodotti in finestre DHTML o su un widget AJAX. I motori di ricerca non saranno in grado di trovarli. Ciò significa che non venderete niente. Ciò significa anche che passerete da lavorare full a time a lavorare part time, e da lavoratori con un contratto a disoccupati in mezzo a una strada. Per evitare che questo succeda, usate AJAX per velocizzare il processo di check-out.

16. L'importanza della documentazione.
Si, lo so. I programmatori informatici detestano la documentazione. Vabbé, almeno fino a quando sono i programmatori che devono gestire il casino che altri hanno fatto prima di fuggire alle Bahamas. Tutto quello che dovete fare è salvare il layout del database e magari scrivere due righe in cima ad ogni codice snippet spiegando che cosa fanno. Potreste persino fare un diagramma di flusso. Così diventerete veri eroi.

17. Documentazione, parte 2.
Fornite abcge una guida di base per il vostro team di marketing. Cose come "Non azzerate l'inventario" è una buon punto di partenza.

18. Pensate agli strumenti analitici.
Assicuratevi che tutto il vostro sito sia impostato tenendo conto di questi strumenti. Ciò comprende anche le azioni più classiche, come il monitoraggio delle visualizzazioni e delle visite. Include anche il monitoraggio degli obiettivi e degli ordini. Chiedete al team di marketing quali pacchetti di strumenti vuole, poi implementateli. E se non sanno quali proporre, provate Google Analytics, visto che è gratis ed è anche molto ben fatto.

19. Inserite una mappa del sito in XML.

20. Preparatevi per la distribuzione.
Potreste diventare un' azienda di distribuzione grande ed estremamente competente. Oppure potreste trovarvi a dover lavorare con una che usa ancora la macchina a vapore e pensa che le schede perforate siano innovative. In un caso o nell'altro, più promuoverete cose come gli aggiornamenti di inventario tramite trasferimento di file e feed XML, più guadagnerete.

21. Introducete un feed prodotto automatico adesso è più facile.
In più, pensate quanto soddisfatti vi sentirete quando, al prossimo meeting, lo farete notare al team di marketing ?

22. Fate in modo che aggiornare prodotti, inventario o qualsiasi altra cosa sia semplice anche per i non addetti al lavoro.
È facile lesinare sugli strumenti di amministrazione. Ma quanto più completo sarà il sistema di amministrazione, tanto meno finirete ad integrare il team di supporto telefonico per l'intera azienda. Assicuratevi che possano fare qualunque cosa, compresa la ripubblicazione della vostra mappa XML e l'editing del feed di prodotto.

23. Automatizzate il contatto con i consumatori.
Quando un cliente fa partire il suo ordine, inviategli una conferma via email. Quando l'ordine viene spedito, inviategli una conferma di invio e un codice di consegna. Un mese dopo, inviategli anche una email cercando di vedere se il prodotto gli è piaciuto. Oh, e assicuratevi che anche il team di marketing possa modificare le email, a meno che non vogliate aggiungere "ho scritto email" al vostro curriculum.

24. Usate buone pratiche di canonicalizzazione (per scoprire tutto sulla canonicalizzazione seguite il link)