How to Display Magento Sidebar of the Full Shopping Cart Using Ajax

Today we’d like to introduce the method of displaying the shopping cart’s sidebar after adding the product to the cart in Magento® 2. We are going to use AJAX for these purposes. You can also customize your online store’s shopping cart by performing this method if your shop is based on Magento.

Now Magento 2 has got a quite useful out-of-box feature: adding the product to the shopping cart with AJAX. You can turn on this option on the store setting page. This option works with all the products which don’t have file options.

Our task is to display the sidebar for a while after adding a product to the shopping cart. Here, the sidebar is a shopping cart block placed in the page title. We recommend you the specific module for doing this task.

<div class="ufy-block">
  <div class="ufy-block__wrapper">
    <p class="ufy-block__label">Useful for you:</p>
    <ul class="ufy-block__list">
      <li class="ufy-block__item"><a href="https://web4pro.net/blog-news/extension-attributes-for-total-model-in-magento-2/" target="_self" rel="noopener" data-wpel-link="internal">Extension Attributes for Total Model in Magento 2</a></li>
    </ul>
  </div>
</div>

Sidebar Implementation for Shopping Cart in Magento 2

Today we want to share the way how to solve this problem with our Magento AJAX tutorial. In Magento 2, the shopping cart is formed with a JavaScript plugin called the Knockout. The process is based on the shopping cart data which returns from the server with AJAX in JSON form. The browser stores these data until the next update. getSectionData() method of \Magento\Checkout\CustomerData\Cart class provides this JSON.

Let’s take a look at its implementation:

public function getSectionData()
    {
        $totals = $this->getQuote()->getTotals();
        return [
            'summary_count' => $this->getSummaryCount(),
            'subtotal' => isset($totals['subtotal'])
                ? $this->checkoutHelper->formatPrice($totals['subtotal']->getValue())
                : 0,
            'possible_onepage_checkout' => $this->isPossibleOnepageCheckout(),
            'items' => $this->getRecentItems(),
            'extra_actions' => $this->layout->createBlock('Magento\Catalog\Block\ShortcutButtons')->toHtml(),
            'isGuestCheckoutAllowed' => $this->isGuestCheckoutAllowed(),
            'website_id' => $this->getQuote()->getStore()->getWebsiteId()
        ];
    }

We should pay close attention to ‘extra_actions’ array element. It’s used for adding extra buttons to the sidebar, such as PayPal Express Checkout. But you can also add any block there, which implements \Magento\Catalog\Block\ShortcutInterface interface.

Step 1. Set up Delay Time Configuration

So let’s start. I’ll pass out creating registration.php and etc/module.xml files. We need these files only for registering the module. First, we set up delay time configuration using etc/adminhtml/system.xml file. Here is how it works:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
       <section id="web4pro_ajaxcart"translate="label"sortOrder="10"showInDefault="1"showInWebsite="1"showInStore="1">
            <label>Ajax Cart</label>
            <tab>mg_extensions</tab>
            <resource>WEB4PRO_Ajaxcart::config</resource>
            <group id="general" translate="label" sortOrder="100" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>General</label>
                <field id="cart_add_delay" translate="label comment" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Cart Add Popup Delay</label>
                </field>
            </group>
        </section>
    </system>
</config>

We should set the default value in the etc/config.xml module. Let’s take a 1 second as the default delay time.

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../Store/etc/config.xsd">
    <default>
        <web4pro_ajaxcart>
            <general>
                <cart_add_delay>1</cart_add_delay>
            </general>
        </web4pro_ajaxcart>
    </default>
</config>

Step 2. Implementation of the Handlers for Two Events

Now we need to implement the handlers for two events. The first event is checkout_cart_add_product_complete which happens when the user successfully adds the product to the shopping cart. The second one is shortcut_buttons_container which can help us add the child block to the ‘extra_actions’ block. Let’s describe these events in the etc/events.xml file:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="shortcut_buttons_container">
        <observer name="ajaxcart" instance="Web4pro\Ajaxcart\Observer\Addshortcut" shared="false" />
    </event>
    <event name="checkout_cart_add_product_complete">
        <observer name="ajaxcart" instance="Web4pro\Ajaxcart\Observer\Addproduct" shared="false" />
    </event>
