por que duplicar o URL do produto magento

10

Eu estou usando magento 1.7. Estou enfrentando um problema estranho. magentofazer URL do produto duplicado com número aleatório com chave de URL errada, por favor, minha captura de tela anexada

Também esvazio os rewrite_urlsURLs da tabela e reindexo, mas ainda estou recebendo os URLs errados. por favor me ajude a resolver este problema. se você não conseguir visualizar as imagens em questão, clique nos links URLs duplicados do produto e Produto no painel do administrador

URLs de produto duplicados,produto atual

Deixa eu te entender com exemplo

Como eu tenho um produto chamado "exemplo" e a chave da URL é "exemplo", o URL será

www.example.com/example

e agora eu criei um novo produto "xyz e url key é" xyz "e url deve ser

www.example.com/xyz

mas magento gerando url

www.example.com/example-123

fonte
Você quer dizer a mesa core_url_rewrite?
Fabian Blechschmidt 25/03
sim eu significa core_url_rewrite
Isso acontece porque você possui / teve 2 produtos com a mesma chave de URL. Tente truncar core_url_rewritetabela e executar URL reescreve o indexador novamente.
Dmytro Zavalkin
Não, eu verifiquei que eu tenho chaves URL única e eu já tentei essa opção "Experimente truncar tabela core_url_rewrite abd prazo url reescreve indexador novamente"

Respostas:

6

Isso parece ser um bug no 1.7. Se você possui vários produtos simples com a mesma chave de URL que o produto configurável (por exemplo, todos os nomes são iguais), o magento sempre cria uma nova reescrita de URL em cada processo de índice. Exemplo:

Primeiro índice:

  • myproducturl (produto de configuração)
  • myproducturl-id (produto simples com o ID anexado, até o momento)

Segundo índice:

  • myproducturl (produto de configuração)
  • myproducturl-randomnumber (produto simples com número aleatório, RUIM)
  • myproducturl-id -> myproducturl-randomnumber (reescreva para o novo URL)

E em cada novo processo de índice, a última etapa será repetida; portanto, sempre é gerada uma nova chave de URL aleatória. Se o magento verificar, se já existe uma chave de URL com o ID desse produto, isso não deve ser problema.

Após alguns meses, você terá uma tabela url_rewrite muito grande, porque nada será excluído e a cada execução, pelo menos 1 registro para cada produto com a mesma chave de URL será criado.

Vince Roy
fonte
Isso causou grandes problemas para nós. Temos 1 produto com 20 variações de cores e 8 tamanhos de cada, portanto, temos MUITOS produtos simples que são importados com o mesmo nome. Como a chave da URL é o nome, se uma não for especificada, terminamos com muitas duplicatas. O mais irritante é que nem sequer temos acesso simples e individual (o que zomba deles obtendo índice em primeiro lugar). Nós contornamos isso até certo ponto, importando o sku simples como parte de seu nome, já que não é visível no front-end.
Peter O'Callaghan
Também estou enfrentando esse problema, e minha tabela de reescrita de URL tem mais de 80.000 entradas para meros 4000 produtos. Se alguém tiver mais informações sobre isso, entre em contato.
andyjv
Há um patch corporativo que resolve esse problema para o CE.
brentwpeterson
@brentwpeterson Você sabe o ID desse patch?
Paul
1
SUPEE_389_EE - magento.stackexchange.com/questions/32159/…
brentwpeterson
7

Também fomos atingidos por esse bug. Re-indexamos todos os dias e conquistamos 24.000 URLs em apenas alguns dias para cerca de 1.000 produtos.

Acredito que posso ter encontrado uma solução para isso. Coloquei essa correção no ar em nosso site de produção e vou ver como ela vai. Se outros puderem testar, seria útil.

  1. Caso algo dê errado, faça um backup da tabela e dos dados core_url_rewrite

  2. No app / code / core / Mage / Catalog / Model / Url.php, linha 809, altere

    if ($product->getUrlKey() == '' && !empty($requestPath)
            && strpos($existingRequestPath, $requestPath) === 0
        )

    para

    if (!empty($requestPath)
            && strpos($existingRequestPath, $requestPath) === 0
        ) 
  3. Truncar (vazia) a tabela core_url_rewrite

  4. Em Sistema -> Gerenciamento de Índice, indexe novamente novamente os dados de Catalog Catalog Rewrites

Agora você deve poder indexar novamente sem criar milhares de reescritas aleatórias de URL.

Agradecimentos a Jahnni e snowcountry pela correção - leia mais sobre isso aqui: http://www.magentocommerce.com/boards/viewthread/416476/

Relatório de bug aqui: http://www.magentocommerce.com/bug-tracking/issue?issue=15048

BlueC
fonte
Isso funcionou para mim. Voto votado
sulabh
Eu não acho que isso funcione corretamente no 1.9.x. Consulte aqui para uma correção de trabalho: gist.github.com/edannenberg/5310008
BlueC
0

Novo:

Isso é loucura. Parece um problema de cache !? Algo no processo de indexação está quebrado, mas não faço ideia, desculpe.

Velho:

Não faço ideia de por que isso acontece, mas escrevo minha experiência e minhas idéias:

  1. Quando o Magento encontra uma reescrita já existente, ele anexa um número de contagem.

  2. Quando você altera a reescrita, o magento cria uma reescrita para a URL antiga (se a caixa de seleção no campo de entrada de texto estiver marcada).

  3. Eu acho que as reescritas de URL personalizadas talvez sejam salvas em outro lugar, então as reescritas personalizadas são aplicadas primeiro e depois tenta-se adicionar as reescritas do produto e, se não for possível, o contador é adicionado?

Fabian Blechschmidt
fonte
consulte a minha pergunta eu ter atualizado-lo novamente seu post não é útil para mim agora
atualizou a resposta, mas não ajudou :( #
Fabian Blechschmidt 25/03