magepsycho / magento2-seosuite
magepsycho/magento2-seosuite
Magento 2 FREE SEO Suite

Magento 2 FREE SEO Suite
Overview
Magento 2 FREE SEO Suite extension optimizes SEO strategies for your e-commerce store.
The default SEO settings in Magento 2 are not enough to improve your store's search visibility. With this extension, you can maximize your SEO strategies for better search engine rankings.
Key Features
- Adds canonical URL to the homepage, CMS pages, and contact us page
- Eliminates non-canonical product URLs from
sitemap.xml - Offers HTML sitemap creation
- Enables SEO pagination using
rel="prev"andrel="next"meta tags - Adds "NOINDEX,NOFOLLOW" meta robots to
/customer,/checkout, and/catalogsearchpages
Feature Highlights
Manage Duplicate Content
This extension helps to avoid duplicate content problems on the homepage, CMS pages, and contact us pages.
It uses the concept of "Canonical URL" to specify the preferred version of a web page, avoiding duplicity and improving search ranking by using a rel="canonical" link in HTML.
The extension also removes non-preferred product URLs from "sitemap.xml" by setting a canonical version.
For example: the "/" version of the homepage will be designated as the preferred one, even among multiple variations such as
/index.php/cms//cms/index/cms/index/index/home
HTML Sitemap
The extension offers an "HTML Sitemap" to help visitors find their way around your store. This feature will add a link to a page called "/sitemap" in the footer.
An "HTML Sitemap" is a webpage that lists all the links on a website in an organized manner to help visitors navigate and improve the website's SEO by providing search engines with a clear structure.
SEO Pagination
The extension enhances paginated pages, like category pages, by adding rel="next" and rel="prev" attributes for pagination.
Just like rel="canonical" helps with duplicate content, rel="next" and rel="prev" HTML link elements help identify the relationship between different URLs in a paginated series.
Important: The "Prev/Next" recommendation from Google Webmaster Guide is no longer applicable as of Spring 2019. (Reference: https://support.google.com/webmasters/thread/2783047?hl=en)
"No Index, No Follow" Meta Tag
The extension allows you to choose which pages should have the "NOINDEX,NOFOLLOW" meta robots tag.
You can choose which pages should have the "NOINDEX,NOFOLLOW" meta robots tag.
By default, these tags will be added to the following pages:
- Customer pages (
/customer/*/*) - Cart/Checkout pages (
/checkout/*/*) - CMS 404 page (
/cms/noroute/index) - Product review page (
/review/product/list) - Search result pages (
/catalogsearch/*/*)
This can be useful for pages with duplicate or low-quality content, under construction or development, sensitive information, or thin or no content.
🛠️ Installation
1 Using Composer (Preferred)
composer require magepsycho/magento2-seosuite
2 Using Modman
modman init
modman clone [email protected]:MagePsycho/magento2-seo-suite.git
3 Using Zip File
- Download the Extension Zip File
- Extract & upload the files to
/path/to/magento2/app/code/MagePsycho/SeoSuite/
After installation by either means, activate the extension with following steps
- Enable the module
php bin/magento module:enable MagePsycho_SeoSuite --clear-static-content
php bin/magento setup:upgrade
- Flush the store cache
php bin/magento cache:flush
- Deploy static content - in Production mode only
rm -rf pub/static/* var/view_preprocessed/*
php bin/magento setup:static-content:deploy
- Go to Admin > MARKETING > SEO Suite > Manage Settings
Live Demo:
Changelog
Version 1.0.0 (2023-02-07)
- Initial Release.
Authors
Contributors
To Contribute
Any contribution to the development of Magento 2 FREE SEO Suite is highly welcome.
The best possibility to provide any code is to open a pull request on GitHub.
Need Support?
If you encounter any problems or bugs, please create an issue on GitHub.
Please visit our store for more FREE / paid extensions OR contact us for customization / development services.
No changelog yet
The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.
No dependencies declared
This package's composer.json doesn't declare any required, suggested, replaced, or conflicting packages.
Compatibility
Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.
Code Quality - Static Tests
Checks run directly against the module's source code, independent of any Magento or PHP version: coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity, and a security audit of its declared dependencies. Each runs once.
| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Warning | 69 | 69 warnings (ruleset: Magento2) — 66 auto-fixable with phpcbf |
| PHPMD | Warning | 7 | 7 rule violations (UnusedFormalParameter:3, MissingImport:3, IfStatementAssignment:1) |
| Cpd | Warning | 2 | 2 duplicated chunks spanning 77 total lines (min-lines=5, min-tokens=70) |
| Composer validate | Info | 1 | valid; 1 advisory note (composer validate --strict) |
| Composer audit | Pass | 0 |
Code Quality - PHPStan
PHPStan type-checks the module's PHP against a real Magento install (so framework and core-module symbols resolve) at the configured gate level. Because the available symbols differ between releases, it runs separately for each Magento and PHP version. The grid below shows the result for each pairing; select one to see its findings. This never affects compatibility.
Tests
Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.
Unit tests
Integration tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
More from magepsycho
View vendorMagento 2 Disable Customer Registration
Magento 2 Preview / Go To Catalog Extensions
Magento 2 Discount Amount Limiter
Magento 2 Product Discount Label
Turn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.