</config>

WEB4PRO\Ajaxcart\Observer\Addproduct class has the following implementation:

namespace Web4pro\Ajaxcart\Observer;
class Addproduct implements \Magento\Framework\Event\ObserverInterface {
    protected $_checkoutSession;
    public function __construct(\Magento\Checkout\Model\Session $session){
        $this->_checkoutSession = $session;
    }
    public function execute(\Magento\Framework\Event\Observer $observer){
        $this->_checkoutSession->setShowCart(true);
    }
}

As you can see, we get Magento\Checkout\Model\Session object in observer’s constructor. So if it’s processed successfully, we’ll set the session variable to ‘true’. It is necessary to do because in Magento 2, adding a product to the shopping cart and reloading the sidebar content always work in different AJAX requests from the browser to the server.

Step 3. Shortcut.phtml Block’s Template

Now, look at the jQuery AJAX request example. We implement WEB4PRO\Ajaxcart\Observer\Addshortcut class the next way:

namespace Web4pro\Ajaxcart\Observer;
class Addshortcut implements \Magento\Framework\Event\ObserverInterface {
    public function execute(\Magento\Framework\Event\Observer $observer){
        if($container = $observer->getEvent()->getContainer()){
           if($container->getRequest()->isAjax()){
               $block = $container->getLayout()->createBlock('\Web4pro\Ajaxcart\Block\Shortcut')
                   ->setTemplate('Web4pro_Ajaxcart::shortcut.phtml');
               $container->addShortcut($block);
           }
        }
    }
}

The container is a Magento\Catalog\Block\ShortcutButtons block where we place our child block using the addShortuct method. The block must implement \Magento\Catalog\Block\ShortcutInterface. Otherwise, it won’t be added. This event is triggered before the rendering Magento\Catalog\Block\ShortcutButtons block in the _beforeToHtml() method.

Let’s look at the \WEB4PRO\Ajaxcart\Block\Shortcut class implementation.

namespace Web4pro\Ajaxcart\Block;
class Shortcut extends \Magento\Checkout\Block\Cart\AbstractCart implements \Magento\Catalog\Block\ShortcutInterface {
    public function getAlias(){
        return 'cart_delay';
    }
    public function getCacheKeyInfo()
    {
        $result = parent::getCacheKeyInfo();
        $result[] = $this->_checkoutSession->getShowCart();
        return $result;
    }
    protected function _toHtml(){
    if($this->_checkoutSession->getShowCart()&&$this->getRequest()->getActionName()=='load'){
            $this->_checkoutSession->setShowCart(false);
            return parent::_toHtml();
        }
        return '';
    }
    public function getDelay(){
        return 1000*$this->_scopeConfig->getValue('magentice_ajaxcart/general/cart_add_delay');
    }
}

Used Methods

getDelay() method returns the loading time value in milliseconds.

getAlias() method allows us to implement \Magento\Catalog\Block\ShortcutInterface.

In __toHtml() method, we set the flag of displaying block to ‘false’ right after the output to avoid repeated block output and also implement its display only on the sidebar.

getCacheKeyInfo() method allows us to save the various blocks variants to the cache: a block with output and without one.

shortut.phtml block’s template looks the following way:

<script type="text/javascript">
    require(['Magento_Customer/js/customer-data'],function(customerData){
        customerData.reload(["cart"],false);
    });
    jQuery('.minicart-wrapper').addClass('active');
    jQuery('.minicart-wrapper a').first().addClass('active');
    jQuery('.minicart-wrapper div').first().show();
    setTimeout(function(){
        jQuery('.minicart-wrapper a').first().removeClass('active');
        jQuery('.minicart-wrapper div').first().hide();
        jQuery('.minicart-wrapper').removeClass('active');
    },<?php echo $this->getDelay(); ?>);
</script>

As you can see, this template content is just JavaScript. First, we set “active” class on the sidebar elements for displaying this class. After the timeout, we remove the class in order to hide the sidebar. The first-row code carries out cart content reload from the server.

You can use the shortcut block to place any other custom blocks to the sidebar.

<div class="ufy-block">
  <div class="ufy-block__wrapper">
    <p class="ufy-block__label">Useful for you:</p>
    <ul class="ufy-block__list">
      <li class="ufy-block__item"><a href="https://web4pro.net/blog-news/using-negative-values-product-quantity-in-magento-2/" target="_self" rel="noopener" data-wpel-link="internal">Using Negative Values for the Product Quantity in Magento 2</a></li>
      <li><a href="https://web4pro.net/blog-news/pricing-rules-in-magento-2/" target="_self" rel="noopener" data-wpel-link="internal">Creating Pricing Rules in Magento 2 Using Amasty_RulesPro</a></li>
    </ul>
  </div>
</div>

The Perfect Real Estate Agency Website

If you are a real estate agency, and you want to bring your business to a new level, or your goal is providing your customers with the most qualitative services, probably, you are looking for a receipt of the ideal real estate agency website. A full-featured website with the best user experience possible attracts a lot of customers and makes them stay with you for always. Are you agree? Just step into your customer’s shoes, and you’ll see how important the website is for users nowadays.

Today we reveal the elements of the perfect real estate agency website. We are going to share some features that bring success to this sphere, and you’ll learn how to create the ideal website.

First of all, let’s try to figure out what expectations and problems have your customers.

User’s Expectations of the Real Estate Agency Website

There are two types of real estate agency’s clients. They are those who sell and those who buy.

Those Who Buy

Let’s imagine that you are looking for some property in the specific area. What factors usually affect you while choosing the estate? They could be the following:

  • the lack of time;
  • an ability/disability to relocate and take part in meetings for inspecting the property;
  • some money limits;
  • the level of credibility to an agency;
  • customer’s service quality, the personal attitude;
  • freedom of choice (perhaps, you always consider several variants of estate):
  • location and surrounding areas;
  • the volume of relevant information about the property;
  • some additional information and useful advice.

So, as you can see, buyers face a lot of issues, such as the lack of time for tripping, searching, and communicating. That’s why they must find all answers to these questions in one place – your website.

Those Who Sell

The same goes to sellers. They should base on the factors we considered above. The sellers must predict and answer all possible buyers’ questions that can arise. They need to share the relevant information about estate they sell. This way, the sellers can win the buyers’ trust.

But at the same time, the sellers have the similar problem: the lack of time for tripping, searching, and communicating.

And what about you, the real estate agent? Haven’t you the same pitfalls that sometimes prevent you from dealing with the right people? All of us lack time, but our modern world requires a lot of our efforts. We can cope with all these things and solve the tasks of three parts in one time by creating the perfect real estate agency’s website.

A good website must solve the both parts’ problems: the customer’s and business’s.Our task is to look at our customer’s expectations, consider how we can answer these possible question, and how we can implement the features on the website that is easy to use and pleasant to visit.

Real Estate Agency Website Template

Why do we call it template? Don’t take it too literally, because there are no templates and limits for good and interesting solution. We just base on our project experience in the real estate sphere. We came up with some ideas of the ideal real estate agency’s website. It should include some special features, basic functionality, and necessary pages. We call it “template” because it always works good but looks absolutely differently for all projects.

First, let’s make a decision about the powerful base for the website. In most cases, Drupal or WordPress CMSs will be for this website type.

Then let’s think about the structure.

Real Estate Agency Website Functionality

About me/us Page

You should tell the world about your business. Place the relevant information on this page.

Property to Buy

This place is for buyers who look for properties. They will find a wide variety of properties on this page.

Property to Sell

Help the sellers make deals with buyers. They can sell their properties using your website.

Description Page for Each Property

Your customers provide the relevant information on their properties, share photos, and contacts on the specific pages.

Clients and Testimonials

Trust and again trust. This place is dedicated to earning customer loyalty and showing clients’ reviews.

User Cabinet

