- https://www.paulsmith.com
- https://www.omegawatches.com
- https://www.paperchase.com
- https://www.paulsmith.com
- https://www.paperchase.com
- https://www.cyclerepublic.com
- https://www.bulkpowders.co.uk
- https://solgirl.com
- https://www.coxandcox.co.uk
- https://www.sigmabeauty.com
- https://www.bulkpowders.co.uk
- https://www.boodles.com
- https://royalmen.com
- https://rattanfurnitureuk.co.uk
- https://girav.com
- https://addapearl.com
- https://onlinespyshop.co.uk
Category: magento 2.x
Magento 2.x Truncate Essential Tables Before Going Production or Live

There are following below Magento 2 tables need to be deleted, before going to Production or Live
--SET FOREIGN_KEY_CHECKS = 0 Compulsory otherwise Foreign Key Based Table will be not deleted --
SET FOREIGN_KEY_CHECKS = 0;
-- Starts Truncate Quote & Sales Order & Other Tables --
TRUNCATE TABLE `gift_message`;
TRUNCATE TABLE `quote`;
TRUNCATE TABLE `quote_address`;
TRUNCATE TABLE `quote_address_item`;
TRUNCATE TABLE `quote_id_mask`;
TRUNCATE TABLE `quote_item`;
TRUNCATE TABLE `quote_item_option`;
TRUNCATE TABLE `quote_payment`;
TRUNCATE TABLE `quote_shipping_rate`;
TRUNCATE TABLE `reporting_orders`;
TRUNCATE TABLE `sales_bestsellers_aggregated_daily`;
TRUNCATE TABLE `sales_bestsellers_aggregated_monthly`;
TRUNCATE TABLE `sales_bestsellers_aggregated_yearly`;
TRUNCATE TABLE `sales_creditmemo`;
TRUNCATE TABLE `sales_creditmemo_comment`;
TRUNCATE TABLE `sales_creditmemo_grid`;
TRUNCATE TABLE `sales_creditmemo_item`;
TRUNCATE TABLE `sales_invoice`;
TRUNCATE TABLE `sales_invoiced_aggregated`;
TRUNCATE TABLE `sales_invoiced_aggregated_order`;
TRUNCATE TABLE `sales_invoice_comment`;
TRUNCATE TABLE `sales_invoice_grid`;
TRUNCATE TABLE `sales_invoice_item`;
TRUNCATE TABLE `sales_order`;
TRUNCATE TABLE `sales_order_address`;
TRUNCATE TABLE `sales_order_aggregated_created`;
TRUNCATE TABLE `sales_order_aggregated_updated`;
TRUNCATE TABLE `sales_order_grid`;
TRUNCATE TABLE `sales_order_item`;
TRUNCATE TABLE `sales_order_payment`;
TRUNCATE TABLE `sales_order_status_history`;
TRUNCATE TABLE `sales_order_tax`;
TRUNCATE TABLE `sales_order_tax_item`;
TRUNCATE TABLE `sales_payment_transaction`;
TRUNCATE TABLE `sales_refunded_aggregated`;
TRUNCATE TABLE `sales_refunded_aggregated_order`;
TRUNCATE TABLE `sales_shipment`;
TRUNCATE TABLE `sales_shipment_comment`;
TRUNCATE TABLE `sales_shipment_grid`;
TRUNCATE TABLE `sales_shipment_item`;
TRUNCATE TABLE `sales_shipment_track`;
TRUNCATE TABLE `sales_shipping_aggregated`;
TRUNCATE TABLE `sales_shipping_aggregated_order`;
TRUNCATE TABLE `tax_order_aggregated_created`;
TRUNCATE TABLE `tax_order_aggregated_updated`;
-- Finish Truncate Quote & Sales Order Tables --
-- Truncate Customer tables
-- Starts Truncate Customer Data & Customer Address Tables --
TRUNCATE TABLE `customer_address_entity`;
TRUNCATE TABLE `customer_address_entity_datetime`;
TRUNCATE TABLE `customer_address_entity_decimal`;
TRUNCATE TABLE `customer_address_entity_int`;
TRUNCATE TABLE `customer_address_entity_text`;
TRUNCATE TABLE `customer_address_entity_varchar`;
TRUNCATE TABLE `customer_entity`;
TRUNCATE TABLE `customer_entity_datetime`;
TRUNCATE TABLE `customer_entity_decimal`;
TRUNCATE TABLE `customer_entity_int`;
TRUNCATE TABLE `customer_entity_text`;
TRUNCATE TABLE `customer_entity_varchar`;
TRUNCATE TABLE `customer_grid_flat`;
TRUNCATE TABLE `customer_log`;
TRUNCATE TABLE `customer_log`;
TRUNCATE TABLE `customer_visitor`;
TRUNCATE TABLE `persistent_session`;
TRUNCATE TABLE `wishlist`;
TRUNCATE TABLE `wishlist_item`;
TRUNCATE TABLE `wishlist_item_option`;
-- Finish Truncate Customer Data & Customer Address Tables --
-- Starts Truncate Review tables --
TRUNCATE TABLE `review`;
TRUNCATE TABLE `review_detail`;
TRUNCATE TABLE `review_entity_summary`;
TRUNCATE TABLE `review_store`;
-- Finish Truncate Review tables --
Magento 2 All Database Tables [500 & more Tables]
Which Magento 2 database table store customer’s Email Data
Which Magento 2 Database Table Store Customer Newsletter Data
Which Magento 2 database table store customer’s shipping and billing address
How To Remove Sales Order Data & Customer Data in Magento 2
Which Magento 2 Database Tables Store Customer Rating
Which Magento 2 Database Tables Store Customer Review
Which Magento 2 Database Tables Store Customer Wishlist Products
Which Magento 2 Database Table Store Patches
Which Magento 2 Database Table Store Static Blocks & Its Details
Which Magento 2 Database Table Store CMS Pages & Its Details
Which Magento 2 Database Tables Having All URLs Storage
Which Magento 2 Database Tables Store Sales Order Data
Which Magento 2 Database Tables Store Sales Invoice Order Data
Which Magento 2 Database Tables Store Sales Tax and Its related Data
Which Magento 2 Database Tables Store Catalog Price Rules
Which Magento 2 Database Tables Store Cart Price Rules
Single Sign-on (SSO)


Single Sign-on (SSO):: It is an authentication process that allow users to access multiple applications with same login credentials of Magento 2. Using this user can enter the login credentials in the third-party application and be logged in to Magento 2 store simultaneously.
“Single sign-on is an authentication method that allows a user to log in with a single ID and password to multiples applications simultaneously”
“Single Credential that enables users to log in to multiple applications and websites”
This allows faster access to applications. The customers can use their existing credentials for logging into various third-party applications such as UVdesk, The user can use one set of credentials for various platforms and won’t have to remember multiple passwords for each login.

Magento 2 using multiple stores, blog etc., by using single User ID / Password, user can enable to login multiple Magento 2 stores & blog
Magento 2.2, Magento 2.3, Magento2.4 Installation Issue on Windows 10, XAMPP

While Installing Magento 2 getting this issue Windows 10, XAMPP, WAMP

This issue with All Magento version as 2.2.X, Magento2.3.X, Magento 2.4.X
error message Module 'Magento_Theme': [ERROR] InvalidArgumentException: Wrong file in D:\xampp\htdocs\magento2\vendor\magento\framework\Image\Adapter\Gd2.php:64 Stack trace: #0 D:\xampp\htdocs\magento2\vendor\magento\framework\Image.php(55): Magento\Framework\Image\Adapter\Gd2->open('C:/wamp64/www/m...') #1 D:\xampp\htdocs\magento2\vendor\magento\framework\Image.php(36): Magento\Framework\Image->open() #2 D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\Factory\AbstractFactory.php(121): Magento\Framework\Image->__construct(Object(Magento\Framework\Image\Adapter\Gd2), 'C:/wamp64/www/m...') #3 D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\Factory\Dynamic\Developer.php(66): Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject('Magento\Framewo...', Array) #4 D:\xampp\htdocs\magento2\vendor\magento\framework\ObjectManager\ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\Framewo...', Array) #5 D:\xampp\htdocs\magento2\vendor\magento\framework\Image\Factory.php(47): Magento\Framework\ObjectManager\ObjectManager->create('Magento\Framewo...', Array) #6 D:\xampp\htdocs\magento2\vendor\magento\framework\View\Design\Theme\Image.php(127): Magento\Framework\Image\Factory->create('C:/wamp64/www/m...') #7 D:\xampp\htdocs\magento2\vendor\magento\module-theme\Model\Theme\Registration.php(135): Magento\Framework\View\Design\Theme\Image->createPreviewImage('C:/wamp64/www/m...') #8 D:\xampp\htdocs\magento2\vendor\magento\module-theme\Model\Theme\Registration.php(114): Magento\Theme\Model\Theme\Registration->_savePreviewImage(Object(Magento\Theme\Model\Theme\Data)) #9 D:\xampp\htdocs\magento2\vendor\magento\module-theme\Model\Theme\Registration.php(73): Magento\Theme\Model\Theme\Registration->_registerThemeRecursively(Object(Magento\Theme\Model\Theme\Data)) #10 D:\xampp\htdocs\magento2\vendor\magento\module-theme\Setup\Patch\Data\RegisterThemes.php(47): Magento\Theme\Model\Theme\Registration->register() #11 D:\xampp\htdocs\magento2\vendor\magento\framework\Setup\Patch\PatchApplier.php(162): Magento\Theme\Setup\Patch\Data\RegisterThemes->apply() #12 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Model\Installer.php(1023): Magento\Framework\Setup\Patch\PatchApplier->applyDataPatch('Magento_Theme') #13 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Model\Installer.php(890): Magento\Setup\Model\Installer->handleDBSchemaData(Object(Magento\Setup\Module\DataSetup), 'data', Array) #14 [internal function]: Magento\Setup\Model\Installer->installDataFixtures(Array) #15 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Model\Installer.php(371): call_user_func_array(Array, Array) #16 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Controller\Install.php(109): Magento\Setup\Model\Installer->install(Array) #17 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\Controller\AbstractActionController.php(83): Magento\Setup\Controller\Install->startAction() #18 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(321): Laminas\Mvc\Controller\AbstractActionController->onDispatch(Object(Laminas\Mvc\MvcEvent)) #19 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(178): Laminas\EventManager\EventManager->triggerListeners(Object(Laminas\Mvc\MvcEvent), Object(Closure)) #20 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\Controller\AbstractController.php(117): Laminas\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\Mvc\MvcEvent)) #21 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\DispatchListener.php(117): Laminas\Mvc\Controller\AbstractController->dispatch(Object(Laminas\Http\PhpEnvironment\Request), Object(Laminas\Http\PhpEnvironment\Response)) #22 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(321): Laminas\Mvc\DispatchListener->onDispatch(Object(Laminas\Mvc\MvcEvent)) #23 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(178): Laminas\EventManager\EventManager->triggerListeners(Object(Laminas\Mvc\MvcEvent), Object(Closure)) #24 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\Application.php(339): Laminas\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\Mvc\MvcEvent)) #25 D:\xampp\htdocs\magento2\setup\index.php(39): Laminas\Mvc\Application->run() #26 {main} Next Magento\Framework\Setup\Exception: Unable to apply data patch Magento\Theme\Setup\Patch\Data\RegisterThemes for module Magento_Theme. Original exception message: Wrong file in D:\xampp\htdocs\magento2\vendor\magento\framework\Setup\Patch\PatchApplier.php:170 Stack trace: #0 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Model\Installer.php(1023): Magento\Framework\Setup\Patch\PatchApplier->applyDataPatch('Magento_Theme') #1 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Model\Installer.php(890): Magento\Setup\Model\Installer->handleDBSchemaData(Object(Magento\Setup\Module\DataSetup), 'data', Array) #2 [internal function]: Magento\Setup\Model\Installer->installDataFixtures(Array) #3 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Model\Installer.php(371): call_user_func_array(Array, Array) #4 D:\xampp\htdocs\magento2\setup\src\Magento\Setup\Controller\Install.php(109): Magento\Setup\Model\Installer->install(Array) #5 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\Controller\AbstractActionController.php(83): Magento\Setup\Controller\Install->startAction() #6 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(321): Laminas\Mvc\Controller\AbstractActionController->onDispatch(Object(Laminas\Mvc\MvcEvent)) #7 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(178): Laminas\EventManager\EventManager->triggerListeners(Object(Laminas\Mvc\MvcEvent), Object(Closure)) #8 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\Controller\AbstractController.php(117): Laminas\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\Mvc\MvcEvent)) #9 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\DispatchListener.php(117): Laminas\Mvc\Controller\AbstractController->dispatch(Object(Laminas\Http\PhpEnvironment\Request), Object(Laminas\Http\PhpEnvironment\Response)) #10 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(321): Laminas\Mvc\DispatchListener->onDispatch(Object(Laminas\Mvc\MvcEvent)) #11 D:\xampp\htdocs\magento2\vendor\laminas\laminas-eventmanager\src\EventManager.php(178): Laminas\EventManager\EventManager->triggerListeners(Object(Laminas\Mvc\MvcEvent), Object(Closure)) #12 D:\xampp\htdocs\magento2\vendor\laminas\laminas-mvc\src\Application.php(339): Laminas\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\Mvc\MvcEvent)) #13 D:\xampp\htdocs\magento2\setup\index.php(39): Laminas\Mvc\Application->run() #14 {main}
Solution: Please replace below method
Find validateURLScheme function in vendor\magento\framework\Image\Adapter\Gd2.php file. at line 96. Replace function with this: !file_exists($filename)
Replace existing validateURLScheme function with modified validateURLScheme function as per below code
private function validateURLScheme(string $filename) : bool
{
$allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
$url = parse_url($filename);
if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
return false;
}
return true;
}
Finally, Magento 2 Installation will be completed 100% after above changes
Other Important Magento 2.X Link
Magento 2.3 To Magento 2.4.5 Comptibility For PHP, MYSQL, Composer, Apache etc
Magento 2.4.4 Installation Steps
Magento 2.4.3-p1 Installation Steps
Magento 2.4.3 Installation Steps
Magento 2.4 Two Factor Authentication
Magento 2.2, Magento 2.3, Magento2.4 Installation Issue on Windows 10, XAMPP
Magento 2 Installation at 51% Error: (Wrong file in Gd2.php:64) Module ‘Magento_Theme’
Magento 2.x Admin Security

