SEO

WordPress não aparece no Google: noindex esquecido e robots.txt virtual

Site no ar faz três semanas, o Search Console só devolve página não indexada e a sensação é de que o Google esqueceu de você. Vá em Configurações > Leitura e olhe a caixinha de sugerir aos mecanismos de busca que não indexem este site. Ela costuma ficar marcada desde a homologação e ninguém desmarca no dia da virada.

Confirme pelo terminal, não pelo olho

Essa caixinha grava a opção blog_public: zero significa bloqueado. Dá pra ler, corrigir e conferir em quatro comandos:

sudo -u www-data wp option get blog_public
sudo -u www-data wp option update blog_public 1

curl -s https://seusite.com.br/ | grep -i noindex
curl -s -o /dev/null -w "%{http_code}" https://seusite.com.br/wp-sitemap.xml

Com blog_public em zero o WordPress 6.9 injeta noindex, nofollow na meta robots de todas as páginas e devolve 404 no /wp-sitemap.xml. O que ele não faz mais, desde a 5.3, é escrever Disallow barra no robots.txt: o arquivo continua igualzinho ao de um site liberado. Por isso tanta gente olha o robots.txt, acha tudo normal e procura o problema no lugar errado.

O robots.txt do WordPress é virtual

Não adianta procurar o arquivo na raiz por FTP: ele não existe no disco. O WordPress monta a resposta na hora e os plugins de SEO entram nela pelo filtro robots_txt. A pegadinha é o contrário: se alguém criou um robots.txt de verdade na raiz durante a mudança de servidor, o nginx entrega o arquivo físico e o virtual nunca roda. Um ls -la robots.txt na pasta do site resolve a dúvida.

Com Yoast tem mais uma camada: o plugin entra no filtro wp_robots com prioridade quase máxima, então a meta robots final é a dele. Se o core já está liberado e o noindex continua no HTML, o ajuste está em SEO > Aparência da busca, no tipo de conteúdo que sumiu do índice.

Destravado, não fique esperando. Abra a Inspeção de URL no Search Console, peça a indexação da home e envie o /wp-sitemap.xml. As primeiras páginas entram em poucos dias.

Se travou nisso e precisa de ajuda, me chama aqui.

Post Recentes

Bloquear .env e .git no nginx: as regras que ainda deixam o arquivo vazar

Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…

11 horas atrás

Canonical errado no Yoast: corrigindo pelo filtro wpseo_canonical

O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…

15 horas atrás

Layout XML do Magento 2: remover bloco de módulo de terceiro

Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…

24 horas atrás

Restaurar dump do Magento 2 em outro servidor: trocar a base_url no SQL

Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…

2 dias atrás

Criar exceção customizada em PHP: quando estender Exception compensa

Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…

3 dias atrás

DataProvider Magento 2: form do admin abre com campos vazios ao editar

O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…

4 dias atrás