It is a good way to show your respect to website visitors, make their experience much better, and at the same time get some data for the future interaction. It also secures the user’s data and helps save data related to deals, viewed properties, and some other useful information.

FAQ

Answers to frequently asked questions save your and customers’ time and help them get something that they look for immediately.

Blog and News

Adds relevant information about your services, includes useful advice for clients, keep them in touch with you and also growth their trust. By the way, a blog with qualitative content is good for SEO and appreciated by search engines.

Contact Page

Gives all your contacts for keeping in touch with all your website visitors and potential customers. Be reachable from any place in the world.

Real Estate Website Features

As for features, they help us to get the best possible user experience and make the website user-friendly.

Here are the must-have features for the real estate website:

Mortgage Calculator

Allows accounting the mortgage for buyers.

Property Listing

Your website is a catalog. So it should include the listing that is comfortable to use.

Property Comprehension

It’s a very helpful feature for website users. When you have some variants, you want to compare them. Give this ability to your customers.

Save, Print, and Download Brochures

If we talk about properties, interaction with the offline brochure is important when you want to ask somebody for a piece of advice or in case you need time to make a decision.

Virtual Tour

It’s our future. Virtual tours allow getting to any place from any point of the planet using only the computer and the Internet. Show how your properties look in reality, and your customers will trust you more.

Featured, New, Sold Properties

The customers should track the progress on selling properties and adding new opportunities. Provide them with these useful features.

Filters

Filters by location, cost, and other factors are the indicators of advanced user experience. Make your website super-user-friendly and modern.

How You Can Get The Perfect Real Estate Agency Website

Finally, we move to the key point. How can you get the ideal website? Let’s summarize:

  • prepare relevant and high-quality content for your website;
  • figure out your requirements and goals;
  • consider the useful features you want to implement;
  • trust us your project, and we’ll develop the perfect real estate agency website for your business success!

Meet Google’s Invisible reCAPTCHA!

Finally, going through many years of experience, Google developed the new generation of reCAPTCHA. Now, you shouldn’t enter the text from the image, choose the image elements, or even tick the box in order to prove that you are not a robot. Now reCAPTCHA is invisible! So it doesn’t require any additional actions for checking the user. Let’s look how it worked before, and tell the difference.

How reCAPTCHA Actually Works

It’s safe to say that CAPTCHA is a great technology for protecting the website from hacking. It is used for detecting robots and spammers by the processes that check the people’s sensor systems and brain work, like an ability to understand the images, listen out recordings, and structure the information by some logic (like choosing the pictures with trees and analyze the question).

Here is how it looks:

google invisible reCAPTCHA

The Main Purpose of reCAPTCHA

CAPTCHA or Completely Automated Public Turing test to tell Computers and Humans Apart, is a technology that allows telling the difference between bots and the people. It is used for reducing the number of spam attacks and protecting the websites. CAPTCHA which asks the user to tell what is shown in the image is the most popular type nowadays. It successfully coped with this task for many years.

As far as computer and technologies become smarter than before, sometimes the computer catches encrypted senses even better than the human eye does. Now the computers are trusted to read and detect some hardly-visible letters on the ancient masterpieces and archaeological trophies.

At the same time, images are not a problem for computers. They have already begun to understand pictures. Search engines like Google can perform the search by images. Therefore, Google artificial intelligence goes forward and is developed day by day.

As you can see, the thing is that it causes some other issue: machines become smarter, and the interactive reCAPTCHA is not enough. Bots can outsmart it.

New Google’s Invisible reCAPTCHA

Google refused the traditional interactive reCAPTCHA. It developed new generation invisible reCAPTCHA that analyzes the user’s behavior. It will analyze the movements of user’s mouse and IP-address. The thing is that bots usually move the cursor using the shortest way. But people can’t do this and don’t want.The new reCAPTCHA looks like a little box which Google ticks by itself and tells you that you are not a robot. Congratulations 🙂

Our WEB4RO team has developed a lot of websites secured with reCAPTCHA. We highly recommend not to pass up this new technology and add it to your website via API. You can find reCAPTCHA here. If you need some help, please, contact us. We’ll provide your website with a new invisible reCAPTCHA.

