Ir diretamente para o conteúdo

Definições de cookies

Escolha que tipos de cookies permite. Pode alterar a sua escolha a qualquer momento em Definições de cookies, no fundo de cada página. Política de privacidade

Necessários

Sempre ativos

Necessários para iniciar sessão, manter o seu carrinho e memorizar as suas escolhas. Estão sempre ativos.

Que cookies?
  • weboke_sessie, weboke_klant, weboke_remember: a sua sessão e manter a sessão iniciada
  • weboke_basket: o seu carrinho
  • wkBtwIncl: mostrar preços com ou sem IVA
  • wok_cookies: a sua escolha de cookies, 12 meses

Mede que anúncio leva a uma visita ou encomenda, para não pagarmos por anúncios que não dão resultado.

Que cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), até 90 dias
  • OpenAI Ads, anúncios no ChatGPT
  • wok_aff: através de que parceiro chegou até nós (programa de afiliados), 60 dias

4,6

País e idioma

Cada país tem o seu próprio site, com os preços e o IVA desse país.

Ver

Ficheiros, wp-config e a base de dados

Módulo 1: Como funciona o WordPress · Tempo de leitura: 9 minutos

Objetivo de aprendizagem: Depois desta lição, reconhece as pastas do WordPress, as definições em wp-config.php e as principais tabelas da base de dados, e sabe onde encontrar o quê.

Conceitos-chave: wp-admin, wp-includes, wp-content (themes, plugins, uploads, mu-plugins), wp-config.php (DB_*, table_prefix, chaves e salts, WP_DEBUG), .htaccess, wp_options (siteurl, home), wp_posts, wp_users

Duas metades: ficheiros e base de dados

Uma site WordPress é sempre composta por duas partes que andam juntas:

  1. Ficheiros na pasta web do seu domínio (no DirectAdmin domains/example.com/public_html): o código do WordPress, os seus temas, os seus plugins e tudo o que carrega.
  2. Uma base de dados: todos os seus textos, páginas, menus, definições, utilizadores e comentários.

Esta distinção é importante nas cópias de segurança e nas migrações. Uma cópia de segurança só com os ficheiros não tem os seus textos. Uma cópia de segurança só com a base de dados não tem as suas fotografias. Precisa das duas (lição 8.1).

As pastas

Abra a sua pasta web no Gerenciador de arquivos ou com um programa de FTP e verá algo assim:

public_html/
├── wp-admin/          o painel de administração (core)
├── wp-includes/       o resto do WordPress (core)
├── wp-content/        tudo o que é seu
│   ├── themes/        os temas
│   ├── plugins/       os plugins
│   ├── uploads/       os seus ficheiros de media, por ano e mês: uploads/2026/11/
│   ├── mu-plugins/    plugins "must use" (se existirem)
│   ├── languages/     traduções
│   └── upgrade/       pasta temporária para atualizações
├── .htaccess          regras para o servidor web
├── index.php          o ponto de partida de cada pedido de página
├── wp-config.php      as definições desta instalação
├── wp-login.php       a página de início de sessão
├── xmlrpc.php         uma ligação antiga para aplicações (lição 7.3)
└── ...                outros ficheiros wp-*.php do core

A regra prática: wp-admin, wp-includes e os ficheiros wp-*.php avulsos pertencem ao WordPress. São substituídos em cada atualização. Nunca coloque nada aí nem altere nada.

wp-content é seu. Uma atualização do WordPress não mexe nessa pasta (exceto os temas e plugins predefinidos que vêm incluídos). É aqui que ficam os seus temas, plugins e ficheiros carregados. Algumas coisas a saber:

  • uploads é a que cresce mais depressa. Cada fotografia que carrega é guardada pelo WordPress em vários formatos (lição 4.4). Uma site com anos de notícias pode ter gigabytes de ficheiros carregados.
  • mu-plugins (must use) são plugins sempre ativos que não é possível desativar no painel de administração. Alguns fornecedores de alojamento e plugins utilizam-nos. Também é um local onde invasores gostam de esconder algo (lição 7.5). Se não reconhecer um ficheiro aí, descubra de onde veio.
  • Um plugin eliminado desaparece de plugins. Um plugin desativado continua lá, com todo o seu código (lição 5.4).

wp-config.php: as definições

wp-config.php é o primeiro ficheiro que o WordPress carrega. Contém os dados com que o WordPress acede à base de dados, e algumas definições para toda a instalação. Uma versão resumida:

define( 'DB_NAME', 'gebruiker_wp1' );
define( 'DB_USER', 'gebruiker_wp1' );
define( 'DB_PASSWORD', 'uma-palavra-passe-aleatoria-longa' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );

define( 'AUTH_KEY',         'texto aleatório longo' );
define( 'SECURE_AUTH_KEY',  'texto aleatório longo' );
define( 'LOGGED_IN_KEY',    'texto aleatório longo' );
define( 'NONCE_KEY',        'texto aleatório longo' );
define( 'AUTH_SALT',        'texto aleatório longo' );
define( 'SECURE_AUTH_SALT', 'texto aleatório longo' );
define( 'LOGGED_IN_SALT',   'texto aleatório longo' );
define( 'NONCE_SALT',       'texto aleatório longo' );

$table_prefix = 'wp_';

define( 'WP_DEBUG', false );

/* Dat is alles, stop met bewerken! */
require_once ABSPATH . 'wp-settings.php';

O que significa:

  • DB_NAME, DB_USER, DB_PASSWORD, DB_HOST: com que base de dados, utilizador e palavra-passe o WordPress estabelece ligação, e em que servidor. Se algum destes dados estiver errado, verá "Error establishing a database connection". Isto acontece frequentemente após uma migração ou após alterar uma palavra-passe da base de dados.
  • As chaves e salts (as oito linhas com KEY e SALT): textos aleatórios com que o WordPress assina os cookies de início de sessão. Quem os conhecer pode, em teoria, criar um cookie de início de sessão válido. Se os substituir, todos são desligados. É exatamente isso que faz depois de um ataque informático (lição 7.5). Obtém novos valores em https://api.wordpress.org/secret-key/1.1/salt/.
  • $table_prefix: o prefixo de todos os nomes de tabelas, normalmente wp_. Assim, várias instalações podem partilhar uma base de dados. Escolher outro prefixo não é uma medida de segurança real, mas também não é prejudicial.
  • WP_DEBUG: ativa as mensagens de erro. Numa site em produção, isto está desligado (false). Como consultar erros em segurança sem os mostrar aos visitantes, lê na lição 5.4.
  • Definições que você próprio adiciona (por exemplo, DISALLOW_FILE_EDIT na lição 7.4 ou DISABLE_WP_CRON na lição 6.3) devem ficar antes da linha "stop met bewerken" (pare de editar).

O wp-config.php contém a sua palavra-passe da base de dados. Nunca partilhe o ficheiro, não coloque uma cópia na pasta web (como wp-config.php.bak ou wp-config.old: qualquer pessoa pode transferi-la, porque o servidor web não as executa como PHP) e aplique-lhe permissões de ficheiro rigorosas (lição 7.4).

.htaccess

No LiteSpeed e no Apache existe na pasta web um ficheiro .htaccess com regras para o servidor web. Começa com um ponto, por isso está oculto em muitos programas. O WordPress coloca aqui este bloco para endereços organizados (permalinks):

# 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

Em termos simples: "se não é um ficheiro existente (!-f) nem uma pasta existente (!-d), entrega ao index.php." É o passo 2 da lição 1.2. Os plugins (de cache, de segurança) costumam acrescentar os seus próprios blocos. Coloque as suas próprias regras fora dos blocos do WordPress e dos plugins, porque esses blocos por vezes são reescritos. No nginx não existe .htaccess; aí, isto é tratado pelo fornecedor de alojamento na configuração do servidor.

A base de dados: que tabela serve para quê

Com o phpMyAdmin (no DirectAdmin, em Gestão de bases de dados) pode consultar a base de dados. Uma instalação normal tem doze tabelas; os plugins costumam acrescentar mais. As principais:

TabelaO que contém
wp_postsArtigos, páginas, revisões, itens de menu e, nos temas de blocos, também modelos e padrões. Também as imagens são aqui um "artigo" do tipo attachment
wp_postmetaDados adicionais associados aos artigos, como o preço de um produto ou definições de um criador de páginas
wp_optionsDefinições da site e dos plugins. Aqui estão siteurl e home (lição 3.1), o nome do tema ativo e a lista de plugins ativos
wp_users e wp_usermetaUtilizadores, as suas palavras-passe (encriptadas) e a sua função
wp_terms, wp_term_taxonomy, wp_term_relationshipsCategorias, etiquetas e a que artigos pertencem
wp_comments e wp_commentmetaComentários

Duas curiosidades úteis. Primeiro: em wp_options estão siteurl e home. Se estiverem errados (por exemplo, após uma migração), a sua site envia todos para o endereço errado e deixa de conseguir aceder à administração. Nesse caso, pode corrigi-los no phpMyAdmin ou com regras no wp-config.php (lição 3.1). Segundo: muitas definições são guardadas serializadas, um formato do PHP em que o comprimento de cada texto é contabilizado. Se alterar manualmente um desses valores, ou se aplicar um simples "procurar e substituir" na base de dados, esse comprimento deixa de corresponder e a definição fica danificada (lição 3.2).

Consultar o phpMyAdmin é seguro. Só deve alterar algo se souber o que está a fazer, e sempre com uma cópia de segurança.

Na prática: como se apresenta num painel

Como exemplo, utilizamos o DirectAdmin. No cPanel e no Plesk, as funcionalidades Gerenciador de arquivos (File Manager) e phpMyAdmin chamam-se da mesma forma.

  1. Abra o Gerenciador de arquivos e vá a domains/example.com/public_html. Ative a visualização de ficheiros ocultos para ver o .htaccess.
  2. Clique em wp-config.php e escolha visualizar (não editar). Procure DB_NAME e $table_prefix.
  3. Abra o phpMyAdmin, escolha à esquerda a base de dados com esse nome e veja que tabelas existem.
  4. Clique na tabela wp_options (com o seu prefixo) e procure as linhas siteurl e home.

Resumo

  • Uma site WordPress é composta por ficheiros mais base de dados; uma cópia de segurança precisa de ambos.
  • wp-admin, wp-includes e os ficheiros avulsos do core pertencem ao WordPress; wp-content é seu.
  • O wp-config.php contém os dados da base de dados, as chaves e salts, o prefixo das tabelas e definições como WP_DEBUG. Nunca guarde uma cópia dele na pasta web.
  • O .htaccess envia tudo o que não é um ficheiro para o index.php; as suas próprias regras devem ficar fora dos blocos do WordPress.
  • Em wp_options estão siteurl e home; os dados serializados não se alteram manualmente.

Questionário

1. Quer fazer uma alteração que sobreviva a uma atualização do WordPress. Onde deve colocá-la?



2. Depois de uma migração, vê "Error establishing a database connection". Onde verifica primeiro?



3. O que acontece se substituir as chaves e salts no wp-config.php?



4. Porque é perigoso um ficheiro wp-config.php.bak na pasta web?



5. Em que tabela encontra a lista de plugins ativos?



Exercício

Exercício D1.3: Explore a sua própria instalação. Abra a sua pasta web no Gerenciador de arquivos ou com um programa de FTP e depois a sua base de dados no phpMyAdmin. Não faça nada além de observar. Assinale o que encontrou e preencha: o prefixo das tabelas, o número de tabelas na base de dados, os valores de siteurl e home em wp_options, e as pastas em wp-content. Escreva também se existem ficheiros em wp-content/mu-plugins e se sabe de onde vêm. Nunca partilhe a sua palavra-passe da base de dados, nem mesmo neste formulário.

Exercício D1.3: Explore a sua própria instalação

Este exercício faz você mesmo; ninguém o verifica. Assinale o que já fez e marque o exercício como concluído.






As suas marcações e notas ficam apenas neste navegador; não as enviamos para lado nenhum. Se tiver sessão iniciada, guardamos em Os meus cursos apenas que concluiu o exercício.

Leitura adicional

Estes artigos descrevem os passos nos painéis da WebOké; noutros painéis funcionam de forma semelhante.

Um momento…

Configurar os seus domínios

Para cada domínio, defina os servidores de nomes, a ligação ao seu alojamento e quem fica como titular.

A carregar os seus domínios…