Diseño Web

Diseño Web, Gestores de contenidos, Trucos

Cómo poner un WordPress en Modo Debug sin acceso FTP ni SSH.

Cuando una página en WordPress está fallando, es muy útil ponerlo en modo debug. En este modo, WordPress muestra los errores que, de otra forma, no podemos ver, y que nos dan una pista de qué es lo que nos está ocasionando los fallos.El culpable suele ser un tema o un plugin, así que, con los datos de estos errores mostrados en pantalla, nos es mucho más fácil arreglar nuestra página. Normalmente, poner WordPress en modo debug, suele suponer modificar, por FTP o SSH, el fichero de configuración wp-config.php. Ahí debemos modificar una línea, como muestra este artículo. Pero, por razones que no vamos a entrar en este artículo, puede que te ocurra como a nosotros hoy: no tienes acceso al FTP. Hoy os dejamos una solución para aún así, poder poner WordPress en este estado de reparación de errores. Cómo poner WordPress en Modo Debug sin acceso FTP ni SSH. La solución, como suele ser habitaul en WordPress, es usar un plugin que haga la modificación por tí. Nota: Obviamente, para que funcione, los permisos establecidos en el servidor tienen que permitir al plugin modificar el fichero. En una instalación normal esto es así…pero puede que tengas una especialmente restrictiva que no lo permita. Os dejamos algunos plugin. Recomendado: WP Debugging. Este plugin lo hemos probado y funciona perfectamente. Cuando lo activas pone el WordPress en modo debug, cuando lo desactivas lo quita.Por defecto añade estas tres líneas al fichero, aunque permite personalizaciones. Fácil de usar, y simple. Nos gusta. Debug. Similar al anterior, permite modificar fácilmente qué queremos añadir. Menos actualizaciones y menos reviews que el anterior. Con estos plugins, si tienes los permisos adecuados, podrás activar el modo debug para depurar tus fallos, y desactivarlo fácilmente, sin acceso FTP o SSH.

Diseño Web, Gestores de contenidos, Seguridad, Trucos

Actualización automática de plugins y temas. Nueva función que no siempre es buena idea.

La versión de WordPress 5.5 viene con una nueva funcionalidad de seguridad que puede ser una buena idea si se hace con conocimiento, o puede provocar que se rompa la página. Poder activar la actualización automática de plugins y temas. ¿Por qué se ha habilitado esta función? Esto es fácil de responder: por seguridad. Los ataques a las páginas de WordPress suelen ser por agujeros de seguridad descubiertos en: WordPress: ellos ya se encargan de actualizarlo y, por defecto, WordPress se actualizar sólo desde hace varias versiones. Plugins y temas: este es el mayor problema. Los que sabemos mantenemos nuestras páginas lo más actualizadas posible, no usamos temas o plugins antiguos o los reemplazamos. Sabemos lo peligroso que es. Pero la mayoría de la gente que no esté en esto, no suele hacerlo. ¿Cuál es el peligro de actualizar temas y plugins automáticamente? Pueden pasar varias cosas: Lo peor, página caída: De nuevo cualquiera que ha tenido una página web en WordPress desde hace un tiempo habrá vivido esto. Actualizas un componente y se te cae la página. Normalmente por incompatibilidad con otros componentes y con el mismo WordPress. Es algo que ocurre a menudo y que impacta a nuestro negocio, nuestra imagen y nos cuesta dinero arreglar. Lo “menos malo”, un componente deja de funcionar: puede ocurrir que algún servicio de nuestra web deje de funcionar. Por ejemplo el formulario de contacto, los pagos en mi tienda, un slider de imágenes.Dependiendo de la importancia de dicho componente puede ser más o menos serio. ¿Cuándo es buena idea activarlo? Para los que trabajan en seguridad informática siempre. Pero claro, tenemos que hacer un equilibrio entre seguridad y usabilidad (como siempre en informática). Que mi página se caiga por un ataque de un hacker es algo que no queremos ninguno. Pero si se cae por una mala actualización…el efecto es el mismo. Mi web no funciona. Así que aconsejamos lo siguiente. Actívalo en plugins que sepas que sus actualizaciones son fiables y no cambian cosas importantes de una versión a otra. ¿Cuáles son fiables? Normalmente los más conocidos y los mejor valorados. Actívalo en plugins que no impliquen que tu página deje de funcionar. Nada que sea crítico ni evite que se vea la página. Por ejemplo en una tienda, no lo actives en WooCommerce ni en medios de pago. Si funcionan, que sigan así hasta que lo puedas hacer manualmente. En temas sólo actualiza si tienes un tema hijo o si no has modificado nada del tema padre. Si lo has hecho, estas modificaciones se borrarán en la actualización. Si lo activas, ¡ ten siempre una copia de seguridad ! Parece obvio, pero tener una copia de seguridad, al menos de la noche anterior, te permite arreglar cualquier desastre de manera rápida e “indolora”. Cómo se activan las actualizaciones automáticas de temas y plugins en WordPress. Una vez comentados los pros y los contras, pasamos a explicar cómo se hace. Plugins. Ve a la página de plugins y verás una opción, a la derecha de cada uno, llamada “Activar las actualizaciones automáticas“. Pincha en el que quieras que se active. Temas. Ve a Apariencia->Temas y pincha en Detalles del Tema del que quieres activar las actualizaciones. Ahí verás una copión para “Activar las actualizaciones automáticas“. Conclusión: es una buena idea (gracias WordPress), es esencial para la seguridad…pero usadlo con cabeza.

