Summary Google’s Core Web Vitals, as of 2021, penalizes search rank of sites with Largest Contentful Paint (LCP) delays and Cumulative Layout Shifts (CLS), because they decrease user experience. See: https://web.dev/vitals/ for more info on that topic. Magento and the Luma theme (in both Commerce Cloud, and also the Community Edition / Open Source) has LCP and CLS issues. The Magento community edition currently has CLS issues reported, with no planned fixes yet: https://github.com/magento/magento2/issues/32956 https://github.com/magento/magento2/pull/33265/files Since most of Adobe's Magento Commerce customers are probably using the Luma theme, this is probably impacting a large amount of customers. Examples LCP Most of the LCP issues are from big, slow, and/or fluffy JS/CSS files that Magento/Luma uses: styles-m.css: which is a huge 20k Luma stylesheet recaptcha__en.js: which is loading on every single page, even if the login popup is disabled in the header, meaning even when recaptcha does NOT need to be loading on every page, it still loads on every page. font-awesome.js knockoutJS jquery requireJS underscoreJS CLS The Luma theme in Magento Commerce Cloud has several Cumulative Layout Shift issues when viewed on mobile which occur site-wide, and some are specific to the product details page itself. When viewed in DevTools > Performance tab while viewing in a mobile viewport, you can see the site loading, and then it flashes, the menus/search disappear, the logo shifts, and then everything comes back. That shiftaround is what Google penalizes for CLS. Additionally, on the product details page, the dot slider navigation for product images loads async on the page, causing all content beneath it to shift downward, incurring a CLS penality. Steps to Reproduce LCP Go to https://pagespeed.web.dev/ in a browser Enter a Magento store URL, eg this default Luma theme demo: https://magento2demo.firemultimedia.nl/ Click "Analyze" When the performance analysis is completed, click the "Mobile" tab to view Mobile performance metrics Scroll down to the "Opportunities" area and restrict to see only LCP opportunities, the vast majority of LCP improvement opportunities are core Magento/Luma stuff we have little control over, and are part of the Magento platform itself. CLS Go to https://pagespeed.web.dev/ in a browser Enter a Magento store URL for a product details page, eg https://mysticlabsd8.com/50ct-high-potency-delta-8-gummies/ Click "Analyze" When the performance analysis is completed, click the "Mobile" tab to view Mobile performance metrics Scroll down to the "Opportunities" area and restrict to see only CLS opportunities This section will show you what is shifting, and what CLS penalty each shift is incurring Additionally, for CLS, you can also measure this easier and visually see the layout shifts in Chrome: Open DevTools > Performance Go to a Magento site In DevTools, emulate a mobile viewport Click the refresh button in the performance tab to run a performance scan, and then stop it once the site loads Hover the mouse over the screenshots it takes, as you go from left to right on the timeline, you will see the layout shifts occurring, and the hamburger menu and search icons disappear, and then reappear again later
... View more
See more ideas labeled with:
Magento divides sales rule discount amounts across the orders in a multiship order - it seems to do this based on the percentage of the quote total that the address in question represents. However, when one of the orders does not meet the conditions of the sales rule, the portion of the discount that would be assigned to that order is just "lost". Here is a more specific example: Normal situation: Example without a subtotal condition on the rule: Original line item subtotal: $100 Original sales rule discount total: $10 shipment 1 item total: $70 shipment 2 total: $30 shipment 1 = 70% of original total shipment 2 = 30% of original total shipment 1 discount: $7 shipment 2 discount: $3 Example WITH subtotal condition of equal or greater than $50 on the discount rule: Original line item subtotal: $100 Original sales rule discount total: $10 shipment 1 item total: $70 shipment 2 total: $30 (DO NOT MEET $50 minimum condition) shipment 1 = 70% of original total shipment 2 = 30% of original total shipment 1 discount: $7 shipment 2 discount: $0 Would expect all $10 of the discount to be applied to shipment 1 since it qualified for the sales rule and the full $10 discount from the quote should be awarded somewhere. I have reproduced this on a vanilla magento install with 2.4.5-p1. The only thing non-core in this install is the adobe product recommendations module which I am using to test a different adobe error in a different ticket. This issue was investigated in an Adobe Support ticket: https://support.magento.com/hc/en-us/requests/569054 . The investigation found that this has been incorrectly implemented but not able to be fixed as a support request. Instead this feature request is needed. The support ticket includes screen shots showing how to set up the scenario, as well as a short video showing what actions to perform to cause the issue.
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
12:03 PM
Submitted by
apiuser
on
08-30-2016
12:03 PM
Feature request from gigadesign1, posted on GitHub Jan 09, 2016
Improvement suggestion.
I use a lot of configurable products in combination with tier prices.
The configuration of prices used to be in the configurable product in Magento1.
Now in Magento2 when I want to update the tier prices of my product, I have to edit every single simple product.
Since we have a product in 32 different colors and 3 sizes (so 96 simple products), this is not really user-friendly.
The default price can be configured by selecting a attribute in the configurable product.
It would be great if tier prices can be configured there too!
Or at least through mass-updates of attributes.
... View more
The suggestion here is to create an integration with AWS Code Commit to Adobe Commerce Cloud in such a way we can control our source code in AWS Code Commit and have a continuous integration flow running at Magento Cloud, similar to what happens with GITHub and GITLab. Thanks
... View more
See more ideas labeled with:
At the moment, if you are trying to add an image to a product, you can only upload one from your computer and that gets uploaded directly to the server. You cannot upload an image from the media gallery. This should be an OOB feature. The same happens with list and post images for posts. You cannot upload/access these from the media gallery. This should be an OOB feature.
... View more
See more ideas labeled with:
Login as customer functionality from admin panel is not available if we use venia theme. This feature works with luma theme and leads to 404 if we are using venia theme. Please implement this feature in upcoming releases. Thank you!
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
12:35 PM
Submitted by
apiuser
on
08-30-2016
12:35 PM
Feature request from airbone42, posted on GitHub Jan 21, 2015
PHP 5.5 introduced a new password API natively to PHP. http://php.net/manual/en/book.password.php
As using BCRYPT for the default hashing algorithm it's not only more secure than the current implementaiton of md5 and sha256. But will even be automatically maintained with newer PHP versions and does not depend on any maintenance or upgrades by Magento.
So my suggestion is to replace the current hashing implementation in the Encryptor with using native password_hash and password_verify. Especially for an e-commerce system security should have a very high priority.
So rumors tell that Magento 2 will soon raise min. requirements to PHP 5.5, so that would be the best point to integrate this. Anyway if that min. version update might not come there's also a backward compatibility library available at https://github.com/ircmaxell/password_compat which could be used for PHP <5.5.
If Magento needs MD5 and SHA256 for b/c to Magento 1 hashes, I would suggest to move that into a separate module, so new Magento 2 shops without old data don't need to bother about this old hasing algorithms and the code coming with it. Even shops with older Magento 1 data could remove that b/c module after all customers have updated their password over time or by enforcing them after the first login. This reduces amount of code and complexity, buy having these Mage1 b/c modules and migrations optional.
Anyway, would Magento be interested in porting the Encryptor into that way? If it will get accepted I would definitely dig into this and try to create a PR to speed up development.
... View more
It is not possible to increase the disk space of the build container permanently. This is required once you have more than 20 locales to be built while static content generation while the cloud deployment process, and on transfer step you will face errors like these: gzip: /app/pub/static/adminhtml/vendor/backend/fr_CH/jquery/ui-modules/resizable.js.gz: No space left on device
... This is caused due to the too low size of the build container (8Gb). The temporary solution from Magento Cloud engineers was to adjust cloud configs (cloud support has access there only) for increasing space from 8Gb to 16Gb. However, quote: this will likely be downgraded back to 8GB at some point. , because these configs are placed under a version control system and these changes are just left there as modifications. So can be rest to default state once the new version of configs/codebase of cloud configs will come in. Please add the possibility to change the build container disk space permanently. Thank you.
... View more
See more ideas labeled with:
We want to use single image for multiple products to avoid image duplication in pub/media/catalog/product folder. What we understand today is when we import same image for multiple products Magento will create separate directories for each product and copy the same image to each directory. Can we improve this process to have single directory created for both the product which has same image and copy this one image only once to that directory and this used by both the products?
... View more
See more ideas labeled with:
Hello, We are stuck in using 3rd part blog modules and or integration of additional CMS such as Wordpress to use as blogging on website. I know allot of big companies have such issues as well and they stuck in using wordpress as blog together with magento 2 which is not good to use 2 different CMS solutions. It will be best if you integrate internal blog solution that can be simple and easy to use, where we can add blog categories and content post to each category and can have option to add category into top menu to link to blog page. I hope you will look into that solution to integrate, special in enterprise edition.
... View more
See more ideas labeled with:
Hi Guys, I would like to request a new improvement for the checkout. Currently users could have trouble finding out about invalid fields which disappear above the screen fold. Scenario: User fills out his address information Scrolls down below to submit the form and go to the next step. Hey! The button is not working. Weird... When the invalid fields are not visible because they are above the fold, the end user is not notified of the problems with his information. In some cases the user may be smart enough to scroll up and see if there are invalid fields, but you may understand that not every user is thinking about doing that. Possible solution Automatically scroll to the first invalid field on the page Notification message below the submit form to inform the user that he has to fill out his invalid forms. I am curious about what you guys think of this user experience issue. Cheers, Clarke
... View more
See more ideas labeled with:
Currently when an admin session times out and you have to relog you find yourself in the dashboard no matter what you were doing before. In my opinion the user should be redirected back to the page that he was viewing. Most other CMSs and Ecommerce Solutions do this.
... View more
See more ideas labeled with:
HTTPS has become quite the standard for the delivery of most content. Without delivering content through HTTPS users will experience "mixed content" browser errors and have content no be loaded correctly because its being blocked by modern web browsers. With that said; isn't it time for the Magento platform to come up with a cache system implementation that supports HTTPS and is recommended for us (Full Page Cache is "not recommended" per Magento documentation)? Having to need two web servers (Apache + NGINX as a reverse proxy) and configure them to work with an HTTP-only cache system of Varnish is quite complicated and seems to me is overdue for an overhaul / new solution.
... View more
See more ideas labeled with:
The suggestion is to establish a pattern of adding the following code to deprecated functions: // This is just an example. Write whatever -- something to point people in the right direction.
$sMessage = 'save() has been deprecated in favour of using the usage of repositorties, and the deferral of persistence to the persistence layer. See https://h.dev.magento.com/repositories for further details'
@trigger_error($sMessage, E_USER_DEPRECATED); This can be introduced harmlessly to the stack, and does not actually change any error behaviour, or make the deprecated methods more fragile. However the error handler indicated by set_error_handler() will be called; allowing the surfacing of the deprecated methods. This is useful in a couple of ways: Tests can stub the error handler such that it propagates these error messages and fails tests. This clearly indicates that the code is no longer valid. The error handling function can be modified such that in developer mode these errors are surfaced to the user, and either halt execution or are simply logged to the debug log State of "known violations" can be tracked (perhaps simply with a try_catch in tests, with a skip or the like). This means that any new code must either violate the deprecation intentionally (picked up in review) or fail tests (picked up in CI) This pattern has been previously established by Symfony[2][3] and appears to work as expected there. Such work will allow enforcement of deprecation; something that has proved problematic in the past (particularly in code review where it's not apparent that used functions are deprecated) [1] http://uk.php.net/manual/en/language.operators.errorcontrol.php [2] https://twitter.com/andrewhowdencom/status/900675010641133571 [3] https://github.com/symfony/class-loader/blob/b94aa5c3608cd53444fc4c7a2a506d163eb4a8f3/MapClassLoader.php#L14
... View more
See more ideas labeled with:
In magento 1 X.commerce produced the following guide http://info2.magento.com/rs/magentosoftware/images/magento-extension-developers-guide-v1.0.pdf Its approximately 70 pages long. I found this invaluable in learning how Magento 1 worked. Put simply it was a short guide that produced an extension from start to finish teaching many basic principals of Magento 1 such as: Code setup and configuration - code structure Design setup - templates and layouts Frontend development - database schema, models, output (blocks), routes, helpers, sample data Backend development - admin configuration, routes, models, output (including grids), helpers, ACLs I believe where this guide succeeds is that it carries a single example across many topics. More importantly it has the right level of detail in terms of producing something useful yet not too much to becoming obsolete overnight. And it focuses on magento in terms of PHP development unlike some of the books I've read through which cover a far wider range of topics and often include a few chapters on installation and setup for example. I realise that Magento 2 is technologically more advanced and perhaps this is too difficult to achieve. However reading through the developer docs many areas still seem disjointed (and by this i mean a common example which is carried throughout - not simply a collection of snippets of information) and I feel it would be really helpful if an all-in-one guide extension guide was put together not only for me but to help the greater community. To give you a bit of history I'm a competent Magento 1 developer but I'm finding some Magento 2 concepts difficult to follow. I'll be honest I've seen https://u.magento.com/training/schedule/ and I believe your pricing will stall the adoption of Magento 2
... View more
See more ideas labeled with:
The "Update" button for the billing address field is completely counterintuitive and bad user design. Customers do not expect to need to (and should not have to) hit an "Update" button for their billing address to take on an order. We've taken hundreds of calls from customers who don't understand why their billing address is incorrect on their order. It would be much more intuitive if, when the checkbox for "My billing and shipping address are the same" is unchecked, address validation on the billing address ran when the customer clicked the "Place Order" button. Conversion rates go down for every step you put between a customer and hitting the "Place Order" button. This counterintuitive "Update" button step undoubtedly has a negative effect on conversion rates and should be fixed.
... View more
See more ideas labeled with:
A solution to sort attribute options, for example alphabetically, would be great. The drag & drop function does not meet our needs for the sorting. For example, if you have hundreds of colors (options) in the color attribute or brands in the brand attribute, it becomes very inefficient to use the drag & drop sorting functionality. Is there a possibility to add sorting based on option position or alphabetically for all attributes? It used to be standard in Magento 1.
... View more
See more ideas labeled with:
Status:
Investigating
Submitted on
08-30-2016
01:11 PM
Submitted by
apiuser
on
08-30-2016
01:11 PM
Feature request from hostep, posted on GitHub May 09, 2015
Hi
This is mostly based on Magento 1 experience, but it looks like not much has changed in Magento 2 currently (testing 0.74.0-beta8).
I'm not a VAT expert, I'm simply getting this from feedback we get from store owners who complain about how bad this is currently implemented in Magento 1. So with Magento 2, it would be a good idea to try to get this right from the start.
Here are some suggestions, please review them, maybe there are better solutions then the ones I'm suggesting ...
If you go through the checkout, you should get instant feedback when you enter a VAT number if it is valid or not, and not after you go through the whole purchase process and it is too late. With the instant feedback you can correct your VAT number before purchasing if you made a typo.
We have experienced a lot of issues with the VAT API service which is currently used in Magento (= VIES VAT number validation), it happens very regularly that the API service is down or times out. So you should think about some kind of way to handle this. Maybe there are alternative API services? Maybe you can do a first preliminary check using regular expressions before going to the API service to lower the load on the service? Maybe add a switch in the backend where store owners can choose what happens when the API service is down: allow the customer to proceed, or let them try again until the API service is back up?
Right now you aren't allowed to enter your country prefix in front of the VAT number, since it uses the country from your address. I believe you should clearly state this in a line of text or in a tooltip or something like that, so the customers know what to enter. Also: it makes a lot more sense to put the VAT number field after the country selector field, because it depends on that value (the same thing applies to the state/region field, but that's another issue).
If others have some opinions about these issues or have other suggestions, please leave a comment, so we can try to improve how Magento 2 handles the EU VAT number validation.
Credit where credit's due: most of these suggestions come from a commercial extension we used a few times in the past: https://www.geissweb.de/eu-vat-enhanced-magento-extension.html, but since the current implementation in Magento is pretty broken, we shouldn't depend on an extension to fix these bugs in Magento I believe?
... View more
Allow a customer-level setting that enables/hides payment methods. For example, I have a small number of customers who cannot be removed from their price group, but who I want to force into Proforma Invoicing rather than Creditcard. By linking the payment method to the price group, I have to double up the number of price groups, one for normal people and one for those with bad credit etc.
... View more
Hi, Is there any plan to include Store pickup feature in Magento Community Edition? If yes, then in which version is it planned to release and also what is the date of release. I am waiting for this feature since long....
... View more
See more ideas labeled with: