Gestores de contenidos

Diseño Web, Gestores de contenidos, Trucos

Insertar un quiz (cuestionario) en Contact Form 7 para reducir el spam en WordPress.

Ya os hemos hablado en otros artículos sobre las maneras de evitar el spam en el plugin de formularios de WordPress Contact Form 7. Y que realmente la mejor manera es insertar varias protecciones por capas para llegar a un equilibrio entre seguridad y usabilidad, intentado evitar lo máximo posible los falsos positivos. Uno de los métodos que mencionamos en el artículo eran los Quizzes, o cuestionario. Son una manera de intentar identificar a los robots con preguntas que sólo un humano sabría razonar. La idea es que se interprete algo leído, y se saque una conclusión como respuesta. Evidentemente con la IA la eficacia de esto se reduciría…pero muchos de los robots spam no son todavía tan listos. Preguntas típicas (puedes inventarte las tuyas propias serían): ¿De qué color es la leche? ¿Cuantas patas tiene un caballo? ¿Cuál es la capital de Francia? ¿Que se obtiene al mezclar amarillo y rojo? ¿Cuánto es doscientos menos tres? Lo bueno del Quiz es que es fácil de implementar, poco intrusivo (menos que el reCaptcha V2) y bastante eficaz.Por ejemplo una buena combinación sería un Honeypot y un Quiz en el formulario. Recordad que este método del quiz se puede implementar fácilmente en cualquier formulario con un poco de programación básica. Cómo insertar un quiz en un formulario de Contact Form 7. Sólo tienes que insertar el siguiente código en tu formulario: En el formato También puedes poner varias preguntas para que las cambie aleatoriamente: Si pinchais en el botón cuestionario en el formulario os sale un generador que os permite generar el código de manera sencilla Más información aquí.

Diseño Web, Gestores de contenidos, Trucos

Borrar pedidos y clientes en Prestashop con módulos gratuitos.

Lo primero es decir que borrar pedidos de una tienda en curso no es muy lícito (y puede que ilegal). Pero en ocasiones tenemos que borrar pedidos de prueba, o pedidos de una página en desarrollo. Así que puede ser necesario. Hoy os dejamos dos maneras. Módulo PrestaShop Cleaner en Prestashop 1.7 Desde hace tiempo existe este módulo útil y peligroso, gratuito y desarrollado por Prestashop: Prestashop Cleaner. Seguramente por el peligro que tienen, si no se sabe manejar, Prestashop lo ha escondido un poco más. Para instalarlo ve a Módulos->Catálogo de Módulos y busca Cleaner. Ahí verás que puedes instalar este módulo. Si no aquí tienes un sitio de descarga: https://github.com/PrestaShop/pscleaner El módulo consta de 4 secciones, y una advertencia clara: Ten mucho cuidado con esta herramienta – ¡No hay vuelta atrás!Nota: haced una copia de la base de datos antes de usarla para tener un plan B. Catálogo. Si le das a Si aquí, y a Eliminar Catálogo, borras completamente el catálogo de Prestashop. Cuidado, sólo para poner empezar una tienda desde cero. Pedidos y Clientes: Si le das a Si y a Eliminar Pedidos y Clientes, borraras todos los clientes y pedidos de tu tienda (y pones los ID de cada uno otra vez a cero). Pero sin poder seleccionar, es todo o nada. Así que sólo para una limpieza total. Limitaciones de la Integridad Funcional. Nos comprueba si todo va ok. Si tienes errores raros es algo que puedes probar. Aunque es muy básico. Limpieza de la base de datos. Una limpieza que no viene mal hacer de vez en cuando. Aunque es básica. Como veis el problema de este módulo es que es muy “drástico”. Se carga todo o nada. Pero gratis, rápido y hace lo que promete. Módulo Delete Orders Free de MyPresta. Hemos hablado bastante de los módulos de MyPresta, porque crea muchos módulos gratuitos y útiles. Hoy os dejamos uno más: Delete Orders Free.Una vez instalado este módulo, verás que en la secciónd e Pedidos de Prestashop aparece una nueva sección llamada Borrar Pedidos. Ahí podréis poner el ID del pedido en cuestión (lo tienes que coger antes de la sección pedidos) y darle a borrar. Obviamente lo bueno de este módulo es que te deja borrar pedidos específicos. Esperamos que con estos módulos podáis controlar los datos y pedidos que borráis de vuestras tiendas en Prestashop.

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