Navigate to Admin Panel > Stores > Configuration > Advanced > Admin and click on Security section

There are following below steps , make admin security more secure
- Admin Account Sharing: Default setting No, If set to Yes, you can log in from multiple computers into same account, that’s why Default setting No improves more Security.

- Password Reset Protection Type: By default By IP and Email, if Admin want to modify by IP or Email, select value IP or Email from drop down

- Recovery Link Expiration Period (hours): By default 2 Hour, the link the Admin has got in his email to reset/modify password, in case forget password, recommended always put more than 1 value.

- Max Number of Password Reset Requests: By default 5, allow only 5 times per hour to reset the password. If Admin want to get rid of this limit he can change the default 5 value to 0

- Min Time Between Password Reset Requests: By default 10, password reset request per hour to 5 by default and Minimum delay between password reset request is 10 Minutes by default, If Admin want to get rid of this limit he can change the default 5 value to other

- Add Secret Key to URLs: By default Yes, Due Headers Security, Cross-site scripting (XSS), Cross-site request forgery(CSRF) Strict-Transport-Security(STS), Content-Security-Policy(CST),it is highly recommended never select No from drop down.

Login is Case Sensitive: By default Case Sensitive No, If Admin want to get rid of this limit he can select Yes from drop down.

- Admin Session Lifetime (seconds):By default, the admin session lifetime in Magento 2 is set to 900 seconds (15 minutes), If Admin want to get rid of this limit he can change his own time duration in seconds. In Production not recommended more than 900 seconds (15 minutes).

