Como redirect grande quantidade de URLs?

Eu tenho um tipo de postagem personalizado chamado ‘Coleções’ com a seguinte estrutura:

http://example.com/collections/artwork-name/

Agora, esse CPT de collections possui 4 categorias que adicionei ao permalink como o seguinte

http://example.com/collection/paintings/artwork-name/

http://example.com/collection/sculptures/artwork-name/

http://example.com/collection/drawings-watercolours/artwork-name/

http://example.com/collection/past-sales/artwork-name/

Por razões de SEO, eu preciso redirect os URLs anteriores para o novo. O problema que estou enfrentando é que, uma vez que os URLs têm agora 4 combinações diferentes, preciso encontrar uma maneira de combinar os URLs antigos com os novos reconhecendo sua categoria base (cada URL tem apenas uma categoria).

Tentei obter o URL atual e ver se ele contém a seção de string / coleção / e de qual categoria era parte, mas sem sorte.

Outra maneira que eu acho que poderia funcionar é combinar a última parte dos URLs após / collections / (antigo) e / collections / (novo) e depois verificar qual categoria tem.

Eu faria isso à mão com htaccess, mas eu tenho mais de 500 URLs.

Como resolveria este problema?

Solutions Collecting From Web of "Como redirect grande quantidade de URLs?"

No final do dia, você estará colocando coisas no seu arquivo .htaccess . Mas, poderia acelerar as coisas através do seguinte método …

Você quer acabar com duas listas, tiradas da tabela wp_posts . Ambas as listas têm os mesmos campos / colunas: Post ID; e Post URL.

Lista 1 – criada sem que as postagens sejam colocadas em categorias

Lista 2 – criado depois de colocá-los em categorias.

Então, como ambas as listas terão a mesma coluna Post ID, você pode juntá-las juntas:

 `Old URL | New URL` -------------|-------------- post1 old url| post 1 new url 

Então você pode gerar uma lista de coisas para colar em seu .htaccess file . Você poderia escrever um script simples para transformar cada linha na lista acima em:

 Redirect 301 post1/old/url post1/new/url 

Há um grande número de maneiras de fazer cada uma das etapas acima, mas tenho certeza que você poderá descobrir uma. Serão consultas básicas de PHP e MySQL. Talvez seja possível gerar a primeira lista duas diretamente de phpmyadmin e exportar como CSV.