Skip to content

Instantly share code, notes, and snippets.

@maltzsama
Created June 12, 2025 19:51
Show Gist options
  • Select an option

  • Save maltzsama/23e4ab37c2157e47fcef3d0041cb4a14 to your computer and use it in GitHub Desktop.

Select an option

Save maltzsama/23e4ab37c2157e47fcef3d0041cb4a14 to your computer and use it in GitHub Desktop.

Diagnóstico e Solução para o Problema de Links no WordPress

Possíveis Causas

  1. Configurações de URL hardcoded no banco de dados
  2. Permalinks não configurados corretamente
  3. Cache persistente (tanto no WordPress quanto no servidor)
  4. HTACCESS desatualizado
  5. Tabela de GUIDs inconsistente

Solução Passo a Passo

1. Primeiro, verifique e corrija as URLs principais:

-- Corrija siteurl e home
UPDATE wp24_options 
SET option_value = 'https://www.diascosta.adv.br'
WHERE option_name IN ('siteurl', 'home');

2. Atualize os permalinks (CRUCIAL):

  1. Acesse o painel WordPress: https://www.diascosta.adv.br/wp-admin
  2. Vá em "Configurações" > "Links Permanentes"
  3. Clique em "Salvar alterações" (sem mudar nada)

3. Corrija o arquivo .htaccess:

O arquivo deve conter:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

4. Atualização completa do banco de dados(php_my_admin aba SQL):

-- Atualize todos os links internos (cuidado com serialized data)
UPDATE wp24_posts 
SET post_content = REPLACE(post_content, 'https://www.diascosta.adv.br/novo', 'https://www.diascosta.adv.br');

-- Atualize os guids (com cautela)
UPDATE wp24_posts 
SET guid = REPLACE(guid, 'https://www.diascosta.adv.br/novo', 'https://www.diascosta.adv.br')
WHERE guid LIKE 'https://www.diascosta.adv.br/novo%';

-- Atualize meta dados
UPDATE wp24_postmeta 
SET meta_value = REPLACE(meta_value, 'https://www.diascosta.adv.br/novo', 'https://www.diascosta.adv.br')
WHERE meta_value LIKE '%https://www.diascosta.adv.br/novo%';

5. Limpeza de cache:

  1. Cache de objetos: Instale e execute o plugin "WP Super Cache" ou "W3 Total Cache"
  2. Cache do servidor: Reinicie seu servidor web (Apache/Nginx)
  3. Cache de navegador: Limpe o cache do seu navegador ou teste em modo anônimo

6. Verificação final(talvez tu não tenha acesso a isso):

  1. Execute esta ferramenta de busca e substituição SEGURA:

    wp search-replace 'https://www.diascosta.adv.br/novo' 'https://www.diascosta.adv.br' --all-tables --precise --dry-run

    (Remova --dry-run quando confirmar que está correto)

  2. Verifique os logs de erro do servidor:

    tail -f /var/log/apache2/error.log
    # ou
    tail -f /var/log/nginx/error.log

Se o problema persistir:

  1. Desative todos os plugins e teste com um tema padrão (Twenty Twenty-One)

  2. Verifique as permissões de arquivo:

    chown -R www-data:www-data /caminho/do/site
    find /caminho/do/site -type d -exec chmod 755 {} \;
    find /caminho/do/site -type f -exec chmod 644 {} \;
  3. Monitore os recursos do servidor - pode ser problema de memória:

    free -h
    top

Quer que eu detalhe algum passo específico? Ou você gostaria de compartilhar os logs de erro para uma análise mais precisa?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment