Change report

Elivide: every change we made

1 October 2026 · elivide.com

Summary

This page lists every change made to elivide.com while fixing the audit findings, grouped by part of the site. All of it is live, apart from one small follow-up fix for the blog's page 2, which is ready to publish. The earlier report explains the 32 audit items; this one goes through each change in detail.

97changes
70before-and-after pictures
81theme updates
106theme files improved

How the pictures were taken: before pictures show the site's old code, run on a private preview with the same products and screen size (a few come from the audit itself); after pictures are elivide.com today. Click any picture to enlarge it.

Still with you

Not changed: every page has a hidden heading that comes from the Klaviyo sign-up form. It is part of Klaviyo's form and can't be changed from the website.

Contents

Homepage 9 changes, 8 with pictures

Best Sellers "Add to cart" buttons fit their cards

Homepage Best Sellers, on most iPhones, iPads in landscape and small laptops

Before: The "Add to cart" buttons were wider than their cards, so their right-hand side was cut off. The "+" marks sat halfway down benefits that wrapped onto two lines.

After: The buttons always fit their cards, and each "+" sits on the first line of its benefit.

Before buttons cut off on the right
After buttons fit

How we checked: Checked at 390, 1100 and 1440 pixels wide.

For developers: sections/featured-collection-custom.liquid: the button can't grow wider than its card and tightens its padding on narrow cards; the "+" is centred on the first line. · Commit 173a4b9

Reviews carousel fits the screen again

Homepage, every screen size

Before: The reviews carousel was wider than the screen, so the last card and the "next" arrow were cut off and mouse users couldn't move forward through the reviews.

After: It fits on every screen size, with both arrows visible.

Before cards and the next arrow cut off
After fits, with both arrows

How we checked: Checked at phone, tablet, laptop and desktop widths.

For developers: assets/base.css: the width limit now finds the REVIEWS.io carousel by its structure instead of a block id that changes from theme to theme. · Commit fc2fae8

Our Process shows Step 1 in full

Homepage, tablets and laptops (830 to 1300 pixels wide); swiping on phones

Before: On tablets and laptops Step 1 was cut off on the left with no way to scroll to it, and on phones every swipe landed slightly too far (22 pixels).

After: Step 1 is always fully visible, the steps still sit centred when they all fit, and swipes land exactly on each step.

Before "TEP 1 / SIGNED" cut off
After Step 1 in full

How we checked: Checked at 1024 pixels wide and with swipes on a phone.

For developers: sections/process-steps.liquid: auto margins centre the row only when it fits, and swipe positions are measured from the scrolling row instead of the page. · Commit fa5dfff

Quiz panel uses UK spelling: "Personalised results"

Homepage quiz panel, all devices

Before: The line under the quiz buttons said "Personalized results", in US spelling, next to "PERSONALISED FOR YOU" at the top of the same panel.

After: It now says "Personalised results".

Before "Personalized results"
After "Personalised results"

For developers: templates/index.json: the quiz panel's saved text. · Commit 6565e47

Articles carousel shows arrows only when there's more to see

Audit: smaller point

Homepage Articles section, wide computer screens

Before: All four article cards already fit on wide screens, yet the left and right arrows still showed, did nothing and covered the edges of the first and last cards.

After: The arrows only appear when there are more articles to scroll to, and fade when you reach either end.

Before arrows over the card edges, nothing to scroll
After no arrows when all four cards fit

How we checked: Chromium at 1440 x 900 on the old and new theme.

For developers: sections/custom-blog.liquid: the arrows show only while the row can scroll and are disabled at the ends. · Commit 6565e47

Scrolling text strip never leaves a blank gap

Audit: smaller point

Homepage, green strip below Best Sellers, on computers and phones

Before: Dragging the scrolling text strip could leave an empty band at its end (320 pixels in our test on a 1440-pixel-wide screen), and its speed setting worked backwards: a higher number made it slower.

After: The strip stays full however far it is dragged, and the speed setting now means pixels per second, set to 10 to keep today's pace. Visitors who turn off motion in their device settings see it standing still.

Before after a drag: blank band on the right
After after the same drag: no gap

How we checked: The same drag on both versions in Chromium at 1440 x 900: 320 pixels left blank before, none now.

For developers: sections/usp-marquee.liquid: the speed is distance per second, the strip adds copies until it covers the screen plus two sets, and reduced motion stops the phone animation. · Commit 022b49e

No light strip at the edge of the hero video

Audit: smaller point

Homepage, top video, on computer screens

Before: During the pomegranate clip, a thin light strip (3 to 4 pixels) showed down the right edge of the video. It is part of the video file itself.

After: The video is enlarged by 1.2%, too little to notice, so the strip falls outside the frame.

Before light strip down the right edge
After clean edge

How we checked: Video paused on the same frame (7.5 seconds in) on both versions, Chromium at 1440 x 900.

For developers: sections/hero.liquid: hero videos are scaled by 1.012 inside their frame, which already hides anything outside it. · Commit 23511ed

Quiz panel's "Shop All Products" stays readable on hover

Audit: smaller point

Homepage quiz panel, computers

Before: Hovering over "Shop All Products" turned it white on the light green card, so it almost disappeared.

After: On hover it stays dark and gets an underline, and both buttons show a clear outline when reached with the keyboard.

Before "Shop All Products" fades to white on hover
After dark and underlined on hover

How we checked: Hovered on both versions in Chromium at 1440 x 900.

For developers: sections/quiz-cta.liquid: hover uses the card's heading colour plus an underline, and both buttons get a keyboard focus outline in that colour. · Commit ed6756a

Best Sellers photos follow their product, "Sale" badge fixed

Audit: smaller point

Homepage Best Sellers, all devices, and its settings in the theme editor

Before: The custom jar photos were matched to a position in the list, so if the best-seller order changed, a card could show another product's jar. The "Sale" badge pointed at wording that didn't exist, so a discounted best seller would have shown "Translation missing" instead of "Sale".