Prestashop 1.7. Slider no se muestra en la versión móvil

Hoy tenemos una de esas tonterías que te pueden hacer perder el tiempo dando vueltas y vueltas, cuando la solución es muy sencilla. Esperemos que ahorre tiempo a la gente. Si has desarrollado una web en Prestashop 1.7, y usado el tema Classic, el que viene por defecto (aunque sea con un tema hijo) te habrás dado cuenta de un problema con el slider (carrusel para poner fotos en la portada) en la versión móvil. En PC funciona, no da ningún problema, pero en móvil no aparece. Y no hay opción visible en la configuración para activar esto. Solución. La solución es sencilla. Aunque no obvia, y no entiendo por qué no lo han metido en la configuración. Tienes que pinchar en el desplegable al lado del módulo (donde se activa y desactiva) y veréis que hay una opción llamada “Enable Mobile“.Hay que pinchar ahí. Es decir, el módulo viene desactivado por defecto en móviles y hay que activarlo.

Diseño Web, Gestores de contenidos, Internet

Plugins para detectar Adblockers en WordPress.

Muchos usuarios tienen puesto, en sus navegadores, extensiones que bloquean los anuncios. Los famosos adblockers. Es muy entendible en un Internet donde intentan venderte de todo y, a veces, uno acaba cansado de tanto “bombardeo” de productos. PERO, está la versión de nosotros, los creadores de contenido. Dedicamos tiempo y recursos a escribir contenido que, en muchas ocasiones es útil para los lectores. Y los anuncios son nuestra parte principal de financiación en este área. ¿Cómo compaginar, entonces, el crear contenido, y recibir una compensación por ello, con el derecho de los usuarios a poder ver dicho contenido sin anuncios? Ante este problema de los adblockers los creadores tienen varias opciones y todas pasan por detectar si el usuario está usando un adblocker.Una vez detectado, el creador puede optar por: No ofrecer contenido a los usuarios que tengan estas extensiones (redirigiendo al usuario o ocultando el contenido). Avisar al usuario constantemente que está bloqueando una fuente de ingresos para el creador. Mi preferida: avisar una vez al usuario que está bloqueando una fuente de ingresos importante y pedirle que ponga la página en la lista blanca del adblocker.Recomiendo algo como “Hemos detectado que estás usando un adblocker. Los anuncios son un importante método de ingresos para nosotros. Te solicitamos que nos apoyes y añadas en la lista blanca de tu adblocker. Intentamos ser lo menos intrusivos posibles.“ Hoy os enseñamos cómo podéis detectar adblockers en WordPress.En otros artículos os enseñaremos varios scripts para cualquier sistema, y maneras en las que se hace esta detección. Nota: alguno de los plugins hace tiempo que no se actualizan. Puede ser poruqe funcionen, o porque el proyecto esté abandonado. Probadlos, y si no siempre podéis usar los scripts del siguiente artículo. Plugins para detectar adblockers en WordPress. Os dejamos algunos de los más usados. Ad Blocker Notify Lite. Uno de los plugins más usados. Tiene muchas opciones de presentación (efectos, CSS etc), varias opciones para evitar que le detecten los adblockers y cuando sale el mensaje. Muy completo y actualizado. El que usamos nosotros en clientes. Simple Adblock Notice: Sólo te permite mostrar un mensaje, personalizar cuándo quieres mostrarlo y si quieres que puedan ver la web o no. Adblocking Detector: Te permite usar shortcodes que puedes usar para mostrar mensajes en vez del artículo, o como widgets para mostrar avisos. Hace un año que no se actualiza (en el momento que escribimos el artículo). Adback Solution to adblock. Muestra un mensaje en el pie para desactivar el adblocker y también te permite mostrar un anuncio ahí. Lleva poco tiempo

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

