Installing Magento Extensions: Complete Guide
Magento extensions expand the functionality of your webshop. In this guide, you will learn how to install and manage extensions safely.
Finding Extensions
Magento Marketplace
The official source for Magento extensions:
- Go to marketplace.magento.com
- Filter by Magento version and category
- Check reviews and compatibility
- Pay attention to the last update date
Other Sources
Besides the Marketplace, you can find extensions on GitHub (open source) and from third-party vendors such as Amasty and Mageworx. Apply the quality criteria below to extensions from these sources as well.
Quality Criteria
When choosing extensions, look for:
- Compatibility: Supports your Magento version
- Reviews: At least 4 stars, multiple reviews
- Updates: Recently updated (within 6 months)
- Support: Active developer with support
- Documentation: Good installation and configuration docs
Risks of Poor Extensions
Poor extensions can lead to:
- Security vulnerabilities
- Performance issues
- Conflicts with other extensions
- Update problems during Magento upgrades
Installation via Composer (Recommended)
Composer is the standard method for Magento 2 extensions.
Step 1: Configure Marketplace Access
- Log in to marketplace.magento.com
- Go to My Profile > Access Keys
- Create a new key pair
- Copy the public and private key
Step 2: Configure Auth
Add the keys to auth.json:
{
"http-basic": {
"repo.magento.com": {
"username": "public_key_here",
"password": "private_key_here"
}
}
}
Step 3: Install the Extension
# Navigate to Magento root
cd /path/to/magento
# Install the extension
composer require vendor/module-name
# Register the module
bin/magento setup:upgrade
# Compile dependency injection
bin/magento setup:di:compile
# Deploy static content
bin/magento setup:static-content:deploy nl_NL
# Clear the cache
bin/magento cache:clean
Note: if your shop runs in developer or default mode, setup:static-content:deploy only runs with the -f (force) option: bin/magento setup:static-content:deploy -f nl_NL. In production mode, -f is not needed.
Manual Installation
For extensions that are not available via Composer:
Step 1: Download and Upload
- Download the extension (ZIP file)
- Extract on your computer
- Upload to
app/code/Vendor/ModuleName/
Step 2: Register the Module
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:clean
Check Structure
A correctly structured module has:
app/code/Vendor/ModuleName/
├── registration.php
├── etc/
│ └── module.xml
├── Block/
├── Controller/
├── Model/
└── view/
Managing Extensions
Overview of Installed Modules
bin/magento module:status
This shows all enabled and disabled modules.
Disable Module
bin/magento module:disable Vendor_ModuleName
bin/magento setup:upgrade
bin/magento cache:clean
Enable Module
bin/magento module:enable Vendor_ModuleName
bin/magento setup:upgrade
bin/magento cache:clean
Remove Module
# Via Composer (recommended)
composer remove vendor/module-name
bin/magento setup:upgrade
bin/magento cache:clean
# Manual modules
bin/magento module:disable Vendor_ModuleName
# Remove the folder from app/code/
bin/magento setup:upgrade
Extension Configuration
After installation, most extensions need to be configured:
- Go to Stores > Configuration
- Find the extension section (often under its own name)
- Configure the settings
- Click on Save Config
- Clear the cache if necessary
Popular Extensions by Category
Payments
- Mollie Payments: iDEAL, credit card, Bancontact
- MultiSafepay: Multiple payment methods
- Adyen: Enterprise payments
SEO
- Mageplaza SEO: Complete SEO suite
- Amasty SEO Toolkit: Advanced SEO
- MageWorx SEO Suite: SEO optimization
Performance
- LiteSpeed Cache: LiteMage caching
- Amasty Full Page Cache Warmer: Cache warming
- MageWorx Image Optimizer: Image optimization
Marketing
- Mailchimp: Email marketing integration
- Klaviyo: Marketing automation
- Google Shopping: Feed management
Troubleshooting
Check the Logs
If an extension does not work as expected, first check the log files in var/log/, especially exception.log and system.log:
tail -100 var/log/exception.log
tail -100 var/log/system.log
The error message often points directly to the extension and the file causing the problem.
"Class not found" after installation
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:clean
"Cannot save" or permissions error
Check file permissions:
find var generated vendor pub/static pub/media app/etc -type f -exec chmod 644 {} \;
find var generated vendor pub/static pub/media app/etc -type d -exec chmod 755 {} \;
Conflicts Between Extensions
- Disable extensions one by one
- Identify the conflicting extension
- Contact the extension developer
- Consider an alternative extension
Website Not Working After Installation
# Disable the module
bin/magento module:disable Vendor_ModuleName
# If that doesn't work, do it via database
# Find module in setup_module table
Best Practices
- Test first on staging: Never install directly on production
- Make a backup: Always backup before installation
- One at a time: Install extensions one by one
- Document: Keep track of which extensions you have
- Update regularly: Keep extensions up-to-date for security
- Minimize extensions: Only install what you really need. Every extension adds code that needs maintenance and can affect the speed of your shop
Need Help?
We are here for you! Are you facing any issues or do you have questions? Our support team is happy to assist you personally. Send us a message via the ticket system - we usually respond within a few hours and are happy to help you.
Looking for web hosting? See what we offer.
0 of 0 found this helpful