After: Each custom photo is now chosen for a specific product in the theme editor (today's five photos are kept), and the badge reads "Sale".

How we checked: No best seller is discounted today, so the badge is not visible on the live site.

For developers: The Custom product image block now has a Product picker instead of a position number (templates/index.json updated to match), and the badges use the theme's existing "content.product_badge_*" wording. · Commit 173a4b9

Menus and header 6 changes, 5 with pictures

iPad: the Learn menu opens with a tap

Every page, iPad in portrait and landscape

Before: Tapping Learn (or More, in portrait) opened nothing, because the menu closed again as the finger lifted, and tapping Learn jumped to the top of the page.

After: The first tap opens the menu and a second tap follows the link. Menu items without a link of their own no longer jump the page.

Before tapping Learn opens nothing
After tapping Learn opens the menu

How we checked: Tapped in the iPad Safari engine in landscape. The before picture was taken on the old theme before any menu fix; it can't be retaken because the Learn link has since changed in Shopify admin.

For developers: assets/header-menu.js and blocks/_header-menu.liquid: a touch tap opens the submenu first, and items whose link is "#" are buttons. · Commit 7579a5a

Desktop menus stay steady, close with Esc and fit the screen

Every page, computers and tablets

Before: Moving the mouse diagonally from Shop down into its open menu switched to Learn or About on the way, and Esc didn't close menus. On tablets and small laptops the Learn menu ran off the bottom of the screen (625 pixels below it at 1024 x 768), with its last links out of reach.

After: Menus stay open while the mouse heads into them, Esc closes them, and the Learn and Shop menus fit the screen at every size, scrolling inside only on very short screens.

Before Learn menu runs off the bottom of the screen
After it fits, trust icons included

How we checked: Learn menu checked at five sizes from 820 x 1180 to 1440 x 900; in the pictures (Chromium at 1024 x 768) it now ends 52 pixels above the bottom of the screen.

For developers: assets/header-menu.js lets items crossed on the way into an open submenu take over only if the mouse rests on them, and closes on Escape; submenus are capped at the height below the header, and the Learn menu uses three columns below 1200 pixels (fbf342d only tidies a code comment). · Commits 7579a5a, 309cf5d, fbf342d

Learn menu icons show in Safari, and its links line up

Every page, Learn menu, Safari on Mac and iPad (icons); all browsers (link alignment)

Before: In Safari the three trust icons along the bottom of the Learn menu were empty circles, and the "Take the quiz" and "Learn more about our standards" links started 4 and 6 pixels to the left of the text above them.

After: The icons show in every browser at the same size as before, both links line up with their text, and the arrows after links no longer wrap onto a line of their own.

Before empty icon circle, link starts too far left
After icon shows, link lines up with the text

How we checked: Desktop Safari engine at 1440 x 900: the icons measured 0 x 0 pixels before and 26 x 26 now.

For developers: snippets/learn-mega-menu.liquid: the icon size settings now also reach the trust footer, link indents follow the icon size, and each arrow is kept with the last word; header-group.json keeps the trust icons at today's 26 pixels. · Commits a85d3f2, 372fef8

"Differnce" typo fixed in the Learn menu

Every page, Learn menu, computers and tablets

Before: The third article card in the Learn menu read "What is the differnce between synthetic and natural vitamin C".

After: It now reads "difference".

Before "differnce"
After "difference"

For developers: sections/header-group.json: the card's saved description. · Commit 372fef8

Phone menu always opens at the top

Audit: smaller point

Every page, phones

Before: The phone menu reopened wherever it had been left: scrolled down, and with any group the shopper had collapsed still collapsed.

After: It always opens at the top, with Shop, Learn and About expanded as usual.

Before reopened scrolled down, Shop still collapsed
After reopens at the top, Shop expanded

How we checked: iPhone (Safari engine) on both versions: collapsed Shop, scrolled down, closed and reopened the menu.

For developers: assets/header-drawer.js resets the menu's scroll position and groups just before it slides in. · Commit 80ac3dc

Two menu links go straight to their current pages

Audit: smaller point

Shop menu on computers and the phone menu

Before: "Histamine Balance Stack" and "Immune & Histamine" pointed at old addresses that only worked through a redirect.

After: They link straight to the current product and collection pages, saving one redirect per click.

For developers: The built-in fallback links in the Shop menu, phone menu and header settings now use /products/histamine-balance-stack and /collections/immune-histamine. · Commit 0e77998

Product pages 9 changes, 7 with pictures

Complete Your Routine shows the right "was" price and saving

Product pages, Complete Your Routine section, every device

Before: Bundle cards mixed one option's price with another's "was" price, for example "£81.99, was £93.00, Save 13%" instead of "was £96.00, Save 14%". "This item" always showed and added a one-time Glass Jar, whatever the shopper had chosen.

After: Every price, "was" price and saving now comes from the exact option the card adds. "This item" follows the shopper's choice of jar, refill or subscription, and the heading shows straight away instead of popping in late.

Before "was £93.00, Save 13%" (wrong)
After "was £96.00, Save 14%" (correct)
Before refill and Subscribe chosen, yet the £32.00 jar
After the chosen refill at its £26.35 subscription price

How we checked: Prices checked in the fix work on three products; This item checked on Magnesium Bisglycinate with Refill Pouch and Subscribe chosen, in the old and new versions.

For developers: sections/customers-also-bought.liquid takes price, compare-at price and saving from the variant each card adds; the This item card mirrors the product form's variant and selling plan. · Commit 8b410d7

The sticky Add to cart bar shows what it will add

Product pages, the Add to cart bar that appears at the bottom after scrolling; every device

Before: With Subscribe and a quantity of 2 chosen, the bar still showed the one-off price for one item (for example £36.00), but tapping it added two subscriptions at £30.60 each.

After: The bar shows the price of exactly what it adds, including the subscription price and the quantity, and updates as options change. On phones the quantity stays visible.

Before one-off price, no quantity
After subscription price and quantity

How we checked: Checked in the fix work on Histamine Resolve, on phone and desktop.

For developers: assets/sticky-add-to-cart.js follows the product form's selling plan; blocks/quantity-external.liquid sends the theme's quantity event; sections/product-information.liquid restores the button's side padding and stacks a crossed-out price under the price on phones. · Commit 142c9f4

More Info shows long descriptions in full

Product pages, More Info section; most noticeable on phones

Before: More Info opened to a fixed maximum height, so the end of long descriptions was cut off. On Skin Mineral, 263 pixels of research references were hidden on phones.

After: It now opens to the full length of any description, with the same smooth animation, which now also plays every time in Safari.

Before the text stops mid-list
After everything shows, down to the research links

How we checked: Checked in the fix work on Skin Mineral on an iPhone-sized screen.

For developers: sections/product-more-info.liquid animates each section between 0 and its content's real height, instead of an animation that ended at a 2000px cap. · Commit 696eb90

Product pages stay quick after switching to Subscribe

Product pages with a Subscribe option, every device

Before: Each switch between One-time and Subscribe doubled the work the page did in the background. After 15 switches, one click took almost 6 seconds and the page could freeze.

After: The subscription options now set themselves up once. After 15 switches a click takes about half a second, the same as the first.

How we checked: Timed in the fix work: one click after 15 switches, in the old and new versions.

For developers: assets/scripts.js attaches the Recharge widget's listeners and observer once per widget (they doubled on every re-style, reaching 32,768 observers after 15 switches); only the styling re-runs. A console message that ran on every page is gone. · Commit fdcb98d

No empty band on the Structured Glass Bottle page

Audit: smaller point

Structured Glass Bottle page (and any product without timeline steps), every device

Before: Products without timeline steps still showed the timeline section's empty background: a blank cream band, 112 pixels tall on phones, between "How to use" and More Info.

After: The section only appears when a product has timeline steps, so the page flows straight on. It still shows in the theme editor, so it can be found and filled in.

Before a blank band above More Info
After More Info follows straight on

How we checked: Compared on an iPhone-sized screen in the old and new versions.

For developers: sections/timeline-slider.liquid renders only when the product's timeline_items metafield has items, or in the theme editor. · Commit 3c1c938

The feature bar keeps sliding and fits on tablets

Audit: smaller point

Product pages, the sliding bar of features (Zero Additives, Made in the UK, Green Energy); the text fix shows on tablets

Before: The bar stopped sliding for good after a tap or a screen rotation mid-slide, and its arrows stopped working for people who turn off animations. On iPad, its text ran into the next icon.

After: It keeps sliding whatever happens, and long text wraps neatly on tablets.

Before text runs into the next icon
After text wraps neatly

How we checked: Checked in the fix work on an iPad-sized screen (820 pixels wide).

For developers: sections/feature-slider-bar.liquid settles the slider however a slide change ends (with a timer as a fallback), wraps text at 750-830px and no longer repeats Shopify's wrapper id. · Commit 0b93c34

Keyboard users can see where they are on product pages

Audit: smaller point

Product pages, when moving around with the Tab key; computers

Before: Pressing Tab moved through the option tiles, quantity buttons and Add to cart with no visible outline (the Add to cart one was white on a white page). More Info and the subscription frequency menu had theirs switched off too.

After: Each now shows a clear outline when reached with the keyboard, as do the Complete Your Routine buttons and the sticky bar's button. Mouse and touch users see no change.

Before Add to cart reached with Tab: no outline
After a clear outline around Add to cart
Before selected tile reached with Tab: no outline
After an outline around the tile

How we checked: Checked with the Tab key in desktop Chrome, in the old and new versions.

For developers: The theme's focus ring in a visible colour: assets/base.css (main Add to cart), snippets/variant-main-picker.liquid (tiles), blocks/quantity-external.liquid, sections/product-more-info.liquid, sections/customers-also-bought.liquid, sections/product-information.liquid (sticky button) and the Recharge menu styles in assets/scripts.js. · Commits a8b075c, 8d673de

Space between a single photo and the name on phones

Audit: smaller point

Product pages with only one photo (the water filters), on phones

Before: On products with a single photo, such as the Activated Carbon Filter, the product name sat just 5 pixels below the photo.

After: Single-photo products now get the same breathing room between photo and name as the others. Products with several photos are unchanged.

Before the name sits right under the photo
After room between photo and name

How we checked: Compared on an iPhone-sized screen in the old and new versions.

For developers: assets/base.css adds spacing below single-photo galleries on phones, which have no thumbnail strip. · Commit e391ecd

Products carry their star rating for search engines

Audit: smaller point

Product pages with reviews, in the product details Google reads (nothing visible changes)

Before: Star ratings reached Google only through REVIEWS.io's own extra product record, which listed only the first option and had errors. The theme's own product record had no rating.

After: The theme's product record now carries the same REVIEWS.io rating, so you can switch off REVIEWS.io's "rich snippets" and Google keeps the stars from a single record. Products without reviews get no rating.

How we checked: The live Magnesium Bisglycinate page includes the rating in the theme's product record.

For developers: sections/product-information.liquid adds aggregateRating, from the reviews.rating and reviews.rating_count metafields REVIEWS.io syncs, to the theme's Product/ProductGroup JSON-LD (same @id). · Commit a2b0fc2

Cart and adding to cart 7 changes, 6 with pictures

The free UK shipping message is only for UK shoppers

Cart drawer, for shoppers outside the UK; every device

Before: Shoppers abroad were told about UK free shipping in their own currency: a US shopper with one $44.00 jar saw "Add $26.00 more for FREE UK SHIPPING". Other currencies used the wrong amounts: €500 for euros, and an unconverted 55 for the rest.

After: The message and progress bar now show only to shoppers in the UK, measured against the £55 threshold. Everyone else sees delivery costs at checkout, as usual.

Before US shopper: "Add $26.00 more for FREE UK SHIPPING"
After no UK shipping message

How we checked: Checked as a US shopper on an iPhone-sized screen in the old and new versions; UK shoppers still see the bar.

For developers: snippets/shipping-progress.liquid, blocks/_shipping-progress.liquid, snippets/cart-summary.liquid and sections/main-cart.liquid check the shopper's country (GB) and use the GBP threshold. The drawer bar no longer re-applies the page-load cart when it is re-inserted, and a duplicate script that raised a Safari error on the cart page is gone. · Commit cb7876f

The empty cart page says your cart is empty

Cart page, every device

Before: An empty cart showed PRODUCT and TOTAL headings over nothing and "Items are not reserved", but no "your cart is empty" message. On phones it also showed a ticked "You're £55.00 away from FREE Shipping" bar.

After: It now says "Your cart is empty" with a Continue shopping button, and switches to that view straight away when the last item is removed.

Before orphan headings, no message
After "Your cart is empty"

How we checked: Checked in the fix work on desktop and phone, including removing the last item.

For developers: blocks/_cart-title.liquid shows Horizon's empty-cart heading; sections/main-cart.liquid and sections/cart-hero.liquid hide the bar and the note while the cart is empty; a hidden "test2" debug text is removed. · Commit b388f21

No tick on the free-shipping bar until it's reached

Cart page on phones, for UK shoppers under £55

Before: The cart page showed a tick next to "You're £20.00 away from FREE Shipping", as if free delivery were already unlocked.

After: The tick only appears once free UK delivery is reached, and the message uses the wording set in the theme editor: "You're £20.00 away from Free UK Shipping".

Before a tick although £20.00 is still to go
After no tick until it's reached

How we checked: Checked on an iPhone-sized screen with a £35.00 filter in the cart, in the old and new versions.

For developers: blocks/_shipping-progress.liquid shows the tick only at the threshold, prints its text settings and drops an unused script (the section re-renders after every cart change). · Commit cb7876f

A failed Add to cart now says why

Collection cards, homepage Best Sellers and quick add on search results, every screen size

Before: If an item couldn't be added (for example it had just sold out), the button still showed a success tick and gave no reason, so it looked as if it had worked.

After: The tick only shows once the cart has accepted the item. Otherwise the reason appears on the card, or in a small bubble above a quick Add button, and the cart drawer stays closed.

Before success tick although it failed
After the reason is shown, no tick
Before a tick, though nothing was added
After a bubble says it's sold out

How we checked: Simulated a sold-out reply from the cart on both versions.

For developers: assets/product-form.js plays the tick only after the cart accepts the item and shows the cart's reason; the rich card, Best Sellers and quick-add snippets gained an error line. · Commits a516799, 19a8df1

The cart stays shut when Add to cart is refused

Product pages, the main Add to cart button and the sticky bar; every device

Before: When the shop refused an add, for example because the item had run out, the cart still slid open over the page and covered the error. The sticky bar also played its success tick before the cart had answered, even when the add failed.

After: The cart stays shut and the reason shows above the button. The sticky bar's tick only plays once the cart has accepted the item.

Before the cart opens on top of the error
After the cart stays shut and the reason shows

How we checked: Reproduced in desktop Chrome by making the cart refuse 2 more jars (as when stock runs out), in the old and new versions.

For developers: assets/cart-drawer.js ignores failed adds, assets/sticky-add-to-cart.js plays its tick only after a successful add, and assets/product-form.js clears its sticky-bar flag on every click. The clearer reason text comes from a516799. · Commit f5fd50d

The cart drawer shows where keyboard focus is

Audit: smaller point

Cart drawer, when using the Tab key; computers

Before: The View Cart link and the close button never showed an outline, so after pressing Tab, keyboard users couldn't see where they were.

After: Both show a clear outline when reached with the keyboard. The drawer now holds focus itself when it opens, so the first Tab lands on View Cart and no outline appears after a mouse click.

Before after one Tab: no outline anywhere
After after one Tab: View Cart outlined

How we checked: Checked in desktop Chrome, in the old and new versions: open the cart with a click, then press Tab once.

For developers: snippets/header-actions.liquid drops two "outline: none !important" rules; assets/cart-drawer.js focuses the dialog itself on open (otherwise Safari would ring View Cart after a click, as the old code only hid that ring). · Commit d1a4e36

Leftover Add to cart button style removed

Found while testing

Every Add to cart button (product, search, homepage and collection pages); nothing visible changes

Before: A leftover rule set the padding of every Add to cart button on the site, and each button had to override it.

After: The rule is gone. The buttons look exactly the same, with one less thing to trip up future changes.

How we checked: The buttons' measured padding and size are identical before and after on product, search, homepage and collection pages.

For developers: blocks/buy-buttons.liquid: removed ".add-to-cart-button { padding: 25px 0 }", which was compiled into the site-wide stylesheet. · Commit 3fd1cf1

Collections and search 10 changes, 7 with pictures

Prices show on search, quick add and product suggestions

Search results, the quick-add pop-up, the cart page's "You may also like" and the page-not-found product list, every screen size

Before: Every product with a subscription option (8 of the 14 products) showed no price in these places, only its name.

After: The price now shows everywhere. It is only left out on a product's own page, where the subscription widget already shows it, so that page looks exactly as before.

Before no prices under the products
After prices show
Before no price in quick add
After £32.00 shows above Add to cart
Before suggestions without prices
After £32.00 and £38.00 show

How we checked: Compared both versions at desktop size on the quick-add pop-up, the cart page and the page-not-found list.

For developers: blocks/price.liquid now always prints the price and hides it only next to the Recharge widget on the product page, which quick add doesn't copy. · Commit ac30e77

The broken "zoom out" grid button is gone

Collection pages and search results, on desktop and tablet

Before: The "zoom out" button did nothing on desktop and squeezed products into 6 tiny columns on iPad. The collection styles behind it were also loaded on every other page, where they could override the width chosen for text blocks.

After: The button is gone on desktop and tablet, and the phone switch between one and two columns still works. The collection styles now stay on the collection and search pages, and the theme editor says the grid setting is for phones only.

Before zoom-out on iPad: 6 squashed columns
After 2 clear columns, no zoom-out button

How we checked: Text blocks on 13 main pages were measured during the fix: only a one-line homepage caption was affected, with no visible change.

For developers: The rich card's forced 4 columns and 45em text cap moved from the site-wide stylesheet into the collection and search sections, and the filter bar renders only the phone layout toggle. · Commit e57d2e6

Back and Forward undo a filter or sort

Collection and search pages, every device

Before: After filtering or sorting, the browser's Back button changed the web address but left the same products, sort and ticked filters on screen.

After: Back and Forward now step through each filter and sort, restoring the products, the sort and the ticked filters.

How we checked: During the fix, Back and Forward through three sorts restored the products and the sort label every time.

For developers: assets/facets.js now listens for history changes and redraws the results for the entry the shopper lands on, skipping infinite scroll's page-only entries. · Commit 6211463

The search page has a main heading for search engines

Search results page

Before: The search page had no main heading for search engines and screen readers; "Search results" was marked up as a minor heading.

After: "Search results" is now the page's main heading. On screen it is just slightly smaller, the same size as collection page titles.

For developers: sections/search-header.liquid renders the heading as an h1 instead of an h3. · Commit bfec1b4

The search result count matches the products shown

Audit: smaller point

Search results page, every screen size

Before: The count also included matching pages and blog posts, which the results never list. A search for "structured" said 5 items but showed 3 products.

After: The count matches the products shown (3 items for that search), and every way of searching from the header now asks for products only.

Before "5 items" but 3 products
After "3 items"

How we checked: Ran the same search on both versions at iPad size.

For developers: sections/search-results.liquid counts the listed products when all results fit on one page, and the header search adds type=product for Enter, View all and a plain form submit. · Commits 6a70988, 5ac0ad4

The "+" icons line up with their benefit lines

Audit: smaller point

Collection cards, mostly on phones and tablets, wherever a benefit runs onto two lines

Before: When a benefit ran onto two lines, its "+" sat in the gap between the lines (or beside the middle line of three).

After: Each "+" now sits level with the first line of its benefit.

Before "+" between the lines
After "+" on the first line

How we checked: Checked at iPhone size in Safari's engine on both versions.

For developers: snippets/rich-product-card.liquid centres the icon on the first line (0.5lh, with a 0.7em fallback) instead of the middle of the whole item. · Commit 2785ca7

Sharp product photos in the one-column phone view

Audit: smaller point

Collection pages on phones, after switching to one column

Before: Card photos came in sizes up to 600 pixels wide, about half what a full-width photo on an iPhone needs, so they looked soft.

After: Photos now come in sizes up to 1,200 pixels and are sharp, including in Safari straight after switching to one column.

Before zoomed in: soft label
After zoomed in: crisp label

How we checked: At iPhone size in Safari's engine, the first photo used the 600-pixel file before and the 1,200-pixel file after switching to one column.

For developers: snippets/rich-product-card.liquid adds 800 to 1,200-pixel sources with sizes="auto", and assets/results-list.js gives the images their new width after the layout switch, for Safari. · Commits 2785ca7, 2574b97

Search results no longer touch the screen edges on phones

Audit: smaller point

Search results page on phones

Before: On phones, the search result cards ran right to both edges of the screen, out of line with the filter bar above them.

After: They now have the same side margins (16 pixels) as the filter bar and the collection pages.

Before photos touch both screen edges
After lined up with the filter bar

How we checked: Checked at iPhone size in Safari's engine on both versions.

For developers: sections/search-results.liquid adds the collection grid's 16px phone gutter. · Commit 2785ca7

A visible keyboard outline on Add to cart buttons

Audit: smaller point

Collection pages, when moving through the page with the Tab key

Before: The outline marking the selected Add to cart button was a thin, faint peach line, partly cut off, so you could hardly tell which button was selected.

After: The selected button now shows a clear white outline just inside its edge.

Before left button selected, barely visible
After clear white outline

How we checked: Reached the first card's button with the Tab key at desktop size on both versions.

For developers: snippets/rich-product-card.liquid adds a 2px focus-visible outline drawn inside the button, because the card clips anything outside it. · Commit d66ad3b

Filter controls have proper names for screen readers

Audit: smaller point

Collection and search filters, especially the phone filter panel

Before: Screen readers found a close button with no name, a Sort menu with no label and price boxes read out as "£" or as their placeholder numbers, and each availability option was announced as two checkboxes.

After: Every filter control now has a clear name (for example "Close", and "From £" and "To £" for the price boxes), and each option is announced once. Nothing looks different.

For developers: The drawer's close button gets a label, the price inputs and sort menus get unique ids for their desktop and drawer copies, and filter checkbox labels drop a redundant checkbox role. · Commits d66ad3b, 1ba172a

Welcome pop-up 9 changes, 7 with pictures

The pop-up no longer opens over the cart or menu

Every page, every device

Before: The pop-up opened 15 seconds after landing whatever the shopper was doing, so someone who had just added a product saw it cover their open cart (or the menu).

After: It now waits until the cart, menu, search or any other window is closed, then opens a couple of seconds later.

Before the pop-up fading in over the open cart
After the cart stays on screen

How we checked: Checked on desktop in both versions: Add to cart straight away, then look 20 seconds after the page loaded.

For developers: assets/welcome-popup.js checks every second whether another dialog or drawer is open, and opens 2 seconds after the page is free. · Commit f4b2a10

The pop-up waits until the cookie banner is answered

Every page, whenever Shopify's cookie banner is showing

Before: The pop-up opened on top of the cookie banner, so shoppers couldn't accept or decline cookies until they had closed the pop-up.

After: It waits while the banner is on screen and opens a couple of seconds after the shopper answers it.

Before the pop-up fading in over the cookie banner
After the banner stays on screen and usable

How we checked: Checked on desktop in both versions with Shopify's banner preview, 20 seconds after the page loaded.

For developers: assets/welcome-popup.js also treats Shopify's cookie banner or its preferences panel as busy. · Commit fd1dc76

Claim 20% off tag no longer covers Add to cart or menu

Product pages on phones (the sticky Add to cart bar), and the phone menu on every page

Before: The tag sat on top of the sticky Add to cart bar on product pages, hiding the product photo and name. On the open phone menu it hid the Instagram, Facebook and TikTok links.

After: The tag moves up above the sticky bar while it shows, and steps out of the way while the menu, cart or another window is open.

Before the tag covers the sticky bar
After the tag sits above it
Before the tag hides the social links
After the tag steps aside, links visible

How we checked: Checked on iPhone in both versions, with the menu open and scrolled to the bottom.

For developers: assets/welcome-popup.js lifts the tag by the sticky bar's measured height when they would overlap; the tag hides, and can't be reached with Tab, while a menu, drawer or dialog is open. · Commit 8da387e

Tapping the discount code always copies the code

Welcome pop-up, the discount code step after signing up, every device

Before: Tapping the code twice within 1.5 seconds copied the word "Copied!" instead of the code, and "Copied!" then replaced the code on screen for good.

After: Every tap copies the code, and the code always comes back after the short "Copied!" message. The code box also works with the keyboard.

Before 3 seconds after two quick taps: still "Copied!"
After the code is back

How we checked: Checked on Android in both versions (the code step shown directly, with no sign-up): after two quick taps the clipboard held "Copied!" before and the code after.

For developers: The code is copied from a data attribute instead of the label, the label timer restarts on each tap, and the code box is now a real button. · Commit 7b421fb

The close button shows one ring, not two

Welcome pop-up as it opens: always on iPhone and in Safari, and in Chrome until the first tap

Before: The close button was selected as soon as the pop-up opened, so a second outline was drawn around its circle and it looked like a double ring.

After: It shows one clean circle. Keyboard users still get a clear highlight: the circle fills black when they tab to it.

Before double ring
After one clean ring

How we checked: Checked on iPhone in both versions, with the pop-up opening by itself.

For developers: Focus starts on the dialog itself; keyboard focus on the close button fills the circle instead of drawing an outline. · Commit e90d3f9

Pop-up photos fade softly instead of a hard edge

Welcome pop-up: the top photos on every screen size, the bottom-left photo on phones and tablets

Before: Where a photo ended inside the pop-up it was cut off with a hard straight line: across the wrists in the two top photos, and down an arm in the bottom-left photo on phones.

After: Those edges now fade softly into the background.

Before wrists cut off by a hard line
After edges fade out
Before arm sliced by a straight line
After the arm fades out

How we checked: Checked on iPhone in both versions.

For developers: A soft gradient mask on those photo edges in snippets/welcome-popup.liquid. · Commit ba98e5d

Pop-up heading lines evenly spaced on phones

Welcome pop-up on phones

Before: The heading's first line wraps on phones, and "JOIN BELOW" nearly touched "FOR" underneath (under 2 pixels apart), while "20% OFF" had about 8 pixels of space.

After: All three lines are now an even 10 pixels apart.

Before "JOIN BELOW" and "FOR" almost touch
After evenly spaced lines

How we checked: Measured on iPhone in both versions.

For developers: Both heading lines use a 46px line height on phones (was 37.5px and 50px). · Commit ba98e5d

People who signed up don't see the pop-up again

Every page, every device

Before: Signing up only hid the Claim 20% off tag, and everything the pop-up remembered was wiped after 72 hours, so subscribers were offered the discount again 3 days later.

After: A successful sign-up is remembered for good, so subscribers never see the pop-up or its tag again. The discount code now only appears when the sign-up really went through.

How we checked: Tested in the fix work with a simulated sign-up (nothing sent to Klaviyo), including a visit 73 hours later.

For developers: A permanent flag is set from Klaviyo's submit event for the pop-up's form, which Klaviyo only sends when the sign-up succeeds; this replaces a page check that also showed the code after a failed sign-up. · Commit 7757247

Keyboard users stay on the pop-up step that's showing

Welcome pop-up, for keyboard and screen reader users

Before: The pop-up's hidden steps were only made see-through, so the Tab key could land on invisible buttons and screen readers could read out the discount code before signing up.

After: Hidden steps can't be reached, and focus moves to the email field or the code when the step changes.

How we checked: Tested in the fix work by pressing Tab through each step of the pop-up.

For developers: Steps that aren't showing are inert, and focus moves to the first control of the step that appears (or the dialog while Klaviyo's form loads). · Commit 42f9b63

Magnesium quiz 11 changes, 9 with pictures

The quiz recommends the right magnesium again

Magnesium quiz (Find Your Magnesium Match), every device

Before: Each answer simply gave a point to the product in the same position in the list, so sleep and calm answers pushed Malate (the energising form) and energy answers pushed Bisglycinate. Across all 2,187 possible sets of answers, the top pick matched what the answers pointed to only 39% of the time.

After: The points from your original quiz design are back: the top pick now matches 77% of the time, "sensitive to acidic forms" answers get Malate 5% of the time instead of 44%, and sleep answers never get Malate (it was 33%).

Before the same sleep-focused answers: Malate first, "4/7 match"
After the same answers: Bisglycinate first, "13/13 match"

How we checked: Answered the same seven sleep, tension and acid-sensitive questions on both sites in a desktop browser.

For developers: templates/page.magnesium-match.json and the section preset use the points from the quiz design; the match badge now counts out of the best score the answers allow, not the number of questions. · Commit ade8804

Quiz results show the price of the option you pick

Magnesium quiz results, every device

Before: Each card showed £31.00 (the refill pouch price) while the option selected, and added to the cart, was the £32.00 glass jar. The price never changed when you picked another option, and it always used a £ sign, even for shoppers paying in dollars or euros.

After: The price and photo follow the option you pick (£32.00 for the glass jar), in the shopper's own currency.

Before £31.00 shown, but the Glass Jar 90 costs £32.00
After £32.00, the price of the Glass Jar 90

How we checked: Compared the same product card on both sites as a UK shopper.

For developers: sections/quiz.liquid: each option's price is formatted by Shopify in the shopper's currency when the page is built, instead of the script rewriting it with a fixed £ sign. · Commit a6f0a8c

Adding a quiz pick updates the cart straight away

Magnesium quiz results, every device

Before: Add to cart said "Added!", but the cart drawer that opened didn't show the item (in a new visit it said "Your cart is empty"), and the cart icon showed no number.

After: The drawer opens with the item in it and the cart icon shows the right number, just as when adding from a product page.

Before "Added!", yet the drawer says "Your cart is empty"
After the drawer lists the jar that was just added

How we checked: Added the top pick in a fresh browser on both sites (desktop).

For developers: sections/quiz.liquid adds through the theme's cart route, asks for the cart drawer's updated content and sends the theme's own "added to cart" event with the real item count. · Commit 3017e11

The quiz works with a keyboard and screen reader

Magnesium quiz, computers and assistive technology

Before: The answers only responded to a mouse click: pressing Tab skipped straight past them to "Next question", so the quiz couldn't be completed with a keyboard.

After: Every answer can be reached with Tab and chosen with Enter or Space, with a clear outline showing where you are. Screen readers hear "Question 2 of 7" on each step, product names are proper links and the match explanation opens from the keyboard.