Keep up with the times and watch your website!

Our Client Wins the Startup Contest!

Breaking News! Our WEB4PRO team is so happy to tell that our client Miras Nurakhmetov with his Linguahub.me startup won the money prize to the value of 150 000 tenge and ability to become a resident of Tech Garden acceleration in Open Innovations Startup Tour 2017.

We a glad to contribute a little bit to his business success by developing the website for his startup Linguahub. It was a good job. We highly appreciate our partnership and continue on to cooperate with Miras. WEB4PRO team likes to work with good people who have bright and interesting ideas. So, as you see, this creative cooperation and inspiration by the project can be useful for our clients. This event means a lot for us, and it’s so pleasant to get a good feedback. That means we are on the right course.

“I was very impressed with the level of professionalism of Web4Pro team especially Irina Bondarenko and Marat Mingazov. Very committed team and finishes the project no matter what. Price/quality ratio is at its finest!”

– Miras Nurakhmetov

Congratulations, Miras! We are so glad to take part in your business success and help your Linguahub.me website achieve the best results! We are proud of this and want everybody to learn more about Startup Contest and Miras’s project on Forbes.

Now, welcome to Linguahub, the place where everyone can pick interesting language courses.

Pleasent Surprise From D&CO Partner

It’s so pleasant to get Christmas and New Year’s presents from friends, but even more pleasant to know that these friends are your reliable partners. Today WEB4PRO team was enjoying a tasty gift from a good partner – D&CO.

That wonderful cake was just fantastic and had a real taste of friendship.

D&CO
We wish the pinnacle of success to your project. And we believe that any great idea can bring even the greater results! We are proud of our partnership and happy to help you in reaching your business success. Let your life be so beautiful, tasty, and colorful as this wonderful cake!

Thank you, dear partner and friend! Thank you, D&CO.

Case Study: Magento and CRM Integration

Now our Magento® team is working on a complex and interesting task: Magento and CRM integration. Integration with CRM influences users registration in the system and checkout process. We built a special architecture, in order to integrate these two systems. It allows us reaching the required result. Let’s start from scratch and figure out what the CRM is and why it’s so useful.

CRM and eCommerce

In plain words, CRM is a huge database where the data about products, customers, and orders are stored. It allows you to gather the all needed information from your offline shops, online stores, and apps in one place. It drastically simplifies the process of store management and interaction with your customers. So if you have the CRM, its integration with your one or more online stores will be a great solution.

How Magento and CRM Work Together

So, you have a CRM which is connected to your Magento based online store. The process of interaction between Magento and CRM is the following: the user logs in. If he doesn’t exist in Magento database, the data from CRM are extracted and sent to Magento. It’s a useful solution in case you need to transport the data about your customers from your CRM to Magento based online store.

As you can see, it’s a complicated process of working with data. It needs the deep exploration and a complex approach. There is a wide variety of CRM nowadays. In our case, we have a custom CRM. So the approach couldn’t be standing here. This case requires the unique solution and a special custom API development. API is a programming interface that allows you to manage the interaction between two projects.

How to Fix Magento Module Conflicts

Hi everybody! The winter holidays have finally passed, and our Magento® specialists team is working on their various tasks. Today we will share a few words on our development processes and thing we are working on now and have already done.

Magento Module Conflict Fixing

Our Magento specialists faced the conflict of two Magento modules. It’s a pretty common situation but could be a difficult issue. The most popular reason for modules conflicts in Magento is that one or more modules files replace the same files in Magento core. Usually, it happens with some custom and complicated modules. For example, such modules as shipping and payment modules don’t replace the files, they just plug and extend the functionality.

But we have some custom modules and need to make them be friends. The problem is that with their installation together, the function of changing the image in order had been broken.

Surprisingly, but there are different Magento extensions that will never cause the conflict on Magento. Why? – It’s quite simple. Such extensions plug into Magento architect like the adds on and have no negative effect on each other. But the custom modules are much more complex.

