🇺🇸

Cookies en WordPress y PHP_Session: Todo lo que necesitas saber

Ya sea que inicies sesiรณn en el back-end de su sitio de WordPress o cierres una ventana emergente molesta, se usan e interactรบan ookies todos los dรญas (incluso si no te das cuenta).


A estas alturas, probablemente hayas adivinado que cuando nos referimos a las cookies, nos referimos a las cookies que se utilizan para almacenar informaciรณn importante de los visitantes en un sitio web, no a las deliciosas chispas de chocolate. ๐Ÿช


Hoy vamos a sumergirnos en el tema, a veces confuso, de las cookies y las sesiones de PHP. Especรญficamente, todo lo que necesita saber sobre cรณmo los usa WordPress, junto con algunos problemas comunes que debe conocer (especialmente como desarrollador) cuando se trata de alojar su sitio web, cรณdigo personalizado o usar un complemento de terceros. En nuestra opiniรณn, este tema no se discute lo suficiente.

ยฟQuรฉ son las cookies?


Una cookie (tambiรฉn conocida como cookie web, cookie de seguimiento, cookie HTTP, cookie del navegador) es una pequeรฑa parte de los datos almacenados por el navegador de un usuario (Chrome, Firefox, etc.) cuando visita un sitio web. Contiene informaciรณn sobre la actividad de navegaciรณn y normalmente se utiliza para personalizar la experiencia del usuario o con fines de autenticaciรณn y verificaciรณn. Las cookies de sesiรณn y las cookies persistentes son tipos comunes de cookies.

Tipos de cookies

Hay dos tipos diferentes de cookies que se establecen comรบnmente: cookies de sesiรณn y cookies persistentes.


Cookies de sesiรณn


Las cookies de sesiรณn, tambiรฉn conocidas como cookies transitorias, son temporales. No tienen una fecha de vencimiento adjunta y solo almacenan informaciรณn sobre lo que hace el usuario durante una sola sesiรณn. Una sesiรณn es simplemente un valor รบnico / generado aleatoriamente que se asigna cuando alguien visita un sitio web. Las cookies de sesiรณn se almacenan temporalmente en la memoria y se eliminan automรกticamente cuando el navegador se cierra o la sesiรณn finaliza.

Cookies persistentes


Las cookies persistentes, como habrรกs adivinado, son aquellas que contienen una fecha de vencimiento. Estos duran mucho mรกs y se almacenan en el disco hasta que caducan o el usuario los borra manualmente. A veces, tambiรฉn se las denomina ยซcookies de seguimientoยป, ya que son los tipos de cookies que utilizan Google Analytics, AdRoll, Stripe, etc.


Cรณmo usa WordPress Core las cookies


Cuando nos referimos al nรบcleo de WordPress, simplemente nos referimos a los archivos que componen el proyecto de cรณdigo abierto, antes de instalar complementos o temas de terceros. Es WordPress en su estado ยซoriginalยป.

Ya conociendo los conceptos bรกsicos de quรฉ es una cookie y los diferentes tipos, veamos a por quรฉ y cรณmo las usa el nรบcleo de WordPress para hacer que toda esa magia suceda detrรกs de escena.

El nรบcleo de WordPress utiliza cookies para dos propรณsitos diferentes:

1. Cookies de inicio de sesiรณn

Las cookies de inicio de sesiรณn contienen detalles de autenticaciรณn y se utilizan cuando un usuario inicia sesiรณn en el panel de administraciรณn de WordPress. Segรบn el Codex de WordPress, se establecen un par de cookies de sesiรณn diferentes:

Al iniciar sesiรณn, WordPress usa la cookie wordpress_ [hash] para almacenar los detalles de autenticaciรณn (limitado al รกrea / wp-admin /).
Despuรฉs de iniciar sesiรณn, WordPress establece la cookie wordpress_logged_in_ [hash]. Esto indica cuรกndo iniciรณ sesiรณn y quiรฉn es usted.

Al acceder al back-end del sitio de WordPress, se realiza una verificaciรณn para ver si las dos cookies anteriores existen y no han expirado. Esto es lo que le permite omitir la pantalla wp-login.php. ๐Ÿ˜‰

WordPress tambiรฉn establece wp-settings- {time} – [UID] cookies. El ID es su ID de usuario de la tabla de la base de datos de usuarios de WordPress. Esto almacena la configuraciรณn del panel de control personal y la interfaz de administraciรณn.

2. Cookies de comentarios

