Search engine optimization (SEO) doesn’t have to be a mystery for Magento Open Source / Adobe Commerce users. Magento already has the core functionality to enable a fully optimized e-commerce website, without additional extensions (except in a few special cases). The SEO strategies outlined in this article provide a jumping-off point for Magento users interested in maximizing their site’s SEO — and, as a result, reach.
It’s important to point out that, over the years, all SEO activities have become increasingly complex and dynamic, due to the evolution of search engine algorithms. This means, in addition to the technical activities I will illustrate in this article, other less technical aspects, such as the quality of your website’s content, outbound and inbound links and your website’s overall performance are also essential.
Search engines (such as Google, Bing, Yahoo and Yandex) are a valuable source of traffic acquisition for an e-commerce company, as they generate conversions without customer acquisition cost. Therefore, a search engine-optimized e-commerce site can generate sales automatically, without pay-per-click campaigns — although these shouldn’t be ignored.
However, if your site is large or its content changes daily, your site may not be accurately “crawled” by search engines.
With the evolution of the web and the increase in the number of large websites on the web, search engine spiders (such as Googlebot for Google, ed.) have had to increase their energies and limit the time needed to scan the endless resources present (web pages, documents, images, etc.). For this reason, it is important to delve into the topic of a "crawl budget.” Essentially, a crawl budget is a value a search engine assigns to a website to estimate how many files, pages or images need to be downloaded and crawled each day — your website may have six pages crawled daily or 1,000. The main tools for monitoring a site's crawl budget are Google Search Console or Bing Webmaster Tools.
If you are not an SEO expert, I recommend you fully back up your Magento files and database before making any kind of changes. It would also be wise to create a copy of the site on which to make such improvements before making them official. Such a copy should be password protected on the server in the root directory so that no search engine can index it by mistake.
A URL uniquely identifies a web resource and is the first place a search engine’s “spiders” will crawl. Once you’ve ensured your URLs respond with a 200 code (meaning they allow access without errors 500 or 404), here are some additional tips for optimizing all URLs in Magento:
- Include the page's main keyword(s)
In order for your URLs to have keywords, you must verify that the option “URL rewrite” is activated in Stores > Configuration > General > Web > Search Engine Optimization and set to “Yes.” In this way, the standard Magento URLs (i.e., www.mywebsite.com/catalog/product/view/id/1/category/1) will be transformed (through 301 redirects inside Magento) into SEO-friendly URLs (e.g., www.mywebsute.com/product-name.html).
- Use a security protocol (SSL)
Again, in the Stores > Configuration > General > Web section, set the correct domain with "https://" in both "Base URLs" and "Base URLs (Secure)." Regarding the presence or absence of the "www" in the domain, it is essential to always use the same setting. Therefore, if a domain has already been indexed by Google with the "www" (you can verify this by using the string "site:mywebsite.com"), it is advisable to maintain the same setting over time by writing in both Base URLs and Base URLs (Secure): "https://www.mywebsite.com.”
Also, set the following entries as follows:
Use Secure URLs on Storefront: Yes
Use Secure URLs in Admin: Yes
Also in the Stores > Configuration > General > Web section, set "Auto-redirect to Base URL" to "Yes (301 Moved Permanently)."
- Ensure there’s only one URL for that resource.
You must make sure that pages with identical content but different URLs are not present. In fact, the presence of duplicate content for an e-commerce company implies a greater expenditure of resources (crawl budget) by search engines, and therefore, can be a kind of penalty.
A duplicated URL can happen, for example, when a web page is reachable both with www (ex: www.mywebsite.com) and non-www (https://mywebsite.com). Another example is when a product is associated with multiple categories and the name of the category is in the URL. In this case, we will have multiple URL products (one for each category) but the same content: the product page.
Go to Stores > Configuration > Catalog > Search Engine Optimization section and set the following items as follows:
Use Categories Path for Product URLs: No
Next, we need to make sure that Magento tells search engines the best page version in case of similar pages (think, for example, of clothing products that have multiple pages that are almost identical to each other but have different URLs, one for each size/color). In these scenarios, the "rel canonical" attribute comes into play, which is automatically set by Magento if the following items are set in Stores > Configuration > Catalog > Search Engine Optimization:
Use Canonical Link Meta Tag For Categories: Yes
Use Canonical Link Meta Tag For Products: Yes
Sitemaps (not to be confused with the "site map" page containing the site tree with links to the main sections of the website) are XML format files containing spider recommendations for each URL on the website. For each URL on the website, sitemaps specify:
- the last change made to the page (lastmod in W3C Datetime format)
- the recommended crawling frequency (always, hourly, daily, weekly, monthly, yearly or never)
- the scanning priority over other URLs (value from 0.0 to 1)
To create a sitemap, you need to go to Marketing > SEO & Search > Site Map and click Add Sitemap.
The sitemap should be generated daily to be effective. Therefore, it is necessary to go to Stores > Configuration > Catalog > XML Sitemap and set the entries as follows:
- Categories Options
- Products Options
Add Images into Sitemap: All
- CMS Pages Options
- Generation Settings
Once a sitemap URL has been generated, you should enter this URL in the sitemap section of Google Search Console or in Bing Webmaster Tools.
Please note that Magento does not support sitemap index files or group multiple sitemap files. Therefore, if you have a large e-commerce site, I advise you to purchase a third-party extension to create different sitemaps by URL type (ex: one sitemap for products, one for categories, one for CMS pages, etc.).
The robots.txt file is a text file located in the root at www.mywebsite.com/robots.txt, generated by Magento and useful for search engines, as it provides guidelines on what content to scan.
Ensure the following when configuring a third-party purchased theme:
- Product page titles should have H1 tags
- Category names on category pages should have H1 tags
- On category pages, all images should list their product names using the ALT attribute
- The homepage should have only one H1 tag with the main keyword visible to users. This is why many themes write the site name in an H1 hidden from users' eyes via CSS but not from Google.
I recommend inspecting the HTML code or using external tools. To insert text in H1 on the home page, go to Content > Elements > Pages, open the row with the Home Page entry and add the H1 tag with the desired text in the text area.
- All web pages should have only one H1 tag with the main keyword visible to users
- The theme should support schema.org in the product tab, which is very useful for rich snippets on Google
- All product page gallery images should have ALT as an attribute
Magento offers numerous useful customizations to help you build a good SEO foundation. All you need to do is learn (and at times explore) how to implement them. I hope the tips above help you do so — and ultimately help your e-commerce store increase its customer base.