Diseño Web, Gestores de contenidos, Prestashop

Prestashop: regenera tus miniaturas sin error de “conexión con el servidor se interrumpió antes de finalizar”. 1.6 en adelante.

Algo muy común en los gestores de contenidos es tener que regenerar las miniaturas. Esto significa volver a crear las miniaturas a partir de la única imagen que solemos subir. Ya sea porque alguna tiene error, o porque hemos cambiado los tamaños. En Prestashop también existe esta opción, y se puede hacer “de golpe” (si tienes muy pocas), o por tipos (categoría, productos etc). Aún así, en cuanto tienes un buen número de productos, es muy común que te salga el error “Solamente una parte de las imágenes han sido regeneradas. La conexión con el servidor se interrumpió antes de finalizar.“ La razón es que los servidores tienen un tiempo que dejan que los procesos se ejecuten sin recibir respuesta. A partir de dicho tiempo ocurre lo que llamamos un “timeout” y el proceso se da por “colgado“. Esto ocurre para evitar tener procesos abiertos indefinidamente que bloqueen el servidor. Puedes intentar subir los parámetros de php que regulan este timeout, los max_execution_time y max_input_time. Pero ya te digo que, en un alojamiento compartido, si tienes suficientes productos, es difícil que esto te resuelva el problema. Es por ello que este plugin que recomendamos hoy es tan útil. Lo que hace es ir regenerando miniaturas por Ajax, donde el proceso es cada miniatura (o conjunto de ellas) y no todas. Consigue así evitar el error, y además otras cosas útiles como a) ver el estado de la regeneración b) pausarla y reanudarla cuando quieras. Plugin gratuito para regenerar miniaturas: imageRegeneratorPrestashop. Esta es una de las maravillas de tener una comunidad que aporte al gestor de contenidos. Este autor ha creado un módulo totalmente gratuito, válido para Prestashop 1.6 y 1.7 (1.6 en adelante). Y funciona muy bien. Podéis descargarlo de su página de Github: https://github.com/ComonSoft/imageRegeneratorPrestashop (creo que ese es 1.6 y este 1.7 https://github.com/meetjey/imageRegeneratorPrestashop) o, más fácil, desde su página web: https://boutique.comonsoft.com/fr/modules-gratuits-prestashop/27-regeneration-des-images-prestashop.html Es muy sencillo de usar: instálalo, actívalo y tienes un botón con las opciones de regeneración. Además, como os dije, podéis pausarlo y ver su proceso. Muy fácil, muy sencillo y muy eficaz.

Diseño Web, Información Tecnica, Internet, Opinión

Asegúrate de que el dominio de tu marca o proyecto digital está a tu nombre.

