Nella modalità di servizio Sottodominio, Universally serve ogni lingua sul proprio sottodominio, come fr.example.com, recuperando la pagina dal tuo dominio principale e traducendola. La tua app Astro esegue solo la lingua di origine. L'integrazione viene eseguita in modalità proxy, dove aggiunge i collegamenti hreflang e il selettore di lingua alle tue pagine e nient'altro.
Prima di iniziare
- Il progetto è in modalità di servizio Sottodominio. Seleziona Sottodominio sotto Come devono essere servite le pagine tradotte? quando lo crei. Un progetto in modalità JavaScript può essere spostato qui con Sposta in sottodomini linguistici nella sua pagina Configurazione. Lo spostamento di un progetto Sottodominio all'SDK non è ancora disponibile.
- Accesso al DNS del tuo dominio.
- Il ruolo Proprietario o Amministratore per creare il progetto, e Proprietario, Amministratore o Editor per aggiungere hostname e fare clic su Ricontrolla ora.
Installa in modalità proxy
- Installa il pacchetto e aggiungi
UNIVERSALLY_API_KEYa.env, come in Installa l'integrazione Astro. - Registra l'integrazione con
mode: 'proxy':
import universally from '@universally-sdk/astro';
import { defineConfig } from 'astro/config';
export default defineConfig({
site: 'https://example.com',
integrations: [universally({ mode: 'proxy' })]
});
- Aggiungi il tag head una volta nel tuo layout, all'interno di
<head>:
---
import { UniversallyHead } from '@universally-sdk/astro/components';
---
<head>
<UniversallyHead />
</head>
Impostare UNIVERSALLY_MODE=proxy nell'ambiente fa la stessa cosa dell'opzione mode.
Aggiungi un sottodominio linguistico
Il lato dashboard è lo stesso per ogni tipo di progetto ed è trattato per intero in Sottodomini linguistici.
- Apri Tutte le lingue. Nel riquadro Lingue, fai clic su Aggiungi sottodominio per lingua.
- In Aggiungi lingua di destinazione, scegli Lingua e Regione, quindi scegli il formato Sottodominio: Codice regione, Codice lingua o Personalizzato. Il segmento diventa il sottodominio, quindi il francese con Codice lingua su
example.comdiventafr.example.com. Unwwwiniziale viene rimosso dal tuo dominio. L'hostname viene creato per te. - Aggiungi i tre record DNS mostrati con il loro Nome e Valore, in qualsiasi ordine:
| Tipo | Nome | Valore | Scopo |
|---|---|---|---|
| CNAME | fr.example.com |
proxy.universally.app |
Routing |
| TXT | mostrato una volta che Cloudflare lo emette | mostrato una volta che Cloudflare lo emette | Proprietà |
| CNAME | _acme-challenge.fr.example.com |
fr.example.com.afc20bbc0f5b23e9.dcv.cloudflare.com |
Certificato |
I record non devono essere in proxy. Su Cloudflare, imposta Stato proxy su Solo DNS: un record in proxy viene risolto come record A, che non può essere convalidato.
- Attendi i controlli. Vengono eseguiti ogni 5 minuti e la verifica e il certificato richiedono alcuni minuti. Fai clic su Ricontrolla ora per controllare subito.
- Riavvia o ricostruisci il tuo sito Astro una volta che il sottodominio mostra Live. Gli hostname vengono letti quando la tua configurazione viene eseguita.
La pillola di stato indica Aggiungi record DNS, Verifica in corso, Live, DNS spostato o Errore. La sequenza temporale attraversa DNS aggiunto, Dominio verificato, SSL emesso e Live. Un hostname è attivo una volta che Cloudflare segnala come attivi sia l'hostname che il suo certificato. Per le impostazioni della lingua in generale, vedi Aggiungi lingue.
Modalità proxy che esegue il rendering
Su https://example.com/about, <UniversallyHead /> esegue il rendering dei link source e x-default sul tuo site, e ogni target al suo hostname con lo stesso percorso:
<link rel="alternate" hreflang="en-us" href="https://example.com/about" />
<link rel="alternate" hreflang="fr" href="https://fr.example.com/about" />
<link rel="alternate" hreflang="x-default" href="https://example.com/about" />
Questi link devono essere nel tuo HTML sorgente, perché il proxy non serve mai il tuo dominio principale. Vedi tag hreflang. Lo script dello switcher segue a meno che non sia impostato switcher: false.
La modalità proxy salta tutto il resto:
- Nessun percorso
/fr/. Un percorso lingua sul tuo server rimane un 404, il che è corretto. - Nessun catalogo, report o polling. Il tuo server parla con Universally una volta, quando la configurazione viene eseguita.
/_universally/revalidaterisponde 404.t()ehref()restituiscono il loro argomento, quindi un layout scritto per la modalità SDK continua a funzionare.
Verifica che abbia funzionato
https://fr.example.com/aboutcarica la tua pagina in francese.- Il sorgente di
https://example.com/aboutha un link ahttps://fr.example.com/about.
Se non funziona
- Manca una lingua nei link: non ha ancora un hostname attivo. Il log dice "...non ha un hostname attivo in Universally, quindi è stato escluso dai link hreflang." Completa i suoi record DNS, attendi Live, quindi ricostruisci.
- I record non possono essere convalidati: un record è in proxy. Su Cloudflare, impostalo su Solo DNS.
- I link non cambiano dopo che un sottodominio va in live: gli hostname vengono letti quando la configurazione viene eseguita. Riavvia o ricostruisci.
Altri casi sono in Risoluzione dei problemi di integrazione di Astro.