Instalación
Requisitos
Magento 2.4.x. PHP 8.1–8.5. Compatible con el tema predeterminado Luma y con el tema Hyvä. Requiere el módulo gratuito codingrow/module-core, que se instala automáticamente. No hay ninguna clave que introducir: el módulo se activa automáticamente en tu dominio.
Pasos de instalación
- Solicita el módulo en la página del producto solo con tu email: recibirás por email las credenciales de Composer (también están en tu área de cliente). Guárdalas desde la raíz de tu proyecto Magento:
composer config http-basic.repo.codingrow.com <username> <password> composer config repositories.codingrow composer https://repo.codingrow.comcomposer require codingrow/module-custom-404-maintenancebin/magento module:enable Codingrow_Custom404Maintenancebin/magento setup:upgrade— en modo production tambiénsetup:di:compile,setup:static-content:deployycache:flush.- No hay ninguna clave que pegar: el módulo se activa automáticamente en tu dominio, pasa directamente a la configuración que se describe abajo.
setup:upgrade también instala la skin de la página de mantenimiento en pub/errors. Si no lo consigue (permisos de archivos), ejecuta una vez bin/magento codingrow:c404m:deploy con el usuario propietario de los archivos de Magento.
Configuración
Abre Admin → Stores → Configuration → Codingrow Extensions → Custom 404 & Maintenance. Cada campo se puede definir a nivel Default, Website y Store View: usa el selector Scope arriba a la izquierda para tener textos o diseño distintos por idioma.
| Ajuste | Qué hace | Notas |
|---|---|---|
| 404 Page | ||
| Enable custom 404 page | Sustituye la página 404 de Magento. | Sí/No. |
| Show large "404" number | Gran número de color encima del título. | Usa el color de acento. |
| Title / Message | Los textos de la página. | Vacío = texto predeterminado traducido. En el mensaje se admite HTML básico (b, strong, i, em, a, br, p, ul, ol, li, span). |
| Show search box | Buscador del catálogo de la tienda. | — |
| "Back to home" button label | Texto del botón. | Vacío = texto predeterminado. |
| Maintenance Page | ||
| Installation status | Indica si la skin está instalada en pub/errors. | Debe indicar Installed (ver Página de mantenimiento). |
| Enable custom maintenance page | Muestra tu página mientras el mantenimiento está activo. | Sí/No por store view. |
| Title / Message | Los textos de la página. | Igual que para la página 404. |
| Highlighted note | Nota breve en el color de acento. | P. ej. "Volvemos a las 14:00". |
| Auto-reload page every (seconds) | Recarga automáticamente la página del visitante. | 0 = nunca; 60 = cada minuto. |
| Design | ||
| Logo / Logo max width | Logo de la tienda, logo personalizado o ninguno. | Logo de la tienda = el configurado en Content → Design → Configuration. |
| Background | Color sólido, degradado de dos colores o imagen a pantalla completa. | Oscurecimiento de la imagen de 0 a 90%. |
| Content box | Ninguno, claro u oscuro. | — |
| Font / Title size / Alignment | Tipografía de ambas páginas. | — |
| Colores de texto, acento y texto de los botones | Colores, cada uno con selector de color. | Acento = número 404, enlaces, botones, nota. |
Desinstalación
Restaura la página de mantenimiento estándar de Magento antes de eliminar el módulo:
bin/magento codingrow:c404m:deploy --uninstall
composer remove codingrow/module-custom-404-maintenance
bin/magento setup:upgrade
Si eliminas el módulo sin --uninstall, la página de mantenimiento sigue mostrando la última versión generada hasta que se elimine la skin. Para volver simplemente a las páginas estándar sin desinstalar, pon Enable custom 404 page y/o Enable custom maintenance page en No.
Guía de uso
Página 404
Cuando una dirección no existe, en lugar de la página CMS “404 Not Found” la tienda muestra una página a pantalla completa con el logo, un gran “404” opcional, título, mensaje, buscador opcional y el botón “Volver al inicio”. La respuesta mantiene el estado HTTP 404, lleva noindex y nunca se guarda en caché, por lo que los buscadores no la indexan.
Página de mantenimiento
Mientras el mantenimiento está activo (bin/magento maintenance:enable) Magento no se ejecuta y responde pub/errors/503.php. Por eso el módulo:
- instala una skin en
pub/errors/codingrow_c404m/y la activa enpub/errors/local.xml(unlocal.xmlya existente se guarda enlocal.xml.codingrow_c404m.bak); - pregenera el HTML de la página para cada store view;
- durante el mantenimiento elige la store view de la petición (MAGE_RUN_CODE del servidor web → dominio/ruta → cookie de la tienda → idioma del navegador → tienda predeterminada) y sirve su página con HTTP 503 y
Retry-After. Si la página no está activada para esa store view, se muestra la estándar de Magento.
El HTML se regenera solo al guardar la sección, al cambiar el logo en Content → Design → Configuration y en cada maintenance:enable. Las IP excluidas con --ip siguen viendo la tienda.
pub/errors (algo normal y seguro en servidores protegidos). Ejecuta una vez bin/magento codingrow:c404m:deploy con el usuario propietario de los archivos de Magento y vuelve a cargar la página de configuración: debe indicar Installed.
Diseño
El diseño se aplica a ambas páginas: logo (logo de la tienda, logo personalizado — jpg, png, gif, svg, webp — o ninguno) con anchura máxima; fondo de color sólido, degradado de dos colores o imagen a pantalla completa con oscurecimiento del 0 al 90%; recuadro del contenido ninguno, claro u oscuro; fuente, tamaño del título y alineación; color del texto, color de acento (número 404, enlaces, botones, nota) y color del texto de los botones, cada uno con selector de color. La página es HTML/CSS autónomo y no usa el tema, por eso se ve idéntica en Hyvä y Luma.
Vista previa en vivo
El grupo Live Preview muestra la página 404 o la página de mantenimiento, en Desktop o Mobile, actualizada mientras editas los campos y con el scope seleccionado — antes de guardar. Las imágenes recién subidas (logo personalizado, imagen de fondo) aparecen en la vista previa después de guardar.
Comando CLI
bin/magento codingrow:c404m:deploy instala o actualiza la skin de mantenimiento en pub/errors y regenera las páginas de todas las store views. Solo lo necesitas cuando el servidor web no puede escribir en pub/errors; los archivos de la skin se crean con permisos 644/755. --uninstall restaura local.xml y elimina la skin, recuperando la página de mantenimiento estándar de Magento.
Solución de problemas
- Sigo viendo la antigua página 404: comprueba que Enable custom 404 page esté en Yes en el scope de la store view que estás mirando, vacía la caché (System → Cache Management) y prueba una dirección que realmente no exista.
- Durante el mantenimiento veo la página estándar de Magento: Installation status debe ser Installed, la página debe estar activada para esa store view y tu IP no debe estar excluida con
--ip. Después ejecutabin/magento codingrow:c404m:deploy. - Idioma incorrecto durante el mantenimiento: define los textos en el scope de la store view correcta; si varias store views comparten la misma dirección, deciden la cookie de la tienda y después el idioma del navegador. Luego ejecuta
bin/magento codingrow:c404m:deploy. - El logo no aparece: con Store logo se toma de Content → Design → Configuration → Header → Logo Image (o del logo del tema); elige Custom logo para subir uno y aumenta Logo max width si se ve demasiado pequeño.
- La imagen de fondo no aparece en la vista previa: las imágenes subidas aparecen después de guardar; comprueba que Background esté en Image.
Licencia
Custom 404 & Maintenance es gratuito y no hay ninguna clave que introducir: una vez instalado, el módulo se activa automáticamente en tu dominio. Realiza una ligera verificación en línea con codingrow.com, enviando solo el dominio de la tienda, el producto y la versión instalada (ningún dato de tus clientes), y recuerda la última respuesta, de modo que un problema de red temporal no lo desactiva. El formulario de la página del producto solo sirve para enviarte las credenciales del repositorio Composer de Codingrow, con las que descargas el módulo y sus actualizaciones.
Si algún día el módulo pasa a ser de pago: los dominios que ya lo hayan activado siguen siendo gratuitos, para siempre, en todas las versiones publicadas hasta esa fecha — sin cambio de dominio ni solicitudes al soporte. El log de Magento indica la última versión que puedes instalar gratis; las versiones posteriores requerirían una licencia.