Skip to content

Speed, SEO, Accessibility and Privacy ​

Speed ​

Lynx is built to load quickly and to feel quick once loaded:

  • A single-page app. After the first page, following a link loads only what changes, with no full page reload. No API required: it runs inside Magento, so there is no GraphQL layer or separate headless frontend to build and host.
  • No legacy scripts, only what a page needs. KnockoutJS, RequireJS, jQuery and the LESS stylesheets of Magento's standard theme are not loaded at all. Each page loads one script and one stylesheet, plus the code of the components it shows.
  • Images when needed. Images further down the page load as they scroll into view.
  • Third-party scripts later. Google Analytics can wait for the first interaction, so it does not slow down the first view.
  • Full page cache. Pages are served from Magento's full page cache.

How content loads ​

Not everything on a page has to arrive at the same moment. Lynx loads each component's data in one of three ways, so the first view appears as fast as possible:

WayWhat happensUsed for
With the pageThe data is part of the page itself. Shoppers and search engines see it straight away.Most components: banners, product carousels, the product page, the cart
Right after the pageThe page appears first, with a light placeholder where the content goes. Lynx fetches the content in a second, quick request and fills it in.Search results and advanced search results, where the product search is the slowest part of the page
When it is neededThe content is not loaded until it is about to be seen, for example when a tab is opened or a checkout step is reached.Product description, specifications and reviews with Load when shown on; the shipping methods and payment methods of the checkout steps

Loading later keeps the first view fast, because the server only prepares what is visible at once. The trade-off is for search engines: content loaded after the page is not part of the page they read first, and it is not included in server-side rendering. That is why, by default, only content search engines do not need loads later: search results and the checkout steps. The product page tabs load with the page unless you turn on Load when shown.

You choose for the product page tabs with the Load when shown setting of each component. See Load when shown.

Faster on the server ​

Lynx also lightens the work Magento does to build each page, so pages that are not yet in the full page cache come back sooner:

  • A minimal page layout. Lynx pages skip the many layout blocks and containers of Magento's standard theme and build only what the page shows.
  • Data only for what is on the page. Each component asks Magento for its own data, so nothing is prepared for parts the page does not use.
  • Configuration compiled ahead of time. Magento's configuration files are prepared once at deployment instead of being read and merged again after every cache flush.
  • Fewer lookups per request. Lynx skips checks and database lookups that the Lynx storefront does not need, such as stored inline translations and widget layout updates.

Lighthouse scores ​

Google Lighthouse rates a page from 0 to 100 on performance, accessibility, best practices and SEO. These are the scores of the home page of a test store with Magento's sample data, with server-side rendering on, measured with PageSpeed Insights:

PageSpeed Insights mobile report for the home page: Performance 99, Accessibility 100, Best Practices 100, SEO 100

CategoryMobile score
Performance99
Accessibility100
Best Practices100
SEO100
Agentic Browsing2/2
MetricMobile
First Contentful Paint1.4 s
Largest Contentful Paint1.7 s
Total Blocking Time50 ms
Cumulative Layout Shift0
Speed Index2.3 s

PageSpeed Insights tests in mobile mode, which simulates a mid-range phone on a slow 4G connection. Scores vary with your hosting, your catalog, your images and the extensions you install, so measure your own store the same way.

SEO ​

Lynx keeps everything Magento already does for search engines, and takes care of what a single-page app needs on top:

What you get
Real pagesEvery page has its own address and arrives as a complete web page, not an empty shell filled in later. Moving between pages inside the store updates the address and the page title too.
Magento's SEO settingsMeta titles, descriptions and keywords, robots settings, URL keys and URL rewrites of products, categories and CMS pages work as usual. Canonical links appear when you turn them on in Stores › Configuration › Catalog › Catalog › Search Engine Optimization.
Sitemap and robots.txtMagento's XML sitemap and robots.txt work unchanged.
Link previewsProduct pages carry Open Graph tags with the name, image, description and price, so a product link shared on social networks or in chat apps shows a preview.
Only pages worth findingThe cart, checkout, account and order pages and search results are marked so that search engines do not index them. The data Lynx loads when a shopper moves between pages is marked the same way, so it never shows up in search results in place of the page.
Server-side renderingGoogle runs JavaScript, so it indexes Lynx pages even without SSR. SSR is still recommended: search engines and link previews then receive each page with its content already in place, which helps the search engines and apps that do not run JavaScript, and can get new pages indexed sooner. See Server-side Rendering.

Content that loads after the page, such as product tabs with Load when shown on, is not part of the page search engines read first. See How content loads.

Accessibility ​

The storefront is built to WCAG 2.2 level AA, the standard the European Accessibility Act points to, so shoppers who use a keyboard, a screen reader or zoom can browse and buy:

  • Keyboard: a Skip to content link opens every page, and after moving to another page the keyboard starts at its content. A focused element is never hidden under the sticky header or the cookie notice.
  • Menus and drawers: the mobile menu, the mini cart, search and the filters open as dialogs. The page behind them cannot be reached until they close, Esc closes them, and the keyboard returns to the button that opened them.
  • Forms: each error is announced with its field, and submitting a form with errors moves to the first one. Password fields accept pasting, and fields offer the browser's autofill.
  • Sliders: autoplay stops while the pointer or the keyboard is on the slider, a Pause button stops it for good, and it starts paused for shoppers who asked their device for less motion. Every swipe has a button that does the same.
  • Touch targets: buttons and links are at least 24 × 24 pixels.

What stays with you: pick design colors with enough contrast, write Alt Text for your images and product photos, and publish your own accessibility statement as a CMS page.

Analytics ​

The Google Analytics 4 component sends page views and ecommerce events: product lists, product views, add to cart, cart views, checkout steps and purchases. Each event can be switched off. Setup is described in Site-wide components.

The Cookie Consent component shows a notice with accept and decline buttons. Analytics can be set to load only after a shopper accepts. See Site-wide components.

reCAPTCHA ​

Lynx forms follow Magento's Google reCAPTCHA settings in Stores › Configuration › Security › Google reCAPTCHA Storefront. Choose the reCAPTCHA type for each form there, such as sign in, create account, forgot password and contact, and Lynx shows it on the matching form. The reCAPTCHA script loads only when a shopper starts filling in a protected form.