optaros magento guidebook

36
Guidebook Magento Enterprise Edition Best practices from successful deployments of Magento Best practices from successful deployments of Magento

Upload: marc-osofsky

Post on 13-Jul-2015

1.139 views

Category:

Technology


0 download

TRANSCRIPT

Guidebook Magento Enterprise Edition

Best practices from successful deployments of MagentoBest practices from successful deployments of Magento

Why a Magento Guidebook?

We continually hear misconceptions about Magento from We continually hear misconceptions about Magento from organizations considering it as an ecommerce platform option.

Through our many Magento deployments we have first hand knowledge of what is and is not possible with Magento and will address a number of the misconceptions.

Common misperceptions of Magento

Many of the misperceptions fall into the following categories

• Magento websites are not very compelling

We will address each of them in the following sections

• Design & User Experience

3© 2009 Optaros, Inc. All rights reserved.

• Magento cannot scale

• Magento does not integrate well with other systems

• Improving MagentoPerformance

• Integration with Existing Systems

Table of Contents

Design & User Experience pg. 5-16

Improving Magento Performance pg. 17-27

Integration with Existing Systems pg. 28-35

Design & User Experience

IT generally loves open source software, but the marketing folks want to make sure the design of the site is compelling, brand relevant and incorporates ecommerce best practices.

Following are some best practices in ecommerce and design how to achieve them with Magento.

Design & User Experience

Home Page

Often the home page will be the first place consumers have a true interaction with your brand online. Carefully consider the emotions it conveys to site visitors. Think about the big picture — how do design, features and functionality, and content interact to differentiate your brand?

6© 2009 Optaros, Inc. All rights reserved.

Help your visitors answer the question, “Does this brand reflect who I am?” (This is particularly important for luxury and premium brands.)

Design & User Experience

Home Page (Con’t.)

For example, for one client, 36Boutiques, we customized the standard Magentohomepage layout with a large background graphic, which was written into the

7© 2009 Optaros, Inc. All rights reserved.

was written into the administrative controls.

This way, depending upon the season, upcoming events or designers to be featured, the company can easily change the graphic — keeping the site fresh, and giving visitors an appropriate welcome.

Design & User Experience

Category Pages & Navigation

Making minor tweaks to the existing Magento framework for category pages — those listing different options for a particular kind of item —can make your site stand out from the crowd due to its unique layout.

This kind of development doesn’t require heavy coding; rather you

8© 2009 Optaros, Inc. All rights reserved.

This kind of development doesn’t require heavy coding; rather you need a creative design team, and the ability to restructure and stylize elements of the page.

Design & User Experience

Category Pages & Navigation (Con’t.)

For example, again looking at 36Boutiques, we can see the difference between a standard page layout in Magento, and that which we created for this private-event retailer to make current sale events more prominent, while still outlining the upcoming events as well.

9© 2009 Optaros, Inc. All rights reserved.

Design & User Experience

Category Pages & Navigation (Con’t.)

The same concept applies to site navigation — Magento out of the box navigation may not match the focus of the site.

Consider if standard navigation is what makes the most sense for your site. In many cases, a custom navigation is more appropriate and has a significant impact.

10© 2009 Optaros, Inc. All rights reserved.

has a significant impact.

Design & User Experience

Product Detail Pages

Though your home page may be the main doorway for many visitors, it’s important to also understand that — due to search engines and social networking sites — websites can no longer be seen as hierarchical. Instead, visitors can enter your site from any page, even one very low on your standard navigation.

11© 2009 Optaros, Inc. All rights reserved.

Rather, every page in your website has to be able to stand alone. Product pages are no longer the end of a navigation process throughout your site — they are self-sufficient, optimized units that must portray your brand ideal immediately.

Design & User Experience

Product Detail Pages (Con’t.)

Some current best practices for giving visitors a more meaningful experience with products online include: featuring video, consumer reviews and blog posts, and offering multiple pictures, zoom and

