Almost 3 years have passed since the Magento 2 release. Magento 2 was the next evolution step of the well-known e-commerce platform that brought a more user-friendly design, easier administration and customization, more valuable features, SEO options, more speed, and… more challenges.
But first things first.
What are the Magento 2 pros and cons?
The Magento 2 version improved several areas crucial for merchants. In particular, if we compare Magento 2 to Magento 1, we’ll see that:
- The page loading speed became 50% faster (for home pages, simple product, category, and CMS pages);
- Catalog page viewing capacity increased by 150%, which is 2.1 million additional page views per hour;
- The checkout page is now 38% faster and is capable of processing 117% more orders per hour. See how to analyze the volume with our Magento 2 Order Export/Magento Order Export.
Check our Magento 1 vs Magento 2 performance comparison for more details.
Better system performance, quicker loading, and a more intuitive UI were achieved in Magento 2 as a result of implementing a more advanced technology stack (PHP, HTML, and CSS), as well as thanks to including Full Page Cache, Varnish, and Redis support and improving indexers.
Faster checkout was complemented with the support for popular payment options (Braintree, CyberSource, etc.), which is a good background for dealing with cart abandonment.
Magento 2 simplified web store administration by providing a more user-friendly backend interface and allowing cooperation of multiple admins.
To get more information regarding Magento 2 features, read our special blog post Magento 2 release: facts and rumors.
For those considering a shift from Magento 1 to Magento 2, the cons are obvious. The new version of the platform, in particular, the Enterprise Edition, costs much more. Also, Magento 1 extensions and custom themes are not compatible with Magento 2, so retailers have to purchase their equivalents for the new version.
Yet, the need for migration is out of the question. Magento keeps polishing their 2nd edition by adding new features and solving bugs. The Magento 2.3 should bring us even more valuable features and updates. Meanwhile, the time to upgrade your Magento 1 is now regarding the latest announcement, so we can hardly doubt the need for the transition.
Unfortunately, today Magento 2 is not that challenge-free as we would like it to be. Mainly, merchants face the same problems, which we will now try to solve altogether.
Magento 2 installation and configuration issues
1. Admin Panel Problems
If you face an error after logging in to the Magento 2 Admin, most likely the base URL is incorrect. Check that it:
- starts with http:// or https://;
- ends with a slash;
- corresponds to the statement in the web/unsecure/base_url record of the core_config_data database table.
After you set things right, run the installation again.
If you have less serious issues during admin sessions, a simple re-logging can help.
2. Re-indexing
Several indexers are invalid in Magento 2. As a result, you can see the message “One or more indexers are fully invalid”. Re-index your store using the command php bin\magento indexer:reindex. Alternatively, you can re-index only particular indexers using bin\magento indexer:reindex indexer_name.
3. 404 error for scripts and CSS
If you get 404 error for scripts and CSS located in static resources, this can happen because Magento 2 creates symlinks for some static resources when you are not in the production mode. To solve the problem, go to app/etc/di.xml and find the section named virtualType name=”developerMaterialization”. Here, you should either modify or delete the item name=”view_preprocessed”.
To modify, change the content from Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink to Magento\Framework\App\View\Asset\MaterializationStrategy\Copy. Alternatively, you can clear all existing symlinks by deleting the folders in pub/static. Yet, be attentive! Don’t delete the .htaccess file.
4. Frontend doesn’t reflect backend changes (CSS Cache)
Most likely the frontend is working on the previous (outdated) CSS files. To avoid such cases, always clear the static content cache after making any backend changes (to the platform or an extension).
If the problem remains, you can check the browser console for errors (for example, in Chrome this will be Developer tools / Console).
Also, you can try following Magento 2 template page hints. For this, go to the admin panel and open Stores? Settings? Configuration ? Advanced ? Developer? Debug ? ‘Enabled Template Path Hints for Storefront’.
5. After Magento 2 installation no graphics is displayed
Probably, the path to images and stylesheets is wrong as a result of an incorrect base URL or improper server rewrites. To solve the problem, first, make sure that your static assets are located correctly (in the frontend and adminhtml directories under <your Magento install dir>/pub/static/). Then check your Apache server rewrites settings and your Magento server base URL. Wrong setting of the AllowOverride directive can prevent the system from retrieving static files.
Also, you can use the magento setup:static-content:deploy command to deploy static view files in the production mode. The command will also work in any mode up to Magento 2.2 version. However, starting from Magento 2.2 version, in case you need to deploy it in the developer mode, add -f key: magento setup:static-content:deploy -f.
6. Magento 2 update required
Magento regularly comes up with enhancements for their platform, which either solve the known issues or provide new functionality. There are 3 ways to securely update your store. But before you go for any of them, remember to back up your files.
7. Magento 2 slow performance
If Magento 2 fails to meet your speed expectations, you can try to:
- Upgrade Magento to the latest version;
- Enable Varnish Cache;
- Set flat categories and products to increase the read speed of the database;
- Reconfigure JavaScript and CSS settings;
- Set up Content Delivery Network (CDN);
- Optimize images and themes.
Check this guide for a detailed explanation of each point.
8. PHP settings errors
While upgrading your Magento 2 store, you can face the always_populate_raw_post_data error. To solve it, follow the steps the instruction suggests.
Another common issue regards the PHP memory limit error. Though the readiness checks accept at least 1GB of memory set aside for PHP processes, it is better to keep it at least 2GB to prevent issues. To raise your memory limit, change the value of memory_limit to 2GB.
For more information about the known Magento 2 problems and their solutions, consult this official guide.
Magento 2 compatibility issues
Most vendors run extensions to get the functionality they need in Magento 2. Installation of third-party modules, though undergone Marketplace review, can cause some issues as well.
9. System error after an extension installation
Prior to running a Magento 2 or any updates and extensions, check the system requirements and make sure you fit them.
10. Magento 2 version incompatibility
Check that your Magento version corresponds to the versions listed on the website of the module vendor. If you want to download an extension that is made for a later version than yours, an error can occur. So, ensure your web store is up-to-date and download only the modules that are designed to run on such a platform version.
11. Extension/extension or extension/Magento 2 incompatibility
Sometimes the system fails after running a new Magento 2 extension as a result of a conflict between modules. A new third-party extension can provide the same functionality as the platform itself (for example, if you use the Enterprise version) or as another third-party extension BUT using a different method. We reviewed such problems in this Compatibility issues guide. A rule of thumb in such cases is to double-check that the functionality of a new module doesn’t copy the existing capabilities. Alternatively, disable the default features if you don’t need them and leave a more advanced third-party module.
12. Magento 2 extension installation issues
To avoid any problems, check that you follow the installation procedure suggested by the vendor. After installation, remember to clear the static cache and only after that run the extension for the first time. For this, go to System ? Cache Management ? Flush Static Files Cache.
Magento 2 Migration issues
Taking into account all the benefits, sooner or later most retailers decide to migrate to Magento 2. The two platforms are built on unlike frameworks. The architecture and database design of Magento 2 differ a lot from the previous version. So, migration, which is not an easy process itself, gets more complex. In particular, migration can become a headache for merchants, whose web stores are highly customized and have a lot of extensions running.
Let’s review possible Magento 2 migration problems and their solutions.
13. Possible performance issues
To make sure your web store works correctly and fast after migration, carefully plan the process from the very beginning:
- Look at your Magento 1 store and decide what functionality you want to transmit to Magento 2;
- Check yourself or consult experienced Magento developers whether your custom code and extensions can be transferred to Magento 2. If you are tech-savvy to do the code migration yourself, take a look at Code Migration Toolkit. It makes converting custom Magento 1 code to Magento 2 much easier and faster;
- Check available Magento 2 extensions and whether they can replace those Magento 1 modules that you use now;
- Plan the capacity of your future system, which is the new functionality and the load that it should manage.
14. Possible post-migration data loss
Before migration, make sure you follow these steps:
- Develop and test Magento 2 with a similar topology to your Magento 1 store;
- Back up your Magento 1 store data;
- Use a duplicate of your Magento 1 store for migration;
- Migrate the data from the duplicate Magento 1 database to your new store. To make the process easier, Magento offered a handy assistant, Magento 2 Data Migration Tool, which can be used for data mapping, data and settings transfer, verification of the database structure and data, tracking data transfer, and creating logs. Data Migration Tool works based on the rules defined in the XML files and is operated via CLI commands. Install a relevant version of Data Migration Tool via the composer (say, your new web store is Magento 2.2.0 so you need Data Migration Tool 2.2.0), configure it and go ahead with data transfer;
- Remember to transfer incremental data as well (for example, new orders or reviews that were submitted during migration);
- After you double check that everything is correct, you can run your Magento 2 web store, wait for reindexing and DNS settings changes.
15. Media data doesn’t migrate automatically
The import of media files, just like storefront design and access control lists, has to be done manually. You should first synchronize your media storage database in Magento 1 and Magento 2 and then manually copy media files from <your Magento 1 install dir>/media to <your Magento 2 install dir>/pub/media. For more information, consult this Magento Guide.
16. Custom themes don’t migrate
Unfortunately, Magento 1 themes won’t run on Magento 2. Contact theme vendors for new versions of the themes you use, check other themes available on Magento Marketplace, or create your own custom theme.
Magento 2 SEO Issues
Though the latest versions of Magento 2 have SEO enhancements, there are still several common mistakes that lead merchants to worse positions in SERP. See below to be on the safe side.
17. Double-indexing for both HTTP and HTTPS website versions
This is one of the Magento 2 problems with duplicate content. To prevent it, use rel canonical to highlight the HTTPS version as the main one and enable redirection to it.
18. Indexing navigation pages
Layered Navigation, pagination of search results, product variations can cause duplicate content problems. This article explains how to solve it in detail, but for now, you can at least remember to index only key navigation pages (like categories) and avoid indexing sorting pages with particular parameters.
Wrapping it up
Though Magento 2 is much quicker and more powerful than Magento 1, it still has some nuances. Every new release makes the platform not only less subject to performance inconsistencies, but also more feature-rich and user-friendly.
As you see, you can prevent most difficulties if you know how to accurately plan system changes and accurately do the necessary tweaks. If you feel puzzled about all the customization or migration work ahead, or if you just faced a Magento 2 issue that you can’t manage yourself, feel free to turn to Magento experts at Amasty for help and system administration services.
Special thanks to Eugeny Shevchuk and Pavel Barbarich who helped us bring this post to life.