Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

pt-br:WordPress em Diretório Próprio

Muitas pessoas querem usar WordPress para alimentar a raiz de seu site (ex. http://exemplo.com), mas elas não querem que todos os arquivos do WordPress fiquem alocado em seu diretório raiz. WordPress permite instalá-lo em um subdiretório, mas ter seu site servindo a partir da raiz.

A partir da versão 3.5, os usuários Multisite podem utilizar todas as funcionalidades listadas a seguir. Se você estar rodando uma versão inferior a WordPress 3.5, por favor atualize antes de instalar um WordPress Multisite em seu subdiretório.

Nota para o desenvolvedores de plugins e temas: isto não irá separar seu código do WordPress, ou seja, temas e plugins continuam na pasta wp-content.

Antes de começar

  • Tenha cautela ao realizar estes processos, o site poderá ficar inacessível.
  • Siga as instruções na ordem descrita, ou seja, modifique as informações ANTES de mover os arquivos do WordPress.
  • Após salvar as alterações de endereço de acesso é normal ser levado a página 404.
  • Se não conseguir acessar seu site, será ncessário acessar o painel do serviço de hospedagem e então o aplicativo phpMyAdmin para reverter os dados de acesso.


A vantagem disso é que a pasta principal fica mais organizada e scripts existentes em outras pastas funcionarão normalmente, por exemplo, se possui um sistema de wiki em uma pasta wiki ele será acessível normalmente.

wp-files.png
WordPress diretamente no diretório raiz ou movido para uma pasta wordpress


Movendo uma Raiz da instalação para um diretório próprio

O processo para mover o WordPress para um diretório próprio é o seguinte:

  1. Criar um novo local para os arquivos do core do WordPress serem armazenados (nós iremos utilizar em nosso exemplo a pasta /wordpress). (No linux, use "mkdir wordpress" no diretório www. Você provavelmente vai querer usar "chow apache:apache" no seu diretório criado.
  2. Vá para a opção configuração no painel de administração General.
  3. Na campo "'Endereço do WordPress (URL):"' altere o endereço para o novo local dos seus arquivos. Exemplo: http://exemplo.com/wordpress
  4. Na campo de "'Endereço do site (URL)):'" mude para URL do diretório raiz do seu site. Exemplo: http://exemplo.com
  5. Clique em salvar alterações. (Não se preocupe com a mensagem de erro e não tente ver o blog neste momento, provavelmente você irá visualizar uma tela com uma mensagem sobre os arquivos não encontrados)
  6. Mova os arquivos do core do WordPress para o novo local o qual você definiu em "Endereço do WordPress (URL)"
  7. Copie(NÃO MOVA!) os arquivos index.php e .htaccess do diretório do seu WordPress para o diretório raiz do seu site o qual definiu no campo "Endereço do site (URL))". O .htaccess é um arquivo invisível, assim você deve definir em seu cliente FTP Mostrar arquivos ocultos. Se você não está usando pretty permalinks, talvez você não possua o arquivo .htaccess. Caso estiver rodando o WordPress em um Windows Server(IIS) e usando Links Permanentes, você deve ter um arquivo web.config em vez de um .htaccess no diretório do seu WordPress. Para index.php as instruções permanecem as mesmas, lembrando "não mova" apenas copie o index.php para o diretório raiz. No caso do arquivo web.config somente neste caso devemos mover(não copiar) o arquivo diferente do .htaccess que temos que copiar.
  8. Abra o arquivo index.php no seu diretório raiz text editor
  9. Altere a seguinte linha que diz:

require( dirname( __FILE__ ) . '/wp-blog-header.php' );
para a seguinte o novo endereço da diretório do core dos arquivos do WordPress:
require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );

  1. Faça o login no novo local. Deve ser agora http://www.exemplo.com/wordpress/wp-admin/
  2. Se você tiver configurado Links Permentes, vá para Permalinks panel e atualize a sua estrutura de links permantes. O WordPress vai atualizar automaticamente atualizar seu arquivo.htaccess, ele irá exibir as novas regras de reescritas para você, qual você deve copiar manualmente para o seu .htaccess (no mesmo diretório que o arquivo principal index.php.)'


Usando um subdiretório pré-existente para instalação

Se você já tiver uma WordPress instalado em sua própria pasta (por exemplo, http://exemplo.com/wordpress), então, siga as seguintes etapas:

  1. Vá para o painel de administração Geral
  2. No campo de "'Endereço do site(URL):'" altere para o endereço raiz, Exemplo: http://exemplo.com
  3. Clique em "'Salvar Alterações'". (Não se preocupe com a mensagem de erro e não tente ver seu blog neste ponto! Você provavelmente verá uma mensagem sobre arquivo não encontrado.)
  4. Copie (NÃO MOVA!) os arquivos do WordPress index.php e .htaccess do diretório do WordPress ( /wordpress, em nosso exemplo) para o diretório raiz do seu site— normalmente algo como www ou public_html. Se o arquivo .htaccess não estiver visível, você pode definir seu cliente FTP para exibir arquivos ocultos. Caso você não estiver usando Links Permanentes Legíveis, provavelmente não terá o arquivo .htaccess. Se Você estiver rodando o WordPress em um servidor Windows (IIS) e utilizando links permanentes, você deverá ter um arquivo web.config em vez de um arquivo .htaccess em seu diretório WordPress.
  5. Edite o arquivo index.php que você copiou para a raiz
    1. Abra o arquivo index.php no seu diretório raiz em um editor de texto
    2. Mude a linha que diz:
      require(dirname(__FILE__). '/wp-blog-header.php'); incluindo o nome do diretório onde estão os arquivos core do seu WordPress:
      require(dirname(__FILE__).'/wordpress/wp-blog-header.php');
    3. Salve o arquivo.
  6. Logue no seu site (se você não estiver logado). A URL que deve ser usada é http://example.com/wordpress/wp-admin/ (incluindo o nome do diretório)
  7. Se você estiver usando Links Permanentes, vá para Links Permanentes e salve sua estrutura de links permanentes. O WordPress tentará atualizar automaticamente o seu arquivo .htaccess com as novas regras de reescrita de URL. Se não for possível, ele fornecerá as regras que você deverá copiar manualmente para o seu arquivo .htaccess (no diretório do arquivo index.php principal).

O ideal é fazer essas alterações em momentos de baixa atividade, por exemplo, no meio da noite. Pois nos primeiros passos o site não estará funcionando corretamente.

Se você já tiver conteúdo no seu site, veja when your domain name or URLs change para saber lidar com referências à antigas URLs que permanecerão no banco de dados.

Apontar a home do seu site para um subdiretório

Em alguns casos, você pode ter um site WordPress que passa por mudanças severas todos os anos, por exemplo,site de uma conferência. Se você quiser instalar uma versão para cada ano em um subdiretório, como /2010, /2011 e /2012, mas tem um domínio raiz que (seusite.com) que redireciona automaticamente para um subdiretório particular (normalmente o mais recente) , siga os seguintes passos:

  1. Instale o WordPress em um subdiretório, como /2015, /blog ou /wp.
  2. Na sua pasta raiz (não o subdiretório), baixe e abra seu arquivo .htaccess.
  3. Adicione as seguintes linhas e seu arquivo .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?YourDomain.com$
RewriteRule ^(/)?$ blog [L]
  1. No código acima, altere o valor "YourDomain.com" para a raiz do seu domínio.
  2. Continuando no código acima, altere o valor "blog" para o subdiretório.
  3. Salvar e faça o upload do arquivo .htaccess para seu diretório raiz.

Agora, quando os usuários vão para a raiz do seu domínio(yoursite.com), ele irá redirecionar automaticamente para o subdiretório especificado. Quando você quiser redirecionar para um novo subdiretório, exemplo, para conferência do próximo ano é só atualizar o código de redirecionamento do .htaccess.

Nota: Este código vem do post no site 5's: How to Redirect Your Domain to a Subfolder Using .htaccess.

Mover pastas específicas do WordPress

Os links a seguir explicam como alterar diretórios específicos dentro do WordPress: