A direct read of maya.net, its robots policy, its 424-URL sitemap, and the parts of the funnel competitors are eating. Filed from the live HTML on 21 May 2026. Built in 10 days, then a month of ongoing SEO support.
The SSR HTML ships a single H2 ("One Plan.") and a stack of footer H3s. Google has no primary topical heading. A 30-minute fix.
P0 · criticalrobots.txt blocks GPTBot, ClaudeBot, Google-Extended, PerplexityBot's sources, Applebot-Extended, Bytespider and more. ChatGPT and Perplexity cannot cite Maya.
P0 · critical424 URLs, of which 191 are country landing pages and 212 are Spanish mirrors. No blog, no guides, no how-tos. Airalo publishes weekly into the gap.
P0 · criticalNine weights of a custom display font, all in legacy .otf. The full Bootstrap palette inlined. Viewport blocks zoom. Each one a measurable LCP loss.
P0 · critical
The hero ships "One Plan." as an H2. The footer contributes six H3s. There is no H1 anywhere in the served HTML. For Google, this is a page with no primary topic. For screen readers, it's a fragment.
/esim/{country} page and check the same.robots.txt sets Content-Signal: ai-train=no and disallows nine major bots. That includes the agents that power ChatGPT search, Perplexity, Claude answers, Google AI Overviews, and Apple Intelligence. When someone asks an AI assistant which eSIM to use in Japan, Airalo and Holafly can be cited. Maya cannot. This is the single most likely cause of the recent traffic drop.
Sitemap: directive at the top of robots.txt. Currently missing.
424 URLs total. Not one of them is a blog post, guide, article, or how-to. Airalo's blog owns the top-of-funnel queries: "how to install eSIM on iPhone," "best eSIM for Japan," "eSIM vs SIM." Maya competes only at the bottom, on transactional pages. The awareness layer is conceded by default.
The hreflang block lists en, es, and x-default. Nothing else. Travel eSIM demand is global. Japanese, Korean, German, French, Italian, Portuguese, Arabic and Chinese audiences are all high-LTV. Either the language variants exist and aren't declared, or they don't exist yet. Both cases are fixable.
Trustpilot has 2,585 reviews at 4.6 stars. None of that is wired into Product or AggregateRating schema on the country pages. The homepage FAQ accordion has no FAQPage schema. There's no Organization, no WebSite with SearchAction. Each one is SERP real estate competitors already own.
/esim/{country}.The head still carries <meta name="keywords">. Google has ignored that since 2009. There's also a non-standard secondary_keywords tag doing nothing. At the same time, og:image, og:type, twitter:card and twitter:image are all missing, so any link shared in Slack, WhatsApp, or X previews as a plain URL.
keywords and secondary_keywords.The page resolves at https://maya.net/. The canonical points to https://maya.net. Low impact, but it's a mismatch signal the SSR template can fix in one line. Worth auditing all 424 sitemap URLs for the same pattern.
"Best eSIM for Tokyo," "cheapest data plan for Europe," "how do I get internet on a cruise." These queries used to land on a search-results page. Now they often resolve inside ChatGPT, Claude, Perplexity, or Google's AI Overview, with two or three brands cited. The brands that get cited are the ones whose robots.txt allows it. Maya, by current policy, doesn't.
The fix is not "give up your data to AI training." A split policy lets the indexing-only bots through while still refusing model training. Most competitors have already made this trade.
Field data from real users over the last 28 days passes Core Web Vitals: LCP 1.7s, INP 122ms, CLS 0. The lab test scores 45/100 because it simulates cold caches and slow networks. That's exactly the condition most travelers connect under. The lab is the more honest measurement for Maya's audience, and the score competitors and stakeholders see when they audit the site.
The hero display font ships every weight from Thin to Black, served as OpenType binaries. OTF is roughly a third larger than WOFF2, and the browser cache treats it as second class. Lighthouse currently measures TBT at 1,230 ms (target: under 200), and a meaningful slice of that is the font-swap window. Subset to Latin, convert to WOFF2, preload only the hero weight, set font-display:optional on the rest.
font-display:optional on non-hero weights kills the late-swap CLS.The homepage uses a tiny subset of Bootstrap (containers, rows, a handful of utility classes). The HTML ships the whole variable palette plus most of the utility library. The result is a 765 KB document where most of the CSS is dead weight that still has to parse before the page can paint. Lighthouse confirms: 124 KiB of unused CSS on the homepage alone.
styles-UKKZPLNH.css.The single largest PageSpeed opportunity. The Angular bundle includes route-level chunks the visitor never hits, polyfills for browsers that no longer exist, and legacy JS that targets pre-ES2018 syntax. JavaScript execution time on the main thread is 3.1 s, total main-thread work is 7.1 s, and Lighthouse counts 20 long tasks blocking input during page load.
esbuild production target with differential loading disabled for modern browsers only.Cache-Control: max-age=31536000, immutable on hashed bundles for the 247 KiB cache win.The meta viewport sets maximum-scale=1, user-scalable=no. That violates WCAG 1.4.4 and triggers a Lighthouse accessibility failure. Beyond compliance, it stops low-vision users (a meaningful share of the senior travel demographic) from pinch-to-zoom on mobile.
maximum-scale and user-scalable. One change, ships in seconds.The head fires ten modulepreload directives covering chunks the visitor may never reach. That puts non-critical JS on the critical request path. Switch the route-specific ones to prefetch so the browser fetches when idle.
<link rel="prefetch">.Flagged by Lighthouse Best Practices. Real-user CLS is currently 0 because the field cache is warm and layout settles before paint, but on a cold mobile load the browser has to reflow when each image resolves. That's part of why the lab CLS is 0.003 and the Speed Index is 9.9 s. Setting explicit dimensions also helps with displayed-images-with-incorrect-aspect-ratio, another current Best Practices fail.
width and height attributes to every <img> in the SSR templates.aspect-ratio in CSS so the slot is reserved before the image resolves.GTM, Klaviyo, TikTok Pixel, and Usercentrics CMP are all wrapped in requestIdleCallback with a 5-second fallback. Hero images are .webp. Preconnects exist for the font origin and the asset CDN. Whoever built the performance layer here knew what they were doing. Keep that person in the room for the next pass.
size-adjust and ascent-override on @font-face to lock layout against the swap.| Brand | SEO surface | Their moat | Where Maya wins |
|---|---|---|---|
| Maya | 191 country pages. No blog. Two hreflang languages. | Cruise plans (20+), 24/7 human support, unlimited data, 4.6 from 2,585 reviews. | Lead on cruise and human support. Build the content layer. Open the AI bot policy. |
| Airalo | Biggest country library. Deep blog. Dominant on brand search. | App-first install, programmatic SEO at scale, paid affiliate flywheel. | Their UX is fiddly. Their support is slower. Lead with humans and web-only simplicity. |
| Holafly | Strong PR for unlimited. Big in the EU and LATAM. | Influencer marketing, "unlimited" brand association. | They limit tethering on many plans. Maya offers free hotspot. Say so above the fold. |
| Saily | Young brand, growing fast via NordVPN cross-sell. | Brand trust from Nord, paid acquisition. | Saily is generalist. Maya is travel-specialist with cruise. Niche outranks generic. |
| Nomad | Strong in APAC. Thin English content. | APAC pricing, carrier deals. | Maya's geography is wider. The English copy is better. Cruise is the wedge. |
| Ubigi | Strong B2B and in-flight. Weak D2C SEO. | Airline and OEM partnerships (Transatel, NTT). | Direct-to-consumer is theirs to lose. Maya should own "easy travel eSIM" intent. |
font-display:optional on non-hero weights.keywords or secondary_keywords./blog with 12 cornerstone posts: install guides for iPhone and Pixel, "eSIM compatible phones," "Maya vs Airalo / Holafly / Saily," "Best eSIM for {Japan, Thailand, EU, US, Mexico, UK}."50% on signature. $4,500 to start. Work begins the day after the SOW is signed.
50% on build delivery. $4,500 at the end of day 10, before the 30-day support month begins.
The support month is included in the $9,000. No surprise invoices.