Before one press of Tab: the answers are skipped and "Next question" is outlined
After one press of Tab: the first answer is outlined

How we checked: Pressed Tab once from the first question on both sites (desktop Chrome).

For developers: sections/quiz.liquid: answers are toggle buttons in a labelled group, focus moves to each new screen's heading and a live region announces progress. · Commit 0b78144

The question counter is no longer hidden under the menu

Magnesium quiz, every device

Before: Starting the quiz scrolled the page up, which brought back the menu bar on top of "Question 1 / 7".

After: The quiz now stops just below the menu bar, so the counter stays visible on every question.

Before question counter hidden under the menu bar
After "Question 1 / 7" visible

For developers: sections/quiz.liquid scrolls the quiz into view below the sticky header's height. · Commit 9b1a296

The match explanation stays on screen on phones

Magnesium quiz results, phones

Before: Tapping the "i" next to a product's match score opened an explanation that ran off the right-hand edge of the screen, cutting words off.

After: It opens towards the left of the "i" and is never wider than the product card.

Before the explanation runs off the screen
After the explanation fits inside the card

How we checked: Opened the same product's explanation on both sites on an iPhone-sized screen.

For developers: Commit 9b1a296

The quiz fits iPad screens

Magnesium quiz, iPad in portrait and screens about 770 to 1,070 pixels wide

Before: The start screen was cut off on both sides ("sed about which / sium is / r you?"), long answers spilled out of their boxes, and the "100%" progress label was clipped.

After: The start screen shrinks to fit, answer boxes grow with their text, and the progress bar lines up with the rest of the quiz.

Before heading and Start button cut off on the left, photo on the right
After everything fits

How we checked: Compared the start screen on both sites on an iPad-sized screen (820 pixels wide).

For developers: sections/quiz.liquid: the start screen's fixed 400 + 80 + 570 pixel row became flexible, and answer boxes use a minimum height instead of a fixed one. · Commit 5d1f3a9

Room above "Start over" on the phone results

Magnesium quiz results, phones

Before: "Start over" sat squashed against the intro text at the top of the results.

After: It now has clear space above it, like the other quiz screens.

Before "Start over" pressed against the intro text
After clear space above "Start over"

For developers: sections/quiz.liquid: the results screen makes up for the 50 pixels the quiz header overlaps on phones. · Commit fc31d9c

Typos fixed in the quiz text

Magnesium quiz intro and the Malate match explanation

Before: The intro said "It's acts as a cofactor", one aside was missing its closing dash, and the Malate explanation said "a combination of magnesium and malic".

After: It reads "It acts as a cofactor", the aside is closed, and Malate is "a combination of magnesium and malic acid".

Before "It's acts as a cofactor"
After "It acts as a cofactor"

For developers: templates/page.magnesium-match.json, plus the default explanation in sections/quiz.liquid. · Commit 3955b9d

"Go back" in the quiz is no longer undone

Magnesium quiz, every device

Before: Choosing an answer moves on after 1 second. Pressing "Go back" within that second took you back and then bounced you forward again, or straight to the results from question 7.

After: "Go back" and "Start over" cancel the automatic move, "Next question" moves on straight away, and a question you return to shows your earlier answer ready to continue.

For developers: sections/quiz.liquid: one shared step forward that Back and Start over cancel. · Commit 0bf3300

One unpublished product no longer breaks the whole quiz

Magnesium quiz, every device

