Preencha antes de enviar
[endereço do site][tema][2 a 6 nomes de categorias][temas ou textos de rascunho][localização, ou "nenhuma"][propriedade do Search Console, ou "nenhuma"]
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.
Quero que você crie um blog e hub de conhecimento no meu site [endereço do site] no meu servidor Opus Growth. Tema: [tema]. Categorias: [2 a 6 nomes de categorias]. Autor: [nome real do autor e uma breve biografia; se não houver, "publicar com o nome da empresa"]. Temas ou rascunhos dos primeiros posts: [temas ou textos de rascunho]. Fotos de capa reais: [localização, ou "nenhuma"].
1. Preparação. Leia a seção de blog do site_seo_guide. Liste os arquivos com site_list_files e anote a versão de restauração com site_versions. Se o site ainda usa o Tailwind Play CDN e fontes de terceiros, migre primeiro para CSS compilado e fontes auto-hospedadas, pois o blog-build.mjs copia o `<head>` do index.html para todas as páginas do blog. Pelo mesmo motivo, não deixe no `<head>` do index.html nenhum JSON-LD específico da página inicial nem preload de imagem; mova o schema da página inicial para o final do body.
2. Configuração. No bloco `blog` do site.config.js, escreva o título, uma descrição de 110 a 165 caracteres, uma introdução de pelo menos três frases para a página de listagem e, para cada categoria, um nome, uma descrição de 110 a 165 caracteres e uma introdução original de pelo menos dois parágrafos e, para o autor, um nome, um cargo, uma bio e uma meta description de 110 a 165 caracteres. Adicione a página de posts e as categorias ao menu. Se nenhum nome real de autor for informado, não invente um; publique sob o nome do negócio e não gere página de autor.
3. Posts. Escreva cada post como `blog/_posts/YYYY-MM-DD-slug.md`. Front matter: title (menos de 65 caracteres incluindo o sufixo da marca), description (110 a 165 caracteres), date, updated somente se você realmente atualizou, image, author, category (a chave da categoria) e tags. Corpo: o primeiro parágrafo responde à pergunta, depois subtítulos, passos numerados onde fizer sentido, 3 a 6 links internos e um FAQ final com duas ou três perguntas. IMPORTANTE: o blog-build.mjs eleva em um os níveis de título do markdown; `#` vira H2 e `##` vira H3. Se você começar com `##` como o guia mostra, a página salta de h1 para h3 e a pontuação de acessibilidade cai. Sem aberturas clichê ("Hoje em dia..."), sem estatísticas ou fontes inventadas, e não apresente como regra algo que depende do caso.
4. Imagens. Produza as imagens de capa em WebP e AVIF em 480, 800, 1200 e 1600 pixels com o método do pacote de performance e escreva `/assets/img/<name>-1200.webp` no campo image do front matter.
5. Geração. Execute `node seo-stamp.mjs` e depois `node blog-build.mjs` com site_run_command. O blog-build deixa as lacunas a seguir, então escreva um script `blog-extras.mjs` que rode logo depois dele:
1. Nas páginas de post e de listagem: `<!DOCTYPE html>` em maiúsculas, um único charset e um único viewport (o blog-build os adiciona novamente além dos que copia do index.html), classes em vez de estilos inline, `<main id="main">`.
2. Imagem de capa: o blog-build escreve `src` como endereço absoluto incluindo o domínio e não informa dimensões; substitua por um `<picture>` com caminho relativo à raiz, com srcset AVIF e WebP, width, height e `fetchpriority="high"`.
3. Remova as tags de script site.config.js, chrome.js e motion.js que o blog-build adiciona (depois que você migrar para o menu estático, esses arquivos deixam de existir e o console mostra erros 404).
4. Adicione a cada post um breadcrumb visível Início › Posts › Categoria › Post, as datas de publicação e atualização, um link para a categoria, uma caixa de autor com link para a página do autor, o post anterior e o próximo, e dois posts relacionados, dando preferência à mesma categoria. Adicione articleSection, dateModified e um nó de autor Person com url ao schema BlogPosting; estenda o BreadcrumbList para quatro níveis.
5. Adicione og:image, o texto de introdução e os links das categorias à página de listagem.
6. Gere uma página `/blog/kategori/<slug>/` para cada categoria: CollectionPage, um ItemList com numberOfItems e BreadcrumbList; mostre apenas a data e o título nos cards, porque repetir as descrições dos posts da página de listagem aciona o aviso de conteúdo duplicado do seo-check.
7. Gere uma página `/blog/yazar/<slug>/` para o autor: ProfilePage e Person, com a bio e a lista de posts.
8. Adicione as novas páginas ao sitemap.xml com lastmod. O blog-build gera o feed RSS; coloque um link para ele na página inicial.
6. Menu e CSS. Transforme as tags vazias `<site-nav>` e `<site-footer>` das páginas do blog no menu estático com `node chrome-stamp.mjs` e depois recompile o Tailwind, porque o blog-extras adiciona novas classes. Sempre que adicionar ou alterar um post, execute esta sequência desde o início: seo-stamp, blog-build, blog-extras, chrome-stamp, build do CSS.
7. Gates. `node seo-check.mjs` com 0 erros e 0 avisos (pelo menos 150 palavras em todas as páginas e parcela de duplicação entre páginas abaixo de 50 por cento), `node design-check.mjs` com 0 erros, `npx --yes html-validate "**/*.html"` com 0 erros. Adicione as categorias, os posts e o endereço do RSS ao llms.txt. Execute core_web_vitals no mobile e no desktop para a página inicial, a listagem, um post, uma categoria e a página do autor; seo_audit para um post. Abra a listagem e um post com site_preview nas larguras de 360, 390, 768 e 1440 pixels. Se a performance mobile estiver abaixo de 95, encontre a causa; se os títulos usarem uma fonte separada, faça preload dela também.
8. Após a publicação. Envie o sitemap.xml com gsc_submit_sitemap e verifique os posts e as páginas de categoria com gsc_inspect_urls. Minha propriedade do Search Console: [propriedade do Search Console, ou "nenhuma"].
Saída: a lista de endereços gerados (posts, listagem, categorias, autor, RSS, sitemap), uma tabela de schema por tipo de página, um mapa de links internos (qual página linka para qual), uma tabela de pontuações por página e dispositivo e a sequência de comandos de cinco etapas a seguir ao adicionar um novo post.
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 site e o autor são fictícios, as pontuações foram realmente medidas nesta demonstração)
Três posts, duas categorias e uma página de autor foram gerados em um hub de conhecimento fictício sobre cuidados com plantas, o Saksı Defteri.
| Endereço | Tipo | Schema |
|---|
| /blog/ | Lista | Blog, BreadcrumbList |
| /blog/saksi-bitkisi-ne-siklikla-sulanir/ | Post | BlogPosting (articleSection, dateModified, autor Person), BreadcrumbList de 4 níveis |
| /blog/kategori/sulama/ | Categoria | CollectionPage, ItemList (numberOfItems 1), BreadcrumbList |
| /blog/kategori/saksi-ve-toprak/ | Categoria | CollectionPage, ItemList (numberOfItems 2), BreadcrumbList |
| /blog/yazar/ece-kaya/ | Autor | ProfilePage, Person, BreadcrumbList |
| /blog/rss.xml, /sitemap.xml | Feed e mapa | 9 endereços com lastmod |
| Página | Mobile | Desktop |
|---|
| Home | 98 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| /blog/ | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| Post (o mais lento) | 99 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| Páginas de categoria | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
| Página de autor | 100 / 100 / 100 / 100 | 100 / 100 / 100 / 100 |
Na saída bruta do blog-build, o seo-check relatou 8 erros e 4 avisos e o html-validate relatou 43 erros (39 estilos inline, 4 DOCTYPEs em minúsculas); depois do blog-extras, tudo foi zerado. A home primeiro ficou em 95 no mobile (CLS 0.126 por causa da fonte do título); pré-carregar também a fonte do título elevou a nota para 98.
Mapa de links internos: cada post linka para sua categoria, para a página do autor, para o post anterior e o seguinte e para dois posts relacionados; as páginas de categoria e de autor linkam para os posts, e a home linka para as categorias e para o feed RSS.
Ao adicionar um post: seo-stamp, blog-build, blog-extras, chrome-stamp, build do Tailwind; depois seo-check, design-check, html-validate.