De forma predeterminada, hay cookies configuradas cuando alguien comenta en una publicaciรณn de blog (con una caducidad de 347 dรญas). Esto es asรญ, si vuelven mรกs tarde, no tienen que volver a completar toda la informaciรณn. Se almacenan las siguientes tres cookies:

comment_author_ [hash]
comment_author_email_ [hash]
comment_author_url_ [hash]

Sin embargo, con los cambios recientes en la polรญtica de privacidad debido a GDPR, el nรบcleo de WordPress ha introducido nuevas herramientas para asegurarse de que permita a los usuarios optar por la configuraciรณn de estas cookies. Esta configuraciรณn, si aรบn no estรก configurada, se puede habilitar en ยซConfiguraciรณn โ†’ Discusiรณnยป en su panel de administraciรณn de WordPress. Seleccione la opciรณn para ยซMostrar la casilla de verificaciรณn de habilitaciรณn de cookies de comentariosยป. El popular complemento Akismet tambiรฉn le permite mostrar un aviso de privacidad.

Cรณmo utilizan las cookies los complementos y temas de WordPress de terceros

Al igual que WordPress utiliza cookies para determinadas funciones, los complementos y temas de terceros que instala tambiรฉn configuran cookies. La mayorรญa de ellos usa una combinaciรณn de cookies del navegador y filas de la base de datos almacenadas en la tabla wp_options o en su propia tabla personalizada.

Estos son solo algunos de los muchos ejemplos de para quรฉ se utilizan las cookies:


-Si tiene un cuadro emergente en su sitio de WordPress y un visitante lo cierra, esto normalmente establecerรก una cookie para que no vuelva a aparecer.
-Artรญculos agregados a un carrito de compras en su sitio de comercio electrรณnico. Se almacena una cookie para que el carrito de la compra conserve sus productos mientras continรบa navegando por el sitio.
-Las funciones de GeoIP pueden almacenar la direcciรณn IP y las coordenadas de latitud / longitud del visitante que navega por el sitio. Por lo general, esto se usa para mostrar contenido especรญfico a una regiรณn determinada o quizรกs incluso redirigir al usuario a un subsitio diferente.
-Seguimiento de la actividad a travรฉs de los clics con un acortador de enlaces como el complemento PrettyLinks.
-El complemento de boletรญn informativo puede establecer una cookie para los usuarios si ya se han suscrito, esto da la capacidad de ocultar el cuadro del boletรญn por completo.

Bรกsicamente, cualquier acciรณn u opciรณn de participaciรณn en un sitio de WordPress, por lo general, implicarรก configurar una cookie en el navegador detrรกs de escena. El objetivo de esto es, por supuesto, intentar ayudar a mejorar la experiencia del navegador o proporcionar funcionalidad adicional a travรฉs de la verificaciรณn.

Cookies de WooCommerce

Los complementos de comercio electrรณnico como WooCommerce generalmente tienen sus propias cookies adicionales que configuran para que los compradores puedan agregar cosas fรกcilmente a su carrito, almacenarlas para mรกs tarde cuando realicen la compra e iniciar y cerrar sesiรณn en su cuenta.

Para realizar un seguimiento de los datos del carrito, WooCommerce establece las siguientes tres cookies (no se almacena informaciรณn personal en las cookies):

woocommerce_cart_hash
woocommerce_items_in_cart
wp_woocommerce_session_

Las dos primeras cookies contienen informaciรณn sobre el carrito y simplemente ayudan a WooCommerce a saber cuรกndo cambian los datos del carrito. La tercera cookie wp_woocommerce_session_ contiene un cรณdigo รบnico para cada cliente que corresponde a una entrada en la tabla wp_woocommerce_sessions personalizada de la base de datos.

Cookies de descargas digitales fรกciles


Easy Digital Downloads usa de forma predeterminada WP_Session, que es una combinaciรณn de cookies del navegador y filas de la base de datos almacenadas en la tabla wp_options. A continuaciรณn se muestra la cookie que establece:

edd_items_in_cart

Cookies y almacenamiento en cachรฉ de WordPress

Cuando se trata de la cachรฉ de WordPress, aquรญ es donde las cosas se complican. El almacenamiento en cachรฉ es esencialmente el proceso de almacenar recursos de una solicitud y reutilizar esos recursos para solicitudes posteriores. Bรกsicamente, reduce la cantidad de trabajo necesario para generar una vista de pรกgina. Si bien esto es excelente para el rendimiento, causa un problema cuando se trata de cookies.

ยฟPor quรฉ? Porque las cookies estรกn ahรญ para realizar una determinada acciรณn, como mantener el carrito de la compra lleno mientras navega por un sitio de WooCommerce. Sin embargo, si una pรกgina se entrega desde la cachรฉ, ni PHP ni la base de datos hacen nada, el servidor simplemente entrega una copia estรกtica de la pรกgina.