- Password Reset Protection TypeBy default 6 attempts, after 6 attempts Admin account will be locked, enter the number of times a user can try to log in to the Admin before the account is locked, Leave the field empty for unlimited login attempts.

- Lockout Time (minutes): By default 30 minute , every 30 minute, screen will be Lockout & need to ReLogin in Admin.

- Password Lifetime (days): By default 90 days, every 90 days need to change password. If Admin want to get rid of this limit he can change more than 90 days, put more than 90 days value, if empty this, Password Lifetime will be disabled & never ask to change password, Password Lifetime value empty never recommended on production.

- Password Change: By Default Forced & recommends password change every 90 days, as mentioned password lifetime(90), If number of days for “Password Lifetime”, and set the dropdown value of “Password Change” to “Recommended“, it won’t be mandatory to change the password. However, if the dropdown value is set to “Forced“, the admin panel will be accessed only after the password change.

Magento 2 All Database Tables [500 & more Tables]
HTTP Security Headers Checker Tool – Security Headers Response
How to add Feature-Policy Security Header
How to add X-Content-Type-Options Security Header
How to add Expect-CT Security Header
How to add X-Frame-Options Security Header
How to add X-XSS-Protection Security Header
How to add Referrer Policy Security Header
Referrer Policy Header Security
How to add HTTP Strict Transport Security (HSTS)
How To Set CSRF Token in Magento 2
Magento 2.x , How To Select Strong Password

There are two places, where customer & site admin need to put strong password
[1] Step: Customer Account Registration Page

By using Free Online Random Strong Generator Password

[2] Step: Admin Account Creation Page

By using Free Online Random Strong Generator Password

Magento 2.4.1 Features
- Support PHP Latest Version 7.4
- Support Elastic Search Latest Version 7.7 & above
- Support MYSQL Latest Version 8.0
- Support Maria DB Latest Version 10.4
- Support RabbitMQ Version 3.8
- Support Radis Version 5.0
- Support Varnish Version 6.2
- Support Apache Version 6.2
- Support Nginx Version 1.8
- Catalog Search Engine by default Elastic Search
- MySQL Catalog Search Engine has been deprecated
- Payment Module Braintree has been removed
- Support PWA Studio Latest Version 8.0
- Support CAPTCHA protection for payment-related and order-related API endpoints and the Place Order storefront page.
- Support For the Same Site attribute for cookies, Google Chrome implementation of the new cookie classification system will be approved.
- Support 15 Security enhancement to eliminate XSS (cross-site scripting) and RCE (remote code execution) vulnerabilities.
- Support latest Page Builder 1.4.0
- Enhancement in Page Builder as full-screen mode which helps the administrator to modify the content easily throughout the Workspace.
- Support Adobe Stock Integration Version 2.1.0.
- Infrastructure improvements Customer, Account, Catalog, Content Management System, Order Management System, Import/Export, Promotions & Targeting, Cart & Checkout, Staging and Preview
- Introduce New Media Gallery for ADMIN, where Merchants are permitted to do bulk delete images & images are filtered by the storefront area
- Introduce Page Builder as full-screen mode which helps the administrator to modify the content easily throughout the Workspace.
- Improved Page Builder that supports full-screen mode for easier editing of content and consistent experience
- The Zend Framework has been deprecated and migration to Laminas project
- Advance MSI Features
- Security feature Two-factor authentication (2FA) enabled by default in Magento admin
- Support Advance GraphQL Feature, PWA Studio
Other important Magento 2.4.x issue as below
Magento 2.3 To Magento 2.4.5 Comptibility For PHP, MYSQL, Composer, Apache etc
Magento 2.4.4 Installation Steps
Magento 2.4.3-p1 Installation Steps
Magento 2.4.3 Installation Steps
Magento 2.4 Two Factor Authentication
Magento 2.2, Magento 2.3, Magento2.4 Installation Issue on Windows 10, XAMPP
Magento 2 Installation at 51% Error: (Wrong file in Gd2.php:64) Module ‘Magento_Theme’
Magento 2.x To Increase Admin Session Timeout

There are three methods to increase Admin Session Timeout
Step-1: By Using Database SQL Query
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`)
VALUES (null, 'default', 0, 'admin/security/session_lifetime', '1800');
By default Admin Session Time value 900 second, user can put Minimum second is 60 and Maximum is 31536000 (for one year)
Step-2: By Using CLI Command
php bin/magento config:set admin/security/session_lifetime 86400 && php bin/magento cache:flush
Step-3: By Using Magento 2 Admin
- In the Admin Panel
- Stores > Configuration
- Advance > Admin > Security Section and uncheck the use system value for Admin Session Lifetime (seconds)



Follow Below Video
Magento 2.x Create SEO Friendly URL

There are two methods to create SEO Friendly URL
Step-1: By Using Database SQL Query
select* from core_config_data where path = "web/seo/use_rewrites"
update core_config_data set value=1 where path like "web/seo/use_rewrites";
Step-2: By Using Magento 2 Admin
- Go To Admin Panel
- Stores > Settings > Configurations
- In the left panel, under General, select Web
- Open the Search Engine Optimization section
- Finally Select Yes From Drop Down

Magento 2.x Remove Version From URL

There are two methods to remove version from URL
Step-1: By Using Database SQL Query, need to insert in core_config_data
insert into core_config_data (config_id, scope, scope_id, path, value) values (null, 'default', 0, 'dev/static/sign', 0);
Step-2: By Using Magento 2 Admin
- Login to admin panel
- Go to Stores > Configuration
- Under Advanced, select Developer
- Expand Static Files Settings
- Set “No” to Sign Static Files
