De um sistema legado ao WordPress. O desafio

Padrão

O código do cliente tem comentários com a data de 2007. 13 anos atrás, as coisas eram bem diferentes.
PHP 5 ainda era uma novidade. O iPhone era lançado…

O cliente tem um site antigo, mas que funciona. Precisa muito migrar para um código moderno pra poder continuar progredindo. Como sou fã do wordpress já cantei a pedra: vamos pro WP. O cliente tem um ecommerce. Reluta e diz que não é a plataforma ideal para ecommerce. Eu discordo. O woocommerce faz do wp um astro pro ecommerce.
Nem me fale em Magento…

Agora, vem a questão: como fazer uma transição amigável? Ou seja, manter tudo que está no ar funcionando e ir adicionando as coisas novas no WP.

A solução foi mais simples do que o esperado. Analise o que foi feito:

1 – Mantive todas as requests indo pro index.php. O index.php do atual site tem uma tentativa frustrada de fazer um rewrite das URLs. Logo, eu consigo através do index.php saber se o que era procurado foi encontrado ou se trata-se de um erro 404.

2 – Ao receber um erro 404, eu coloquei o arquivo index para executar o simples index.php nativo do wp:

define( 'WP_USE_THEMES', true );

require __DIR__ . '/wp-blog-header.php';

3 – Pronto, agora o WordPress cuida das requisições que não existem no antigo site e também dos erros 404.

Com isso, conseguimos manter o antigo site funcionando e demos vidas as novas páginas que irão surgir a partir do WordPress. Óbvio que as páginas não poderão ter links similares ao antigos, mas isto não é um problema pois as antigas URLs são péssimas para SEO.