O padrão de prefixo das tabelas de uma base de dados MySQL para um site WordPress é wp_. Utilizar um prefixo diferente do padrão é uma boa prática de segurança, visto que ajudar a proteger a aplicação contra SQL Injection.
É importante saber que o WordPress é seguro o suficiente para não ser vulnerável a ataques de SQL Injection. Mas, mesmo assim, é possível que aconteça e por isso é bem importante manter o WordPress sempre atualizado em sua versão mais recente e também adotar algumas outras práticas de segurança.
Antes de realizar a alteração
É importante saber que em uma instalação padrão do WordPress (sem plugins ou temas instalados ainda), há 11 tabelas e todas elas uma o mesmo prefixo. São elas:
Portanto, o ideal é realizar um backup do banco de dados antes de fazer a modificação.
Alterações no wp-config
O arquivo wp-config.php possui a variável $table_prefix, que armazena o prefixo da tabela.
Se desejada a alteração de prefixo da tabela, o valor deve estar de acordo com o novo nome configurado.
Este valor deve ser igual ao prefixo das tabelas existentes dentro da estrutura de banco de dados. Exemplo:
/**
* Prefixo da tabela do banco de dados do WordPress.
*
* Você pode ter várias instalações em um único banco de dados se você der para cada um um único
* prefixo. Somente números, letras e sublinhados!
*/
$table_prefix = 'npf_';
Alterar o prefixo das tabelas dentro da estrutura do banco
A alteração pode ser feita de duas maneiras: comando SQL ou interface do phpmyadmin.
Alteração através de comando SQL
Esse comando deve ser executado dentro de um console SQL.
RENAME table 'wp_commentmeta' TO 'novo_prefixo_commentmeta';
RENAME table 'wp_comments' TO 'novo_prefixo_comments';
RENAME table 'wp_links' TO 'novo_prefixo_links';
RENAME table 'wp_options' TO 'novo_prefixo_options';
RENAME table 'wp_postmeta' TO 'novo_prefixo_postmeta';
RENAME table 'wp_posts' TO 'novo_prefixo_posts';
RENAME table 'wp_terms' TO 'novo_prefixo_terms';
RENAME table 'wp_term_relationships' TO 'novo_prefixo_term_relationships';
RENAME table 'wp_term_taxonomy' TO 'novo_prefixo_term_taxonomy';
RENAME table 'wp_usermeta' TO 'novo_prefixo_usermeta';
RENAME table 'wp_users' TO 'novo_prefixo_users';
Depois disso, é necessário realizar umas modificações adicionais nas tabelas _options e _usermeta. Dentro destas tabelas, há campos que também carregam informações de prefixo. Para alterá-las, precisamos usar o seguinte comando:
SELECT * FROM ‘novo_prefixo_usermeta’ WHERE ‘meta_key’ LIKE ‘%wp_%’
Alteração através da interface phpmyadmin
Este modo dependerá da versão do phpMyAdmin disponível no ambiente de hospedagem, pois trata-se de um recurso nativo.
Além disso, para realizar a alteração, basta selecionar todas as tabelas com o prefixo padrão e escolher a opção Replace table prefix (EN) / Substituir prefixo das tabelas (PT). Assim que clicado, vai aparecer dois campos: De e Para, basta passar as novas definições (Exemplo: De: wp_ Para:novoprefixo_).
Em seguida, assim como no outro modo, é necessário substituir alguns campos das tabelas _options e _usermeta.
Como visto, a alteração de prefixo das tabelas exige cuidado mas pode ser feito através de comandos prontos que facilitam seu trabalho.
Contudo, restando dúvidas ou precisando de ajuda, contate-nos via telefone ou chat e converse com nosso suporte. Tenha em mãos seu código de cliente e senha de atendimento e assim ser atendido com mais agilidade.