Before: If one of the quiz's products was unpublished, or a points box in the theme editor was left empty, every shopper saw "Quiz configuration error." instead of the quiz.

After: A missing product is simply left out and an empty points box counts as 0. Setup problems are only shown in the theme editor, never to shoppers.

For developers: sections/quiz.liquid builds the quiz data with separators instead of fixed commas, so a missing product or blank number can't break it. · Commit 6d31bfb

Blog 5 changes, 2 with pictures

The Wellness Journal keeps loading articles as you scroll

Wellness Journal (blog) list, every device; also collections with more than 24 products

Before: Every new batch of articles caused an error, so loading could stop partway down the list, and the page address never updated.

After: All 40 articles load as you scroll, with no errors, and the address follows the part of the list you're reading.

How we checked: Scrolled to the end on both sites (desktop): the old version logged an error with each batch; the new one loaded all 40 articles with none.

For developers: assets/paginated-list.js only calls the product-card helper when there is one, and no longer caches a failed or rate-limited page request. · Commit d9bca31

Blog page 2 no longer opens with a giant card

Wellness Journal page 2 and later, computers and tablets

Before: Opening page 2 directly (for example from a search result) showed its first article as a big full-width card, which then shrank as page 1 loaded above it.

After: Only page 1 has the big featured card. A small follow-up fix, tested on computers, iPads and phones, also stops the first article on page 2 showing squeezed for a moment; it goes live with the next small theme update.

How we checked: Opened page 2 directly on computers (Chrome and Safari), iPads and phones, with page 1 held back, and checked page 1 still has its featured card.

For developers: sections/main-blog.liquid gives the featured grid slot only to the first post of page 1; the follow-up gives the side-by-side card in blocks/_blog-post-card.liquid the same [data-page="1"] condition. · Commit ad9167f

Article header tidied: Home icon on phones, spaced byline

Audit: smaller point

Every blog article; the breadcrumb change is on phones

Before: On phones the breadcrumb lost its Home icon and cut the article title off mid-word, and on every article the byline read "by Matt Jarosy– April 13, 2022".

After: The Home icon is back and, on phones, the trail stops at the blog name (the title is the heading just above). The byline reads "by Matt Jarosy – April 13, 2022".

Before Home icon missing, "Jarosy– April"
After Home icon back, spaced byline

How we checked: Byline checked on both sites; the breadcrumb pair is from report 2.

For developers: sections/main-blog-post.liquid: the Home link no longer shrinks to nothing, and the byline keeps the space before the dash. · Commit 275cf77

Share says "Link copied" when there's no share menu

Audit: smaller point

Every blog article, browsers without a share menu (for example Firefox on a computer)

Before: Share copied the article's link without any sign that anything had happened.

After: A small "Link copied" note appears for 2 seconds, with a translation in each of the theme's 30 other languages.

Before Share clicked: nothing shows
After "Link copied" appears above Share

How we checked: Clicked Share on both sites in a desktop browser with no share menu.

For developers: sections/main-blog-post.liquid: one click handler for both Share buttons, with a status message; the new "share_link_copied" text is in every locale file. · Commits 275cf77, 90c426d

Comment heading fixed for when you turn comments on

Audit: smaller point

Blog articles, only if comments are switched on (they are off today)

Before: If comments had been switched on, their heading would have shown a "translation missing" message, and long discussions would not have split into pages.

After: The heading reads, for example, "3 comments", and long discussions split into pages of 50.

For developers: sections/main-blog-post.liquid uses the existing "blogs.article.comments_heading" text with the count, inside a paginate block. · Commit 275cf77

Other pages 8 changes, 3 with pictures

FAQ founding year and a typo corrected

FAQ page, About group

Before: The FAQ said ELIVIDE was founded in 2021 (the About page says 2020) and asked "Will you be releasing my formulations?".

After: It says 2020 and "Will you be releasing more formulations?".

Before "releasing my formulations" and "founded in 2021"
After "releasing more formulations" and "founded in 2020"

For developers: templates/page.faq.json. · Commit f2b49b5

Contact form accepts normal phone numbers and checks required fields

Contact page, every device

Before: The phone box rejected normal UK numbers such as "07700 900123", "+44 7700 900123" or "(020) 7946 0958", which blocked sending. Name, email and message were marked * but could be left empty.

After: All the usual phone formats are accepted, and the form asks for name, email and message before it sends.

How we checked: Checked in the browser on both sites without sending anything.

For developers: sections/contact-page.liquid: the phone pattern allows spaces, brackets, + and dots, and the starred fields are required. · Commit 3726e4b

Contact page Facebook and Instagram icons open your pages

Contact page, every device

Before: The Facebook and Instagram icons went nowhere.

After: They open facebook.com/elividehealth and instagram.com/elividehealth.

For developers: templates/page.contact.json: the two links were "#". · Commit 3726e4b

Main headings for search engines on Contact and FAQ

Contact and FAQ pages (no visible change)

Before: Neither page had a main heading in its page code, which search engines use to understand what a page is about.

After: "Send a message" and "FAQs" are now the main headings, and the pages look exactly the same.

How we checked: Checked the headings in the page code on both sites.

For developers: The contact form heading and the FAQ title section now output h1 instead of h2, with the same styling. · Commits 3726e4b, f2b49b5

About page: "What we stand for" heading is visible

Audit: smaller point

About page, every screen size

Before: The "What we stand for" heading above the four value cards was pale white on the cream background, so it couldn't be seen.

After: It shows in the page's grey, with space above it so it reads as the heading of the cards.

Before the heading is invisible
After "WHAT WE STAND FOR" shows

How we checked: Checked on iPhone and desktop.

For developers: sections/about-page.liquid: the heading uses the page's muted grey, with 48 pixels of space above the strip. · Commit 02ed42c

FAQ category headings stay pinned while you scroll

Audit: smaller point

FAQ page, screens at least 990 pixels wide (computers and iPads in landscape)

Before: The category headings, such as "Products & Orders", were set to stay pinned while scrolling, but they scrolled away while their questions were still on screen.

After: Each heading stays at the top of its panel while you scroll through its questions, and sits below the menu bar when that is showing.

Before "Products & Orders" has scrolled out of sight
After "Products & Orders" stays beside its questions

How we checked: Scrolled the FAQ with the mouse wheel on both sites (desktop).

For developers: sections/faq-accordion.liquid: the panel uses overflow: clip instead of hidden, which had stopped the sticky heading working. · Commit f2b49b5

FAQ answers respect reduced motion and find in page

Audit: smaller point

FAQ page, every device

Before: The opening animation ignored the "reduce motion" setting on phones and computers, and an answer the browser opened itself (for example with find in page) could stay squashed shut.

After: With reduced motion switched on, answers open instantly, and answers opened by find in page show in full.

For developers: sections/faq-accordion.liquid: animation time is 0 under prefers-reduced-motion, and a toggle listener clears the collapsed height when the browser opens an answer. · Commit f2b49b5

FAQ questions are included for search engines

Audit: smaller point

FAQ page (no visible change)

Before: Search engines saw the questions and answers as ordinary text.

After: They are now marked up as a list of questions and answers, which search engines can recognise and may show in results.

How we checked: Checked the page code on elivide.com.

For developers: schema.org FAQPage microdata: each question is a Question with an accepted Answer, and layout/theme.liquid makes the page one FAQPage. · Commit f2b49b5

Site-wide 6 changes, 2 with pictures

Android's Back gesture no longer freezes the page

Every page, when closing the pop-up, cart, search, quick add or filters; mostly on Android phones

Before: Closing the pop-up or the cart with Android's Back gesture left the page stuck, unable to scroll, and the pop-up forgot it had been closed. Closing the pop-up over the open cart also made the page behind jump back to the top.

After: However a pop-up or drawer is closed, the page scrolls again from where it was, and the pop-up remembers it was closed.

How we checked: Tested in the fix work with 14 ways of closing, on both the pop-up and the cart.

For developers: assets/dialog.js runs the same clean-up however a dialog closes (including the browser's own close requests), and one shared page lock covers every open dialog. · Commit 75970e1

Safari: no more script error after viewing a product

Every page in Safari on iPhone, iPad and Mac, once a product has been viewed

Before: In Safari, every page opened after viewing a product hit a script error, and the search panel only got "Recently viewed" ready once it was opened.

After: The error is gone, and "Recently viewed" is prepared in the background, as in other browsers.

How we checked: In Safari's engine at iPhone size, viewing a product and then opening a collection page showed the error before and none after.

For developers: assets/predictive-search.js now uses the theme's requestIdleCallback fallback from @theme/utilities, like the other scripts. · Commit 20095c9

"Skip to content" link is back for keyboard users

Audit: smaller point

Every page, when using a keyboard

Before: The "Skip to content" link was switched off, so the first Tab press went to the sale banner and keyboard users had to tab through more than 20 menu links to reach the page.

After: The first Tab press shows "Skip to content", which jumps straight to the main content.

Before after pressing Tab: nothing appears
After "Skip to content" appears

How we checked: First Tab press in Chromium at 1440 x 900: focus went to the sale banner before, to "Skip to content" now.

For developers: assets/base.css: the link is no longer hidden and has dark text on its white background. · Commit ebbab04

Footer payment icons are centred on phones

Audit: smaller point

Footer on every page, phones

Before: When the payment icons wrapped, the last row started at the left edge, under rows that were centred.

After: Every row of icons is centred.

Before last row of icons left-aligned
After every row centred

How we checked: Checked on iPhone.

For developers: snippets/payment-methods.liquid: a centred wrapping row instead of a fixed-column grid. · Commit be8f41e

Pages download less: fonts once, right-sized photos

Audit: smaller point

Every page (fonts and menu photos); homepage Articles section

Before: Every page downloaded the brand font's Regular and Medium files twice (five font files instead of three). Homepage article photos came at 1,200 pixels wide for cards about 330 wide, and phones downloaded the desktop menu's hidden photos, including a 430 KB Learn menu image.

After: Each font file downloads once, the article photos and the Learn menu photo come in sizes that fit their space, and phones no longer download the desktop menu's images.

How we checked: Live homepage: three font downloads (Regular, Medium and Italic), each once.

For developers: snippets/fonts.liquid builds the font preloads and font rules from the same file links; article cards and the Learn menu photo get responsive image sizes; header-menu.js only preloads menu images where the desktop menu is shown. · Commits 4a9f69c, 6565e47, d62dc33

A hidden element moved to where browsers expect it

Audit: smaller point

Every page, behind the scenes

Before: A hidden element that styles the subscription widget sat in the part of the page reserved for page information, so browsers treated everything after it (the Klaviyo and analytics scripts and the tags for search engines) as page content.

After: It now sits at the start of the page itself, and the subscription widget works as before.

For developers: layout/theme.liquid: the #recharge-styling div moved from <head> to the start of <body>; scripts.js reads it after the page loads, as before. · Commit a2e6640

Theme editor settings 5 changes

Header and menu settings now do what they say

Theme editor, Header section

Before: Several header settings did nothing: the phone menu's Accordion, "Expand first group", Dividers and Pinterest options, the Shop panel's featured product ("Shop now" always went to Magnesium Bisglycinate) and a currency selector font option. Choosing a Learn menu Featured image broke the photo.

After: They now work, with help text saying what each does, and their saved values keep the menus looking as they do today; the font option, which could never work, is removed. An empty Learn article card is now hidden instead of showing a made-up title and a broken image.

How we checked: Live phone menu checked after the change: same look as before, with every group expanded and lines between them.

For developers: blocks/_header-menu.liquid, snippets/header-drawer.liquid, shop-mega-menu.liquid and learn-mega-menu.liquid read the settings; the Shop and Learn panel triggers match the item title ignoring case; the localization font setting is removed from sections/header.liquid; sections/header-group.json keeps today's values. · Commits 2f49d54, d62dc33, a85d3f2, 372fef8, 58d1d17

Other settings that did nothing now work or explain why

Theme editor: product page benefits sections, footer, hero, text blocks and homepage Articles

Before: The benefits sections on product pages ignored the phone side-padding setting on the left, the footer's Pinterest icon would have linked nowhere, and a phone-only hero video got no sizing. The Articles section's Card background and the text block's Font choice had no effect.

After: The first three now work, Card background is removed (the cards are designed white with dark text), and the Font option says the brand font is built into the theme.

How we checked: No change to how the shop looks today, because the saved values match the old behaviour.

For developers: Fixed a misspelt padding variable in both benefits-hero sections, the footer's Pinterest setting name and the mobile hero video's classes; removed the card_bg setting and added help text to the text block's Font. · Commits 154b5f6, 6565e47

Homepage video setting now chooses the video that plays

Theme editor, homepage "Recommended by over 100 registered nutritionists" section

Before: The video always played a fixed file, whatever was chosen in the Video setting, and told search engines it had been published at the moment of each visit.

After: It plays the chosen video, or an exact MP4 file named in a new optional setting (set to today's 14.5 MB file), and gives search engines a fixed publish date (11 June 2026).

How we checked: The saved setting names today's file (elivide-nutritionists-15mb.mp4), so the same video plays.

For developers: sections/authority-video.liquid: plays the picked video's largest MP4 or a named file from Files, with a full web address and an upload date setting for search engines; the Shopify-hosted source is marked as intended for Theme Check. · Commits 79d5171, 2826a21

Three pop-up settings that did nothing are removed

Theme editor: Theme settings > Welcome popup

Before: The pop-up settings included "Primary button link", "Email placeholder text" and "Continue button text", but changing them had no effect.

After: They are gone. In their place, a note explains that the email step is Klaviyo's form, whose text is edited in Klaviyo.

How we checked: None of the three had a saved value, so nothing changed on the live site.

For developers: Removed from config/settings_schema.json, along with the styles of the old built-in email field. · Commit 7f9309a

Free-shipping settings that did nothing are removed

Theme editor > Theme settings > Shipping

Before: The Shipping settings had a "Geo location" switch and separate EUR and USD thresholds (EUR saved as 500) that no longer did anything.

After: Only the UK threshold remains, now labelled "Free UK shipping threshold (GBP)" with a note that the message only shows to UK shoppers. The progress bar colour settings are unchanged.

For developers: config/settings_schema.json drops free_shipping_geo_location, free_shipping_threshold_eur and free_shipping_threshold_usd; their saved values are removed from config/settings_data.json. · Commit 7a8249c

Store content (Shopify admin) 10 changes, 6 with pictures

Broken links fixed in 15 blog articles

15 Wellness Journal articles, every device

Before: "Take our quiz" buttons led to "Page not found", Clear Spiral links pointed to a product no longer on this store, and many links went to unpublished draft articles or had no text at all. For example, "Why Your Blood Tests Say You're Fine But You're Not" had a broken quiz button, 14 links to drafts and 3 empty links.

After: 17 links now go to the right place, including 8 quiz buttons in 7 articles and 5 Clear Spiral links (now to clearspiral.co.uk). 57 links to drafts became plain text, as you chose, and 16 empty links were removed.

Before tapping "Take our quiz" in an article: "Page not found"
After the same button opens the quiz

How we checked: The before picture is the audit's own screenshot, taken before the fix; the after taps the same button on elivide.com with the same phone settings.

For developers: Article bodies only, via the Admin API, from fixes/content/blog-plan.json: 17 relinks here (plus the pomegranate and NHS links in the next entry, 19 in all), 57 unlinks, 16 empty links removed and 2 links whose first letter was a separate link merged.

First section on two bundle pages now titled "Key highlights"

Elevated Energy and The Wholefood Duo product pages, every device

Before: The first section, open by default, held the formulator's quote but was titled "Nutrition info" on Elevated Energy and "Full ingredients" on The Wholefood Duo, so each page showed that heading twice.

After: Both are now titled "Key highlights", like every other product.

Before Elevated Energy: "Nutrition info" twice
After "Key highlights" over the quote
Before The Wholefood Duo: "Full ingredients" twice
After "Key highlights" over the quote

How we checked: Before: the audit's desktop screenshots; after: elivide.com at the same desktop size.

For developers: Shopify admin: the title of the two pages' first accordion entries (metaobjects 550619480440 and 550697894264) changed to "Key highlights".

Stray "was £35.00" removed from the Malate refill pouch

Magnesium Malate product page with Refill Pouch 90 chosen (the sticky Add to cart bar), every device

Before: The Magnesium Malate Refill Pouch 90 had a stray "compare at" price, so it showed "£31.00, was £35.00", unlike its glass jar and the other magnesium refills.

After: The stray price is removed, so the refill shows £31.00 on its own.

Before £31.00 with a crossed-out £35.00
After £31.00 only

How we checked: Before: the audit's iPhone screenshot; after: elivide.com on the same screen size, with Refill Pouch 90 chosen and scrolled the same way.

For developers: Shopify admin: the compare-at price (£35.00) of the Refill Pouch 90 variant was cleared; the Glass Jar 90 had none.

"Frequently purchased together" set up for 11 products

Product pages, Complete Your Routine section, every device

Before: Only Metabolic Flow had matching products set, so most pages fell back to the same suggestions (Complete Magnesium Setup and Eclipse Vitamin C), and the single magnesium pages suggested a bundle that contains the same magnesium.

After: All 7 supplements and 4 bundles now have suggestions based on your bundles, never a bundle that already contains the product. You can change them at any time in the Search & Discovery app.

ProductNow suggests
Magnesium BisglycinateMagnesium Taurate, Magnesium Malate
Magnesium MalateMetabolic Flow, Magnesium Bisglycinate, Magnesium Taurate
Magnesium TaurateMagnesium Bisglycinate, Histamine Resolve, Magnesium Malate, Eclipse Vitamin C
Metabolic FlowMagnesium Malate (as before)
Histamine ResolveEclipse Vitamin C, Magnesium Taurate
Eclipse Wholefood Vitamin CSkin Mineral, Histamine Resolve, Magnesium Taurate
Skin MineralEclipse Vitamin C
Elevated EnergyMagnesium Bisglycinate, Magnesium Taurate
The Wholefood DuoHistamine Resolve, Magnesium Taurate
Complete Magnesium SetupMetabolic Flow, Histamine Resolve, Eclipse Vitamin C
Histamine Balance StackSkin Mineral, Magnesium Bisglycinate, Magnesium Malate
Before Bisglycinate suggests a bundle that already contains it
After it now suggests Magnesium Taurate (and Malate)

How we checked: Before: the audit's iPhone screenshot of Magnesium Bisglycinate; after: the same page on elivide.com, which now lists Taurate and Malate.

For developers: Shopify admin: the complementary products metafield (shopify--discovery--product_recommendation.complementary_products) was set for 11 products from a plan built from the bundles (Complete Magnesium Setup, Elevated Energy, The Wholefood Duo, Histamine Balance Stack).

Shipping page rewritten with your real delivery prices

Shipping page (/pages/shipping), every device

Before: The page listed services and times checkout no longer offers (Royal Mail 1st or 2nd Class, 2 - 7 working days) and no prices. It also said Germany, Portugal and Spain had been removed, promised refill packs you already sell, and had pandemic-era wording.

After: It now gives free UK delivery on orders of £55 or more, Tracked 48 (£3.20) or Tracked 24 (£4.20) on smaller orders, example international and US prices from checkout, the refill pouches, and who to contact if an order is late.

Before old services and times, no prices, Brexit and pandemic notes
After real prices and free UK delivery from £55

How we checked: The before picture is the audit's own screenshot of the old page; the after is the live page at the same desktop size.

For developers: Page body in Shopify admin (Online Store > Pages > Shipping); before and after text in fixes/content/page-shipping-before.html and page-shipping-after.html.

Mistakes inside four blog articles corrected

Wholefood Vitamin C vs Synthetic; Magnesium Malate: Restoring Energy and Balance Naturally; Magnesium Glycinate for Sleep and Stress; Early Symptoms of Mitochondrial Dysfunction

Before: A link named after the pomegranate article went to the magnesium guide, a comparison table had empty headings, one article had a stray "H" and 13 missing spaces after full stops, and an NHS link led to a missing page.

After: The link opens the pomegranate article, the table headings read "Form", "Strengths" and "Considerations", the text is tidied, and the NHS link goes to the NHS mitochondrial disease service.

Before the comparison table's heading row is empty
After "Form", "Strengths" and "Considerations"

How we checked: The before picture is the audit's own screenshot of the table; the after is the same table on elivide.com at the same desktop size.

Learn in the main menu now goes to the Wellness Journal

Header menu on computers and tablets

Before: The Learn item linked to "#", so clicking it on a computer jumped to the top of the page and added "#" to the address.

After: Learn links to the Wellness Journal: clicking it on a computer opens the journal, and on iPad the first tap opens the menu and a second tap opens the journal.

How we checked: Confirmed in the menu as saved after the change: Learn links to the blog (/blogs/news).

For developers: Shopify admin, Content > Menus > Navigation Desktop Menu: the Learn item's link changed from "#" to the blog (/blogs/news).

The Collab page now leads to the Affiliate page

/pages/collab and /pages/affiliate-scheme

Before: The Collab page was an exact copy of the Affiliate page, so search engines saw the same page twice.

After: The Collab page is unpublished and its address forwards to the Affiliate page. An old redirect on the Affiliate page that pointed to itself was deleted.

How we checked: /pages/collab returns a permanent redirect (301) to /pages/affiliate-scheme, which loads.

For developers: Page unpublished, redirect /pages/collab > /pages/affiliate-scheme created, self-redirect on /pages/affiliate-scheme removed.

The Affiliate page took over the Collab page's search text

Google results for the Affiliate page

Before: The search engine title and description written for the programme sat on the Collab page.

After: The Affiliate page now uses them: "ELIVIDE Affiliate Programme | Earn Commission Recommending Premium Supplements" and "Join the ELIVIDE Affiliate Programme and earn commission by recommending premium, additive-free supplements. Dedicated to practitioners and health enthusiasts."

For developers: The page's SEO title and description (global.title_tag and global.description_tag) were set.

Eight old web addresses work again

Found while testing

Old product and blog links, for example from Google, emails or other websites

Before: Eight old addresses were set to forward to themselves, so visitors got a "too many redirects" error instead of a page.

After: Each one now forwards once to the current page, and every target page loads.

Old addressNow goes to
/products/coq10-pqq-niacinamide-mitochondrial-support/products/metabolic-flow
/products/organic-wholefood-vitamin-c/products/eclipse-wholefood-vitamin-c
/products/histamine-metabolism-support-complex/products/histamine-resolve
/products/magnesium-malate-with-organic-wholefood-magnesium/products/magnesium-malate
/products/magnesium-taurate-with-organic-wholefood-magnesium/products/magnesium-taurate
/products/magnesium-bisglycinate-with-organic-wholefood-magnesium/products/magnesium-bisglycinate
/blogs/news/shilajit-the-conqueror-of-mountains/blogs/news
/blogs/news/everything-you-need-to-know-on-magnsium-glycinate-and-b6/blogs/news/everything-on-magnesium-glycinate

How we checked: Each old address returns one permanent redirect (301) to a page that loads (200).

For developers: Shopify admin > Online Store > Navigation > URL redirects: the 8 redirect targets were updated.

Behind the scenes 2 changes

Every theme change is saved, checked and live

The project's code history on GitHub (master branch) and the live theme

Before: The fixes were made and tested on a private copy of the site.

After: All 81 theme updates are merged into the project's main code history after passing its automatic checks (valid settings files, scripts and Shopify's Theme Check). The live theme matches it file for file: 566 of 566 files.

For developers: Fast-forwarded master to 2574b97; the live theme (178415894904) was pulled and compared with master.

The safety check before publishing reads every language file

Found while testing

The project's automatic checks (not visible on the site)

Before: The check that runs before any change is merged stopped on the English language file, because Shopify writes a comment line at its top.

After: The check now accepts those comment lines, so it can check every file properly.

For developers: .claude/skills/merge/checks.py strips whole-line // comments before parsing locale JSON. · Commit 480af71