web-development-kb-pt.site

Criando um site estático baseado em um site WordPress?

Estou assumindo um projeto em que preciso construir um site estático (devido a restrições de hospedagem).

Pensei em tentar fazer isso criando um site WP no meu computador, criando um sitemap e, em seguida, copiando esse site e, finalmente, fazendo o upload dos arquivos para o host.

Alguma sugestão melhor sobre como fazer isso? (ou qualquer boa razão pela qual eu nem deveria tentar)

4
Tal Galili

Eu estou fazendo isso agora mesmo (ainda em processo). A melhor configuração parece ser:

  1. Adicione a extensão .html nas postagens - fácil, use apenas o padrão de post personalizado

  2. Adicione a extensão .html nas páginas - precisa de um plugin para isso, se você usar páginas

  3. Desativar feeds (em function.php, removendo os cabeçalhos para ele)

  4. Use wget da linha de comando:
    wget -x -nH -P scraped -np -k -R php -E -X wp-content,wp-includes -m http://address/siteroot/

    Isso suga seu site, altera URLs de diretório no estilo WordPress para URLs .html, altera links internos para parentes, etc. URLs de feed em todos os níveis (raiz, categoria, artigo, etc) bagunçam isso, e é por isso que eles precisam ser removido.

    Obviamente, a suposição é que o site é totalmente acessível a partir da raiz. Se esse não for o caso, use um plugin de sitemap (como você mesmo mencionou) e copie de lá.

  5. Execute algum tipo de processador para remover http://address/ ou altere-o para a raiz absoluta do seu site estático. Se você precisar mover diretórios sobre (por exemplo, mídia/uploads), isso será um pouco mais difícil.

Isso deve levar você a cerca de 80% do caminho.

Se você acabar desse jeito, me rastreie quando souber mais e compartilharei o restante da configuração do meu computador de trabalho. (Se mais de uma pessoa precisar disso, classifique-a e eu a colocarei em algum lugar público em um mês ou mais, uma vez que tenha sido feito completamente).

5
Alexandre Rafalovitch

De seu comentário, acredito que há duas opções melhores, que manterão o tempo de desenvolvimento baixo e sua sanidade em cheque.

1) Se você tem PHP w/PDO, então você pode olhar usando este plugin http://wordpress.org/extend/plugins/pdo-for-wordpress/ , que permite usar o sqlite como banco de dados. Nota: O Wordpress foi desenvolvido em torno e para o mysql, seus resultados podem variar usando um backend sql diferente.

2) Se tudo que você tem é alguns módulos básicos do php. Gostaria apenas de criar o site com um grupo de includes. Para onde você está criando uma série de "templates" usando o php includes. Eu teria um arquivo php para o cabeçalho, rodapé, home page e página interna. Se você tiver várias páginas internas. Eu colocaria qualquer layout semelhante em uma página separada e incluiria os itens para cada tipo de página interna. Em seguida, coloque todo o seu conteúdo nas páginas internas. Então, com o seu index.php, crie um código básico que carregue as páginas que você deseja com base no URL. Você pode usar o .htaccess com o mod_rewrite (assumindo o Apache). Para converter URLs agradáveis ​​para algo como/about-us no/index. php? template = inner & page = about

2
Ryan Gibbons

Oi @ Tal Galili :

Se as sugestões do @ Insanity5902 não forem aplicáveis, você pode usar Copiador do Website do HTTrack para baixar uma cópia do site e, em seguida, carregar a cópia baixada do site para o seu servidor.

2
MikeSchinkel