Cuando empiezas un proyecto digital, una de las cosas más importantes que necesitas es un dominio. Es lo que escribe la gente cuando va a ir a tu página web, y el final de tus direcciones de correo electrónico. Y suele coincidir con tu marca comercial. En demasiadas ocasiones nos encontramos que los clientes, cuando empezaron sus proyectos, dejaron que su proveedor informático, su amigo o su cuñado compraran el dominio. Por ignorancia o por prisas.Es decir, no está a su nombre. Y en casi el 100% de esos casos, llega un momento en que el amigo, el proveedor o lo que fuera, deja de estar accesible, interesado o en buenos términos con el cliente. Tenemos un problema. No es fácil recuperar la gestión de ese dominio. Aunque la otra parte colabore, al menos es tedioso. Por eso SIEMPRE aconsejamos a los clientes que compren ellos los dominios de sus proyectos digitales. Con asesoramiento nuestro si hace falta. Pero a su nombre. Luego pueden ceder la gestión del mismo a terceros, pero siempre debe estar a nombre del dueño verdadero. El coste es mínimo, son unos 15€ al año, y ahorra muchos problemas futuros. Al fin y al cabo, es vuestra marca, no deis vuestra marca a nadie.

Diseño Web, Gestores de contenidos, Seguridad

Los plugins de backup, copia de seguridad, que más usamos en WordPress

Hace unos días un cliente nos ha contactado porque la empresa que les gestionaba la web no les había configurado una copia de seguridad. Y querían una solución. Les contamos lo que vamos a contaros hoy aquí. Las copias de seguridad de una web en WordPress puedes tenerlas de dos maneras: Si tienes control de tu servidor (un servidor dedicado) puedes tener sistemas de copia de seguridad externos, con copias incrementales, con gestores de copias etc. Por ejemplo nosotros tenemos un servidor dedicado a las copias de seguridad, con un programa que gestiona las mismas, así como sus recuperaciones.Es más cómodo, más seguro y es independiente de WordPress. Funciona aunque éste no funcione o esté dañado, y permite recuperar las páginas de nuevo independientemente de tu CRM. Lo más normal es que no cumplas el punto 1, porque estés usando un alojamiento (hosting) compartido. En ese caso, puedes usar plugins de backup (copia de seguridad). De hecho, siempre recomendamos hacerlo aunque dispongas del punto 1. Porque nunca hace daño tener dos sistemas de respaldo. Y porque los propios usuarios pueden usar este sistema y, muchas veces, recuperar la web, o hacer copias antes de un cambio, sin tener que llamar a los técnicos. La copia de seguridad que se configure en el plugin puede ser externa (mejor) o interna (en los propios directorios del alojamiento). La segunda opción es peor…pero a veces no queda más remedio. Hoy os hablamos de los plugins de copia de seguridad que más usamos en diferentes proyectos para que podáis tenerlos como referencia rápida. Plugins de backup para WordPress. BackWPup: Es el plugin que más usamos, y más tiempo llevamos usando, sin duda. Te permite crear diferentes tareas perfectamente configurables. Por ejemplo puedes crear una tarea mensual, una semanal, una completa, una sólo de base de datos… las opciones son enormes.Puedes elegir de qué hacer la copia (ficheros o base de datos), dónde (en el alojamiento o en sistemas externos), cada cuanto, excluir ficheros o directorios y mucho más.Además, puedes crear alertas que te avisen cuando haya errores.Restaurar: te permite descargar la copia de seguridad y subirla manualmente. Algo que para la mayoría de los usuarios puede ser peor…pero a los desarrolladores nos gusta. Updraft Plus: nuestra segunda opción. Cuando el anterior no funciona porque la tarea se queda colgada, usamos este. Está pensado para usar servicios externos pero también permite hacer copias de seguridad locales. Si quieres uno sencillo de usar puede ser una buena opción porque permite crear respaldos, y restaurar, con un sólo clic. Y luego también te deja personalizarlos al máximo.Rápido, fácil y sencillo. Por eso tiene tanto éxito.Restaurar: puedes restaurara ficheros o base de datos de manera conjunta o independientemente y desde la interfaz del plugin. BackupGuard: el plugin permite hacer copias de seguridad locales y en la nube, y restaurarlas de manera sencilla. Con muchas opciones de respaldo. Vaultpress: sistema de copia de seguridad de Jetpack. Es de pago pero permite copias de seguridad a tiempo real o diarias y puede ser interesante para webs críticas. Estos son de los que más nos fiamos y hemos probado. Si, en el futuro, probamos más, los incluiremos aquí.

Diseño Web, Gestores de contenidos, Soporte

Cómo desinstalar el plugin WP Rocket de manera manual en WordPress

Los plugins de caché son muy útiles para mejorar el rendimiento de nuestra página en WordPress. Pero, cuando dan problemas, se pueden poner muy pesados. Tanto, que no sea posible quitarlos desde el backend y sea necesario desinstalarlos de manera manual. Ya escribimos cómo hacer esto con WC Total Caché, hoy os dejamos el proceso para otro muy conocido WP Rocket. Cómo desinstalar WP Rocket de manera manual. Tienes que: Eliminar la carpeta del plugin de  /wp-content/plugins/ Borra la carpeta  /wp-content/cache/  Borrar la carpeta  /wp-content/wp-rocket-config/  Borra el fichero /wp-content/advanced-cache.php Edita el fichero htaccess y borra cualquier cosa entre  #BEGIN WP ROCKET y #END WP ROCKET Edita el fichero wp-config.php de la raíz de tu web y cambia el campo define(‘WP_CACHE’, true)  a define(‘WP_CACHE’, false)  Borra la entrada wp_rocket_settings y la entrada transients and cronjob en la tabla Options de tu base de datos. Con eso ya debería estar todo borrado. Más información aquí.

Diseño Web, Gestores de contenidos, Internet, Trucos

Comandos útiles para Magento 2

Llevamos un tiempo manejando Magento 2, y muchas de las acciones hay que hacerlas por línea de comandos. Así que, para referencia nuestra, y por si os viene bien a alguno, os dejamos un resumen de los comandos más útiles y usados. Comandos más útiles en Magento 2. Os dejamos los más usados (e iremos ampliando): php bin/magento setup:upgrade : actualiza la configuraciónSi quieres conserva los ficheros estáticos puedes ejecutar: php bin/magento setup:upgrade –keep-generated php bin/magento setup:di:compile : ejecuta el compilador php bin/magento setup:static-content:deploy : deploy para el lenguaje por defecto (en_US).Si quieres forzarlo puedes poner: php bin/magento setup:static-content:deploy -fPuedes hacerlo para un tema concreto: php bin/magento setup:static-content:deploy –theme Magento/tema php bin/magento setup:static-content:deploy es_ES : deploy para un idioma específico (puedes cambiar el idioma del final). php bin/magento cache:clean : borra (purga) la cache por etiquetas.Puedes especificar el tipo de caché a vaciar poniendo php bin/magento cache:clean [type] …[type]Los tipos se separan con espacios y son los siguientes: Tipos: config, layout, block_html, collections, reflection, db_ddl, compiled_config, eav, customer_notification, config_integration, config_integration_api, full_page, config_webservice, translate php bin/magento cache:flush : borra la caché completamente.Puedes especificar el tipo de caché a vaciar poniendo php bin/magento cache:flush [type] …[type]Los tipos se separan con espacios y son los mismos que en cache:clean (encima) php bin/magento cache:enable : habilita la caché.También admite los type como en las dos opciones anteriores. php bin/magento cache:disable : deshabilita la caché.También admite los type como en las opciones anteriores. NOTA: Es muy normal que se ejecuten los siguientes comandos juntos tras un cambio en la configuración: php bin/magento setup:upgradephp bin/magento setup:di:compilephp bin/magento setup:static-content:deployphp bin/magento cache:cleanphp bin/magento cache:flush php bin/magento indexer:status : ver el estado de los índices de búsqueda. php bin/magento indexer:show-mode : muestra el estado de los índices. Reindexar los índices (para las búsquedas): php bin/magento indexer:resetphp bin/magento indexer:reindexphp bin/magento cache:cleanphp bin/magento cache:flush php bin/magento module:status : ver el estado de los módulos (cuáles están activos y cuáles no). php bin/magento module:enable Namespace_Module : Habilitar un módulo. Namespace_Module es el nombre del mismo como aparece en module:status (encima). php bin/magento module:disable Namespace_Module : Deshabilitar un módulo. php bin/magento module:uninstall Namespace_Module : Desinstalar un módulo. php bin/magento deploy:mode:show : Consulta el modo de funcionamiento de Magento activo. php bin/magento deploy:mode:set developer : Activa el modo desarrollo. php bin/magento deploy:mode:set production : Activa el modo producción. php bin/magento maintenance:enable : Activa el modo mantenimiento.Si quieres sólo habilitarlo excepto para ciertas IPs ponlas así: php bin/magento maintenance:enable –ip=x.x.x.x –ip=y.y.y.y. php bin/magento maintenance:disable : Desactiva el modo mantenimiento. php bin/magento maintenance:status : Estado del modo mantenimiento. php bin/magento admin:user:unlock adminusername : Desbloquear un usuario administrador. Más información aquí.

Diseño Web, Sistemas, Webs

Booked: aplicación web opensource para gestionar reservas de recursos.

Hace unos días un conocido me mencionó esta aplicación web de reservas y, desde entonces, lo he usado para algún proyecto. En estos días del coronavirus, hay necesidad de aplicaciones para gestionar reservas de espacios físicos (habitaciones, espacios, máquinas…). Y Booked es perfecto para ello.Nota: desde el 01/11/2020 la aplicación sólo se mantiene desde Github (https://github.com/LibreBooking/app) ya que los desarrolladores lo han vuelto de pago. Cuando te planteas una aplicación de reservas tienes básicamente tres opciones: Booked: aplicación web gratis para reserva de recursos. Booked es una aplicación PHP y SQL de reservas web, con un calendario y todos los recursos necesarios para añadir un número ilimitado de recursos, con las opciones que necesites. El programa está disponible desde hace más de 10 años, con actualizaciones constantes. Traducido a casi 40 idiomas, sin límites de recursos, reservas o usuarios. Tiene un sistema de informes muy completo, integración con Outlook y Google Calendar, se puede acceder con Facebook y Google, personalizar el aspecto, integración con sistemas de pago… y mucho más.Al ser PHP, puedes personalizarlo a tu gusto. Tenéis una DEMO aquí: https://demo.bookedscheduler.com/Web/?

Diseño Web, Gestores de contenidos

Módulo gratuito Banner en el carrito para Prestashop 1.7.

Hoy os dejamos un recurso gratuito para Prestashop 1.7 que ha salido hace poco. Desarrollado por Prestashop. Es un módulo llamado Banner en el carrito. Lo que hace es que te permite poner avisos cuando el cliente llega al carrito. El aviso sale como un banner en la parte superior del carrito y es adaptable para móviles. Además de ser multilingüe. Con este banner podrás: Poner recordatorios o alertas para tus clientes Avisar de ofertas especiales. Animar a tus clientes a tener conciencia ecológica reduciendo los paquetes agrupando los pedidos. Y mucho más… Así, podrás mantener a tus clientes informados, alertarles de cualquier promoción o problema con la tienda e incentivar más compras. ¡Y gratis!

Diseño Web, Gestores de contenidos, Soporte

Magento 2: RedSys. Pedidos se quedan pendientes y tras el pago,lleva a una página a una página con error.

Si tienes Magento con el módulo oficial de RedSys puede que te esté ocurriendo este error. Los pagos están entrando, se reciben, pero el pedido se queda pendiente y al cliente le devuelve a una página con error. La causa de esto es que el módulo está mal, tiene definidas 3 páginas de “callback” (retorno): DS_MERCHANT_MERCHANTURL, DS_MERCHANT_URLOK y DS_MERCHANT_URLKO Estas páginas son las de la tienda, las de pedido correcto y las de pedido erróneo. Pero el plugin tiene definida la misa url (dirección) para todas estas páginas. Os enseñamos a corregirlo. Solución. Tenemos que modificar el fichero /app/Code/Redsys/Redsys/Controller/RedSysController.php y añadir las direcciones. Una manera de hacerlo es: Encontrad donde pone  $urlTiendaOK=$this->_baseURL.”redsys/index/notify”; y añadid justo después las siguientes dos líneas (dos variables):    $urlTiendaOK=$this->_baseURL.”checkout/onepage/success”;    $urlTiendaKO=$this->_baseURL.”checkout/onepage/failure”; Id a donde pone: $miObj->setParameter(“DS_MERCHANT_URLOK”,$urlTienda);$miObj->setParameter(“DS_MERCHANT_URLKO”,$urlTienda); y cambiadlo por $miObj->setParameter(“DS_MERCHANT_URLOK”,$urlTiendaOK);$miObj->setParameter(“DS_MERCHANT_URLKO”,$urlTiendaKO); De esta manera tiene las nuevas direcciones a las que ir cuando el pago sea exitoso o no. Probad ahora un pago, veréis como llega bien a Magento, el pedido pasa a su estado pagado y el cliente recibe el mensaje de “pago correcto”.

Scroll al inicio