12© 2009 Optaros, Inc. All rights reserved.

multiple pictures, zoom and 360-degree rotation.

The screenshot here shows a product detail page from 36Boutiques, showcasing multiple product photos that can be scrolled across. This is an update to standard Magento processes, which load a new page to view additional product photos.

Design & User Experience

Personalized Navigation

Because a site’s organizational structure won’t always align with people's immediate needs, the personalized navigation offers a

13© 2009 Optaros, Inc. All rights reserved.

navigation offers a consistent “home,” as a footer customized for that particular visitor, that features information such as their site profile, wish list, cart, visual order history, and groups.

(Image source: www.charlotterusse.com)

Design & User Experience

One-Page Checkout

Out of the box, Magento offers a standard two-page checkout process:• page one - cart information • page two - checkout information

By reengineering this process to create a one-page, two-column checkout — with cart information on one side and billing/shipping

14© 2009 Optaros, Inc. All rights reserved.

checkout — with cart information on one side and billing/shipping information on the other — retailers can decrease cart abandonment significantly.

Design & User Experience

One-Page Checkout (Con’t.)

For example, one-page checkouts, like the one below, see an abandonment rate of only 40-45% (20% less than the industry average of 60-65%).

15© 2009 Optaros, Inc. All rights reserved.

Design & User Experience

Quick-View Modals

Using quick-view modals —rather than loading new pages — when customers are looking to perform a simple task such as inviting a friend to the site, sharing

16© 2009 Optaros, Inc. All rights reserved.

a friend to the site, sharing an item on Facebook, or see product details, helps keep site visitors in their shopping experience, rather than navigating them across the site.

Magento does not support quick-view modals out of the box. We generate quick-view modals for our clients via AJAX requests.

(Image source: www.gap.com)

Improving Magento Speed & Performance

Many companies assume that Magento will not scale to meet their Many companies assume that Magento will not scale to meet their

needs. This is based either on FUD (Fear, Uncertainty & Doubt) on

the part of threatened closed source vendors or from falsely

assuming that Magento out of the box is the only option.

We’ve deployed Magento at significant scale and will share a few of

our secrets here.

Improving Magento Speed & Performance

We have scaled Magento to significant numbers across several clients

Sample statistics of live Magento sites we have deployed:

• 5 million monthly unique visitors

• 2,000 page views/second

• 15 add to carts/second

• 3 orders/second

• $200 million in annual revenue

18© 2009 Optaros, Inc. All rights reserved.

• $200 million in annual revenue

In this section we will discuss some of the ways in which we have

achieved these results

Improving Magento Speed & Performance

Strip Out Unnecessary Functions

Split the “browse” part of the application off to cache separately.

We used our own proprietary caching system wrapper that sits outside of Magento and intercepts requests, and keeps them from going through Magento unless it is necessary.

Trimmed down the add-to-cart and order pipeline

19© 2009 Optaros, Inc. All rights reserved.

Trimmed down the add-to-cart and order pipeline functionalities.

In order to process high-volume orders quickly, we removed bits of code from Magento’s standard add-to-cart and order processes so that shoppers only see options to fill in the attributes that pertain to their order.

We also stripped out several modules that auto-fire on most Magento-based ecommerce sites, thus delaying order calculations until necessary.

Improving Magento Speed & Performance

Strip Out Unnecessary Functions (Con’t.)

Rewrote the checkout process.

To increase checkout speed and decrease cart abandonment, we rewrote Magento’s checkout process to offer a one-page checkout. With this simplified design, users can enter their personal shipping and

20© 2009 Optaros, Inc. All rights reserved.

With this simplified design, users can enter their personal shipping and billing information in fewer steps, thus increasing sales.

Improving Magento Speed & Performance

Use a CDN (Content Delivery Network)

When you also consider that 80% of the page load time is spent downloading all the components of the page, such as: images, stylesheets, scripts and more, and the impact that speeding this process could have on your overall site speed.

