Mermio, primo cliente di Mermio
Prima di consigliare i nostri clienti sulle buone pratiche SEO e tecniche, le applichiamo noi stessi. Questo caso d'uso documenta le scelte di implementazione fatte su mermio.ch — con estratti di codice reali, gli strumenti utilizzati per il monitoraggio e le ragioni dietro ogni decisione.
L'obiettivo: un sito visibile dai motori di ricerca e dalle IA generative, conforme alle buone pratiche attuali, misurabile e mantenibile.
1. JSON-LD: il markup strutturato Schema.org
Il JSON-LD (JavaScript Object Notation for Linked Data) è il formato raccomandato da Google per iniettare dati strutturati in una pagina senza toccare l'HTML visibile. Permette ai motori di ricerca — e alle IA — di comprendere cosa sia il tuo sito, non solo cosa dice.
Su mermio.ch, ogni tipo di pagina dispone del proprio JSON-LD, generato dinamicamente lato server (Laravel). Ecco cosa è stato implementato:
Pagina principale:
Organization,LocalBusiness,ProfessionalService,WebSite,WebPage,FAQPagePagina servizio:
Service,BreadcrumbListArticolo del blog:
Article,BreadcrumbList,Person(autore)Pagina contatti:
ContactPagePagina FAQ:
FAQPageconQuestion/Answer
Esempio del blocco Organization iniettato sulla homepage:
{
"@context": "https://schema.org",
"@type": ["Organization", "LocalBusiness", "ProfessionalService"],
"@id": "https://www.mermio.ch/#organization",
"name": "Mermio",
"legalName": "Mermio Sàrl",
"url": "https://www.mermio.ch/",
"logo": {
"@type": "ImageObject",
"url": "https://www.mermio.ch/img/logo.webp",
"width": 200,
"height": 60
},
"address": {
"@type": "PostalAddress",
"streetAddress": "Rue de la Tour-de-l'Ile 4",
"addressLocality": "Ginevra",
"postalCode": "1204",
"addressCountry": "CH"
},
"telephone": "+41786000366",
"founder": { "@type": "Person", "name": "Guillaume Mermillod" },
"foundingDate": "2025",
"taxID": "CHE-424.961.613",
"priceRange": "CHF",
"openingHours": "Mo-Fr 09:00-18:00"
}I dati strutturati vengono convalidati regolarmente con il Schema Markup Validator e lo strumento di test dei risultati arricchiti di Google.
2. robots.txt: controllare l'accesso ai crawler
Il file robots.txt, accessibile alla radice del dominio (https://www.mermio.ch/robots.txt), dice ai robot cosa possono — e non possono — esplorare.
Su mermio.ch, distinguiamo esplicitamente i crawler tradizionali (Googlebot, Bingbot) dagli agenti IA (GPTBot, Claude, Anthropic), autorizzando questi ultimi a indicizzare i contenuti pubblici. Blocchiamo invece le aree di amministrazione e le risorse non pertinenti per il SEO.
User-agent: *
Disallow: /admin/
....
User-agent: Googlebot
Allow: /
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: anthropic-ai
Allow: /
Sitemap: https://www.mermio.ch/sitemap.xmlLa menzione della sitemap alla fine del file è una buona pratica sistematica: aiuta i crawler a scoprire rapidamente tutti gli URL.
3. llms.txt e llms-full.txt: preparare il sito per le IA generative
I file llms.txt e llms-full.txt sono una convenzione emergente (ispirata a llmstxt.org) per fornire ai LLMs un riassunto strutturato e leggibile del contenuto di un sito — in Markdown, leggibile sia dagli esseri umani che dalle macchine.
È l'equivalente del robots.txt, ma per gli agenti IA: invece di controllare l'accesso, guidiamo la comprensione.
Su mermio.ch, sono disponibili due livelli:
/llms.txt: versione sintetica — descrizione dell'agenzia, elenco dei servizi con i loro URL, articoli recenti/llms-full.txt: versione dettagliata — descrizioni complete dei servizi, estratti di articoli, manifesto, FAQ
Estratto dal file llms.txt:
# Mermio
> Agenzia di sviluppo web e integrazione IA con sede a Ginevra, Svizzera.
> Specializzata in Laravel, Symfony, integrazione MCP, automazione n8n.
....
## Servizi
- [Sito web su misura](https://www.mermio.ch/services/developpement-web)
- [Landing page](https://www.mermio.ch/services/landing-pages)
....Questi file vengono generati e aggiornati tramite il nostro server MCP interno, il che garantisce che riflettano sempre il contenuto reale del sito.
4. GTM / MTM: il tracciamento senza inquinare il codice
Invece di integrare direttamente gli script di tracciamento nel codice sorgente Laravel, utilizziamo un Tag Manager — Google Tag Manager (GTM) o Matomo Tag Manager (MTM) a seconda delle esigenze di conformità del cliente.
I vantaggi:
Un solo snippet nel
<head>e<body>, tutti i tag gestiti da un'interfaccia senza distribuzioneTrigger su eventi (clic, moduli, scroll, tempo trascorso) senza modifiche al codice applicativo
Separazione chiara tra il codice di business e la logica analytics
Versionamento dei contenitori (rollback possibile in caso di errore)
Snippet Matomo Tag Manager inserito nel <head> del layout Blade:
{{-- Matomo Tag Manager --}}
<script>
var _mtm = window._mtm = window._mtm || [];
_mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
(function() {
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src='https://nlpd.mondomaine.ch/js/container_XXXXXXXX.js';
s.parentNode.insertBefore(g,s);
})();
</script>
{{-- Fine Matomo Tag Manager --}}Per la conformità nLPD, Matomo ospitato su un server svizzero è sufficiente nella maggior parte dei casi — nessun trasferimento di dati al di fuori della Svizzera, nessun cookie di terze parti. Per un'integrazione più avanzata (tracciamento arricchito, attribuzione multi-touch, audience), passiamo al server-side tagging con GTM server-side ospitato su un sottodominio dedicato (nlpd.mondomaine.ch) — le richieste transitano attraverso il tuo server prima di raggiungere le piattaforme di analytics, dando un controllo totale sui dati trasmessi.
5. Pagine accessibili in .md: contenuto pensato per le macchine
Ogni pagina di contenuto principale su mermio.ch è accessibile in due formati:
L'URL standard HTML:
https://www.mermio.ch/blog/il-mio-articoloLa versione Markdown:
https://www.mermio.ch/blog/il-mio-articolo.md
Questa convenzione consente agli agenti IA (che accedono spesso alle pagine tramite fetch o scraping) di recuperare il contenuto in un formato pulito, senza rumore HTML, tag di navigazione o script. È anche utile per alimentare pipeline RAG o flussi di lavoro di automazione.
Dal lato Laravel, l'implementazione è semplice: una route o un middleware rileva l'estensione .md e restituisce il contenuto in testo semplice Markdown piuttosto che la vista Blade completa:
// Nel controller Articolo
public function show(Article $article, Request $request): Response
{
if (str_ends_with($request->getPathInfo(), '.md')) {
return response($article->toMarkdown(), 200)
->header('Content-Type', 'text/markdown; charset=UTF-8');
}
return view('articles.show', compact('article'));
}6. Monitoraggio dell'indicizzazione e delle performance
Google Search Console
La Search Console è lo strumento indispensabile per monitorare l'indicizzazione. Qui monitoriamo in particolare:
Lo stato di indicizzazione degli URL (indicizzati, esclusi, in errore)
Le performance di ricerca: impressioni, clic, CTR, posizione media
I Core Web Vitals: LCP, INP, CLS — misurati direttamente sulle visite reali
Le coperture di indicizzazione dopo ogni distribuzione significativa
Invitiamo sistematicamente la sitemap XML (/sitemap.xml) alla Search Console non appena viene messo online un nuovo sito.
Bing Webmaster Tools
Bing rappresenta una quota non trascurabile del traffico di ricerca, in particolare dall'integrazione di Copilot. Bing Webmaster Tools consente:
La sottomissione della sitemap
Il monitoraggio dell'indicizzazione specifico per Bingbot
Lo strumento SEO Reports (equivalente di un mini-audit integrato)
La convalida dei dati strutturati (IndexNow è supportato)
Attiviamo IndexNow su tutti i progetti: ogni pubblicazione di un nuovo articolo o servizio attiva una notifica automatica ai motori compatibili (Bing, Yandex) per un'indicizzazione quasi immediata.
Google PageSpeed Insights
PageSpeed Insights (basato su Lighthouse) consente di misurare le performance reali su mobile e desktop. Le metriche chiave monitorate:
LCP (Largest Contentful Paint): tempo prima che il contenuto principale sia visibile
INP (Interaction to Next Paint): reattività alle interazioni dell'utente
CLS (Cumulative Layout Shift): stabilità visiva durante il caricamento
TTFB (Time To First Byte): velocità di risposta del server
Su mermio.ch, puntiamo a un punteggio Lighthouse > 90 su tutte le metriche in produzione. Le immagini sono servite in .webp, il CSS è purgato tramite Tailwind e le risorse sono minificate e versionate tramite Vite.
7. Screaming Frog SEO Spider: l'audit tecnico ricorrente
Screaming Frog SEO Spider è il nostro strumento di audit SEO tecnico di riferimento. Crawlerà il sito come farebbe Googlebot e fornirà un elenco esaustivo dei problemi potenziali.
Lo utilizziamo in diversi momenti chiave:
Prima della messa online di un sito (audit pre-lancio)
Dopo ogni rifacimento o migrazione
In monitoraggio mensile per rilevare le regressioni
I punti di controllo principali:
Codici HTTP: rilevamento di 404, 301, 500 e catene di reindirizzamento
Tag title e meta description: assenze, duplicati, lunghezze errate
Struttura degli heading: H1 mancante, gerarchia incoerente
Immagini: attributi
altmancanti, peso eccessivo, formati non ottimizzatiLink interni: ancore generiche, pagine orfane, profondità di indicizzazione
Hreflang (se multilingue): coerenza dei tag tra le versioni
Dati strutturati: convalida tramite integrazione con il validator Schema.org
Screaming Frog si integra anche con Google Analytics, Google Search Console e PageSpeed Insights per incrociare i dati e dare priorità alle correzioni.
Cosa significa in pratica
Queste buone pratiche non sono delle caselle da spuntare — formano un sistema coerente. Il JSON-LD rende le pagine comprensibili per Google e le IA. Il robots.txt orienta i crawler. I file llms.txt preparano il sito per l'era degli agenti IA. Il Tag Manager separa il tracciamento dal codice. Le pagine .md facilitano l'ingestione automatizzata. E la triade GSC + Bing + PageSpeed + Screaming Frog garantisce che non si navighi al buio.
È esattamente ciò che mettiamo in atto per i nostri clienti — mermio.ch ne è la dimostrazione concreta.