Etiqueta de “No Disponible” en la imagen de productos en Prestashop 1.7 plantilla Classic.

Prestashop 1.7 está cambiando mucho. Poco tienen que ver el 1.7 que salió (a todas luces casi una beta) con el 1.7.6 de ahora. Aún así, y por todos los cambios, nosotros estamos configurando en los clientes la plantilla Classic que viene con Prestashop (y es la que están renovando). En esta plantilla, en estos momentos, no se puede poner fácilmente un cartel de “No Disponible” en los productos que están fuera de stock (en la descripción si, pero no en la imagen). Parece que están haciendo avances en personalizar las “banderas” (flags) que podemos poner al listado de productos, pero todavía no se puede. Así que toca personalizar código y os enseñamos cómo (nosotros siempre creamos tema hijo, así que estas modificaciones son más fáciles). Cómo poner la etiqueta de No Disponible en los productos de Prestashop. Tenemos dos sitios en los que poner la personalización. Uno para que aparezca en el producto individual (al abrirlo) y otro en los listados (en las miniaturas de portada, categorías etc). Etiqueta de No Disponible dentro del producto individual. Para que salga la etiqueta “No Disponible” en la imagen del producto al abrir el producto, tenemos que editar el fichero product.tpl en la ruta /httpdocs/themes/nombredetutema/templates/catalog/product.tpl  Si tienes un tema hijo, crea esos directorios y copia el fichero del padre aquí. Así puedes editar sin problemas. Tenemos que añadir lo siguiente: {if $product->quantity == 0 AND $quantity == 0}    <li class=”product-flag rojo”>        {l s=”NOT AVAILABLE” d=”Shop.Theme.Catalog”}        {/if} Justo después de class=”product-flags” y antes de {foreach from=$product.flags item=flag} Con esto, comprobará la cantidad antes de poner el resto de “carteles” y, si es cero, pondrá la de sin stock. Etiqueta de No Disponible dentro de los listados de productos. Para que aparezca el cartel de No Disponible en la foto miniatura de los listados de productos como en la portada o en las categorías, tenemos que hacer la misma modificación en otro fichero. En este caso la ruta es : /httpdocs/themes/tutema/templates/catalog/_partials/miniatures/product.tpl La modificación de código es la misma que en el caso anterior y la posición la misma (antes que empiece a cargar el resto de carteles). Con esto ya tendréis el cartel que necesitabais en todas las vistas de productos (si falta alguna lo añadiremos aquí).

Diseño Web, Gestores de contenidos, Legalidad

Cookies que usa WooCommerce.

Seguimos con nuestra serie de artículos sobre cookies en los CMS o plugins más conocidos. En este caso toca WooCommerce, el plugin más usado en WordPress para crear tiendas online. Afortunadamente WooCommerce (al contrario que los servicios de Google) si que tiene información detallada sobre sus cookies que podéis ver aquí.Os los resumimos. Cookies de WooCommerce en el Front-End de la web (portada). Nota: no se almacena información personal en estas cookies. woocommerce_cart_hash : Coookie que ayuda a detectar y guardar cambios en el carrito. Sesión. woocommerce_items_in_cart: Coookie que ayuda a detectar y guardar cambios en el carrito. Sesión. woocommerce_recently_viewed : Para que funcione el widget de “visto recientemente”. Sesión. store_notice[notice id]: Para que los usuarios puedan descartar el aviso de tienda. Sesión. wp_woocommerce_session_: Añade un código único a cada cliente para poder identificar su carrito en la base de datos. Persistente. Duración: 2 días. Cookies de WooCommerce en el Back-End de la web (administración). Estas son las cookies que WooCommerce activa en la sección del back-end accesible por /wp-admin woocommerce_snooze_suggestions__[suggestion] : Permite descartar notificaciones del marketplace. Persistente. Duración: 2 días. woocommerce_dismissed_suggestions__[context]: Cuenta las veces que se han descartado las notificaciones del marketplace. Persistente. Duración: 1 mes. tk_ai: Guarda un ID aleatorio generado en el backend para estadísticas. Sesión.