One way to speed this process is to deliver content from servers

21© 2009 Optaros, Inc. All rights reserved.

One way to speed this process is to deliver content from servers that are geographically closer to the site visitor, and a content delivery network (CDN) can help you do just that.

Improving Magento Speed & Performance

Use a CDN (Con’t.)

Essentially, CDNs enable you to offload your static content — assets that do not require the rendering of code, for example: images, CSS files and java script files — to a series of geographically dispersed servers.

For example, in one client engagement, we built a content-driven

22© 2009 Optaros, Inc. All rights reserved.

For example, in one client engagement, we built a content-driven ecommerce site using Magento, and integrated CDN along with full-page caching. This drastically improved page load time, even for those with large amounts of content and rich media assets (particularly, in this case, videos).

Improving Magento Speed & Performance

Use a CDN (Con’t.)

While there are some Magento modules available that facilitate integration with a CDN, these require software modifications, additional configuration and testing.

In some cases, such as for the client mentioned above, total site caching in a preferred option. This directs all non-secure traffic to

23© 2009 Optaros, Inc. All rights reserved.

caching in a preferred option. This directs all non-secure traffic to the CDN so it acts as a site proxy — serving cached content and passing through requests for dynamic content to our Magento front-end servers.

Improving Magento Speed & Performance

Cloud Computing

Many companies are looking for Magento as a Service and are

interested in leveraging cloud computing to auto-scale to meet spiky

ecommerce demand.

We’ve deployed several Magento sites for clients on the Amazon

Elastic Compute Cloud (EC2). Following are some of the best

24© 2009 Optaros, Inc. All rights reserved.

Elastic Compute Cloud (EC2). Following are some of the best

practices we’ve learned in using EC2 for Magento.

Improving Magento Speed & Performance

Cloud Computing

Use c1.medium for CPU. After testing several instances for homepages and carts, it seems that a standard option that gets good value for your money is c1.medium, which can handle approximately 1,500 customers per hour.

Use a reverse proxy or light http server for serving static

25© 2009 Optaros, Inc. All rights reserved.

Use a reverse proxy or light http server for serving static content — such as images, CSS and other media — or a CDN (content delivery network) if your customers are spread out geographically.

Cache product catalog views, at least for anonymous users (typically 90% of site visitors). Magento Full Page Cache or reverse proxies (i.e. Varnish) can help with this. However, if most of your customers are logged in, you likely need to develop some custom caching (i.e. Ajax, server side includes, etc.). This will improve site performance for end users dramatically.

Improving Magento Speed & Performance

Cloud Computing

Scale horizontally by adding servers. This will allow your site to cope with peaks of traffic — an expected occurrence in ecommerce due to busy times, such as evenings, holidays and large sale events. To forecast traffic ebbs and flows as accurately as possible, a fully automated provisioning process of servers that records visitor behavior by the minute is ideal.

26© 2009 Optaros, Inc. All rights reserved.

Share Magento back-end cache between all servers to avoid inconsistencies. A mix of memcached (fast cache) and mysql (slow cache) is the optimal setup, particularly if visitor sessions need to be shared between servers.

Plan for disaster. Servers can fail at any time on the cloud, and do so at a higher frequency than on traditional hardware. Reduce the number of SPOFs (single points of failure), and automate recovery procedures. Actively monitor server performance to avoid server failures. If a customer can’t access the site when they want to make a purchase, they may go to a competitor instead.

Improving Magento Speed & Performance

Cloud Computing

Tune the database to best practices. However, this is surprisingly not a major bottleneck in regard to performance and scaling. If databases become an issue, you can split read-write traffic, or even scale vertically, with only a short interruption of service.

Centralize or proxy-out your communications from a single

27© 2009 Optaros, Inc. All rights reserved.

Centralize or proxy-out your communications from a single server. This often involves integration with back-office systems like static IP for firewalling.

Rely on infrastructure value-added services — such as S3, ELB, EBS, SQS, Monitoring and Rightscale — to reduce your operational cost.

