SEO when building a website. It is something that you think about when you make a decision to run the e-commerce store. You certainly want your site be highly visible in search results, and rank better. Here are some points to consider:
- Automatic generating meta tags for product and category pages
- Adding HTML sitemap as a guide to higher-level pages of your website
- Setting SEO friendly URLs
- Using XML sitemap with extended settings
- Creating rich snippets to communicate with search engines
- Optimizing paginated content
- Using hreflang tag for multilingual websites
- Increasing your links popularity by using cross linking
- Getting higher Google ranking by using canonical URLs
- Optimizing your products images for better ranks
So, how to do SEO for your website? Start with the best Magento 2 SEO extension with an impressive number of features. SEO Suite is a complex solution that includes 10 modules: HTML Sitemap, SEO Images, Regional URLs (hreflang), SEO Canonical URL, Metadata Templates, Rich Snippets, SEO Pagination, SEO-friendly URLs, XML sitemap, SEO CrossLinks. All of them improve the SEO value of your store.
- Free installation
- Activate up to 10 times
- All extensions $79
- Approved on Magento Marketplace
Optimize images for search engines

Create the HTML sitemap in your store

Improve XML sitemap functionality

- ability to sort links in XML according to their priority
- ability to include custom links into XML
- ability to add hreflang tag
- ability to set the sitemap file limits
- ability to add images to category links
Generate tags for category and product pages

- Use multiple variables to create meta tags templates with unique content
- Force your store to use the generated metadata instead of the metadata from product or category
- Use the "Records to process per run" option, that prevents a server overloading during generating a big amount of metadata
- Set optimal length for metadata directly in the configuration
Improve SEO optimization via paginated content

Improve your ranking with Magento 2 structured data

- information about your organization
- product data from your store (SKU, price, currency, availability)
- social media links, website
- brand information
Simplify URL optimization in SEO

- ability to separate filters from a category in URL
- ability to rename catalog search/result page to short and understandable search
- ability to redirect visitors to site homepage when they try to access respective CMS page with a direct link
Targeting site content to a specific user language

- help search engines serve the languages your content is written in
- deliver the results about the most appropriate URL for multi-lingual visitors
- prevent duplicate content issues
- help your store increase the CTR from search results
Inform Google which URLs have a similar content

Improve SEO cross-links strategy

SEO Suite for Magento 2 1.20.1
8th of October 2026swissup/module-hreflang
- Security: High — improved output handling of hreflang links on the storefront.
- Security: Low — improved output handling in the admin CMS page form and the XML sitemap.
swissup/module-rich-snippets
- Security: High — improved output handling in structured data (JSON-LD).
swissup/module-seo-cross-links
- Security: Medium — improved URL validation for cross links.
swissup/module-seo-templates
- Security: High — improved input handling when generating SEO data and clearing logs.
- Security: Medium — strengthened authorization and input validation in the conditions editor.
- Security: Medium — strengthened request protection for admin template and generation actions.
SEO Suite for Magento 2 1.20.0
4th of February 2026swissup/module-rich-snippets — 1.7.18 (was 1.7.11)
- Skip home breadcrumb in JSON-LD output and enforce minimum items for valid BreadcrumbList.
- Improve product page breadcrumbs snippet (generate it via JS)
- Update Organization snippet. Render it st homepage only (as recommended).
- Update schema.org URLs to use HTTPS.
- Swissup AskIt and Swissup KnowldegeBase uupdates.
swissup/module-seo-cross-links — 1.1.26 (was 1.1.19)
- Add Swissup Attribute Pages support.
Security and MCS updates to all modules in package.
SEO Suite for Magento 2 1.19.0
23rd of September 2025swissup/module-hreflang — 1.6.10 (was 1.6.6)
- PHP 8.4 fixes.
- Improve compatibility with Swissup Attributepages.
- Improve compatibility with FishPig Wordpress.
- Fixed error "Cannot assign null to property $currentStore".
- Custom value for locale in hraflang supports comma-separated list of locales.
- Code optimizations.
swissup/module-rich-snippets — 1.7.11 (was 1.7.3)
- Added QAPage schema to category pages.
- Added
datePublishedandauthorfields to the QAPage schema to comply with Google Search Console requirements. - Do not remove question at the backend Widgets page, when pressing
Enterin grid filter. - Fixed not working FAQ widget
- Allow multiple Day of Week with same value for opening hours.
- FAQPages: improve answers markup.
- feat: Output multiple QAPage JSON-LD blocks for better indexing
- Fixed two warnings about returns policy:
- returnShippingFeesAmount is not applicable when free return is used. See https://schema.org/returnShippingFeesAmount
- When return is allowed returnFees should not be empty.
- Fixed implicitly marking parameter as nullable error in PHP 8.4
- Do not omit current item in the breadcrumbs.
- Minor tweak to shipping details snippet.
- Fixed exception about no source items with the in stock status.
swissup/module-seo-core — 1.3.10 (was 1.3.9)
- Fixed implicitly marking parameter as nullable error in PHP 8.4
swissup/module-seo-cross-links — 1.1.19 (was 1.1.13)
- Fixed duplicated image tag added via pagebuilder.
- Fixed Magefan Blog compatibility.
- Added additional config to disable the crosslinks for the Magefan blog posts.
- Fixed implicitly marking parameter as nullable error in PHP 8.4
- Do not render crosslinks that lead to the same page.
swissup/module-seo-html-sitemap — 1.1.21 (was 1.1.18)
- Added missing HTML escapes.
- PHP 8.4 fixes
swissup/module-seo-images — 1.3.21 (was 1.3.20)
- Stability improvements.
swissup/module-seo-templates — 1.7.9 (was 1.7.7)
- PHP 8.4 fixes.
- Improve integration with Swissup_AjaxLayeredNavigation.
swissup/module-seo-urls — 1.5.53 (was 1.5.50)
- Stability improvements.
- Fix "404 Not Found Error" when switching language with applied filters.
swissup/module-seo-xml-sitemap — 1.1.16 (was 1.1.15)
- PHP 8.4 fixes.
SEO Suite for Magento 2 1.18.0
23rd of April 2024Magento 2.4.7 fixes. New features added. Better stability.
swissup/module-hreflang — 1.6.6 (was 1.6.1)
- NEW: option at storeview level to set custom locale.
- Integration updates for Magefan Blog, Amasty Store Locator and Magento XML Sitemap.
- Overall stability improvements.
swissup/module-rich-snippets — 1.7.3 (was 1.6.3)
- NEW: option to set image size for product data snippet.
- NEW: FAQ snippet widget.
- Added OnlineStore to the Organization Type dropdown.
- Shipping details snippet. It works with table rate shipping and matrix rate shipping from WebShopApps vendor. Cache snippet data to avoid too many shipping requests to online carriers.
swissup/module-seo-canonical — 1.11.9 (was 1.11.8)
- NEW: setting for each category in Magento Admin to set custom canonical URL.
swissup/module-seo-cross-links — 1.1.13 (was 1.1.12)
- NEW: Magefan Blog integratation.
swissup/module-seo-templates — 1.7.7 (was 1.7.4)
- NEW: directive
random. Randomly outputs string from list of strings. Example -{% raw %}{{random "Get|Purchase|Buy|Acquire|Find|Check"}}{% endraw %}. - ACL updates.
swissup/module-seo-urls — 1.5.50 (was 1.5.43)
- Improved url resolving when filter name occurs in filter value.
- Smile module integration updated. Fix PHP error "Illegal offset type in isset or empty"
SEO Suite for Magento 2 1.17.0
13th of July 2023Code improvement for all included modules.
swissup/module-hreflang — 1.6.1 (was 1.5.8)
- NEW: set hreflang link for Catalog Category in Magento Admin. It can be useful when have multiple stores at your Magento instance and you need to link categories.
- NEW: import and export hreflang links for CMS Pages and Catalog Categories.
swissup/module-rich-snippets — 1.6.3 (was 1.6.1)
- Fix exception "Product that you are trying to add is not available". Occurs when product is not for sale and module tries to build shipping details for it.
- Improve (and fix) shippingDetails calculation.
swissup/module-seo-pager — 1.3.3 (was 1.3.0)
- Fix not updated title of paginated content when page cache enabled.
- Fixed not working "Relevance" sorting option on search results page.
swissup/module-seo-urls — 1.5.43 (was 1.5.41)
- Fix error - category not found at attribute page filtered by category.
SEO Suite for Magento 2 1.16.0
31st of May 2023swissup/module-hreflang — 1.5.8 (was 1.5.6)
- Show all available store views for "Default store" option in Magento Admin Configuration on store view level.
- Fixed class "Zend_Uri" not found in Magento 2.4.6.
swissup/module-rich-snippets — 1.6.1 (was 1.5.4)
- Product structured data. Provide currect data for grouped products.
- Add support of Google merchant listing fields: “shippingDetails” and “hasMerchantReturnPolicy”. Added dedicated subsections in “Product structured data” section in module settings in Stores Configuration.
- Reorganized section “Product structured data” to be more intuitive.
swissup/module-seo-images — 1.3.18 (was 1.3.17)
- Add DB index for field
target_fileto speed up queries.
swissup/module-seo-pager — 1.3.0 (was 1.2.11)
- Implement Google recommendations for paginated product listings with new strategy "Canonical url to each page (Google way)". More details you can find at module docs.
swissup/module-seo-templates — 1.7.3 (was 1.6.5)
- Allow to use translations in metadata templates. More details at module docs.
- New condition for category templates - "Layerede Navigation / Applied filter".
swissup/module-seo-urls — 1.5.41 (was 1.5.40)
- Improve compatibility with Swissup Ajaxlayerednavigation module and SEO Urls setting "Use direct URL to subcategory".
SEO Suite for Magento 2 1.15.0
31st of March 2023- Compatibility with Magento 2.4.6 and feature fixes for PHP 8.2.
swissup/module-hreflang — 1.5.6 (was 1.5.1)
- Don’t add hreflang to page that have canonical pointing to other page.
swissup/module-rich-snippets — 1.5.4 (was 1.4.20)
- Add weight unit information to product snippet.
- Add opening hours config for organization data snippet.
- Option in module configuration to set store (organization) type for organization snippet.
- Don't render website data snippet when no data is set.
- Integration with Swissup_Askit and Swissup_Knowledgebase.
- Product structured data. Allow to override
@id,@typeand@contextwith attributes. - Fix "Can’t check requested quantity for products…".
- Some additional fixes for PHP 8.2.
swissup/module-seo-cross-links — 1.1.11 (was 1.1.7)
- Fixed broken characters (currency, etc) in widgets.
- Fixed broken cyrillic characters after DOMDocument saveHTML.
swissup/module-seo-images — 1.3.17 (was 1.3.15)
- Fix error during during CLI reindex about exhausted memory.
- Support media url option "Image optimization based on query parameters".
swissup/module-seo-urls — 1.5.40 (was 1.5.33)
- Compatibility with Blueskytechco_LayeredAjax and Smile_Elastcsuite.
- Magento Admin - show SEO Urls tab at attribute when it is filterable.
- Fix not sligified urls when query parameter value is 0.
swissup/module-seo-xml-sitemap — 1.1.14 (was 1.1.12)
- Add Mirasvit Knowledge Base urls to sitemap when module enabled.
SEO Suite for Magento 2 1.14.0
19th of September 2022- Compatibility with Magento 2.4.5 and feature fixes for PHP 8.1.
- Perfomance improvements.
swissup/module-hreflang — 1.5.1 (was 1.4.11)
- NEW: set hreflang link for CMS page in Magento Admin.
- Correct hrefalang data for attribute page on storefront
- Fixes for XML sitemap: exclude links for store views where product is disabled; remove store code in hreflang once respective option enabled; add hreflang data for Highlight Pages and Attribute Pages.
swissup/module-rich-snippets — 1.4.20 (was 1.4.18)
- Fix error - Argument 1 passed... must be of the type array, null given. Occurs when store migrated from Magento 1.
swissup/module-seo-canonical — 1.11.6 (was 1.11.5)
- Fix missing caninical URL at attribute pages.
swissup/module-seo-cross-links — 1.1.7 (was 1.1.6)
- NEW: link Tooltip.
- Fix possible issue of using ampersand and slash symbols in a keyword. Notice added.
swissup/module-seo-xml-sitemap — 1.1.12 (was 1.1.11)
- Remove hard-coded dependency with SeoHtmlSitemap module. Now you can disable module Swissup_SeoHtmlSitemap without harm to XML Sitemap.
SEO Suite for Magento 2 1.13.0
27th of April 2022- Compatibility with Magento 2.4.4 and PHP 8.1.
- Update ACL (Access Control List) for all included modules.
- Convert deprecated php installation scripts into XML schemes.
swissup/module-hreflang — 1.4.11 (was 1.4.10)
- Amasty_Storelocator and Magezon ShopByBrand integrations.
swissup/module-rich-snippets — 1.4.18 (was 1.4.15)
- Performance improvements for configurable products with big number of options.
- Correct price for grouped product data snippet when sub product have discounts.
swissup/module-seo-canonical — 1.11.5 (was 1.11.3)
- NEW config option for product canonical - "Use product attribute for canonical". When product attribute value starts with 'http' then it is used directly. Otherwise attribute value will be appended to base URL.
swissup/module-seo-cross-links — 1.1.6 (was 1.1.2)
- Some optimizations and performance improvements.
swissup/module-seo-urls — 1.5.31 (was 1.5.28)
- Fix missing translations when category filter applied. Most often issue occurs with ajax requests in Swissup_Ajaxlayerednavigation.
- Fix unable to change attribute/option label on store view. Issue occurs when identical label exists for other store view.
SEO Suite for Magento 2 1.12.2
30th of November 2021swissup/module-hreflang — 1.4.10 (was 1.4.6)
- Integration for FishPig_WordPress with FishPig_WordPress_Multisite.
- Don't add hreflang item for product when it is disabled at respective store view.
- Compatibility with Magento Commerce (Enterprise).
swissup/module-rich-snippets — 1.4.15 (was 1.4.13)
- Config options to disable reviews and stock data from product structured data block.
- Add '@id' for product data snippet. It is usefull for integration with third-party modules. Id is equal to product URL.
- Fixed invalid object type for field "brand".
swissup/module-seo-core — 1.3.5 (was 1.3.4)
- Improve Model\Url stability. Work around logic when parse_url can't handle input.
swissup/module-seo-cross-links — 1.1.2 (was 1.1.1)
- Fixed performance issue replacing plugin around to after.
swissup/module-seo-html-sitemap — 1.1.11 (was 1.1.10)
- Added config to hide the highlight pages from sitemap.
- Use separate group for merged css. This makes global bundle persistent across all site.
- Fixed storeId 'null' to display cms pages on sitemap.
swissup/module-seo-urls — 1.5.28 (was 1.5.27)
- Fix 404 page when applied filter contains string same as category name.