Resolving Magento Module Conflicts

We practiced several methods of resolving Magento module conflicts.

The first one is related to the source of the problem: when you install the custom module to Magento, it doesn’t just plug in. In most cases, it rewrites some default Magento files. That’s why we should fix this issues. Here are the things we can do:

  1. Try to switch off the rewrite coding.xml in conflicting file. Merge the code from this file to another conflicting file.
  2. Switch off the rewrite in coding.xml, and then extend the other extension with PHP file of conflicting extension.
  3. You can make the one extension depend on another one. Use capability for these purposes.

There are the easiest ways to fix the conflicts. But you can also detect the conflicts with some special Magento Extensions. Here, on Magento Commerce, you can choose the best one for your needs. But some other issues need the more complex approach.

Our Magma Email Template is in TOP Best!

2017 New Year is already on its way, and all of us begin to create the list of things we want to do the next year. Some goal, some wishes, and dreams. Several of them will come true, some of them not, but anyway, it’s a very good idea.

Now we would like to recall some achievements we have this year. And one of them is really pleasant for us. It’s connected not only with a professional and technical side of our job, but also with some kind of art and creativity, and of course, contains a part of our soul.

Meet Magma, professional email template. We are pleased to know that it got to the list of TOP best email templates for MailChimp 2016 on Envato, well known and very interesting resource on web design.

Magma. Professional Email Template

Magma could be interesting for anyone who runs some business and uses email newsletter like one of the marketing tools. It’s useful email template for the business newsletter, developed in clean and modern design. It has a lot of space and is perfect for those who tend to minimalism. Its elegant style will help you to present your brand in the best way.

The features of Magma:

  • 35 blocks in drag-and-drop, which you can choose and change according to your needs and a type of newsletter;
  • much clean white space, which focuses the subscriber on your product;
  • flat design and modern fonts;
  • “Blog”, “Reviews”, “Partners” blocks;
  • compatible with MailChimp and GetResponse;
  • mobile-friendly;
    commented HTML code;
  • allows to build your own layouts;
  • compatible with most modern browsers and mail clients.

It already has 5 stars and 245 downloads on ThemeForest. Those people have already got all benefits of email marketing with Magma. Join them and share our happiness! By the way, another blog included our Magma to the list of best email templates for MailChimp. Weelii thinks that it should be among 31 best HTML business email templates. It’s joyful. And that means we are on the right course.

A goal for the next 2017 year – new great product, which will be pretty useful for you, our dear clients. Thank you for staying with us.

Page Loading Speed and Conversion

Page loading speed drastically influences your conversion rate. If the website is slow, visitors are not ready to wait for the full page loading and then go away. Chances to get orders to fall down, and the conversion rate decreases. Sounds not good, isn’t it?

But we can avoid this situation and optimize our websites performance. Why not give a try?

We are going to focus on the factors, which influence page loading speed, find out the connection between the website performance and conversion ratio, get the formula of conversion rate, get the average and ideal time of page loading, and learn how to improve page loading speed and increase conversion value.

Everything is not so difficult as it seems at the first glance. Let’s get it started!

Conversion Meaning

First of all, let’s start from scratch and make it clear what the conversion means.

Conversion, in the meaning of Internet business, is the value of targeted actions, which the users perform on the website. For example, it could be the number of orders in the online store, clicks on the context advertisement for those, who use Google ads. Even likes and shares of an article in a blog could mean conversion. It depends on the goals you set for your marketing strategy.

In plain words, it’s an action you want to get from your website visitor.

Here a bright life example of conversion.

Let’s recall Queen rock group concerts. There are thousands of people in the stadium who came to see their concert. They were visitors. Look at the image below. Freddie Mercury makes a call to action: he aims the audience sing with him. Thousands of people are singing, not only listening. They perform the targeted action. This is conversion.

Queen's conversion

What Is The Conversion Rate?

Conversion rate (CR) is the percentage of website visitors who perform the targeted action on a website.

Here is a formula of conversion rate:

CR = (Visitors who took an targeted action/ All website visitors)*100%

  • Let’s imagine that you have 1000 website visitors monthly.
  • 300 of them buy something.

The conversion rate will be the following:

CR= 300 / 1000 * 100%
CR= 30%

So, the conversion rate will be 30%.

The more is the conversion rate, the better.
It is the main index of efficiency in Internet Business, especially in eCommerce.

Now we are going to consider not so the positive situation as the previous one. But it’ll allow us to find the critical link between the website performance and conversion rate.

How Page Loading Speed Affects The Conversion

Okay, let’s imagine that someone has an eCommerce website, but it’s slow. And you visit this online store. You are going to buy some present for your friend. So you come to the website and wait one second, two seconds, three seconds, four seconds… Don’t be surprised! Just measure the time. Are you ready to wait so long? Perhaps, you are not. So the reality says that you would rather wait no more than 2 minutes and then go away to the other online shop.

And just think, there are thousands of people like you, who will do the same. They are the visitors and potential customers. They could buy products. But they didn’t. Let’s think that it was 3K of you. Here is the conversion rate which would have been if the website had been fast.

3K visitors come to the website.
Perhaps, 700 people buy something.

CR=700 / 3000 * 100% = 23%

What Happens For 3 Seconds

Here is the reality, if the website is slow, and page load lasts more than 3 seconds.

3K visitors come to the website.

According to Akamai research, 40% of ready-to-buy visitors won’t wait for full page load. So, the number of orders (NO) decreases:

NO= 700 possible orders – 40% of possible orders;
NO= 700 -280 = 420 orders.
CR=420 / 3000 * 100% = 14%.

The situation of this kind is very common, especially during peak hours, the world store holidays and sales, when the number of website visitors becomes enormous. Very often websites even crash and don’t stand the load.

In the example, we see that conversion rate falls down almost by two times! How come? The results of world research will make it clear.

How Page Loading Influences Visitors’ Behavior

If the website loads slowly, the company loses money quickly, – it’s a proved fact in practice.

57% of visitors, who come to the web page via mobile devices, and go away because full page loading lasts more than 3 seconds.

Reducing the speed of targeted page loading by one second causes the following effects:

  • reducing the number of page views by 11%;
  • reducing the number of satisfied visitors by 16%;
  • reducing page conversion rate (CR) by 7 %.

Akamai American company research has shown that:

  • 47% of users expect that web page must be loaded in 2 seconds;
  • 40% of users can leave the website if it’s loaded more than 3 seconds;
  • 52% say that fast page loading influences their loyalty;
  • 3 seconds of waiting reduce the visitors’ loyalty by nearly 16%.

page loading speed and visitors' loyalty

The fact that page loading speed influences the users’ behavior is proved by the other research – The Gomez Peak Time Internet Usage Study, conducted by Equation Research:

page loading speed and visitors

  • 85% said they were not ready to return after the unsuccessful try to open the website;
  • 75% of visitors went to the competitors’ websites in the peak hours;
  • 50% users expressed the less positive opinion on the company, which has the slow website;
  • 30% shared their negative impression with their acquaintances.

The visitor will leave your website before you show your advantages.

Almost 75% of online shoppers who had trouble with website performance say they won’t return to the site to buy again. And obviously, they would also recommend their friends not to buy or pass by those websites.

And What about Google and Yandex?

The search engines don’t like slow websites. Since January 2016, Google has been officially considering page loading speed for ranking websites. The slower websites get less targeted users than their fast colleagues. Yandex appreciates the human factor: if the page is loaded slowly, people often close it without waiting for the full load.

That’s it. It’s nothing to add. We need to have our websites optimized.

How to Check Your Website Page Loading Speed

Before speeding up your website, let’s check it for page loading time and mobile friendliness. Here are several free online services that will help you to check the speed of your website.

Google PageSpeed Insights

This Google’s test shows the level of your website mobile friendliness and how well its pages are loaded. You see the result in color and points. If the color is green, you are on the right way, and everything is okay. But if the color is red, you need to make some improvements.

Pingdom

Another great and careful tool is Pingdom. It’s pretty useful when you want to know page loading time and measure the exact parameters that build your website performance.

What does it can?

  • shows the exact page load time;
  • displays the size of a web page;
  • gives a total mark for the website performance;
  • allows us to conduct the website speed test from different world locations;
  • creates the grid with exact sizes and time for content elements load;
  • provides you with recommendations on how to improve the current situation.

We found it very helpful and suggest you try it out.

Website Grader

And one more tool in our list is Website Grader. It helps to know how strong the website is and shows its parameters in three colors and grades. For example:

  • website performance:
  • mobile friendliness;
  • SEO;
  • security.

And, of course, it gives you exact recommendations on how to increase the website speed and improve the other important parameters.

Finally, we are at the last targeted point of our way. Now we’ll learn how to improve the website performance and increase a conversion rate as a result.

Top Tips on How to Improve Page Loading Speed

Now we should reduce some unnecessary things, in order to speed up the website. Here are the elements we should pay attention to:

Optimize your code. Here we talk about CSS, HTML, and JavaScript. In most cases, websites with low performance have some issues with the code, especially CSS. If you put all your CSS into one file, it will be much better than when the website loads styles from different places. Also, the same situation is with HTML. Cut off unnecessary parts of the code, make it shorter, and your website will work faster.

Use image compression. Large and heavy images slow down page loading speed. Such tools like FileOptimizer or famous Adobe Photoshop will help you to optimize your images. In Photoshop, you should choose “Save for web” and enter the necessary image size.

Reduce the number of HTTP requests. Anytime the website is loaded, the browser requests the server. And the more requests it makes, the less is the speed of page loading. So, if you organize your CSS files, and put the information on one website page to one file, it will help to improve your website performance.

Use data caching. It is a good approach for both sides, server and browser. Cache saves and stores the data of previous requests, such as images, styles, cookies. That’s why the time is not wasted for finding all these data, so page loading is faster.

Shorten your links and make them SEO-friendly. The same situation is with links. They should look good and lead to the correct place. Reduce the number of redirects, and it will be required less time to find a necessary page and load it.

Avoid bad requests. Here we should make a pause o the “404 error” and other types of errors, which rise out when we request some web page, and the link is broken. Such links just waste the resources of your website. Consider that, and check your links for bad requests.

Make the responsive design or a mobile version. As we know, more than 70% of users come to the websites from mobile devices. So, your website should be ready for this and be responsive. This way it will be loaded much faster.

And, finally, check your website with Google Speed Test, and you’ll see all the parts you can improve.

Conclusion

Now we see that the conversion rate depends on page loading speed. The faster is your website, the more chances you have to get the high conversion rate.

And, also, mobile devices must be taken into consideration. If we don’t pay attention to their traffic, we lose potential customers. That’s why we should follow several recommendations for a website:

  • optimize the website;
  • make it responsive and user-friendly;
  • keep them it working and maintained;
  • update plugins and themes timely.

More Certified Magento Developers!

Breaking news! Our team is proud of the latest events in our company. We worked hard during this year, and finally, this day has come. Our developers passed Magento® certification and got the status of Magento Certified Developer Plus.

How We Became Certified Magento Developers

First of all, they have been mastering their skills and knowledge for several years. Then they prepared for Magento exam, which is pretty complicated and allows the specialists to know their real level of experience.

There were 120 minutes for the test, which included 87 items. The test was based on Magento Comunity Edition 1.9 and Magento Enterprise. You should pay 260$ to try out. Magento U provides the specialists with free study guides. Here you can learn more about Magento certification.

There are two exams in Magento certification – Magento Developer and Magento Developer Plus. Our guys got the last one. They have certificates of Magento Developer Plus.

What Does It Mean?

The level of Certified Magento Developers means that this specialist is:

  • skillful in all processes and techniques in Magento;
  • experienced in a catalog structure, indexes, promotions, checkout processes, payment and shipping methods, price generation, widgets, API, etc.
  • ready to make design decisions on code level;
  • skillful in Magento Enterprise Edition;
  • ready to go into details and create a unique solution on Magento.