Integration with Existing Systems

Magento is an open platform that follows standards-based approaches

to integration. The community of 3rd party integration software has

also written adapters to Magento to ease integration requirements.

We share the most common integration requests and our approach.

Integration with Existing Systems: Common Requests

Sending Orders to Order Management System or Drop Shipper—For robust order management processing.

Inventory updates from Inventory Master/ERP —Providing customers with accurate stock information online; an ideal way to increase customer satisfaction and revenue.

Receiving order and ship status from Order Mgmt System —Allowing customers want to sign in and track their order status.

29© 2009 Optaros, Inc. All rights reserved.

Allowing customers want to sign in and track their order status.

Customer account creation or and updates to CRM —Offering a 360-degree view of your customers for better multi-channel experiences.

Export to Business intelligence (catalog, order, customer) —Providing real user data that can be tied to campaigns, used by R&D and more.

Integration with Existing Systems

Have a master platform for business processes supported by distributed systems.

Each of your business entities (quote, order, customer, product, stock, etc.) should be “owned” by a single system at any given time. Other systems should go through the master, and accept that their local copy might be overruled.

30© 2009 Optaros, Inc. All rights reserved.

Maintaining this clear model and chain of command simplifies a huge amount of standard integration pains. Multi-master models are for more difficult to handle in distributed environments.

Integration with Existing Systems

Use systems that can support the real-time nature of the web.

You can’t typically rely on ERP (enterprise resource planning) or WMS (warehouse management systems) to reach ecommerce SLAs (service-level agreements) in real time.

For this reason, you shouldn’t build any synchronous connectivity to

31© 2009 Optaros, Inc. All rights reserved.

For this reason, you shouldn’t build any synchronous connectivity to ERP or WMS systems, unless you also have a very efficient fallback mode that can provide acceptable functionality when the traffic on your website is high, or your inventory system is unreachable.

Integration with Existing Systems

Multi-channel adds to the complexity.

Think about all the different ways in which your customers interact with and order from your company, and how they will integrate with the ecommerce experience.

For example: how will orders placed by phone be managed? Will they integrate back with online order tracking? What is the management

32© 2009 Optaros, Inc. All rights reserved.

integrate back with online order tracking? What is the management process for orders placed online to be picked up in store?

Integration with Existing Systems

There are few widely adopted standards.

EDI (electronic data interchange), OAGI (Open Applications Group) and UBL (universal business language) all offer good bases to standardize processes and messages, but all are somewhat complex to put in place, while none are yet widely adopted. They are also limited to only a subset of what modern ecommerce platforms need.

33© 2009 Optaros, Inc. All rights reserved.

Finding the best way to make your multiple systems “talk” with one another may be a lengthy process in itself.

Integration with Existing Systems

Compliance.

Some integrations may be required to meet specific compliance standards. For example, payments made with credit cards need to follow PCI DSS (Payment Card Industry Data Security Standards) regulations.

Other things to consider include: the transfer of customer data

34© 2009 Optaros, Inc. All rights reserved.

Other things to consider include: the transfer of customer data between countries, and even industry-specific regulations (such as HIPPA for those in healthcare).

Integration with Existing Systems

Data Migration.

How can you effectively transfer customer data from one system to another? Manual transfer is a tedious and time-intensive task, especially when data differs across systems.

One way around this is to use cloud-based integration software, such as that offered by our partner Boomi, to help ease data transfer. For

35© 2009 Optaros, Inc. All rights reserved.

as that offered by our partner Boomi, to help ease data transfer. For example, this can export customer data inputted in an online order form directly to your CRM system.

Conclusion

Hopefully this guidebook helped address some of your questions. If

there are other questions you would like to discuss, please reach out to

us at www.optaros.com or contact me at [email protected]

Marc Osofsky, VP Marketing

You can also follow us on Twitter, Facebook, LinkedIn or our Blog to let

us know your thoughts.