No dia 11 de Agosto de 2023, compartilhei um post intitulado “Quando Meu Blog Realmente Decolou” onde narrei o empolgante aumento no tráfego que meu blog começou a experimentar. Expliquei detalhadamente como esse aumento aconteceu e compartilhei meus planos empolgantes para expandir e aprimorar ainda mais meu blog. Dentre esses planos estava o melhor entendimento sobre o funcionamento do que chamamos de SEO. SEO significa search engine optimization ou Motor de Otimização de Busca.
SEO refere-se ao processo de tornar seu site melhor para os mecanismos de pesquisa, como Google e Bing.
SEO tem a função de otimizar sites para que os mecanismos de pesquisa entendam o valor da relevância do seu site e o classifiquem de acordo com a pesquisa.
Veja: O que é Importante Fazer para Seu Site Ser Indexado Rapidamente e Ter uma Boa Posição?
Voltando ao assunto de sitemap, eu já estava familiarizado com o conceito de sitemap (um mapa do site) e sua importância para otimizar a visibilidade de um site ou blog nos motores de busca, como Google e Bing. No entanto, para minha surpresa, descobri que meu blog não possuía um sitemap! Sim, meu próprio blog não possuía um sitemap!!!!! Meu Deus! Como meu blog poderia ter sido melhor, mais encontrado em buscas de usuários!!
O motivo disso ficou claro quando percebi que o plugin que confiava para gerenciar meu SEO, o Yoast SEO, não estava criando os arquivos de sitemap conforme o esperado. No final descobri que ele não era o culpado e acabei solucionando conforme relato no decorrer desse post.
Como Corri Atrás para Solucionar a Falta do sitemap.xml ou sitemap_index.xml no Catetoria Outros
Decidi abordar essa questão proativamente, pesquisando soluções confiáveis para esse problema que criasse um sitemap para meu querido “Categoria Outros”. Com uma dose de determinação, saí gritando à procura de help, li diversos tutoriais dentro do site do Yoast SEO, dentro do Google, dentro do site de hospedagem do meu blog, ou seja, saí como cego tateando no escuro, pois não fazia ideia onde estava o erro.
No início, direcionei minhas suspeitas ao Plugin Yoast SEO, acreditando que ele estava causando o problema em relação ao meu sitemap. Para resolver a situação, busquei orientações na seção de ajuda do site https://yoast.com/help. Lá, encontrei um post intitulado “Meu Sitemap Está Mostrando Erro 404 – O Que Devo Fazer?“, que fornecia um guia com quatro ações a serem tomadas para tentar solucionar o problema.
Passo a Passo que Deveria Seguir para Tentar Solucionar o problema com o xml sitemap
Bom, não linkei a página do Yoast SEO aqui porque está em inglês, mas se quiser ver o passo a passo das 4 ações em português irei linkar em cada tópico abaixo:
- Atualize a estrutura do link permanente: antes de tudo, lembre que meu blog está em WordPress 🙂 Bom, essa ação não visa alterar a estrutura dos links, mas somente entrar no painel de configuração do WordPress, ir em Opções–>Links Permanentes e apenas clicar em Salvar Alterações sem alterar nada, nadida de nada. Ao fazer isso, eu tinha a esperança de que a atualização da estrutura dos links poderia corrigir possíveis conflitos que estavam causando o erro 404 no sitemap, mas não resolveu para mim. Mas li que essa opção resolve a maioria dos problemas relacionados a sitemap de usuários do WordPress.
- Nenhum conteúdo para o mapa do site: esse passo pedia para considerar a possibilidade de que não houvesse conteúdo disponível para o sitemap, considerar que meu blog é novo e sem conteúdo ou que eu fosse muito preguiçoso e tivesse um site bem antigo sem ter publicado nada. Como assim? Fazem 3 anos que posto coisas e não tem nada? Logicamente que esse passo não era a solução.
- Faltam regras de reescrita: Aqui era meu problema e foi o que solucionou! 🙂 verifiquei se havia regras de reescrita faltando dentro do arquivo .htaccess. O arquivo .htaccess é usado para configurar as regras de redirecionamento e formatação de URLs que podem influenciar na exibição correta do sitemap. irei falar mais à frente sobre ele.
- Verifique se os sitemaps foram habilitados: por fim, verifiquei se os sitemaps estavam habilitados no plugin. A configuração incorreta poderia resultar na não criação ou disponibilização do sitemap, o que explicaria o erro 404. Certificando-me de que a funcionalidade de sitemap estivesse ativada, aumentaria as chances de resolver o problema.
Ao seguir essas quatro ações recomendadas pelo post de ajuda do Yoast, estava esperançoso de que conseguiria resolver o problema do meu sitemap e, consequentemente, melhorar a visibilidade do meu blog nos motores de busca.
O Culpado de Não Ter o Sitemap XML era o .htaccess
Bom, como disse no item 3 o o meu problema era com o arquivo .htaccess. O arquivo .htaccess é um arquivo de configuração do servidor Apache que pode ser usado para alterar o comportamento do servidor, como
- redirecionar URLs,
- proteger diretórios com senha e
- definir configurações específicas para o site.
Por exemplo, você pode usar o arquivo .htaccess para redirecionar todas as solicitações do seu site para uma página temporária de manutenção. Foi nesse ponto que estava o meu problema. Não é que estava redirecionando para uma página de manutenção; mas sim que não estava permitindo que o Yoast SEO redirecionasse para as páginas corretas. Vou explicar com mais detalhes, pois esse pode ser o seu problema.
O que eu percebi de errado com os problemas de sitemap em meu blog
Tateando igual cego no escuro ao pesquisar em diversos locais sobre o problema, vi que o WordPress usa URLs com variáveis; por exemplo,
A variável sitemap=1 em https://categoriaoutros.com.br/?sitemap=1 direciona para uma página com a lista de todos os arquivos de sitemaps do meu blog WordPress
Só que, em qualquer link desses que eu clicasse me levava para uma página de erro “página não encontrada”.
Vi também que a variável sitemap=post em https://categoriaoutros.com.br/?sitemap=post me levava para o sitemap e que nele existiam os links do meu blog
Qualquer link que eu clique funcionava corretamente.
Cheguei a uma conclusão: o sitemap existia através da variável sitemap com o valor post(sitemap=post) e que os arquivos abaixo não existiam dentro das pastas do meu blog Categoria Outros:
- https://categoriaoutros.com.br/post-sitemap.xml
- https://categoriaoutros.com.br/post-sitemap2.xml
- https://categoriaoutros.com.br/page-sitemap.xml
- https://categoriaoutros.com.br/category-sitemap.xml
- https://categoriaoutros.com.br/post_tag-sitemap.xml
- https://categoriaoutros.com.br/post_tag-sitemap2.xml
- https://categoriaoutros.com.br/post_tag-sitemap3.xml
- https://categoriaoutros.com.br/post_tag-sitemap4.xml
- https://categoriaoutros.com.br/post_tag-sitemap5.xml
- https://categoriaoutros.com.br/author-sitemap.xml
Tentei criar o arquivo post-sitemap.xml manualmente dentro das pastas da hospedagem para ver se o Yoast SEO o alimentaria com as informações mas não tive êxito.
Depois percebi que seguir o passo 3 Faltam regras de reescrita faria sentido. Essa passo explica como fazer para quem usa servidor web Apache e Nginx. Em contato com o suporte da minha hospedagem soube que eles não usavam nenhum desses, mas sim o servidor web chamado LiteSpeed.
Mas, o que é esse tal de servidor web? pessoal, servidor web é apenas um “computador” com conexão com a internet, onde os sites e blogs ficam armazenados dentro. Em outras palavras, é onde o o servidor onde o seu blog fica. Dentro dele tem um programa responsável por responder aos acessos dos usuários que buscam seu site ou blog. Esse programa pode ser, dentre os mais conhecidos:
- Apache
- Nginx
- LiteSpeed
Se você instalar qualquer um desses programas em seu computador você transformará seu pc em um servidor web(web server 🙂 )
Solucionei o Problema do xml sitemap assim:
Como o LiteSpeed era o que eu usava mas ele não estava listado no site de ajuda do Yoast eu solucionei o meu problema pegando o conteúdo destinado ao .httacces do Apache e colocando dentro do .httaccess do LiteSpeed.
Meu .httaccess ficou com esse conteúdo:
# Yoast SEO - XML Sitemap Rewrite Fix RewriteEngine On RewriteBase / RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L] RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L] RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L] RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L] RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 [L] # END Yoast SEO - XML Sitemap Rewrite Fix