Este es un problema clásico con reescrituras. La causa raíz no es tener claves de URL únicas. Típicamente causado por tener productos simples parte de configurables con el mismo nombre.
Por razones obvias, una ruta de solicitud (URL) debe coincidir con una acción en Magento. Por lo tanto, todas las rutas de solicitud deben ser únicas. Las rutas de URL de producto y categoría se crean a partir de sus claves de URL y, por lo general, cuando tiene productos configurables, los propietarios de tiendas / trabajadores de backend no se toman el tiempo para asegurarse de que los productos simples debajo de un configurable tengan diferentes claves de URL. Esto hace que Magento inserte un guión y un número de secuencia. Dado un producto configurable con 4 simples, esto significa que se agregan al menos 4 URL con una secuencia en cada iteración (porque Magento no puede / no puede distinguir entre ejecuciones que una secuencia ya está creada). Esto se suma rápidamente en un gran catálogo.
El flujo de trabajo para recuperar es el siguiente:
- Asegúrese de que todas las claves de URL sean únicas arreglando su entrada y realice otra reindexación de reescrituras.
- Elimine todas las reescrituras que coincidan
WHERE id_path LIKE "%_%" AND options="RP" AND (catalog_id IS NOT NULL OR product_id IS NOT NULL) AND target_path NOT IN (temp_table)
.
- Para las coincidencias de reescrituras restantes,
WHERE id_path LIKE "%_%" AND options="RP" AND (catalog_id IS NOT NULL OR product_id IS NOT NULL)
establezca request_path en target_path y establezca target_path en request_path que coincida con la combinación category_id-product_id y las opciones IS NULL.
- Instale esta extensión y habilite todas las optimizaciones
- Reindex reescribe al menos dos veces, verificando que el recuento de filas sea consistente (dado que no hay cambios en productos o categorías).
- Monitoree las Herramientas para webmasters y los 404 para obtener URL obsoletas adicionales que todavía están en las arañas y deben redirigirse. Preferiblemente implemente el 301 en su servidor web para mantenerse
core_url_rewrite
limpio.
Notas:
Este script ayuda a crear claves de URL que son únicas, iterando valores de atributos y agregándolos hasta que se genere una clave única. Tenga en cuenta que este script no verifica los conflictos entre una categoría y un producto. Por lo general, esto no es un problema, ya que las categorías se nombran naturalmente en plural, pero si vende, por ejemplo, ovejas o peces, puede ser un problema. Otro caso de esquina es un choque entre las URL de catálogo y las páginas de CMS. Este script no lo verifica, pero tampoco afecta las reescrituras ya que los identificadores de página de CMS no están allí. Esto simplemente dará como resultado que se muestre la página de CMS o la página de categoría / producto donde uno esperaría ver al otro.
El temp_table mencionado debe llenarse con las URL que se encuentran en todos los sitemaps. Esto mitiga parte del impacto de SEO al mantener viva la variante actual del guión y el número de secuencia y, en el paso 3, esto se reescribe en la URL correcta. La extensión en el paso 4 evita que varias URL ingresen a la tabla core_url_rewrite, especialmente los productos que no están configurados para visibilidad de "catálogo / búsqueda". Cuando tiene productos simples que forman parte de un dispositivo configurable y que no se enumeran por separado, estos deben marcarse como "no visibles individualmente" y esta extensión les impide ingresar reescrituras. Esta es una optimización valiosa para tiendas con productos configurables, independientemente de que tengan este problema de reescritura de URL. Con respecto al paso 5, si no se realizan cambios en las claves de URL de productos y categorías, entonces cada indexación generará la misma cantidad de reescrituras. Si este no es el caso, todavía tiene un conflicto en algún lugar y debe buscarlo.
Espero que esto aclare un poco las cosas.