Magento is one of the most popular e-commerce platforms. While it comes with plenty of possibilities, you need to properly set it up to maximize your organic traffic. If you take care of the SEO basics and use extensions, you can build a successful, easily scalable e-commerce website in Magento.
In this guide, Magento is put to the test to see if it’s a good choice from the SEO perspective in 2020.
Magento Open Source is a great choice if you intend to have a big e-commerce website with dozens of categories and thousands of products. That’s because Magento scales very well. However, if you are confident that your store will remain relatively small, using Magento might be an overkill and you’ll be better off choosing an alternative platform.
One of the things that Magento does best is notifying you about any potential problems that require manual action. On the top of the admin panel page, you can see a yellow box with a list of issues and links to a detailed walkthrough in the documentation.
Magento does a lot for you automatically, including some pre-installed basic SEO features. The default UI is simple and well-organized. You can easily manage and modify your website’s structure.
However, Magento isn’t perfect. Web performance is its biggest downside. You’ll need a good hosting provider to make Magento run smoothly. The default platform version itself with no extensions installed is resource-demanding. If you don’t have a team of experienced developers, you will have a hard time trying to make your website fast.
Magento pros and cons
- Clear site structure
- One product – one URL
- Many product variants under one URL
- automatic 301 after URL change
- Support for structured data
- Related products section by default
- Automatic sitemap generation (with images)
- Open-source, actively developed
- Multiple SEO add-ons
- Poor performance
- No easy way to deindex pages
- Cannot alter canonical tags by default
- No hreflang tags by default
- Overly complex configuration
- Limited bulk operations inside admin panel
- No blog feature by default
- Programmers’ hourly rate is high when compared to other platforms
What is Magento?
Magento is an e-commerce platform actively developed since 2008. It is currently owned by Adobe. Being the third most popular e-commerce CMS, it’s used by 8% of e-commerce websites.
You can use Magento either as an open-source platform or the paid Magento Commerce version, which offers more functionalities and customer support. The official website offers a head-to-head comparison of both the free and paid version of the system.
For testing purposes, I used Open Source Magento 2.3.4 (with sample data preinstalled), published on January 28, 2020. Testing platform: PHP 7.3.17, Apache 2.4.43.
Magento out-of-the-box SEO features
Titles and descriptions
Magento lets you easily control the meta titles and descriptions of your pages. There is a limit of 255 characters for each of them, but you shouldn’t use longer tags anyway. Keep the title tags short so Google doesn’t have to shorten them.
Handling URLs and redirects
Using the admin panel, you can freely modify category and product URLs. Magento will even automatically create a 301 redirect from old URLs, which is really handy – it saves you a lot of work whenever you modify a URL. Remember though that you should avoid modifying your URLs unless necessary.
Product or category URLs with parameters are automatically canonicalized to their canonical versions.
Each product can be assigned to many different categories and still maintain the same URL. Multiple product variants can also be available under the same URL. That’s a great feature from the SEO perspective. Moreover, you can choose to have a product variant available under a separate URL if it aligns better with your desired website structure.
One thing you need to pay attention to is that Magento lets you include the category path in the product URL, which may lead to duplicate content issues.
As an open-source solution, Magento gives you full control over the robots.txt file. This is a significant advantage of Magento over some other platforms, such as Shopify. When you start your eCommerce shop, you should consider blocking the whole search section in robots.txt before even making your store public. Why? Because you risk creating an infinite number of URLs there. If Googlebot finds them, you may end up with an enormous amount of thin or duplicate content.
You can automatically create a sitemap which, next to regular product and categories URLs, includes image URLs. Just remember to regularly update your sitemaps, place their links in robots.txt and upload them to Google Search Console. Do it every time you add new products or categories to your shop, so Google can find them as fast as possible. When some of your products are no longer available, remember to remove them from your sitemap.
By default, Magento does provide some structured data for rich snippets, but in a very limited way. For instance, you can only specify the name, price, SKU, and AggregateRating properties for product pages. You can’t add the description, brand, images, or reviews markup without using an external plugin. Keep in mind that for Google to use your structured data for a rich result, you’re required to provide all the structured data properties specified in Google’s documentation.
Extensions you need when using Magento
While Magento lets you control the basic SEO features, there are some things you won’t be able to do without coding or installing extensions. To be more specific:
- You can not modify meta robots tag manually for individual pages.
- You can’t create your own canonicals and you can not alter the automatically created ones.
- There’s no support for hreflang tags.
- Structured data markup is limited.
- Lazy loading isn’t supported.
Before you start installing plugins to deal with these issues, you will probably need to make some changes to your PHP configuration.
The script used for installing extensions on Magento requires tons of free RAM. By default, most Apache servers limit this value to 512MB, which is not enough. I needed around 2GB. You will have to edit the php.ini file (look for the memory_limit parameter specifically).
But there’s more. Magento overwrites master memory limit values in several places. Look for .htaccess and .user.ini files in your Magento directory and change memory_limit to a greater value. If that isn’t enough, consider changing the execution time limit (in php.ini., .htaccess and .user.ini), anything over 180 seconds should do the trick.
Remember that during the installation your shop will be put in maintenance mode, so it is good to install the extensions you need when you don’t expect your website to get a lot of traffic.
Performance extensions for Magento
Web performance is Magento’s weakest point. If you do not have a powerful server with a decent amount of RAM and computing power, you will struggle. Fortunately there are some free extensions that can help you:
- Code minifier by Apptrian
- Image optimizer by Apptrian
- JS parsing defer by Meetanshi
- Lazy load by Welt Pixel
With some configuration, these four extensions granted my test website a significant performance boost.
Unfortunately there are no free extensions that would help you with altering canonical tags or adding hreflang tags. You have to either spend some money or write your own code. The Magento community is active and helpful, and the documentation is slightly better than for other platforms, so don’t worry. If you do decide to spend money, here are the extensions you can use:
Structured data extensions for Magento
There are many extensions designed to help you manage structured data on your website, both free and paid:
- Rich Snippets by Welt Pixel
- Extended Rich Snippets by MageWorx
- Google Rich Snippets by FMEextensions
Blog modules for Magento
If you want to have a blog be a part of your Magento store, you need one of the following extensions:
All-in-one SEO solutions
If you don’t want to install too many extensions, you should try some of the available SEO suites. These plugins are useful, but they don’t offer as much flexibility and configuration options as their smaller, specialized alternatives. Here are some all-in-one solutions for you to consider:
While the free extensions should cover your basic needs, you’ll need to purchase their paid equivalents for better quality and more possibilities.
The table below is a summary of what you can do in vanilla Magento and the aspects for which you need to install extensions.
|Feature||Vanilla Magento||Extensions you might try|
|Editing product URL||Yes||–|
|Editing URL structure||Yes||–|
|One product in many categories||Yes (no duplicates)||–|
|Editing meta tags (title, description, keywords)||Yes||–|
|Meta tag templates||No||SEO Meta Tags Generator by FMEextensions|
|Product variants||Yes (one URL for many variants)||–|
|Related products section||Yes (you have to specify them manually)||–|
|Adding content to category pages||Yes||–|
|Blog posts||No||Blog by Magezon|
|Multilingual store||Yes (manual translation)||Various language packs from Magento Marketplace|
|Setting alternate hreflang tags||No||Alternate Hreflang Tag by Scommerce Mage Ltd|
|Migrating to different platform||‘Export’ option available||–|
|Configurable robots.txt||Yes (both from admin panel or manual)||–|
|Automatic sitemap generation||Yes (disabled by default)||–|
|Images included in sitemap||Yes||–|
|Noindexing products||No||NoIndex NoFollow Tags by FMEextensions|
|Altering canonical tags||No (you can only turn them on or off)||Canonical URL by FMEextensions|
|Auto redirect after changing URL||Yes||–|
|Brand page listings||No (but you can create separate categories for brands)||Shop By Brand by MageWorx|
Things you need to know about Magento
As I mentioned earlier, Magento allows you to freely edit product, category and static pages URLs. The platform automatically creates a 301 redirect to the new URL for you.
But this comes with a downside – if you make a mistake and accidentally change the URL of a product/category, you will have to revert these changes manually, because the platform will not let you change the URL to the one previously used by a different product/category.
You can also configure the platform so that it includes the category name in product URLs. If you want to have one product in multiple categories, you shouldn’t use that option, because it will create duplicate content.
Magento offers you one more feature: modifying the URL suffixes. For example, you could add .html at the end of product URLs. You need to be very careful when changing it though because if you do, the platform will not create any redirects for you. All of the URLs with the old suffix will return the 404 status code.
Magento gives you full control over your website’s information architecture. You can freely manipulate your product directory. When you combine that with the freedom in URL modifications, you end up with a comprehensive set of tools.
The product directory in Magento is organized in the form of a tree. You can add categories or subcategories and populate them with products. Those products can be found in different categories, but thanks to “one product – one URL” approach you don’t have to worry about duplicate content.
At first glance, the pagination system in Magento seems fine. Products are split into pages using the default of 12 products per page. Every pagination link has a proper href attribute, which is crucial for Googlebot. But if you dive deeper, it turns out that there are things to improve in Magento’s system of pagination.
Pagination links do not have the rel=”prev/next” attribute. These attributes are not used by Google anymore, but other search engines like Bing and various web browsers still make use of it. Those attributes will not harm your website and may be useful for search engines.
The next thing to improve is the handling of canonical tags on pagination pages. By default, every single pagination URL is canonicalized to the category root page. This might cause some issues with indexing your products. Magento does not allow you to modify the canonical tags, you can only enable or disable them.
One more drawback of Magento’s pagination system is that it creates an exact duplicate version of all your root category pages with a “p=1” parameter. While this may well go unnoticed by your customers, it is a minor waste of your crawl budget.
First things first: you need to make sure that every single page in your website’s structure is valuable to your users and serves its own, unique purpose. But if for some reason, you want to have some pages with only a little or no valuable content at all, you should noindex them. It’s considered one of the SEO basics.
Unfortunately, Magento does not make that easy for you. There are no built-in mechanics that handle meta robots tags. You are forced to write your own code or find a third-party extension.
Magento search result pages are indexable by default. This carries a risk of tons of low-quality content being indexed. So it is good practice to disable crawling of the whole search section in robots.txt file at the very beginning.
If you want to display related products on your product pages – you can, but you need to specify them manually, for every single product. It’s a lot of work if you have a big shop with thousands of items. The good thing is that you have everything under your control, so it’s easy to make sure that items that show up are really related to the viewed product (which may not be the case when you’re automating the process).
Magento lets you easily create various versions of your website, like when you want to change the visuals during a sale or the Christmas season.
However, things get complicated when you want to implement another language. First of all, you need to install a language pack for your desired localization, then you need to manually translate all of the product and category names and descriptions, otherwise you will end up with a lot of duplicate content. Afterward, you’ll notice that there are no hreflang tags implemented. Hreflang tags help search engines decide which version of your site to display in the search results in different countries.
The most efficient way to handle this is to install one of the available hreflang extensions.
We’ve covered everything you need to know before setting up your website in Magento. There are pros and cons to every e-commerce platform, and Magento is no different. While it takes a lot of effort to make it run smoothly, it scales very well, and managing large amounts of products and categories is streamlined and efficient. That makes it a solid platform choice if you plan to go big.