Preencha antes de enviar
[endereço do site][público, por exemplo turistas estrangeiros][nome da marca, nomes de produtos, nomes de lugares][Turco ou Inglês]["tr-TR", "en"][propriedade do Search Console]
Use minha conexão com o Opus Growth para isso. Se você não encontrar a ferramenta de que precisa, procure entre as ferramentas do Opus Growth (com search_tools, se estiver na sua lista); se não conseguir acessar as ferramentas de forma alguma, não adivinhe, me avise.
Meu site [endereço do site] no meu servidor Opus Growth está só em turco por enquanto. Quero que você adicione uma versão em inglês e configure os dois idiomas para que os mecanismos de busca e os assistentes de IA os pareiem corretamente. O público da versão em inglês: [público, por exemplo turistas estrangeiros]. Nomes que nunca são traduzidos: [nome da marca, nomes de produtos, nomes de lugares]. O idioma que um visitante de outros lugares vê por padrão (x-default): [Turco ou Inglês].
1. Mapeie o estado atual. Leia site_seo_guide, liste as páginas com site_list_files e anote a versão de restauração com site_versions. Proponha um endereço em inglês para cada página em turco e mostre a tabela de mapeamento: o turco continua na raiz (/, /hizmetler/), o inglês vai em /en/ (/en/, /en/services/). Escreva os endereços em palavras em inglês, em minúsculas, como diretórios terminados em barra. Não altere os endereços atuais em turco; se algum precisar mudar, faça um 301 com site_redirects. Aguarde a minha aprovação.
2. Tradução. Escreva cada página em inglês de forma que soe natural para o público, traduzindo o sentido e não frase por frase. Mantenha dados como telefones, endereços, preços e horários exatamente iguais e não acrescente nenhuma afirmação nova. Títulos de 50 a 60 caracteres, descrições de 140 a 160, únicos em cada idioma. Os dois idiomas têm o mesmo número de seções. Toda página em inglês tem `<html lang="en">` e responde à pergunta diretamente no primeiro parágrafo.
3. Configuração. Adicione um bloco `locales.en` em assets/site.config.js: prefixo "/en/", hreflang "en", ogLocale "en_US", a descrição do negócio em inglês, o menu em inglês, a chamada para ação, a nota do rodapé e os textos da interface (pular para o conteúdo, menu, páginas, contato). Em um bloco `i18n`, escreva o idioma da raiz, o idioma do x-default, os pares de endereços em turco e inglês, as palavras que nunca são traduzidas (keepWords) e um glossário de termos.
4. Escreva um script i18n-stamp.mjs e coloque-o na raiz do site. Suas funções:
1. Imprimir tags absolutas `<link rel="alternate" hreflang="tr-TR">`, `hreflang="en"` e `hreflang="x-default"` em todas as páginas entre `<!-- i18n:start -->` e `<!-- i18n:end -->`.
2. Dentro do bloco impresso pelo seo-stamp.mjs, definir og:locale como en_US nas páginas em inglês, adicionar o outro idioma como og:locale:alternate nos dois idiomas, definir o inLanguage do nó WebSite como ["tr-TR", "en"] e substituir a description do nó do negócio pela versão em inglês nas páginas em inglês.
3. Gerar sitemap-tr.xml e sitemap-en.xml com alternates xhtml:link para cada endereço e a data real de modificação do arquivo como lastmod, e transformar sitemap.xml em um sitemapindex apontando para os dois.
4. Verificar a tradução e sair com código diferente de zero em caso de erros: página sem par, html lang que não corresponde à pasta, telefone ou número longo diferente nos dois idiomas; como avisos, número diferente de h2, h3, imagens ou itens de FAQ nos dois idiomas, palavras com caracteres turcos no texto em inglês fora de keepWords e termos do glossário não utilizados.
O nó WebPage de cada página carrega o idioma dessa página como inLanguage. O seo-check.mjs só isenta a home da raiz da exigência de BreadcrumbList, então adicione um BreadcrumbList de um item à home de /en/.
5. Seletor de idioma. O script chrome-stamp.mjs, que imprime o menu e o rodapé como HTML estático, dá às páginas em /en/ o menu e os textos de interface de locales.en e monta o seletor de idioma a partir das tags hreflang da página, de modo que cada página linke para a SUA PRÓPRIA correspondente no outro idioma, não para a home. Todo link de idioma leva os atributos hreflang e lang e uma área de toque de pelo menos 44 pixels. Não escolha o idioma redirecionando pelo idioma do navegador.
6. llms.txt. Escreva o /llms.txt em turco na raiz e a versão em inglês em /en/llms.txt; cada um traz um resumo curto e preciso do site, a lista de páginas no próprio idioma e os dados de contato, e linka para o outro. O robots.txt continua aberto aos rastreadores de IA e aponta apenas para o índice sitemap.xml.
7. Ordem de execução após cada edição: `node seo-stamp.mjs`, `node i18n-stamp.mjs`, `node chrome-stamp.mjs`, o build do Tailwind, depois `node seo-check.mjs`, `node design-check.mjs`, `npx --yes html-validate "**/*.html"`. O seo-stamp reescreve seu próprio bloco toda vez que roda, então o i18n-stamp deve rodar SEMPRE depois dele. Se o site ainda usa o Tailwind Play CDN e fontes de terceiros, migre primeiro para CSS compilado e fontes hospedadas por você.
8. Meça. core_web_vitals no mobile e no desktop para cada página nos dois idiomas; seo_audit para as duas versões da home. Abra as homes em turco e em inglês com site_preview nas larguras de 360, 390, 768 e 1440 pixels; os títulos em inglês costumam ser mais longos, então procure com atenção qualquer estouro de layout. Critérios: desempenho mobile de pelo menos 95 e as outras três pontuações em 100; zero erros do seo-check, do i18n-stamp e do html-validate.
9. Depois de publicar. Confirme as tags hreflang e o seletor de idioma na home de /en/ com site_read_url. Se a minha propriedade do Search Console for [propriedade do Search Console], envie o sitemap.xml com gsc_submit_sitemap e verifique a home de /en/ com gsc_url_inspect.
Saída: a tabela de mapeamento de endereços em turco e inglês, uma tabela de pontuações por página e idioma, a saída da verificação do i18n-stamp, os avisos de tradução restantes e uma lista de frases que devo revisar.
Exemplo de resultado
Um exemplo do resultado que este prompt gera. A estrutura vem da saída real das ferramentas; os números e nomes são fictícios.
Exemplo de resultado (em um site de demonstração fictício; o negócio é fictício, as notas foram realmente medidas neste demo)
Um site fictício de pousada, Liman Taş Ev, foi configurado com turco na raiz e inglês em /en/, com o inglês como x-default.
| Turco | Inglês |
|---|
| / | /en/ |
| /odalar/ | /en/rooms/ |
| /konum/ | /en/location/ |
| /iletisim/ | /en/contact/ |
| Página | Mobile | Desktop | LCP no mobile |
|---|
| / | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 2.0 s |
| /odalar/ | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1.9 s |
| /konum/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1.5 s |
| /iletisim/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1.5 s |
| /en/ | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 2.0 s |
| /en/rooms/ | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1.9 s |
| /en/location/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1.5 s |
| /en/contact/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 | 1.5 s |
Resultado do i18n-stamp: 8 páginas, 2 idiomas, um índice sitemap.xml com sitemap-tr.xml e sitemap-en.xml, 0 erros, 0 avisos. Na primeira execução, três páginas em inglês geraram um aviso de caractere turco para "Ayvalık", "Türkiye" e "Balıkesir"; essas palavras foram para keepWords, porque nomes de lugares mantêm a grafia turca também em inglês.
Verificações: seo-check com 0 erros e 0 avisos, html-validate com 0 erros, design-check com 0 erros e 1 aviso (sem animações, uma escolha de estilo), sem overflow de 360 a 1440 pixels. Para a sua revisão: a redação em inglês dos termos de cancelamento, por ser um texto vinculante.