Madriz Ink is a tattoo studio in central Madrid whose website runs on Square Online. Hands-on work on 11 and 12 October 2026, published live, with a re-audit on 12 October. A second re-audit on 17 October found the phone layout shift had come back, and a second repair followed on 17–18 October 2026. The client approved being named in this case study.
This is our “Other platforms” hands-on work: we made the changes inside the client’s own Square Online editor. The client keeps full control of their Square account; nothing was moved or rebuilt elsewhere.
At a glance
BeforeAfter
Lighthouse mobile captures of the home page, 9 and 12 October 2026.
Site images: ~750 MB → ~80 MB
Layout shift, phones (home): 0.31–0.36 → ≤0.009
Google Analytics hits before consent: Yes → 0
Mobile score (home), final 18 Oct: 36/100
Why the mobile score is only 36: Square loads its own scripts, around 1 MB that can’t be edited from the site, and that caps what any optimisation can achieve. The main image still appears after about 17 s on a simulated slow phone. Final score: re-test of 18 October 2026, median of 3 runs (36 / 31 / 37).
0 Google Analytics hits before consent. No Meta cookie is set before consent, but Meta’s script still loads early through Square’s connected Meta account (a Square limit).
Image weight, whole site (approx.)
Before~750 MB
After~80 MB
The 4 new home-page illustrations
Before32.3 MB
After1.76 MB
Lighthouse performance, mobile home: first repair (12 Oct)
10
Before
→
36
After
Image figures: our changelog for the work. Scores: Lighthouse lab data.
The live site after the first repair
madrizinktattoo.com
madrizinktattoo.com/contactar
madrizinktattoo.com/product/flash-tattoo/5
Live on 13 October 2026, at 1440 and 390 px: home, contact page with business details, and a product page. On 13 October the contact page got a map that sets no cookies, but other pages still loaded Google maps before consent; since 18 October all 12 maps wait for consent.
Second repair, 17–18 October 2026
After the first repair, the home page on phones started jumping again while loading: the re-audit of 17 October measured a layout shift (CLS) of 0.31–0.36, where Google wants under 0.1. We caught it there, not the client. The second repair reserved the space for the top image on mobile and brought the home page down to ≤0.009 (0.002 in the re-audit of 18 October). That fix was for the home page. The same re-audit then found /tatuajes-en-madrid-centro shifting on phones (0.831) because Square was loading its banner late. A follow-up fix, published at 04:27 on 18 October, reserves the banner’s space on phones on that page, /god-is-king and /tatuajes-disponibles (see the cards below). Two backup copies of the Madriz Ink site were made first, every change was published in Square and checked on the live site, and a full comparison of all 28 pages found nothing changed by mistake and nothing undone.
Layout shift, mobile home
Cumulative Layout Shift
0.31–0.36→≤0.009
17 Oct → 18 Oct
Home page. Repair checks: 3 simulated-phone tests (0.0016 / 0.0089 / 0.0059) and 3 Lighthouse tests (0.001 / 0.002 / 0.002). Re-audit of 18 Oct: 0.002 in 3 of 3 runs; re-test at 10:16: 0.002 in 3 of 3 runs.
Google Maps requests
Before a cookie choice
20→0
17 Oct → 18 Oct
20 on the home page before; 0 on all 12 map pages after.
Instagram requests, home
Before a cookie choice
Feed loaded→0
17 Oct → 18 Oct
Also 0 after “Rechazar todo”; loads after “Aceptar todo”.
Gallery images
29 images on /tatuajes-en-madrid-centro
59.1 MB→6.8 MB
PNG → optimized JPG
Image descriptions
84 images had no alt text
83entered, 65 render
18 Oct
Privacy line on the forms
With a link to the policy
None→3 of 3
17 Oct → 18 Oct
Mobile home page
Lighthouse performance
13→36/100
17 Oct → 18 Oct
Median of 3 runs (36 / 31 / 37), re-test 18 Oct, 10:16–10:22.
Page weight, mobile home
Home page on mobile
2,826 KiB→2,827 KiB
17 Oct → 18 Oct
About the same. About 2 MB of it is Square’s platform JavaScript.
/contactar, mobile
Lighthouse performance · layout shift
32→38/100
17 Oct → 18 Oct
Layout shift 0.001. One run.
/tatuajes-en-madrid-centro, mobile
Layout shift · fixed 18 Oct, 04:27
0.831→0.001
Before → after the banner fix
Performance 14 → 39 (median of 3). The shift came from Square loading the page’s banner late; reserving the banner’s space on phones fixed it. Our image work was not changed.
/god-is-king, mobile
Layout shift · banner fix 18 Oct, 04:27
1.164→0.000median
Before the fix → re-test 18 Oct
Mobile score 30, median layout shift 0.000, with a shift of 0.276 in 1 of 3 runs. An occasional shift is left (see “Still open”).
/tatuajes-disponibles, mobile
Layout shift · banner fix 18 Oct, 04:27
0.931→0.000median
Before the fix → re-test 18 Oct
Mobile score 28, median layout shift 0.000, with a shift of 0.366 in 1 of 3 runs. An occasional shift is left (see “Still open”).
Before: re-audit of 17 October 2026. /tatuajes-en-madrid-centro before: our re-audit of 18 October, 02:51, before the banner fix; /god-is-king and /tatuajes-disponibles before: checks just before the 04:27 banner fix. After: lab results of our re-test on 18 October 2026, 10:16–10:25 (Lighthouse 13.5.0, simulated phone, median of 3 runs). /contactar: our re-audit of 18 October, 02:51–03:03, one run. Home layout shift: also the repair checks on the live site.
The real site: before and after the second repair
Top of each page as visitors first see it (desktop at 1280 × 800, shown smaller, and mobile at 390 × 844), cookies not accepted, so the banner is visible. Before: 17 October 2026. After: 18 October 2026. Only these two end states were captured; there are no screenshots of the steps in between. Layout shift is movement while loading, so it doesn’t show in a still image.
Home · Desktop
Home page. Before, the desktop page was still loading when captured; after, the cookie banner names Google maps.
Before, 17 Oct 2026After, 18 Oct 2026
Home · Mobile
Home page. Before, the desktop page was still loading when captured; after, the cookie banner names Google maps.
Before, 17 Oct 2026After, 18 Oct 2026
/tatuajes-en-madrid-centro · Desktop
The top looks the same; the 29 lighter gallery images are further down. Before, the desktop header had not loaded yet.
Before, 17 Oct 2026After, 18 Oct 2026
/tatuajes-en-madrid-centro · Mobile
The top looks the same; the 29 lighter gallery images are further down. Before, the desktop header had not loaded yet.
Before, 17 Oct 2026After, 18 Oct 2026
/tatuadores-madrid-centro (old address) · Desktop
Old address: a 404 error page before; after, a 301 redirect to its new page.
Before, 17 Oct 2026After, 18 Oct 2026
/tatuadores-madrid-centro (old address) · Mobile
Old address: a 404 error page before; after, a 301 redirect to its new page.
Old address: a 404 error page before; after, a 301 redirect to the fine-line price page.
Before, 17 Oct 2026After, 18 Oct 2026
/tatuaje-fineline-madrid-centro (old address) · Mobile
Old address: a 404 error page before; after, a 301 redirect to the fine-line price page.
Before, 17 Oct 2026After, 18 Oct 2026
The live site on 18 October 2026
madrizinktattoo.com
Instagram waits for consentThe map loads on click or after consent
Live on 18 October 2026, cookies not accepted. Home at 1280 px (shown at 800 px) and 390 px.
What the second repair changed
All published in Square and checked on the live Madriz Ink site.
Layout shift on phones: the space for the top image is now reserved on mobile, so the text next to it no longer jumps (about 337 px before). Home page CLS 0.31–0.36 → ≤0.009 (0.002 in the 18 Oct re-audit). A follow-up banner fix at 04:27 on 18 October reserved the banner space on phones on /tatuajes-en-madrid-centro (0.831 → 0.001), /god-is-king and /tatuajes-disponibles (median 0.000 in the 18 October re-test, with an occasional shift; see “Still open”).
Instagram and Google Maps wait for consent: the home Instagram feed and the maps on 12 pages show a click-to-load placeholder and load only after marketing consent or a click. With no choice, 0 Instagram and 0 Google Maps requests. The cookie banner and settings now mention Google maps.
Privacy policy, dated 18 October 2026: new entries for the «Solicitar una cita» booking form (data kept 12 months after the last contact) and the newsletter (until unsubscribe, at most 12 months after the last interaction), a commercial-communications paragraph, an updated Square line and an unsubscribe sentence. The home booking form, the contact form and the footer newsletter each have a short privacy line with a link to the policy.
Alt text: descriptions entered for 83 of the 84 images that had none. 65 render on the live site, including all 28 in the gallery and all 27 on /god-is-king.
One address everywhere: “Calle del Príncipe de Anglona, 5 (telefonillo MADRIZINK), 28005 Madrid” on the home page, the studio and contact pages, the FAQ, the legal pages, the social-sharing text and the Square location. The phone links on those three pages now include +34.
The 2 old URLs now 301-redirect; links carrying some tracking parameters (e.g. ?ref=yt) still return 404, and a fix is being investigated.
Lighter images: the 29 gallery images on /tatuajes-en-madrid-centro, large PNGs of 59.1 MB in total, replaced in place by optimized JPGs of 6.8 MB, same order and same descriptions.
The newsletter confirmation now reads “Gracias, te has suscrito.” instead of Square’s sample text.
What Square still limits
No Meta cookie is set before consent, but Meta’s script still loads early through Square’s connected Meta account (a Square limit). The pixel field is locked by that account, and the pixel was kept connected by decision.
Square’s own platform scripts (Sentry, Datadog, Weebly) load before consent. Square controls them.
18 images sit in a Square layout that doesn’t show their alt text; the descriptions are saved. One shop image can’t be edited from the page.
9 of 28 pages have no H1 (re-test of 18 October): the editor can’t set the main heading tag.
The phone in the 10 address blocks fed from Square’s Dashboard stays in national format (no +34).
Still open after the second repair
The main image still takes about 16.6–18.2 s on phones on every page tested. The home image is a hero banner that Square’s own script inserts, and about 2 MB of the 2,827 KiB home page is Square’s platform JavaScript.
An occasional layout shift on phones on /god-is-king and /tatuajes-disponibles: median 0.000 in the 18 October re-test, with a shift of 0.276 / 0.366 in 1 of 3 runs.
No SPF, DKIM or DMARC for the domain’s email (0 of 3); security headers 1 of 5.
Square’s own scripts load before consent: the Meta file, Sentry and Datadog, also after “Reject all”. Square controls them.
Domain renewal: the domain expires on 18 Dec 2026; auto-renew is not confirmed.
Shop pages: price format and thin category pages.
Sources: our re-test of 18 October 2026, 10:16–10:25 (lab results, Lighthouse 13.5.0, median of 3 runs), and our re-audit of 18 October, 02:51–03:03.
Summary
Images across the site were compressed: total image weight went from about 750 MB to about 80 MB (home 70 → 6 MB; /tatuajes-en-madrid-centro 418 → 39 MB). The home page stopped jumping while loading (CLS 0.972 → 0.001); on phones the home page jump later came back, and the second repair fixed it again (see below). The 18 October re-audit then found /tatuajes-en-madrid-centro shifting on phones (0.831) because Square loaded its banner late; a banner fix published at 04:27 that day brought it to 0.001. 0 Google Analytics hits before consent. No Meta cookie is set before consent, but Meta’s script still loads early through Square’s connected Meta account (a Square limit). Four legal pages are live. After the first repair (12 Oct), mobile Lighthouse on the home page went from 10 to 36: better, but still slow, and we say so below.
Before vs after: first repair (12 Oct)
Lighthouse lab data (simulated slow mobile), 11 → 12 October 2026. “Before” scores are the median of 3 runs on 11 October; “after” is one run per page on 12 October.
Mobile home page
Lighthouse performance
10→36/100
Before → After
Layout shift, home
Cumulative Layout Shift
0.972→0.00112 Oct
Before → After
Home page. Came back on phones (0.31–0.36 on 17 Oct). Fixed again on 18 Oct: see the second repair.
LCP, mobile home
Largest Contentful Paint
20.7 s→17.2 s
Before → After
Home page weight
Mobile, transferred
9.07 MB→2.93 MB
Before → After
Image weight, whole site
Approximate, all page images
~750 MB→~80 MB
Before → After
Total blocking time, home
Mobile
4.97 s→2.86 s
Before → After
Google Analytics hits before consent
Before choosing, or after “Reject all”
Yes→0
Before → After
No Meta cookie is set before consent, but Meta’s script still loads early through Square’s connected Meta account (a Square limit).
Legal pages
Linked in the footer
0→4
Before → After
How we sped up a Square Online site
All changes below are published on the live site.
The work was done by Remote Mend.
Fresh, unpublished backup copy of the site in Square before the work, and an updated one before the second day’s changes.
Images compressed site-wide (405 reviewed; heavy PNGs replaced in place by compressed JPGs, alt text, links and order unchanged). The 4 new home-page illustrations went from 32.3 MB to 1.76 MB in total.
A duplicate Google Analytics snippet that bypassed consent removed; Analytics restored, loading only after consent.
Cookiebot replaced by a lighter cookie consent banner (GDPR). Google Analytics and the marketing tags set in the site wait for consent (0 Google Analytics hits before consent). No Meta cookie is set before consent, but Meta’s script still loads early through Square’s connected Meta account (a Square limit); the Elfsight Instagram, TikTok and review widgets load only after marketing consent.
Four legal pages published (GDPR/LSSI): legal notice (including the studio’s sanitary authorisation number), privacy policy, cookie policy and terms of sale.
Page titles and descriptions rewritten, social previews fixed, descriptive alt text on 235 images.
Layout shift fixed on the home and product pages (CLS 0.972 → 0.001 on the home page).
Search Console indexing issues addressed: an old URL that returned an error now 301-redirects to the right page, and thin product descriptions were expanded. On 12 October the site owner validated the fixes in Search Console, requested indexing for the affected pages and resubmitted the sitemap.
Contact page with a map that sets no cookies (links out to Google Maps), address, phone, email and opening hours. Maps on other pages still loaded before consent until the second repair.
LocalBusiness / TattooParlor structured data in the head of every page, validated in Google’s Rich Results Test with no errors.
All scores are lab data (Lighthouse), not real-user field data (CrUX was not available). Lab results vary between runs; read them as a trend.
The mobile score is still low. On the home page it was 36/100 after the first repair (12 October), 13 in the 17 October re-audit and 36 again in the 18 October re-test (lab results, Lighthouse 13.5.0, median of 3 runs, 10:16–10:25). Square’s own scripts, about 2 MB of the 2,827 KiB home page, cap what is possible; removing unused widgets can still help.
The site-wide image figure was measured before the change; the “after” total is approximate.
A fix can come undone on a builder like Square: the phone layout shift fixed on 12 October was back by 17 October, and the 18 October re-audit found another one on /tatuajes-en-madrid-centro, fixed the same morning. That is why we re-audit.
Legal pages are drafted on technical observations and the client’s data; this is not legal advice.