Diseño Web, Gestores de contenidos, Legalidad

Cookies de los servicios de Google 2. Youtube

Seguimos con los artículos sobre las cookies que instalan los recursos más usados en las páginas web. En concreto los de Google. Hace unos días hablamos de Analytics, hoy toca Youtube. Recordamos cómo usa Google las cookies, y los tipos de cookies que usa. Destacamos también que, aunque todo este tema está todavía difuso, en desarrollo, con problemas obvios, y sin gente a la que consultar… quiero enlazar este documento sobre cookies de la Comisión Europea, que parece indicar que las cookies de vídeos incrustados están exentos de requerir consentimiento. Se supone que son básicos para la estructura de la web (cosa que parece lógica). Y cito: “Exemptions on Europa In line with Article 5(3) of the ePrivacy Directive, consent is not required for technical storage or access of the following cookies: cookies used for the sole purpose of carrying out the transmission of a communication cookies that are strictly necessary in order for the provider of an information society service explicitly required by the user to provide that service Examples of cookies that generally do NOT require consent: User input cookies, for the duration of a session Authentication cookies, for the duration of a session User-centric security cookies, used to detect authentication abuses and linked to the functionality explicitly requested by the user, for a limited persistent duration Multimedia content player session cookies, such as flash player cookies, for the duration of a session Load balancing session cookies and other technical cookies, for the duration of session User interface customisation cookies, for a browser session or a few hours, when additional information in a prominent location is provided (e.g. “uses cookies” written next to the customisation feature)“ Nota: Youtube no tiene una política propia de cookies y enlaza a la general de Google que hemos comentado más arriba. Cookies que usa Youtube. PREF: Cookies común en los servicios de Google al iniciar sesión. Guarda preferencias. Persistente. Duración 2 años. NID: Cookie de preferencias común en los servicios de Google. Un navegador envía esta cookie a través de solicitudes a los sitios web de Google. La cookie NID contiene un ID único que Google utiliza para recordar tus preferencias y otra información, como tu idioma preferido (por ejemplo, el español), el número de resultados de búsqueda que quieres que se muestren por página (por ejemplo, 10 o 20) y si quieres que el filtro SafeSearch de Google esté activado o desactivado. Persistente. Duración 6 meses. SID y HSID: Cookies comunes a los servicios de Google. Contienen registros encriptados y firmados de forma digital de la hora de inicio de sesión más reciente y del ID de cuenta de Google de un usuario. La combinación de estas dos cookies les permite bloquear muchos tipos de ataques como, por ejemplo, intentos de robo del contenido de los formularios que rellenas en páginas web. Persistente. Duración 2 años. SSID: Cookies comunes a los servicios de Google. Para guardar configuración y preferencias de usuario. Persistente. Duración 2 años. SIDCC: Cookies comunes a los servicios de Google. Para guardar configuración y preferencias de usuario. Persistente. Duración 3 meses. SAPISID: Cookies creada al usar videos incrustados de Youtube. Persistente. Duración 2 años. LOGIN_INFO: Cookies creada al usar videos incrustados de Youtube. Persistente. Duración 2 años. VISITOR_INFO1_LIVE: Cookies creada al usar videos incrustados de Youtube. Persistente. Duración 6 meses YSC: Cookies creada al usar videos incrustados de Youtube. Sesión. wide: Sesión. endscreen-metadata-editor-gh: Persistente. Duración. 7 días. _ga: relacionado con Analytics, pero a veces añadido por Youtube . Persistente. Duración 2 años. CONSENT: Cookie técnica de reproducción de contenido. Persistente. Duración 20 años.

e-Learning, Gestores de contenidos, Trucos

Error en los cron job de Moodle: undefined function current_language().

