-->

segunda-feira, 25 de janeiro de 2010

Site e blog pessoal remodelados.

O blog pessoal 

Aproveitando o que aprendi durante a criação do meu blog para o Windows Seven, decidi tirar meu blog pessoal do blogspot e recriá-lo no meu domínio. Essa foi uma decisão fácil, porque o número de seguidores e visitas diárias que eu tenho no blog pessoal é muito pequeno. O endereço do blog pessoal agora é este:

http://ryan.com.br/blogs/jeff

Não é possível ter "seguidores" em um blog wordpress ainda (a Google só disponibiliza isso para o blogger), por isso minha legião de quatro seguidores (obrigado!) precisará se contentar com assinar o feed :-)

O site

Empolgado com a nova aparência da coisa e com as possibilidades do wordpress, fiquei imaginando se eu não conseguiria refazer todo o meu site como um blog wordpress. Como o site não é um blog seria mais apropriado usar ferramentas específicas como o Joomla e o Drupal, mas com nestes eu não sei mexer e uma breve pesquisa sobre o assunto me disse que a idéia de usar wordpress não era ruim, porque outras pessoas a tiveram antes justamente porque Drupal e Joomla eram complicados demais. Não era uma decisão assim tão simples de qualquer forma, porque meu site tem um número diário de visitas (já excluindo o fórum) igual ao deste blog. E um ranking razoável no Google. Qualquer transformação poderia acarretar prejuízo.

Após alguma pesquisa, descobri como fazer os redirecionamentos necessários para que cada visita a uma página do antigo site caísse automaticamente na página correta no novo, garantindo assim o bom humor dos meus visitantes e do Google. O trabalho mais chato foi copiar as páginas uma a uma para o novo formato. Isso tomou dias de dedicação quase integral. Precisei até criar um programa em Delphi para me ajudar nas adaptações do HTML.

O trabalho não está terminado ainda, pois restam algumas dezenas de páginas para transformar, mas a parte mais significativa está pronta. Um exemplo recente é o meu review do PMM2010. Algumas páginas possivelmente nunca serão transferidas para o wordpress (pelo menos não com o tema atual) por serem complicadas demais. Esse é o caso da Tabela Comparativa Comentada. Todas as páginas não transformadas continuarão acessíveis como se nada tivesse acontecido.

Atenção: o cache do seu browser pode fazer com que você veja as páginas antigas ainda. Use SHIFT+F5 para garantir a carga da página nova.

Vantagens do novo site:
  • Finalmente tem um design mais ou menos decente. Ainda vai melhorar, porque escolhi um tema wordpress altamente personalizável que por default é meio "rústico" e algumas coisas ainda estão meio "feiosas" (porque entendo pouquíssimo de CSS e sou um zero à esquerda em design). Mas com o tempo eu irei aprender a fazer os ajustes;
  • Agora é possível comentar diretamente em cada página. - Esse era um desejo antigo meu;
  • Agora é possível encontrar conteúdo relacionado através da organização por categorias e por tags. -  Entretanto essa é uma vantagem para desfrutar no futuro, pois a definição de categorias ainda vai em 80% e a por tags eu nem comecei ainda;
  • Cada página do site agora tem acesso fácil à busca;
  • Agora é possível assinar o site por feed - O que não é lá muito importante, porque há muito tempo tudo o que é publicado no site é anunciado neste blog. O site serve apenas, por ter um layout mais "largo", para publicar o que ficaria muito espremido neste blog.

Um problema administrativo a menos.

12 comentários:

  1. Jefferson, quando a parte onde você diz: "Após alguma pesquisa, descobri como fazer os redirecionamentos necessários para que cada visita a uma página do antigo site caísse automaticamente na página correta no novo, garantindo assim o bom humor dos meus visitantes e do Google"

    Poderia me passar o link de onde encontrou a solução? Gostaria de dar uma olhada. Quando migrei minha pagina de radioamador de um subdomínio de um site meu, para um domínio próprio, essa foi uma das dores de cabeça mais gritantes que eu tive. Inicialmente eu usei um sistema tosco de redirecionamento com paginas em PHP (um para cada pagina!) funcionava bem, mas não era tecnicamente bonito. Dai descobri que dava pra usar "HTTP/1.1 301 Moved Permanently", mas ainda assim exige uma pagina para cada pagina antiga. Esse ultimo método o google gostou, mas eu queria deixar um método mais limpo e ocupando menos espaço no servidor antigo.

    ResponderExcluir
  2. Luciano,

    "Dai descobri que dava pra usar "HTTP/1.1 301 Moved Permanently", mas ainda assim exige uma pagina para cada pagina antiga."


    Uma página para cada página? Não seria uma linha para cada página?

    Se você derrapou na hora de escrever, vai se decepcionar, porque foi exatamente esse o método que usei.Para cada página do site eu tive que acrescentar uma linha assim no meu arquivo .htaccess:

    Redirect 301 /3d_banshee.htm http://ryan.com.br/wp/3d-banshee/

    Se eu quisesse que cada página no destino tivesse o mesmo nome que a página original, seria possível usar o recurso "mod_rewrite" no arquivo .htaccess para com uma única linha redirecionar o site inteiro, como está explicado aqui.

    Porém meu caso tinha três problemas:

    1) Eu não sabia como adaptar essas instruções ao fato de que os URLs no wordpress terminam em nomes de pastas e não em arquivos (deve haver como, mas eu não pesquisei)

    2) Eu precisava redirecionar apenas arquivos na raiz do meu domínio para uma pasta ainda no meu domínio. O método simples de mod_rewrite indicado no artigo acima iria redirecionar imagens e outras coisas que não iam mudar de posição.

    3) Eu quis ter a liberdade de mudar vários nomes de página para deixar mais claro do que se tratava. Por exemplo, a página "prob_hds_wd.htm" mudaria para "hds-western-digital-atencao/"

    Se fosse somente por 1) e 2) eu teria estudado um jeito por mod_rewrite. Mas por causa de 3) meu arquivo .htaccess ganhou umas duas centenas de linhas "redirect 301", como esta:

    Redirect 301 /prob_hds_wd.htm http://ryan.com.br/wp/hds-western-digital-atencao/

    ResponderExcluir
  3. Jefferson,

    1. Sugiro que coloque um post no blog antigo avisando e apontando para o blog novo, pois além dos 4 seguidores do GFC há seguidores via RSS que nem sempre são visíveis.

    2. Gosto do Guia de Referência CSS da w3schools. Também não tenho muita ideia de design, por isso resolvi colecionar páginas que acho bonitas para estudar o que me faz achá-las bonitas.

    3. Sabe se nos comentários do WordPress eu posso colocar tags HTML como os que usei no ítem acima? Gosto delas; uso com muita frequência!

    4. Tem como usar expressões regulares no .htaccess. Uso para alguns casos no Gigawiki.

    Um exemplo para o seu caso, considerando apenas os motivos 1 e 2 de sua resposta ao Luciano (fiz agora e não testei):

    RewriteRule ^([^\./]+)\.htm$ wp/$1/ [L]

    Isso iria pegar uma sequência de caracteres sem . nem / e que fosse seguida de ".htm" (excluindo imagens, p.ex.), que estivesse na raiz (daí o ^ inicial), e que não tivesse mais nada após o htm (daí o $), e reescreveria como wp/a_sequência_sem_.htm/, e não precisaria passar por outras regras ([L]ast).

    Os dados do GET (?a=b&c=d etc.) não são afetados pela regra, de forma que você não precisa se preocupar com eles.

    ResponderExcluir
  4. Apenas para deixar claro, a descrição pode ficar graficamente ambígua por eu ter usado o itálico. A sequência do meu exemplo seria reescrita como:

    wp/
    a_sequência_sem_.htm
    /

    (tudo em seguida, na mesma linha). Do modo como eu escrevi antes poderia parecer "a_sequência_sem_.html", isto é, a barra pode ser confundida com o L minúsculo em itálico.

    ResponderExcluir
  5. Sony,

    "pois além dos 4 seguidores do GFC há seguidores via RSS que nem sempre são visíveis."

    Havia esquecido disso. Feito.

    "colecionar páginas que acho bonitas para estudar o que me faz achá-las bonitas."

    Também é o único jeito que conheço de fazer algo harmonioso.

    "3. Sabe se nos comentários do WordPress eu posso colocar tags HTML como os que usei no ítem acima?"

    Pode. Até onde sei, em todo blog wordpress todas as tags "seguras" são aceitas por default, mesmo que não haja uma lista clara. O tema que escolhi para o blog pessoal não exibe a lista, mas aceita tags. Você pode ver a lista de tags e parâmetros aceitos se olhar o formulário de comentários de qualquer página do site.

    ResponderExcluir
  6. Jefferson, parabéns :)
    ótimas mudanças.

    Algumas dicas:

    No Wordpress existe um plugin chamado Redirection, com ele você pode organizar facilmente todos os 301, ele salva, tem histórico de acesso, pode usar expressões, recomendo 100%. Link:
    http://urbangiraffe.com/plugins/redirection/

    E no Wordpress você também pode utilizar extensões .html (ou qualquer outra) nas páginas, basta ir na aba Configurações > Links permanentes e na parte Estrutura personalizada você editar do jeito que você gostaria (clica em um modelo que ele mostra o formato), só que no final do você poe algo assim: %postname%.html

    .html , .htm, .qualquercoisa, funciona.

    Depois é só salvar ;)

    Qualquer dúvida é só falar.

    Abraços.

    ResponderExcluir
  7. Jefferson,

    "Uma página para cada página? Não seria uma linha para cada página?"

    Mais ou menos. O que eu quis dizer foi, que eu movi todos os documentos HTML do subdomínio do servidor A, para um domínio próprio no servidor B (na verdade esta tudo no mesmo servidor apenas foram criadas contas separadas, ou seja cpanel, ftp, endereço www totalmente diferentes, tudo separado).

    O diretório no servidor A ficou vazio. Dai eu criei arquivos com exatamente o mesmo nome dos arquivos que foram movidos, porem com este conteúdo aqui:

    < ?php
    // Permanent redirection
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.py2bbs.qsl.br/willem_pcb45.php");
    exit();
    ? >

    Com isso se o usuário tiver um link para a pagina antiga:

    http://py2bbs.msxpro.com/willem_pcb45.php

    Ou mesmo:

    http://www.msxpro.com/py2bbs/willem_pcb45.php

    Ele é automaticamente empurrado para o endereço novo sem qualquer problema.

    Mas como eu disse exigiu um trabalho braçal pra recriar um monte de arquivos com esse conteúdo, e eu tenho que manter isso ai no servidor por um longo tempo, ocupando espaço (não é muito mas... tem que ficar lá).

    Mas analisando o que você escreveu no post acima deste, me acendeu a luz que eu posso editar o arquivo .htaccess (já que eu tenho acesso a ele!) e fazer isso de uma forma muito mais limpa e transparente e sem a necessidade dessa penca de arquivos. :D

    ResponderExcluir
  8. Sony,

    Eu editei o tema usado no blog para que exiba a lista de tags permitidas no formulário de comentários.

    ResponderExcluir
  9. Jefferson, apenas para dar um retorno. Depois de uma hora, ler muito e brigar, consegui fazer o redirecionamento usando somente o arquivo .htaccess

    Para quem quiser saber os passos foram:

    Editei o arquivo .htaccess que esta na raiz do diretório www do servidor e acrescentei o seguinte ao seu final:

    RewriteCond %{HTTP_HOST} ^msxpro.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.msxpro.com$
    RewriteRule ^py2bbs\/?(.*)$ "http\:\/\/www\.py2bbs\.qsl\.br\/$1" [R=301,L]

    Depois esvaziei o diretório www\py2bbs e criei um unico arquivo nele, outro .htaccess com o seguinte conteúdo:

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^py2bbs.msxpro.com$ [OR]
    RewriteCond %{HTTP_HOST} ^www.py2bbs.msxpro.com$ [OR]
    RewriteRule ^(.*)$ "http\:\/\/www\.py2bbs\.qsl\.br\/$1" [R=301,L]

    Com isso tanto faz como fez, se o usuário acessar:

    http://py2bbs.msxpro.com/willem_pcb45.php

    ou

    http://www.msxpro.com/py2bbs/willem_pcb45.php

    Ele é empurrado silenciosamente para a pagina nova e o catalogo de endereços dele, se tiver link meu será atualizado também.

    E de quebra mesmo que algum distraído tente acessar algum documento foi criado pós transição de servidor, mas usando o url antigo, ele também é direcionado, coisa que não acontecia antes.

    Esta sua postagem me foi bastante útil, me abriu os olhos para fazer a coisa da maneira certa, desde que obviamente tenha acesso a editar o arquivo .htaccess

    ResponderExcluir
  10. Luciano,

    Daqui a um ano ou mais, quando eu tiver corrigido todos os meus links internos (é, eu ainda preciso fazer isso) e o Google nem lembrar mais dos endereços antigos, eu pretendo substituir todos os redirecionadores por um rewrite único, que vai lançar o usuário para uma script que avise que o conteúdo mudou de endereço, com um link para o novo, e registre para mim quem foi o Referer e a página procurada.

    ResponderExcluir
  11. Jefferson,

    Eu tentei montar um site com o Joomla, e depois de muito brigar montei no WP. Sem nenhuma dor. E desde então, pesquiso tudo que posso sobre CMS com o WP.

    No que diz respeito a redirecionamentos, sou ainda zero a esquerda, sinto não poder sugerir nada. Mas em relação as suas páginas "diferentes" procure entender sobre a criação de páginas estáticas com o WP e sobre "Page Template". Em resumo permite que você crie uma página com o template personalizado para uma determinada situação, ou seja, pode criar um Page Template, com base em seu tema, e retirando o barra lateral (sidebar) para o melhor aproveitamento do espaço. Nesse ponto, com um pouco de fervura na cabeça, se faz qualquer coisa com o Wordpress.

    Ah, normalmente existe o arquivo page.php que é a página padrão, o Page Template acaba entrando na lista de formatos usados na página estática.

    Me identifico com suas dificuldades, pois já passei por algumas e ainda passo, mas verá que o WP tem plugin para qualquer idéia maluca que tenha em termos de recursos.

    Se você prometer não reparar na bagunça, entre e dê uma olhada em meus sites, alguns são totalmente experimentais, só o primeiro é a vera.

    www.bdibbs.com.br
    www.tamoiosonline.com.br
    www.tamoiosonline.com.br/mural

    ResponderExcluir
  12. Lauro,

    Obrigado pela dica sobre o papel das páginas! Já entendi como a coisa funciona e estou experimentando no meu blog de testes.

    Eu já havia visitado www.bdibbs.com.br por causa de links em outros comentários seus. Se aceitar uma sugestão, você precisa encontrar um meio de avisar a seus visitantes que possam ter javascript desabilitado (Firefox+noscript) que o "retângulo preto" tem a intenção de ser mais que só um retângulo preto. :)

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.