ยฟEntonces que puedes hacer?

1. Utilice JavaScript


La primera opciรณn serรญa utilizar JavaScript y actualizar el contenido de una pรกgina de forma dinรกmica. Bรกsicamente, tiene marcadores de posiciรณn HTML y usa JavaScript para obtener informaciรณn a travรฉs de una API o llamada ajax.

Un ejemplo serรญa cargar una lista de publicaciones en la barra lateral de WordPress usando JavaScript para tomar una lista de publicaciones sobre el wp-api y luego representarlas en la barra lateral. En ese escenario, podrรญa actualizar la lista de publicaciones sin borrar la pรกgina del cachรฉ, ya que los datos se generan dinรกmicamente.

Sin embargo, esto no es ideal, siempre es mejor almacenar en cachรฉ si es posible en tรฉrminos de rendimiento. Pero si debe hacer que parte del contenido permanezca dinรกmico mientras que la pรกgina en sรญ puede permanecer estรกtica (servida desde la cachรฉ), esa es una forma de hacerlo: use JavaScript para desplegar el contenido de esa parte de la pรกgina dinรกmicamente a travรฉs de una API / ajax llamada. Sin embargo, a menos que pueda contratar a un desarrollador de WordPress para crear una soluciรณn de JavaScript personalizada o una extensiรณn de un complemento, esta opciรณn no suele ser prรกctica.


2. Utilice las llamadas de Admin-Ajax


Admin-ajax.php no se puede almacenar en cachรฉ, por lo tanto, puede usar las llamadas admin-ajax. Un buen ejemplo de esto es el complemento No Cache AJAX Widgets. Realiza llamadas de administrador ajax y, por lo tanto, no tiene que preocuparse por entrar en conflicto con soluciones de almacenamiento en cachรฉ a nivel de servidor o de terceros.

Sin embargo, al igual que con JavaScript, seguir esta ruta generalmente no es factible para el usuario promedio. Tambiรฉn puede provocar otros problemas de rendimiento, como un alto uso de admin-ajax y muchas solicitudes no almacenadas en cachรฉ.


3. Excluir pรกginas de la cachรฉ (cuando la cookie estรก presente)


Varos pluguins permiten esta configuraciรณn.

A menos que pueda seguir la ruta de JavaScript o admin-ajax, excluir las pรกginas del almacenamiento en cachรฉ cuando una cookie especรญfica estรก presente es la mejor manera de hacerlo.

Ciertas pรกginas de WooCommerce como carrito, mi cuenta y pago, se excluyen automรกticamente del almacenamiento en cachรฉ. Existe una regla a nivel de servidor para que los usuarios omitan automรกticamente el cachรฉ cuando se detecta la cookie woocommerce_items_in_cart o la cookie edd_items_in_cart para garantizar un proceso de pago sin problemas y sincronizado.

Tambiรฉn escuchamos las cookies de inicio de sesiรณn asociadas y configuramos el cachรฉ para omitir cuando detectamos que alguien ha iniciado sesiรณn en WordPress. El evita que el tablero de back-end se almacene en cachรฉ accidentalmente.

De forma predeterminada, no excluimos la cookie wp_woocommerce_session_ del almacenamiento en cachรฉ. La mayorรญa de los sitios de WooCommerce en nuestra experiencia no tienen ningรบn problema. Esto tambiรฉn mejora el rendimiento al aumentar la proporciรณn de HIT de su cachรฉ, mientras utiliza menos trabajadores PHP.

Sin embargo, debido a que hay muchas configuraciones diferentes de temas y complementos de WordPress, podemos excluir la cookie wp_woocommerce_session_ de la cachรฉ si es necesario. Comunรญquese con nuestro equipo de soporte. El resultado es que una vez que un usuario agrega un producto a su carrito de compras, todas las solicitudes posteriores no se atenderรกn desde la cachรฉ, lo que aumentarรก el uso de trabajadores PHP.




Publicado

en

Etiquetas:

Comentarios

Una respuesta a «Cookies en WordPress y PHP_Session: Todo lo que necesitas saber»

  1. Avatar de ger

    Las cookies fueron inventadas por primera vez en 1994 por un programador llamado Lou Montulli. sin รฉl, la web serรญa un lugar muy diferente.

Deja una respuesta

Tu direcciรณn de correo electrรณnico no serรก publicada. Los campos obligatorios estรกn marcados con *

ยฟQuieres avanzar con tu proyecto?