Hace unos días, tras actualizar Moodle y cambiar/actualizar las versiones de php del hosting, nos dimos cuenta que los cron job de ese Moodle no estaban funcionando. En el backend simplemente decía que “el script de tareas cron no se ha ejecutado en más de X horas”. No daba más información.Pero mirando los logs del servidor, o cuando intentabas ejecutar el script a mano, nos dimos cuenta que salía un error que, entre otras cosas, decía “undefined function current_language()“.Os decimos cómo solucionarlo. Solución a undefined function current_language() en los cron job de Moodle. Básicamente lo que ha pasado es que Moodle ha actualizado sus scripts. Recordad que antes era un ejecutable por web pero ahora es un script del servidor que hay que ejecutar desde el mismo. Y seguramente lo que ocurra es que estás ejecutando el script con una versión más antigua de php de la requerida por el miso.Los servidores tienen una versión de php “por defecto”. Y cuando ejecutas el script con php -q /rutademoodle/admin/cli/cron.php se ejecuta con la versión por defecto. Y no es compatible con el script. Tienes que ejecutarlo con la versión compatible más actualizada que tienes en tu servidor. Por ejemplo con: php72 -q /rutademoodle/admin/cli/cron.php o php73 -q /rutademoodle/admin/cli/cron.php Nota: la versión y comando a usar depende de tu servidor. Puedes poner php en el cli y darle al tabulador para ver las versiones soportadas. Y probar desde cli con alguna. Luego establecer la que funcione en el cron job.En algunos hosting (mal configurados) habrá que ejecutar el comando desde la carpeta de php72 ( la que sea).

Diseño Web, Gestores de contenidos, Trucos

Módulo gratuito para optimizar la base de datos de Prestashop 1.4 a 1.7

Prestashop, con el tiempo va recogiendo muchos datos. Sobre todo si tienes demasiados módulos de estadísticas activados. No deberías tener estos módulos activados, recomendamos que desactives los que no uses y saques estadísticas de, por ejemplo, Google Analytics. Pero aunque no los tuvieras, guarda datos de invitados, carritos abandonados y mucho más.Con el tiempo esto va llenando la base de datos, y una base de datos “pesada” es más lenta que una más “ligera” (optimizada). Para optimizar una base de datos puedes hacer muchas cosas. Por ejemplo a través de PhpMyAdmin. Pero una básica es borrar datos antiguos. Hace unos días hemos descubierto este módulo gratuito de MyPresta, empresa de la que ya hemos recomendado otros módulos, fiable y con mucho tiempo en el sector, que hace justo esto.El módulo Prestashop Database Optimization te muestra los registros que tienes de (desde el comienzo de la tienda): Carritos abandonados. Estadísticas de visitantes. Páginas vistas y tipos de páginas. Orígenes de visitas. Visitantes Y te deja elegir si borrar cada uno de ellos o no. Todo esto se puede hacer por SQL, pero siempre es mejor si está en un módulo.Nota: siempre haced copia de la base de datos antes. El módulo es compatible con todas las versiones de Prestashop (elige la descarga correcta), incluidos la 1.6 y 1.7. Y en varios idiomas, incluido el español.Fácil, bueno, bonito y gratis.

Diseño Web, Gestores de contenidos

Smart Slider 3. Excelente plugin de slider gratuito para WordPress.

Si tienes una plantilla que no tiene slider (ese módulo que hace que las fotos de la cabecera pasen una después de otra), o no te gusta el que tienes, te dejamos una buena alternativa gratuita. La hemos probado (Revolution Slider que viene con muchas plantillas ha cambiado y no nos gustaba) y estamos muy contentos con lo fácil que es de usar, y la gran cantidad de opciones que tiene.Sinceramente, parece un plugin de pago en modo gratuito. Slider gratuito para WordPress. Smart Slider 3 es el plugin del que os estábamos hablando. Lo puedes descargar fácilmente del repositorio de plugins de WordPress. Tienes demos, tutoriales y documentación. Es decir, todo lo necesario para aprender a usar este plugin. Con más de 500.000 descargas, y una puntuación de 5 estrellas es, sin duda, uno de los mejores plugins de este tipo.No hemos echado nada de menos en la versión gratuita, y tiene las opciones de imágenes, vídeos, responsive, efectos y mucho más de una versión Pro. Esperamos que os guste.

Scroll al inicio