Redirecionamento em massa para migração de domínios

Edite no GitHub

Edge Function Massive Redirect é uma solução serverless da plataforma de Edge Computing da Azion para processamento de grandes quantidades de redirecionamentos, que pode ser empregada em situações nas quais haja a necessidade de se realizar a alteração de um volume considerável de endereços, como migrações de domínio.

Sua aplicação permite manipular redirecionamentos diretamente na borda da rede, centralizando a administração de diversas configurações em um único lugar. Pode ser aplicada em diversos cenários, como migração de plataforma de CMS ou e-commerce, atualização de site, entre outros.

Algumas outras vantagens da utilização da Edge Function Massive Redirect em uma migração de domínio:

  • gestão centralizada de múltiplos redirects, sem a necessidade de uma Request Phase Rule para cada redirect;
  • diminuição de impacto negativo sobre SEO;
  • redução de riscos sobre o ranqueamento em buscadores das páginas afetadas; e
  • execução do processamento no Edge, liberando recursos da infraestrutura de origem.

A seguir, vejamos o funcionamento da Edge Function Massive Redirect e como implementá-la.

Como funciona

A function irá tratar os redirecionamentos de acordo com as configurações estabelecidas nos parâmetros Args e os critérios de validação definidos nas Rules Engine da Edge Application.

Quando uma solicitação a um endereço que estiver configurado nos parâmetros chegar em algum dos Edge Nodes da Azion, a function identifica o redirecionamento que deve ser feito e a encaminha para o endereço novo. A aplicação de origem, por sua vez, recebe a requisição e retorna o conteúdo para que o Edge node entregue ao usuário com o HTTP status correspondente (301 ou 302, de acordo com a configuração).

Para serem executados pela function, os redirecionamentos são definidos por meio de uma lista de parâmetros no formato JSON, formada por pares contendo o endereço antigo e o de destino (os Args), conforme mostrado a seguir:

  • endereço antigo: pode ser representado literalmente ou por meio de uma expressão regular, conforme opções abaixo:
    • from: endereço completo;
    • from_regex: expressão regular para representar um padrão de construção de URL, permitindo configurar mais de um endereço com uma única regra. Essas expressões devem obedecer ao padrão Perl Compatible Regular Expressions (PCRE).
  • endereço de destino: pode ser declarado de duas formas:
    • moved: localização de destino (URI) para um redirecionamento permanente (HTTP status 301);
    • found: localização de destino (URI) para um redirecionamento temporário (HTTP status 302).

Assim, a configuração de uma lista de redirecionamentos teria o seguinte formato:

[{
   "from": "https://www.old-site.com",
   "moved": "https://www.new-site.com"
},
{
    "from": "https://www.old-site.com/shoes-snekears.html",
    "moved": "https://www.new-site.com/category/shoes/sneakers"
},
{
    "from": "https://www.old-site.com/users-login.html",
    "found": "https://www.new-site.com/login.html"
},
{
    "from_regex": "https://(api|store|checkout)\\.old-site\\.com$",
    "moved": "https://www.new-site.com/%1$"
}]

Lista com diversos redirecionamentos em uma única configuração Args.

Com base nas informações contidas nos Args, a function executará a interpretação dos endereços e redirecionamentos, conforme veremos em detalhes a seguir.

Configurando a function Massive Redirect

A Edge Function Massive Redirect está disponível na biblioteca de functions da plataforma de Edge Computing da Azion, e pode ser acessada por meio do Real-Time Manager (RTM), no menu Libraries.

Para que a function possa ser executada, ela precisa ser instanciada na Edge Application que se deseja trabalhar e ter definidos seus critérios de ativação e comportamentos dentro das Rules Engine.

Criando uma instância

Caminho: Real-Time Manager > Edge Computing > Edge Application > Functions.

A partir do RTM, acesse o Edge Application que irá rodar a sua function e ative o módulo Edge Functions, na aba Main Settings. Em seguida, na aba Functions, adicione uma nova function, desta vez declarando um nome significativo para ela.

Parâmetros: é necessário informar qual o tipo de function de sua instância; nesse caso, escolha Massive Redirect. Note que o código da função irá aparecer no campo Code, apenas para leitura e entendimento. Na aba Args, informe uma lista com os endereços a serem redirecionados e o respectivo de destino, como no exemplo abaixo, e salve sua função.

[{
    "from": "https://www.old-site.com",
    "moved": "https://www.new-site.com"
},
{
    "from_regex": "https://(api|store|checkout)\\.old-site\\.com$",
    "moved": "https://www.new-site.com/%1$"

}]

Exemplo de configuração dos parâmetros Args

Definindo critérios de execução (Rules Engine)

Caminho: Real-Time Manager > Edge Computing > Edge Application > Rules Engine.

As regras (Rules Engine) determinam o conjunto de condições que precisam ser atendidas para a execução dos Behaviors. Você pode utilizar a Default Rule ou criar uma nova para configurar os parâmetros de validação e os comportamentos para execução de sua function pela Edge Application.

Definindo critérios de validação (criteria): escolha as variáveis, operadores de comparação e strings para construção de sua regra de negócio, como no exemplo abaixo:

If: ${domain} is equal old-site.com (na sequência: operador lógico, variável, operador de comparação, string)

Nesse exemplo, se o domínio acessado for igual à string “old-site.com”, a regra será executada.

Definindo comportamentos (behaviors): adicione os comportamentos que deseja executar caso as condições da regra sejam satisfeitas, como no exemplo abaixo:

  • Then: Run Function MyMassiveRedirect (na sequência: operador lógico, ação, função)

Nesse exemplo, se as condições definidas nas regras forem satisfeitas, então será executada a function MyMassiveRedirect.

Basta salvar, e sua Edge Application já estará preparada para executar sua nova function.


Não encontrou o que procurava? Abra um ticket.