Optimización de velocidad web: 6 consejos que no debes olvidar

La optimización de la velocidad del sitio web es crucial para crear una experiencia de usuario positiva. Una experiencia de usuario positiva es hablar de marketing para usuarios felices. Los usuarios felices visitan tu sitio y compran cosas. Los usuarios descontentos se van porque están cansados de esperar a que cargue tu sitio web. Los especialistas en marketing lo llaman “tasa de rebote”, pero en realidad es solo usuarios descontentos.

¿Por qué es tan importante la velocidad del sitio?

En los primeros días de la web, nuestro mantra era “El contenido es el rey”. En estos días, si el contenido realmente es el rey, la reina es la velocidad. Van de la mano. El mejor contenido o incluso producto o servicio del mundo no se notará en un sitio web lento.

Experiencia de usuario (Usabilidad)

Como dijimos anteriormente, un sitio web lento puede llevar a una mala experiencia de usuario. Esto puede hacer que los visitantes abandonen el sitio y potencialmente llevar a una alta tasa de rebote. Un sitio web rápido, por otro lado, conduce a una mejor experiencia de usuario, lo que aumenta la participación del usuario. Cuando las personas no tienen que esperar a que la página que quieren leer se cargue lentamente, es más probable que se queden a leerla. Si esa página les está vendiendo tus widgets, entonces es más probable que los compren porque leen tu página.

Factor de clasificación (Visibilidad)

Los algoritmos de los motores de búsqueda han tenido en cuenta la velocidad del sitio web desde hace algunos años. En igualdad de condiciones, si tienes dos sitios web que tienen contenido igualmente bueno sobre un tema dado, el más rápido tendrá una clasificación más alta. Además, un sitio web más rápido puede llevar a una mejor experiencia de usuario, lo que también puede tener un impacto positivo en el SEO.

Todos los motores de búsqueda han anunciado que ahora usan la velocidad del sitio web como un factor de clasificación para sus resultados de búsqueda móvil. Esto significa que un sitio web que no está optimizado para la velocidad puede tener una clasificación más baja en los resultados de búsqueda móvil que un sitio web más rápido, lo que podría llevar a una disminución tanto en el tráfico como en los ingresos.

La optimización de la velocidad del sitio web es fundamental para tu negocio, si tus usuarios son principalmente móviles.

Conversión (para sitios eCommerce)

Cuando un sitio web es lento, los usuarios pueden frustrarse y abandonar sus carritos de compra, lo que lleva a la pérdida de ingresos para tu negocio. Un sitio web rápido, por otro lado, puede proporcionar una experiencia de compra perfecta, lo que aumentará las conversiones y, en última instancia, generará más ingresos.

Amazon es famoso por calcular el precio de un segundo de tiempo de carga. Cuanto más lento carga su sitio, menos venden y saben exactamente cuánto. Es posible que no puedas calcular tu pérdida de esa manera, pero verás que cuando optimizas la velocidad de tu sitio web, tus ventas aumentarán.

En resumen, si no estás obteniendo las vistas de página que crees que deberías, tal vez sea el momento de optimizar la velocidad de tu sitio web. Optimizar la velocidad de tu sitio web puede llevar a una mejor experiencia de usuario, mejor posicionamiento en los motores de búsqueda y mayores ingresos. Aquí están nuestros mejores consejos y trucos de optimización de sitios web:

Cómo comprobar el rendimiento de tu sitio web

Hay muchas herramientas buenas en la web para ayudarte a calcular la velocidad de tu sitio web para que puedas saber si tu sitio se está ejecutando rápido o no.

Plugin SiteGround Optimizer y Google PageSpeed

Una de las mejores herramientas para medir las métricas de velocidad del sitio web es Google PageSpeed. Hay varias herramientas que puedes usar para aumentar la puntuación de PageSpeed de tu sitio, mi favorito es el plugin SiteGround Optimizer. Lo tengo instalado en casi todos mis sitios de WordPress y al usarlo, mi puntuación de Google PageSpeed está a solo un par de clics de distancia. Si ya tienes instalado SiteGround Optimizer, simplemente haz clic en el menú y selecciona “Prueba de velocidad”. Si todavía no tienes SiteGround Optimizer instalado, es gratis y funciona incluso si no estás alojado en SiteGround.

Como beneficio adicional, si tu puntuación no es tan alta como deseas, SiteGround Optimizer te ayudará a aumentarla. Después de implementar las sugerencias que SiteGround Optimizer tenía para uno de mis sitios con gráficos más pesados, esta es mi puntuación de PageSpeed de Google.

Sí, no está nada mal.

webpagetest.org

La otra herramienta que he usado durante los últimos 10 años es webpagetest.org. Mientras que Google PageSpeed lo reduce todo a tres números fáciles de entender, si quieres profundizar en los detalles, necesitas una herramienta como webpagetest.org. Da a la mayoría de propietarios de sitios web más información que se puede digerir fácilmente, pero si dedicas tiempo a aprender lo que significan los números, puede darte información detallada sobre por qué tu sitio web carga de la manera en que lo hace. webpagetest.org también te permite configurar cosas como escritorio o dispositivo móvil, desde dónde estás probando, etc.

6 consejos indiscutibles de optimización de sitios web

Ahora que hemos hablado de por qué la optimización de la velocidad del sitio web es tan importante, hablemos de seis cosas que tú, como propietario sin mucho conocimiento técnico, puedes hacer para asegurarte de que estás funcionando a la velocidad óptima.

Logra tiempos de carga ultrarrápidos eligiendo el host correcto

Elegir el servidor web correcto es uno de los factores más importantes en la optimización de la velocidad del sitio web. También es la primera decisión que debes tomar. Honestamente, si tu host es lento, ninguno de estos consejos de optimización va a marcar mucha diferencia.

Elige un tema para el sitio web que no te arrastre

Si tu sitio usa WordPress, el tema que elijas para tu sitio web de WordPress tendrá un impacto significativo en su velocidad. Un tema bien diseñado y optimizado puede ayudar a mejorar la velocidad y el rendimiento del sitio web, mientras que un tema mal diseñado puede tener el efecto contrario.

Todos los temas soportan perder un poco de peso, incluso los mejores. Por lo tanto, para ayudar a que tu sitio alcance su máxima velocidad, asegúrate de tener SiteGround Optimizer instalado y configurado. Como se mencionó anteriormente, realmente puede marcar la diferencia en la velocidad general de tu sitio.

Al elegir un tema para tu sitio web, es importante tener en cuenta aspectos como la calidad del código, el tamaño de los gráficos y el soporte.

Calidad del código

Un tema bien codificado será liviano, usará recursos mínimos y estará optimizado para la velocidad. Es importante elegir un tema que esté codificado según los últimos estándares web, estándares de WordPress y que haya sido revisado por otros usuarios.

Tamaño de los gráficos 

Todos los temas te permitirán usar tus gráficos, sin embargo, algunos funcionan con plugins para optimizar el tamaño de los gráficos, mientras que otros no. Si eliges un tema para tu sitio web que no optimiza automáticamente el tamaño de los gráficos para la velocidad, no todo está perdido, puedes instalar el plugin SiteGround Optimizer. No sólo optimizará todas tus imágenes existentes, sino que optimizará automáticamente cualquier gráfico nuevo a medida que lo subas.

Soporte y actualizaciones

Un tema que se actualiza regularmente y cuenta con soporte del desarrollador puede ayudar a garantizar que tu sitio web se mantenga optimizado. A medida que cambian las tecnologías, debes asegurarte de que tu tema cambie con ellas para garantizar que siempre sea lo más rápido posible.

Si tienes un sitio web de WordPress, alojado con SiteGround, te beneficiarás de su función interna de actualización automática de WordPress, que crea copias de seguridad y actualiza tu sitio automáticamente cada vez que hay una nueva versión de WordPress, junto con todos tus plugins, si así lo deseas. Eso te ayuda a evitar vulnerabilidades relacionadas con la aplicación anterior, y estás actualizado con las últimas correcciones de seguridad.

Elegir el tema correcto es solo una parte de la optimización del sitio web. Aún así, necesitarás hacer cosas como minificar el código y usar el almacenamiento en caché para ayudar a mejorar la velocidad del sitio web.

El tema que elijas para tu sitio web de WordPress puede tener un impacto significativo en la optimización del sitio web. Al considerar los factores mencionados anteriormente, puedes elegir un tema que esté bien diseñado, optimizado para la velocidad y proporcionará una mejor experiencia de usuario a tus visitantes.

Reduce el número de plugins innecesarios

En el pasado, he escrito sobre eliminar los plugins que no se utilizan o están desactivados. Una de las principales razones para hacer esto es la velocidad. Cuanto menos código haya, más rápido se ejecutará tu sitio. Incluso los plugins deshabilitados obligan a WordPress a decidir entre ellos en cada carga de la página. Si los eliminas, WordPress no necesita preocuparse por ellos.

Una vez al año (o con más frecuencia, si es posible) debes hacer una auditoría completa de los plugins instalados en tu sitio. Desactiva y elimina los que no se estén utilizando activamente. Si los necesitas de nuevo más tarde, vuelve a instalarlos.

Elimina redirecciones innecesarias

Las redirecciones afectarán la optimización de la velocidad del sitio web.

Añaden un paso adicional al proceso de carga de la página, lo que puede aumentar la cantidad de tiempo que tarda una página en cargarse. Esto afectará negativamente la experiencia del usuario y la velocidad del sitio web.

Los motores de búsqueda siguen las redirecciones para encontrar la URL final de una página. Cuando los motores de búsqueda rastrean tu sitio web, siguen cada redirección, lo que puede ralentizar el proceso de rastreo y afectar el SEO de tu sitio web. Además, las redirecciones pueden hacer que los motores de búsqueda vean la página de redirección y la página final como dos páginas diferentes, lo que puede llevar a problemas de contenido duplicado y afectar al SEO del sitio web.

Los redireccionamientos pueden ser confusos para los usuarios y llevarán a una mala experiencia de usuario. Si un usuario hace clic en un enlace que lo redirige a una página diferente de la que esperaba, puede frustrarse y abandonar el sitio web.

Las redirecciones pueden ser útiles en ciertas situaciones, como cuando una página web se ha movido o ya no está disponible, o cuando deseas redirigir el tráfico de un dominio no preferido a un dominio preferido. En estos casos, es importante usar el tipo correcto de redirecciones y minimizar el número de redirecciones utilizadas para mantener la velocidad del sitio web y el SEO.

Para evitar el impacto negativo de las redirecciones en la optimización del sitio web, es importante usarlas con moderación y usar el tipo correcto de redirección. Además, implementar una estrategia de redirección adecuada y realizar un seguimiento de las redirecciones que están implementadas puede ayudar a minimizar el impacto negativo en la optimización del sitio web.

Haz del almacenamiento en caché tu camino hacia tiempos de carga más rápidos

El almacenamiento en caché puede tener un impacto positivo en la optimización del sitio web al mejorar la velocidad y el rendimiento de tu sitio web. El almacenamiento en caché es el proceso de almacenar una copia de una página web o sus recursos, como imágenes o scripts. Cuando un usuario visita un sitio web, su navegador puede cargar la versión en caché de la página, lo que puede reducir la cantidad de tiempo que tarda la página en cargar.

El almacenamiento en caché se puede implementar en diferentes niveles, como el almacenamiento en caché del navegador y el almacenamiento en caché del lado del servidor. Cada tipo de almacenamiento en caché puede tener un impacto positivo en la optimización del sitio web.

Almacenamiento en caché del navegador

Cuando un usuario visita un sitio web, su navegador almacena una copia de la página web y sus recursos en su dispositivo. Cuando el usuario visita el sitio web de nuevo, su navegador puede cargar la versión en caché de la página, lo que reducirá drásticamente el tiempo de carga.

Si estás utilizando el plugin SiteGround Optimizer para WordPress, disponible para su descarga gratuita en cualquier plataforma de hosting, puedes usar la opción de almacenamiento en caché del navegador que proporciona. Esta función almacena el contenido estático de tu sitio web en los navegadores de los usuarios y almacena en caché por más tiempo. Si eres un cliente de SiteGround, esta opción estará habilitada por defecto en el plugin.

Almacenamiento en caché del lado del servidor

El almacenamiento en caché del lado del servidor puede reducir la cantidad de tiempo que tarda una página en cargar al almacenar una copia de la página en el servidor. Cuando un usuario visita el sitio web, el servidor puede entregar la versión en caché en lugar de tener que regenerarla cada vez. Esto reducirá el tiempo de carga de la página.

Si estás alojado con SiteGround, ya estás aprovechando su potente tecnología de almacenamiento en caché: SuperCacher que incluye tres niveles de almacenamiento en caché del lado del servidor:

  • Entrega directa NGINX
    Almacena en caché contenido estático como imágenes, archivos CSS, JavaScript
  • Caché dinámica
    La caché dinámica almacena en caché el contenido dinámico y lo almacena en la memoria RAM del servidor.
  • Memcached
    Un mecanismo de almacenamiento en caché de objetos diseñado para mejorar la conexión entre tu aplicación y tu base de datos

Cuando estos tres están en acción, ¡mejoran el rendimiento de tu sitio web hasta 5 veces!

Acelera tu sitio con CDN

Una buena CDN, o Content Delivery Network, es el siguiente paso crítico para optimizar la velocidad de tu sitio web. Una CDN es un grupo de servidores en diferentes ubicaciones en todo el mundo que trabajan juntos para entregar más rápido tu sitio web a los usuarios al entregar archivos grandes desde servidores cerca de tus usuarios.

Cuando un usuario visita tu sitio web, la CDN lo dirigirá al servidor más cercano a él. Esto puede ayudar a reducir la distancia entre el usuario y el servidor, lo que mejorará la velocidad del sitio web.

Las CDN también ayudan a reducir el número de solicitudes realizadas a tu servidor, lo que puede ayudar a mejorar la velocidad del sitio web. Esto se debe a que las CDN pueden almacenar una copia de los archivos de tu sitio web, como imágenes y videos, y entregarlos a los usuarios sin tener que solicitarlos desde tu servidor.

Cuanto menos trabajo tenga que hacer tu servidor, más rápido hará el trabajo que solo él puede hacer.

El uso de una CDN ayudará a mejorar la velocidad del sitio web y eso creará una mejor experiencia de usuario para tus visitantes. Reubicar tu servidor es una gran opción a considerar si deseas optimizar tu sitio web y llegar a una audiencia global.

Puedes usar una CDN de terceros, lo que llevará algo de tiempo y conocimientos adicionales para configurarlo. Alternativamente, puedes pedirle a tu host que te ayude a seleccionar uno y luego pagarles para configurarlo. Una mejor opción es usar la CDN nativa de SiteGround. SiteGround tiene una CDN que se configura con un clic que ya está integrada y configurada para tu sitio. Ofrecen las funciones esenciales de forma gratuita para todos los clientes que alojan sitios web en su plataforma. Para aquellos que necesitan más, ofrecen una versión premium para sitios web con mucho tráfico internacional.

Conclusión

Se han escrito libros enteros sobre el tema de la optimización de la velocidad de un sitio web. En este artículo, hemos echado un vistazo a por qué es importante, discutimos algunas herramientas que puedes usar para ver qué tan rápido es tu sitio ahora, y luego seis consejos que puedes llevar a cabo sin la ayuda de un programador para acelerar las cosas.

Es importante que antes de empezar a retocar tu sitio web para optimizarlo, compruebes su velocidad primero. Luego, haz una cosa a la vez y después de cada cambio que hagas, vuelve a probar. Esta es la única forma de saber con certeza que estás mejorando las cosas y no empeorando.

Versión PHP 8.2 ya estable y disponible en los servidores de SiteGround

UPDATE

Nos alegra anunciar que PHP 8.2 ya se considera estable y se ha implementado en todos los servidores de SiteGround. Una vez más, estamos entre las primeras empresas en tenerlo ya disponible en nuestra plataforma de hosting. Lee este artículo de blog para obtener más información sobre las nuevas características de la última versión de PHP.

¡Ha llegado la época del año en que todos los buenos desarrolladores de PHP han estado esperando! Santa (ElePHPant) ha llegado temprano como de costumbre en SiteGround y ha traído muchas cosas nuevas que facilitan a los desarrolladores trabajar en sus proyectos.

Ahora mismo, PHP 8.2 se encuentra en estado Release Candidate 1 (RC1). Estamos en las últimas etapas de desarrollo y corrección de errores para esta versión y solo unos pocos proveedores de hostings como SiteGround están poniendo ahora el RC a disposición de sus clientes para que lo prueben. De hecho, la nueva versión de PHP aún no está en producción, pero es posible usar el RC para probarla.

Así que echemos un vistazo a algunas de las próximas noticias.

Nuevas funciones

Primero, echemos un vistazo a algunas de las nuevas características que serán de interés para los desarrolladores de PHP. Ésta no es una lista exhaustiva de las novedades, más bien es una lista corta de las cosas que creo que interesarán a la mayoría de los desarrolladores de PHP.

Clases readonly 

En PHP 8.1 conseguimos propiedades readonly para las clases. Esto fue un gran salto hacia adelante para muchos proyectos. Sin embargo, todavía había un pequeño agujero que necesitaba ser tapado: las clases. Sí, puedes hacer que cada propiedad escrita en una clase sea de solo lectura y listo, pero, sinceramente, esto requiere mucho trabajo y muchos desarrolladores como yo somos bastante vagos. Con PHP 8.2, podemos marcar una clase completa como readonly.

readonly class MyClass {
    public int $myProp;
    public string $myOtherProp;
    public __construct(string $myOtherProp, int $myProp) 
 {
    $this->myProp = $myProp;
    $this->myOtherProp = $myOtherProp;
  }
}

Aquí tenemos una clase definida como readonly. Tenemos 2 propiedades de la clase y ambas son inherentemente solo lectura. Las reglas de solo lectura de PHP 8.1 aún se aplican y solo puedes inicializar la propiedad una vez, después de lo cual queda configurada.

$myObj = new MyClass(‘Cal was here’,42);

Sin embargo, una vez inicializadas, ahora son inmutables.

$myObj->myProp = ‘Cal is no longer here’;
// Fatal Error: Uncaught Error: Cannot modify readonly property MyClass::myProp

Otro comportamiento de la clase readonly es que las propiedades no se pueden agregar dinámicamente a la clase. A continuación, hablamos sobre la deprecación de las propiedades dinámicas y cómo esto es algo bueno. También hay una anotación que te permite ignorar esto. Sin embargo, si marcas una clase como readonly, no se puede sobrescribir.

Constantes en Traits

Los traits (rasgos) han estado con nosotros desde PHP 5.4. Han sido durante mucho tiempo la respuesta a la “composición sobre la herencia”. Ahora los traits obtienen una característica nueva e interesante, la capacidad de definir constantes en un trait.

trait MyTrait {
    private const MY_CONSTANT = 42;
}

Ahora, si tu trait usa una constante, puedes definirlo en el trait y no tener que acordarte de definirlo en cada clase que usa el trait.

trait MyTrait {
private const MY_CONSTANT = 42;
public function meaningOfLife() : int
 {
   return self::MY_CONSTANT;
 }
}
class MyClass {
   use MyTrait;
}
$myObj = new MyClass();
echo $myObj->meaningOfLife(); // prints 42

Como todo en la vida, hay algunas reglas.

Los traits pueden definir constantes de clase. Si una clase usa ese trait, también puede definir la misma constante de clase siempre que tanto la visibilidad como el valor sean exactamente los mismos. Por lo tanto, el ejemplo anterior funciona, pero el siguiente desencadenará un error fatal.

trait MyTrait {
private const MY_CONSTANT = 42;
public function meaningOfLife() : int
 {
   return self::MY_CONSTANT;
 }
}
class MyClass {
    use MyTrait;
    public const MY_CONSTANT = 42;
}

Aún así, incluso con las reglas que debes seguir, éste es un verdadero paso hacia adelante. Los traits son una excelente manera de compartir código entre clases y ahora son aún más autónomos.

Extensión aleatoria 5.x + mejora de extensión aleatoria

El generador de números aleatorios de PHP original todavía está en el código base. Nunca ha sido genial y es absolutamente inútil para usos criptográficos. En PHP 7, conseguimos un par de funciones nuevas, random_int() y random_bytes(). Recorrieron un largo camino para solucionar los problemas, pero bajo el capó, son solo interfaces para el generador de números aleatorios del sistema operativo nativo. En ese momento, ésta era una buena solución, pero el problema es que es lento.

Ahora con PHP 8.2 no solo conseguimos un generador de números aleatorios completamente nuevo, sino que está integrado en PHP, y obtenemos una interfaz extensible orientada a objetos.

Éstos son en realidad dos RFC diferentes que estoy agrupando. Después de votar y aprobar la primera “Extensión aleatoria 5.x”, resultó que había algunos problemas con ella. Se preparó y votó una segunda RFC, “Mejora de extensión aleatoria”, para abordar los problemas encontrados con la primera.

El resultado final es un nuevo conjunto de clases que nos brinda mejores números pseudoaleatorios en PHP.

Si bien estamos obteniendo varios generadores de números aleatorios (RNG) nuevos, para simplificar, hablaré sobre la nueva clase Random\Engine\Secure.

$engine = new Random\Engine\Secure();
$randomString = $engine->generate(); // a random binary string
echo bin2hex($randomString); 

Ahora, si queremos hacer algo como ordenar una matriz, necesitamos uno de los nuevos objetos Randomizer.

$randomizer = new Random\Randomizer($engine);
$items = range(1, 10);
$randomizedItems = $randomizer->shuffleArray($items);
print_r($randomizedItems);

En el ejemplo anterior, usamos el motor Secure. El motor Secure no acepta una semilla (seed) y siempre generará una cadena que no se puede reproducir. Los motores que te permiten especificar una semilla producirán los mismos resultados cada vez que uses la misma semilla.

La clase Randomizer también proporciona muchos otros métodos que son realmente lo que buscan los desarrolladores de PHP.

  • getInt() : int
    This replaces the old mt_rand() function
  • getInt(int $min, int $max) : int
    This replaces both the old mt_rand() function as well as the newer random_int() function.
  • getBytes(int length): string
    This replaces the random_bytes() function 
  • shuffleArray(array $array): array
    This replaces the old shuffle_array() function
  • shuffleString(string $string): string
    This replaces the old str_shuffle() function

Entre otras cosas, dado que esto reúne todas las características de aleatorización en un área del motor, agiliza el código principal y facilitará las mejoras adicionales.

Gracias por todo y seguimos adelante

Todas las cosas buenas llegan a su fin y eso incluye algunas características y comandos de PHP. Echemos un vistazo a un par de deprecaciones importantes que, si no tienes cuidado, terminarán causándote problemas.

Propiedades dinámicas obsoletas 

A primera vista, parece que esto va a ser un gran problema. Desde que PHP obtuvo el modelo de objeto actual, ha sido posible agregar propiedades a un objeto en cualquier momento. Ahora alguien piensa que este comportamiento es algo malo. (PISTA: Esto siempre ha sido algo malo, pero muchos desarrolladores se han aprovechado de ello).

class MyClass {
  public string $name;
}
$myObj = new MyClass():
$myObj->nmae = ‘Cal Evans’;

Ten en cuenta que he escrito mal el nombre (name) de la propiedad. Sé que probablemente soy el único desarrollador que ha escrito mal el nombre de una propiedad, pero en PHP cuando sucede, obtengo una nueva propiedad en el objeto y la propiedad original permanece sin cambios. Esa no era mi intención.

Comenzando con PHP 8.2, esto emitirá un DEPRECATED WARNING (ADVERTENCIA DE DEPRECACIÓN).

Hay 3 excepciones a esta nueva regla. 

  1. Cualquier instancia de StdClass aún podrá aceptar propiedades dinámicas.
  2. Cualquier clase con métodos __get() y __set() todavía aceptará cualquier propiedad.
  3. Cualquier clase que tenga la anotación del compilador #[AllowDynamicProperties]y cualquier subclase permitirá establecer propiedades dinámicas.

Entonces, aunque no todo está perdido para aquellos que dependen de esta “característica” de PHP, si todavía vas a usarla, tendrás que hacer algunos cambios en tu código.

La buena noticia es que todo lo que sucederá en este momento es que la advertencia emitida aparecerá en los archivos de registro. Por lo tanto, si bien puede llenar tus archivos de registro recordándote que necesitas arreglar esto, PHP 8.2 no romperá tu código. Eso sucederá en PHP 9.0 cuando la advertencia, y la capacidad de agregar propiedades dinámicas automáticamente, se elimine de PHP.

(Parcial) Deprecación ${} string interpolation

Esta es otra deprecación que al principió pensé que iba a ser un gran problema. Resulta que probablemente no afectará a muchos desarrolladores.

Hay 4 formas de implementar la sintaxis “{$variableName}”, 2 que tienen sentido y dos que no. Las dos que no lo tienen, se van. Veámoslas juntos:

echo “$meaningOfLife”;

Con diferencia, esta es la versión más común de interpolación de cadenas. Simplemente coloca la variable en una cadena con comillas dobles. Si lo haces así, entonces todo bien, esta es una de las dos formas que se quedan.

echo “{$meaningOfLife}”;
echo “{$dogulasAdams->meaningOfLife()}”;

Siempre he considerado esta manera de la “vieja escuela”. Sí, solíamos hacerlo en el pasado, pero no lo he hecho de esta manera en mucho tiempo. Aún así, funciona, es limpio y es fácil de entender. Esta es la otra forma que se queda.

Este es también el único método que te permite usar propiedades y métodos de objeto. Por lo tanto, si deseas usar la interpolación de cadenas con un objeto, necesitarás este método.

echo “${meaningOfLife}”;

Esta se va a ir. Sí, hace lo mismo que las dos primeras, pero es un poco más confuso porque $ está fuera de las llaves.

$fourtyTwo = 42;
$meaningOfLife = ‘fourtyTwo’;
echo “${meaningOfLife}”;

Finalmente, tenemos la forma en que puedes usar “variables variables” desde dentro de la interpolación de cadenas. Esto es simplemente demasiados niveles de indirección. En el código de arriba, eventualmente llegamos al punto donde hacemos echo out 42, pero tomamos el camino más largo.

A partir de PHP 8.2, las dos últimas estructuras emitirán una ADVERTENCIA DE DEPRECACIÓN en tus archivos de registro. En PHP 9.0, dejarán de funcionar por completo y harán que tu programa no funcione (o lanzará un error que puedes detectar, pero del que probablemente no puedas recuperarte).

En resumen 

Ésta es la primera versión candidata definitiva de PHP 8.2. No la reproduzcas en ningún sitio en producción. Si quieres probarla con un sitio existente, configura un nuevo sitio de pruebas, clona tu sitio de producción en él y prueba de ese modo. Cuando hayas terminado, puedes simplemente eliminarlo.

Mientras trabajas en tu nuevo entorno de prueba, comprueba los archivos de registro después de cada prueba. Asegúrate de que no haya errores y busca nuevas advertencias.

Si PHP 8.2 es algo así como PHP 8.0 y PHP 8.1, no espero que el código PHP moderno tenga ningún problema con él. Afortunadamente, los ingenieros de SiteGround hacen que sea increíblemente fácil para ti probar las cosas para asegurarte de que tu sitio pueda funcionar lo más rápido posible con PHP 8.2.

Hablando de rendimiento, PHP 8.2 aún no se ha evaluado adecuadamente, pero esperamos que cada versión de PHP sea un poco más rápida que las versiones anteriores. Con los cambios en el sistema CSPRNG y otras cosas como eliminar la antigua libmysql, es una apuesta segura que esta versión será más rápida que PHP 8.1.

Mientras pruebas, clonas y observas los resultados, asegúrate de tomarte el tiempo para tuitear un enorme GRACIAS a todas las personas que hicieron posible este lanzamiento. Muestra tu aprecio en twitter.com/php_net.

No caigas en las estafas por correo electrónico este Black Friday

La infraestructura que ejecuta el correo electrónico de Internet no ha cambiado mucho en los últimos 30 años. Sí, hemos superpuesto algunas cosas como Sender Policy Framework (SPF) y DomainKeys Identified Mail (DKIM) pero en esencia, el protocolo sigue siendo el mismo. Ese es el problema. El correo electrónico fue diseñado en un tiempo más simple. Una época en la que Internet era un recurso de confianza y nadie pensaba dos veces en el hecho de que es fácil modificar los encabezados de un correo electrónico para que parezca que tu jefe está recibiendo un correo electrónico del presidente de los Estados Unidos felicitándote por todo tu excelente trabajo. No digo que eso haya sucedido o que yo fuera parte de ello… pero hipotéticamente, es posible.

Entonces, si no se puede confiar en el correo electrónico, ¿qué podemos hacer? Bueno, primero, en estos días el correo electrónico es mucho más confiable. Es mucho más fácil detectar correos enviados por alguien, pero dicen que son del presidente, gracias a cosas como Sender Policy Framework (SPF) y DomainKeys Identified Mail (DKIM).

Sin embargo, incluso con estas nuevas tecnologías, las estafas por correo electrónico siguen siendo desenfrenadas. A medida que nos adentramos en la temporada navideña, detengámonos por un momento y veamos algunas cosas que puedes hacer para asegurarte de no caer en la última estafa. (Lo que no es enviar correos electrónicos a jefes desprevenidos …)

Estafas por correo electrónico de las que debes estar al tanto

Echemos un vistazo a algunas de las muchas formas en que las personas malas intentan hacerte cosas malas a través del correo electrónico. Este primer grupo de estafas entran en la categoría de estafas de phishing. Una estafa de phishing es básicamente un correo electrónico diseñado para engañarte haciéndote pensar que es de alguien que no es y convencerte de hacer clic en un enlace incrustado en el correo electrónico.

Las solicitudes falsas de “verificación de cuenta”

Estos pueden parecer provenir de tu banco, Netflix, Twitter o uno de esos sitios en los que no admites tener una cuenta. No importa de dónde vengan, todos tienen el mismo mensaje básico.

“Tu cuenta ha sido bloqueada por un MOTIVO. Para desbloquear tu cuenta antes de que la eliminemos por completo, haz clic en este enlace.”

Aquí hay una pista, ningún sistema confiable envía estos correos electrónicos al azar. Si obtienes uno y realmente no estás interactuando con esta organización, entonces es casi seguro que se trate de una estafa de phishing.

En caso de duda, extrae la documentación que tienes para esta organización, busca un número de teléfono y llámalos. Pregunta si hay algún problema con tu cuenta. Cuando te digan que no, agradéceselo, deséale un buen día, cuelga, marca el correo como spam y sigue adelante con tu vida.

Las notificaciones inesperadas de “error de facturación”

¿Sabías que es posible que las personas malas descubran cosas sobre ti sin que les digas? Es relativamente sencillo averiguar dónde está alojado un sitio web. Cuando las personas malas descubren información como esta, les gusta usarla para su beneficio y para tu perjuicio. Tal es el aviso de “Error de facturación”.

Por ejemplo, si eres un cliente de SiteGround y recibes un correo electrónico de SiteGround notificándote de que ha habido un error de facturación y ahora debes $XXXXX más, detente. No hagas clic en ningún enlace del correo electrónico. En su lugar, ve a la página de soporte de SiteGround e inicia una sesión de chat con una de sus personas de soporte. Ellos pueden decirte si hay un problema con tu cuenta o no.

Aquí tienes un ejemplo de un correo electrónico de phishing que solicita a un cliente de SiteGround actualizar sus datos de facturación para poder renovar su dominio:

Ten en cuenta que este correo electrónico falso no contiene el nombre del destinatario, y los correos electrónicos originales de SiteGround deben incluir el nombre que has usado para registrar tu cuenta.

A continuación, ten en cuenta que este correo electrónico tiene errores gramaticales y ortográficos. Estas son banderas rojas de un correo electrónico fraudulento junto con el formato deficiente.

Finalmente, la firma no es la utilizada por el equipo de SiteGround.

Cuando confirmes que en realidad no hay un error de facturación, agradece a la amable persona de soporte, deséale un día maravilloso, desconecta, marca el correo electrónico como spam y sigue adelante con tu vida.

Las solicitudes de “confirmación de pedido”

Un viejo pero bueno, y uno que aparece mucho en estos días porque el comercio electrónico se ha disparado, es el correo electrónico de “Confirmación de pedido”. Estos son más efectivos cuando provienen de empresas con las que nunca has tratado. Por lo general, también implican grandes sumas de dinero. La idea aquí es alarmarte tanto que obviamente harás clic en el enlace para “Desconfirmar” el pedido.

Si el correo electrónico parece ser de una empresa con la que no haces negocios, ignóralo. Márcalo como spam y sigue adelante con tu vida.

Si parece que es de una empresa con la que haces o has hecho negocios, contáctales directamente fuera del correo electrónico. Habla con el departamento de ventas o de contabilidad y comprueba si alguien ha realizado un pedido en tu nombre. Cuando encuentres que la respuesta es no… bueno, ya conoces el simulacro.

La estafa “Click and Collect”

Gracias a la reciente pandemia, “Click and Collect” se ha convertido en una forma común de comprar. Compras algo online en un minorista cercano. Conduces a su tienda y les dices que estás allí, te llevan el artículo a tu coche. A veces, incluso lo ponen en tu maletero para que no tengas que encontrarte con ellos cara a cara.

En ninguna parte del flujo de trabajo Click and Collect hay un correo electrónico que diga “Haz clic aquí si no has pedido esto”. Trátalos de la misma manera que las solicitudes de confirmación de pedido. Si no tratas con la empresa, es una estafa. Si tratas con la empresa pero no has realizado un pedido, es una estafa. Si tienes alguna duda, ponte en contacto con la empresa directamente, no respondiendo al correo electrónico dudoso.

A veces, los estafadores son REALMENTE buenos. Te envían un correo electrónico que parece correcto. 

Correos electrónicos de phishing en la vida real  (Bueno, capturas de pantalla)

¿Cómo son los buenos correos electrónicos de phishing? Aquí hay algunos ejemplos de correos electrónicos fraudulentos de phishing enviados a clientes de SiteGround.

Aparte de todas las banderas rojas ya mencionadas, la dirección de correo electrónico ‘de’ de estos correos electrónicos no es un correo electrónico válido de SiteGround. Además, un correo electrónico adecuado de SiteGround nunca mencionaría el método de pago utilizado por ti para pagar el servicio en cuestión.

Si eres un cliente de SiteGround que viene a denunciar tales correos electrónicos, SiteGround te pedirá que envíes el correo completo como un archivo adjunto, ya que lo usan para entrenar sus propios sistemas para bloquear dichos correos electrónicos (en caso de que tu correo electrónico esté alojado en SiteGround) , para que no lleguen a tu bandeja de entrada. En caso de que tu correo no esté alojado en SiteGround, puedes marcarlo como spam en tu proveedor de correo.

Para obtener más información sobre cómo protegerse de los ataques de phishing por correo electrónico, consulta la publicación del blog sobre este tema.

¿Cómo protegerse de las estafas por correo electrónico durante las festividades?

Entonces, ¿cómo sabrías si esto fue un correo electrónico fraudulento? Bueno, la respuesta fácil es “practicar el correo electrónico seguro”. Estas son algunas de las cosas que hago antes de hacer clic en un enlace en un correo electrónico, cualquier correo electrónico.

  1. Comprueba la dirección ‘de’.
    Ya lo hemos hecho, pero muchos correos electrónicos de phishing provienen de direcciones de correo electrónico inverosímiles. La mayoría de los estafadores no se molestan en intentar ocultarlo porque muy pocas personas prestan atención. Un reciente intento de phishing que se me envió supuestamente provenía de NetFlix. Sin embargo, la dirección de correo electrónico era XXX@yahoo.jp. Sí, Yahoo tiene un dominio de Japón, ¡pero no envían correo electrónico a NetFlix desde él! Ni siquiera a los clientes japoneses.

    Una buena regla general es que si no esperabas un correo electrónico de alguien, ni siquiera de un familiar o amigo, trátalo como sospechoso hasta que sepas que en realidad fue de ellos. Si no reconoces a la persona de la que proviene, entonces asume automáticamente que es maliciosa hasta que puedas probar lo contrario. 
  1. Comprueba todos los enlaces antes de hacer clic.
    La mayoría de los clientes de correo electrónico en estos días te permitirán colocar el cursor sobre un enlace que dice “Haz clic aquí” (o donde sea) y ver cuál es la URL real. Léelo CON MUCHO CUIDADO. Presta atención al nombre de dominio. https: //goog.le no es lo mismo que https://google.com. Léelo atentamente. Si parece sospechoso, no hagas clic en él.

    Algunos programas de correo electrónico te mostrarán el enlace en una ventana emergente cuando hagas clic en él y te pedirán que verifiques antes de que abra un navegador con ese enlace. Si tu programa de correo electrónico hace esto, activa esta función. Sí, agrega un paso adicional antes de que puedas ver esa preciosa imagen de bebé que te envió tu amigo, pero te permite asegurarte de que realmente vas a ver una imagen de bebé y no instalar malware en tu computadora.
  1. No descargar archivos adjuntos automáticamente
    Tu programa de correo electrónico debe estar configurado para no descargar archivos adjuntos automáticamente. Esto significa que si descargas algo de un correo electrónico, tendrás que hacerlo a propósito. Si el correo electrónico no parece correcto o falla alguna de las comprobaciones de las que hemos hablado aquí, no descargues nada. Incluso cosas como los documentos de Microsoft Word que parecen inocuos (haz clic aquí para ver la factura del servicio que no has pedido) pueden hacer cosas maliciosas si los abres. Si no esperabas que alguien te enviara un archivo adjunto de correo electrónico, ¡no lo abras!
  1. Leer los encabezados
    Ok, esto es para los nerds extremos del correo electrónico, pero aquellos de nosotros que hemos estado haciendo esto por un tiempo podemos descubrir mucho leyendo los encabezados que vienen con cada correo electrónico. En estos días, los programas de correo ocultan los encabezados, pero están ahí si quieres leerlos. 
  1. Escucha tu instinto
    Mi esposa, la encantadora y talentosa Kathy, recibió un correo electrónico de nuestro pastor un día con el asunto “Te amo”. Ella era buena amiga de este hombre y aunque el asunto la confundía, también despertaba su interés. Lo abrió solo para encontrar que había un script malicioso adjunto al correo electrónico. Eliminó aproximadamente la mitad de las imágenes que habíamos almacenado en nuestro servidor doméstico antes de que pudiera detenerlo. Afortunadamente, tenía una copia de seguridad, por lo que no hubo pérdida, aparte de las horas que tardó en limpiar el desorden. Si simplemente lo hubiera llamado, abierto un nuevo correo electrónico y le hubiera escrito a la dirección que tenía en su lista de contactos, o se hubiera puesto en contacto con él de cualquier otra forma, podría haber averiguado que no era de él, sino que era una estafa. En lugar de confiar en su instinto, abrió el correo electrónico.

Otras estafas del Black Friday a tener en cuenta

El correo electrónico es, con mucho, la forma más fácil para que los malos actores hagan que las personas desprevenidas hagan cosas malas. Sin embargo, hay un par de otras formas.

Enlaces a sitios “Copycat” malicioso

Si recibes un correo electrónico con un enlace a goog.le, es bastante fácil de detectar. Sin embargo, si estás haciendo tus compras en https://reallyLongDomainName.com y lo escribes mal, entonces puedes terminar en un sitio web que se vea exactamente como el que estabas buscando.

Los malos actores buscan errores ortográficos comunes para los dominios rentables. Los compran y ponen sitios de imitación. Estos son sitios que se parecen al que estabas buscando. Probablemente incluso tengan productos y un carrito de compras. Sin embargo, no te equivoques, son estafas. Cuando pones tu información personal y número de tarjeta de crédito, no vas a obtener esos pantalones morados que pediste y que a tu hermana le encantarán. No recibirás nada más que una desagradable sorpresa cuando llegue el extracto de tu tarjeta de crédito.

Esto es realmente fácil de captar, si prestas atención.

Primero, después de llegar a un sitio, mira la barra de direcciones. ¿Hay un pequeño candado al lado del nombre de dominio? El pequeño candado significa que el dominio que estás utilizando tiene un certificado seguro y que es válido. Si no tiene un pequeño candado, o si hay una línea que lo atraviesa, eso significa que el certificado no existe o que no es válido para ese dominio. Ambas son banderas rojas realmente grandes de que no quieres hacer ningún negocio en este sitio o poner tu información personal.

Un certificado SSL no siempre es suficiente para demostrar que estás en el sitio web correcto. Los estafadores pueden registrar sitegroound.com, por ejemplo, e instalar un certificado en él. El certificado solo proporciona cifrado en la mayoría de los casos. Siempre es una buena idea revisar también la dirección URL, especialmente cuando realizas pagos, creas cuentas, completas formularios, etc.

Sitios que se hacen pasar por páginas de inicio de sesión o de destino

El último tipo de estafa online del que hablaremos son las páginas de inicio de sesión falsas. Estos pueden ser parte de una falsificación muy buena, o puedes llegar a un sitio solo para encontrar que antes de poder acceder a las cosas buenas, debes ingresar tus credenciales de inicio de sesión. Si este es un proveedor de comercio electrónico con el que normalmente hace negocios, o una institución con la que realiza operaciones bancarias, para. No hagas nada más. Sitios como ese no solo ponen una página de inicio de sesión sin que todos sepan con anticipación. Estos no son más que “recopiladores de contraseñas”.

Si ingresas tus credenciales en el sitio, no funcionarán… porque son falsas. Pero los humanos son tercos. Asumirás que has escrito mal algo… especialmente si estás utilizando una contraseña larga y muy segura. Así que lo intentarás de nuevo.

Si eres como la mayoría de nosotros, cuando no funciona la segunda vez, asumirás que has usado la contraseña incorrecta y probarás otra contraseña, y tal vez incluso una cuarta antes de empezar a pensar que algo puede estar mal.

Cada conjunto de credenciales que ingresaste se ha ido a una base de datos y las personas malas comenzarán a usarlas para intentar iniciar sesión en cualquier sitio que crean que puedes tener una cuenta. Dado que les estabas dando credenciales de inicio de sesión reales, has regalado las claves del reino.

Estar atento, estar alerta, sospechar rayando en lo paranoico. Asegúrate de que antes de poner cualquier información en un sitio web, estás absolutamente seguro de que estás en el sitio web correcto. Las apariencias engañan.

Cómo practicar la conexión a Internet de forma segura en estas temporada de ventas

  • Sospecha siempre de los correos desconocidos o inesperados.
    Si no conoces a la persona, o incluso si la conoces pero no esperas tener noticias de ella, sospecha. Sí, tu tía perdida puede estar contactando contigo por correo electrónico con una dirección de correo electrónico de hotmail.com para decirte que te dejará toda su fortuna cuando muera y que necesita que firmes el testamento, pero es muy probable que no sea así. Verifica antes de realizar cualquier acción.
  • No hagas clic en un enlace en un correo electrónico hasta que estés absolutamente seguro de que sabes a dónde va y qué va a suceder.
  • No proporciones tu información personal a ningún sitio a menos que estés seguro y sepas que es el sitio que crees que es. Si crees que no estás en el sitio correcto, cierra el navegador inmediatamente.
  • Siempre que sea posible, utiliza una red privada virtual (VPN) de un proveedor de confianza. No nombraré a mi proveedor de Internet pero diré que no confío en él. Se sabe que facilitan a las personas malas ver el tráfico que atraviesa su red y extraer información tal como la ven. En estos días, casi todos los sitios web usan cifrado para asegurarse de que no sea fácil, pero aún así es posible para las personas con suficiente tiempo, dinero y determinación. Así que siempre que puedo, uso una VPN para cifrar aún más mi tráfico.
    El software de VPN no es caro en estos días, de hecho, si eres un “experto en informática”, puedes descargar, configurar y ejecutar el tuyo propio. No lo recomiendo ya que es fácil equivocarse, pero admito haberlo hecho en el pasado. En estos días, uso una VPN comercial que viene con mi protección contra virus. Ahora, mi vecino no puede ver nada de mi tráfico porque tengo un túnel cifrado entre mi red y un servidor en Miami, FL, EE. UU. (puedo elegir entre 50).
  • No uses la misma contraseña en 2 sitios web
    Mira, sé lo difícil que es. Es difícil encontrar una contraseña segura que puedas recordar, y mucho menos las 20-30 que necesitas para asegurarte de que cada sitio sea diferente. Sugiero usar un administrador de contraseñas de una compañía de software acreditada. Hay algunos de ellos. El que uso funciona en Windows, Mac, iOS, iPadOS y Android. Por lo tanto, no importa dónde esté, mis contraseñas están conmigo. Todas mis contraseñas en todos los sitios principales son largas, aleatorias y únicas. Si conoces uno de ellos, no puedes acceder a nada más que a ese servicio para el que lo uso.

Resumen

Mantente a salvo en esta temporada de compras. Diviértete, disfruta de la compañía de la familia, y si recibes un correo electrónico mío diciendo que Bill Gates está dando 1 Bitcoin a cada persona que reenvía este correo electrónico… bueno, entiendes la idea.

Seguridad incorporada desde el primer día para prevenir ataques al sitio web

La seguridad del sitio web debe estar en la mente de todos los propietarios de sitios. No importa si tu sitio web es grande o pequeño. Si es importante para tu negocio, necesitas mantenerlo seguro. Como propietario de un sitio web, y principalmente propietario de un sitio WordPress, he creado una lista de verificación que reviso cada vez que creo un nuevo sitio web para mí o para un cliente. Me gustaría compartirlo contigo con la esperanza de que puedas aprender algunas ideas nuevas. Veamos lo que se necesita para asegurar un sitio web.

Elegir un servidor web seguro

No hace falta decirlo, pero la seguridad comienza con tu proveedor de hosting web. He usado de todo, desde ‘hágalo usted mismo’ hasta ‘hosting a nivel de conserjería’. El truco está en encontrar el nivel que necesitas y el soporte con el que te sientes cómodo.

Comprueba su soporte

Lo primero que hago cuando considero un nuevo proveedor de hosting web es comprobar su soporte y tiempo de respuesta. Me registro para una prueba gratuita, creo un sitio web y luego hago ping al soporte para hacer una pregunta. La rapidez con la que responden y lo bien que entienden la pregunta me da pistas sobre lo que puedo esperar de ellos si me alojo con ellos.

Comprueba sus características de seguridad

Luego reviso su sitio web y planes de alojamiento para ver qué herramientas de seguridad y características proporcionan. Busco cosas esenciales como un certificado SSL para cifrar y proteger los datos de mi sitio web, privacidad del dominio para ocultar mi información personal de las bases de datos públicas de Whois, verificación en 2 pasos para proteger mi sitio web del acceso no autorizado, copias de seguridad distribuidas geográficamente para tener una seguridad copia de mi sitio web en caso de que algo salga mal.

Otras medidas de seguridad clave que me gustaría que mi proveedor de alojamiento web tuviera implementadas es un firewall de aplicaciones web, un software que se encuentra frente a mi sitio web y lo protege del tráfico malicioso conocido, para mantener mi servidor host a salvo de exploits de software, DDOS y protección contra ataques de fuerza bruta y la opción de actualizaciones automáticas a las últimas versiones de PHP y WordPress para mantener tu sitio web a salvo de malware.

Si el hosting proporciona aún más herramientas de seguridad, sería aún mejor. Por ejemplo, además de todas estas características, disponibles en la plataforma SiteGround, también ofrecen un servicio de Site Scanner desarrollado internamente y un plugin gratuito de SiteGround WordPress Security para asegurarse de que su sitio web sea lo más seguro posible.

Revisa su blog

El paso 3 al seleccionar un proveedor de hosting web es siempre leer las últimas 5 entradas en su blog. 

  • ¿Son recientes?
  • ¿Hablan de seguridad?
  • ¿Te parecen útiles las entradas del blog?

No, no todas las publicaciones del blog van a ser sobre seguridad, pero será mejor que puedas encontrar una reciente. El panorama de la seguridad cambia rápidamente, por lo que deben publicar regularmente.

Comprueba su precio

Inicialmente, reviso sus niveles de precios y averiguo dónde estará mi sitio. El precio es lo último que reviso porque si las dos primeras casillas no están marcadas, el precio no importa. Podrían regalarlo y no lo usaría.

Construye tu sitio web de forma segura desde el principio

Una vez que hayas establecido una base segura para tu sitio web es hora de comenzar a diseñarlo y construirlo. En cada paso, debes asegurarte de que la seguridad esté “integrada” y no “atornillada”.

La seguridad está incorporada cuando lo piensas antes de comenzar a construir tu sitio web.

La seguridad está activada cuando construyes todo tu sitio web y luego decides añadir un plugin centrado en la seguridad para cubrir tus bases.

“Horneada” siempre es mejor.

¿Qué significa seguridad “horneada”?

Instala un certificado SSL tan pronto como configures el sitio web

No esperes hasta que esté listo para implementar tu sitio web antes de recordar instalar tu certificado SSL. En estos días, un sitio web seguro está a solo unos clics de distancia. Tómate el tiempo para hacerlo ahora y luego asegúrate de forzar todo el tráfico a ser https después de instalarlo. Para aquellos usuarios que alojan con SiteGround, su Site Tools facilita la configuración y el cumplimiento de SSL. Solo unos pocos clics y ya está en el negocio. 

Establece una política de contraseña segura antes de empezar a añadir usuarios

Las contraseñas son la cerradura de la puerta principal de tu sitio. Cuando construyas tu sitio, coloca un candado fuerte en la puerta principal requiriendo que todos los usuarios usen contraseñas seguras. Hacer esto antes de permitir que los usuarios comiencen a visitar tu sitio asegurará que ningún usuario configure contraseñas débiles. 

Requiere verificación en dos pasos (2FA) para cualquier usuario que tenga derechos de nivel de administrador en el sistema

La verificación en dos pasos (2FA) es el cerrojo de la oficina interna de tu sitio web. Sí, una contraseña segura es importante para que cualquiera acceda al sitio. Pero para acceder a cosas como información financiera o administración de usuarios, también quieres un cerrojo fuerte. Mantén tu sistema seguro implementando 2FA para todos tus administradores. El plugin SiteGround Security hace que la configuración de 2FA sea muy sencilla.

Configura un sistema de copias de seguridad que regularmente haga copias de todo tu sitio web y las almacene de forma segura

Necesitas un sistema de copia de seguridad de 30 días implementado desde el día 1. No 1 día, no 7 días, 30 días. La razón es que si tu sitio es hackeado, es posible que no lo notes de inmediato. Una vez que lo notes, querrás limpiar tu sitio y una de las mejores formas de hacerlo es restaurar tu sitio desde una copia de seguridad limpia. 

El Site Tools de SiteGround proporciona una herramienta intuitiva para programar copias de seguridad nocturnas y restaurarlas cuando sea necesario.

Mientras hablamos de copias de seguridad, no olvides forzar una copia de seguridad antes de cualquier actualización, rediseño importante del sitio o instalación de un nuevo plugin. Nunca está de más tener una copia de seguridad nueva en caso de que las cosas salgan mal.

Adherirse al principio de privilegio mínimo

Antes de comenzar a permitir que los usuarios entren en tu sistema, piensa en los roles que desempeñarán. Un rol es un conjunto de permisos o privilegios y deseas otorgar a cada usuario el nivel mínimo absoluto de privilegios que necesitan para usar tu sitio.

Hay varios buenos editores de roles para WordPress y te sugiero que instales uno, aprendas a usarlo y luego audites los roles que tienes en tu sitio para asegurarte de que tienen solo los privilegios que necesitan para usar tu sitio.

De forma regular, al menos una vez al año, revisa estos privilegios para asegurarte de que siguen siendo válidos y para asegurarte de que no se haya otorgado un privilegio que no sea necesario para ningún rol.

La mayoría de los usuarios no están intentando hacer cosas malas, pero tenemos que suponer que lo harían si pudieran. Adherirse al principio de privilegio mínimo ayudará a asegurarse de que los malos actores, o los usuarios curiosos, no puedan hacer cosas en tu sitio que se supone que no deben hacer.

Usa solo software de una fuente de confianza

En el desarrollo de software, como en la construcción de una casa, la reputación de tu proveedor es fundamental para el éxito de tu proyecto. Si utilizas un proveedor de tarifas reducidas para los materiales de tu casa, todo el proyecto se verá afectado. Peor aún, te costará más arreglar estos problemas que simplemente comprar buenos materiales para empezar.

Construir tu sitio web con materiales de calidad como plugins y temas de proveedores acreditados generalmente te costará dinero a corto plazo. Sin embargo, saber que tienes empresas respaldando sus productos y actualizándolos cuando surgen problemas vale la pena.

Sí, puedes elegir un plugin o tema gratuito para crear una función crítica de tu sitio web. Sin embargo, ¿qué haces si descubres que hay un fallo de seguridad? Peor aún, ¿qué haces cuando descubres ese defecto y luego descubres que el autor ha abandonado el proyecto? En ese momento tienes 2 opciones, ninguna de las cuales es buena.

  1. Contratar a un desarrollador para arreglar el fallo de seguridad.
  2. Eliminar el plugin, encontrar otro que haga lo mismo, implementarlo y hacer los cambios necesarios en tu proceso.

Ambas pueden ser propuestas costosas que podrían evitarse simplemente eligiendo sabiamente al principio.

SiteGround analizó recientemente los datos de muchos sitios web comprometidos. Lo que encontraron fue que la mayoría de esos sitios web estaban comprometidos porque tenían plugins sin parchear que tenían fallos de seguridad. La mayoría de las veces eran versiones gratuitas de plugins de pago descargados de fuentes no confiables. Descarga solo plugins y temas de sitios de confianza como WordPress.org o proveedores de confianza.

El repositorio de plugins de WordPress es una fuente confiable. WordPress.org ha implementado un proceso de revisión, tanto de software humano como de escaneo, para ayudar a filtrar los plugins que tienen posibles problemas de seguridad o violan la política de WordPress.

Escanea tu sitio con regularidad

Al igual que construyes un sistema de seguridad en tu casa, querrás configurar un escáner de seguridad para tu sitio web tan pronto como lo construyas. Los escáneres de seguridad revisan tu sitio tanto internamente como externamente para asegurarse de que no hay vulnerabilidades conocidas. También revisará tu sitio web en busca de virus. Ningún escáner de seguridad es perfecto, al igual que ningún sistema de seguridad para el hogar es perfecto. Pero tu sitio web es más seguro con uno.

Un buen escáner buscará vulnerabilidades de Cross Site Scripting, entre otras cosas. Estas vulnerabilidades pueden permitir que tu sitio sea utilizado en el ataque de otros sitios o ataques al usuario final.

SiteGround tiene un gran sistema de escaneo disponible. Recibo correos electrónicos regulares diciéndome qué sitios ha escaneado y que están todos limpios o que hay un problema que necesito resolver… de inmediato.

Ten cuidado con las estafas de phishing relacionadas con tu sitio

Una vez que has construido una nueva casa, no le das las llaves a nadie que te las pida, incluso si dice tener una buena razón para querer entrar. Del mismo modo, debes asegurarte de que si recibes un correo electrónico que dice que es de tu sitio, no haces clic automáticamente en el enlace.

Debes saber cada correo que tu sistema es capaz de enviar. Cuando recibes uno que no recuerdas haber configurado, debes investigarlo. No hagas clic, empieza a mirarlo. Comprueba los encabezados, mira la URL exacta a la que van los enlaces. Lo más importante es poner en cuarentena el correo electrónico con tu software de detección de virus.

Los correos desconocidos que pretenden provenir de tu sitio son solo otra forma en que los malos actores intentan ingresar a tu sitio. Estos ataques de phishing provienen de servidores que no están bajo tu control, por lo que no puedes detenerlos. Sin embargo, puedes tener en cuenta que cuando los recibas, los elimines. En casi todos los casos, si no hace clic, el correo electrónico en sí no puede hacer ningún daño.

Herramientas que utilizo habitualmente para crear seguridad en mis sitios

Mantener un sitio web de WordPress seguro no tiene por qué ser un trabajo a tiempo completo si velas por su seguridad desde el principio. Para hacer esto, hay un par de herramientas que uso en casi todos los sitios web de WordPress que tengo.

El plugin de seguridad de SiteGround es el primer plugin que instalo en cualquier sitio web nuevo que pongo en marcha. Lo instalo, instalo un certificado SSL y configuro todo para que sea seguro antes de hacer cualquier otra cosa. Si esta parte está bien hecha, todo lo demás es más fácil. 

El plugin SiteGround Optimizer es una excelente manera de hacer que mi sitio sea más rápido, pero también es donde puedo marcar la casilla de verificación “HTTPS Enforce”. De esta manera, todo el tráfico en mi sitio pasa por HTTPS incluso si no lo era originalmente. Tener un certificado SSL es importante, aplicarlo en todo el tráfico es igualmente importante.

Site Tools de SiteGround tiene muchas opciones excelentes para facilitar la administración de un sitio web. La herramienta que utilizo para configurar las cosas es la herramienta de copia de seguridad. Configurando SiteGround Security y SiteGround Optimizer pongo mis cimientos y creo una copia de seguridad. Esta es mi alternativa en caso de que estropee algo mientras creo mi sitio.

Luego, antes de instalar cada plugin o tema, creo una nueva copia de seguridad. Llamo a estas copias de seguridad “ANTES” + el nombre del plugin o tema. De esta manera puedo retroceder a cualquier punto del proceso.

En conclusión

Si pones una base segura para tu sitio web y luego piensas en la seguridad en todo momento, puedes estar tranquilo por la noche, sabiendo que tu sitio es lo más seguro posible. Ningún sitio web, sin embargo, es a prueba de balas. Por lo tanto, el último paso es crear un plan de recuperación ante desastres. ¿Qué pasos debes seguir cuando tu sitio ha sido hackeado?

El plugin de seguridad de SiteGround tiene una serie de pasos que puedes seguir para esa situación. No es un plan completo de recuperación ante desastres, pero cuando lo combinas con 30 días de copias de seguridad, estás en camino de tener uno.

Todo lo que necesitas saber sobre los roles de usuario de WordPress y las capacidades para administrarlos

roles usuarios WordPress

A medida que WordPress ha crecido en popularidad, aplicación y complejidad, todos hemos descubierto algo muy importante, hacer que todos sean administradores no es una estrategia ganadora. Afortunadamente, WordPress nos proporciona una herramienta muy poderosa llamada Funciones y capacidades de usuario que nos ayuda a brindar a las personas las capacidades que necesitan sin darles demasiado o muy poco. Esto nos ayuda a mantener nuestros sitios seguros.

En este artículo hablaremos de:

  • Qué son los roles de usuario de WordPress
  • Cuáles son los diferentes roles que vienen con WordPress
  • Cómo crear roles personalizados en WordPress para satisfacer tus necesidades específicas
  • Consideración de seguridad con roles de usuario

¿Qué son los roles de usuario de WordPress?

A medida que los sitios se vuelven más grandes y complejos, se necesitan más personas para administrarlos y mantenerlos.

Sí, los sitios todavía necesitan:

  • Autores para escribir contenido nuevo que mejore la vida de las personas.
  • Editores para corregir todos los errores en los contenidos de los autores.
  • Administradores para mantener todo actualizado y funcionando sin problemas
  • Colaboradores para ayudar a los editores a editar publicaciones
  • Suscriptores que pueden o no habernos pagado dinero, pero al menos se han registrado con nosotros y nos han proporcionado una dirección de correo electrónico. (eso tiene un valor)

Pero en la actualidad los sitios también necesitan:

  • Personal del almacén para iniciar sesión, imprimir etiquetas y enviar productos.
  • Personal de contabilidad para asegurarse de que cobramos todo el dinero que se nos debe.
  • Responsables de redes sociales que pueden ver lo que ocurre entre bastidores, pero no necesariamente cambiar las cosas.
  • Miembros de la comunidad que han pagado una suscripción premium para acceder a las cosas realmente buenas que los autores están escribiendo y los editores están editando
  • Y, por supuesto … miembros de la comunidad premium que pueden iniciar sesión y acceder a las cosas realmente REALMENTE buenas que guardamos para aquellos pocos especiales que ven nuestra visión y se suscriben en el nivel premium.

La lista de roles de usuario de WordPress necesarios es interminable. Cambia con cada sitio porque las necesidades de cada sitio son diferentes.

Los principales tipos de roles de usuario de WordPress y sus capacidades

Un rol de usuario de WordPress es una colección de “capacidades”. Una capacidad es un permiso para hacer algo. La instalación estándar de WordPress viene con alrededor de 40 capacidades, así como con 6 roles de usuario por defecto, ordenados por nivel de poder sobre esas capacidades:

Administrador:

El rol de administrador predeterminado (que no debe confundirse con la cuenta de administrador… que no deberías tener en tu sitio). Si tienes uno, párate y mira este vídeo (en inglés) tiene todas las capacidades estándar.

¿Qué puede hacer un administrador de WordPress?

En un sitio normal de WordPress, no hay nada que el rol de administrador no pueda hacer, como por ejemplo:

  • Crear o eliminar usuarios y administrar sus permisos
  • Personalizar el panel de WP
  • Actualizar el núcleo, los temas y los plugins de WP
  • Editar y administrar publicaciones y categorías
  • Subir archivos
  • Moderar comentarios 
  • …y mucho más.
¿Quién debería tener el rol de administrador?

La función de administrador debe reservarse para la persona responsable de los aspectos técnicos del sitio. Si no administras la seguridad del sitio, no actualizas los plugins y no manejas los problemas, probablemente no necesites ser administrador.

Por razones de seguridad, siempre creo una cuenta separada que utilizo en mis sitios como administrador. Mi cuenta normal, la que uso para publicar contenido y administrar usuarios, es un editor. Por lo tanto, tengo que tomar una decisión consciente de iniciar sesión para hacer cosas de administrador.

Todas mis cuentas de nivel de administrador tienen habilitada la autenticación de dos factores (ver más abajo) y tienen contraseñas muy seguras.

Las cosas se complican un poco más si está ejecutando un multisitio de WordPress, porque las capacidades de usuario de los administradores son limitadas para este tipo de sitios. Para esto, hay un rol de usuario adicional de WordPress en WordPress: el rol de super-admin.

Editor:

El editor gestiona las cosas. La cuenta con la que normalmente inicio sesión en mis sitios es un editor. Puedo hacer de todo, excepto administrar plugins, temas y otras cosas técnicas que requieren un pensamiento más meditado antes de hacerlo. Tener mi cuenta diaria como editor evita que deshabilite o elimine accidentalmente un plugin o tema.

¿Quién debería tener el puesto de editor?

Cualquiera que esté administrando cosas en tu sitio (contenido, usuarios, etc.) es un candidato para ser editor.

No te dejes engañar por el nombre de la función, el editor sigue siendo una función muy poderosa y, en las manos equivocadas, puede causar graves daños a tu sitio. Considera seriamente habilitar la autenticación de dos factores en los editores y aplicar contraseñas seguras para mantener estas cuentas seguras.

Autor:

El siguiente es el rol de autor. El rol de autor es un rol mucho más limitado. Básicamente, un autor puede: cargar archivos y crear, editar, publicar o eliminar sus propias publicaciones.

¿Quién debería tener el rol de autor?

La función de autor es ideal para los escritores invitados en un blog o para los autores habituales cuya única función es escribir y editar contenido.

Suscriptor:

Un suscriptor es un invitado que se ha registrado en tu sitio. No tienen otra capacidad que la de poder leer contenido y editar su información.

Algunos sitios tienen contenido que no es visible para los usuarios a menos que se registren. El suscriptor es un buen rol para usar para eso. Necesitará un plugin para poder ocultar el contenido de los usuarios que no tienen un rol determinado o superior, pero son fáciles de encontrar en el repositorio de plugins de WordPress.

Otros roles:

Muchos plugins que instales como WooCommerce agregarán nuevos roles y nuevas capacidades a WordPress automáticamente. Por ejemplo, cuando instalas WooCommerce, agregas el rol de “cliente”. Un cliente tiene ciertas capacidades que se ocupan principalmente de que puedas ver y cambiar sus propios datos, ver sus roles, etc. Las personas pasan al rol de cliente cuando compran algo y configuran una cuenta en tu sitio.

Cómo asignar roles de usuario de WordPress a los usuarios de tu sitio

WordPress no viene con un editor integrado de funciones y capacidades (más sobre eso a continuación). Sin embargo, puedes asignar diferentes roles a tus usuarios. Hay dos formas de hacerlo con una instalación estándar de WordPress.

  1. Manualmente

Para cada usuario de tu sitio, puedes añadirlo en el editor de usuarios y seleccionar el rol que deseas que tenga.



En la captura de pantalla anterior, seleccioné “Suscriptor” para el miembro de mi sitio “Bob Builder”. Puedes asignar y reasignar roles con la frecuencia que desees.

  1. Automáticamente

Con una cuenta con el rol de administrador, puedes ir al Panel de administración de WordPress y seleccionar Ajustes generales. Allí encontrarás un menú desplegable que te permite decidir qué rol se asignará automáticamente a los usuarios cuando se registren en tu sitio. Este valor predeterminado es “suscriptor”, pero puedes configurarlo en cualquier función que desees.

Cómo administrar y editar roles de usuario de WordPress y sus capacidades

Como dije, casi todas las capacidades están reservadas para el administrador, eso no significa que no puedas cambiar las cosas. En ocasiones, es posible que desees que tus colaboradores puedan moderar los comentarios, una capacidad normalmente reservada para los editores. WordPress es lo suficientemente flexible como para permitirte mover capacidades e incluso crear nuevos roles.

No hay una buena manera de ver qué roles y capacidades están configurados en WordPress ni crear nuevos. Si eres programador, por supuesto, puedes escribir código para verlos incluso escribir código que creará otros nuevos. Sin embargo, ¿dónde está la diversión en eso?

Como todo en WordPress, la forma más fácil de administrar roles y capacidades es instalar un plugin. Además, como todo en WordPress, hay muchos buenos plugins para elegir que te ayudarán a ver, administrar y crear roles y capacidades de usuario.

Debido a que existen tantos plugins, no puedo decirte cuál es el mejor. Sin embargo, puedo decirte cuál uso. Utilizo User Role Editor de Vladimir Garagulya desde hace un tiempo.

La principal razón por la que elegí este plugin en particular es que hace el trabajo que necesito. La segunda razón más importante por la que lo elegí fue porque es gratis. Cuando digo gratis, me refiero a que uso la versión gratuita. Vladimir tiene varias opciones para aquellos que desean las funciones avanzadas y este código bien vale la pena.

Cómo administrar los roles de usuario de WordPress con User Role Editor

Después de instalar User Role Editor, probablemente notarás que no agregó otro elemento de menú a la barra lateral izquierda. En su lugar, agrega un elemento de submenú al menú “Usuarios”, “User Role Editor”.

Haz clic en eso y obtendrás una lista completa de todas las capacidades actualmente en uso en tu sistema.

En el lado derecho de la lista hay una serie de botones que te permiten agregar nuevos roles y capacidades.

El diseño de la pantalla puede resultar un poco confuso al principio. Sin embargo, una vez que comienzas a hurgar y ves cómo están dispuestas las cosas, comienzas a verle el sentido.

Como puedes ver, si seleccionas el rol de administrador en el menú desplegable en la parte superior de la pantalla, te muestra todas las capacidades a las que tiene acceso el rol de administrador. (Pista: todos ellos)

El árbol de la izquierda muestra cómo se desglosan y organizan las capacidades. De esta manera, no tendrás que desplazarte por toda la lista para encontrar la que deseas activar o desactivar.

Para usar el ejemplo que usé anteriormente, si quiero que mis colaboradores puedan moderar comentarios, lo primero que hago es seleccionar colaborador de la lista de roles.

Una vez seleccionado, veo que casi todas las casillas de verificación desaparecen. En el árbol de la izquierda, cada categoría me da dos números, la cantidad de capacidades en esa categoría y la cantidad de capacidades que tiene este rol en esa categoría. En el caso de colaborador, la mayor parte del segundo número es 0.

Usando el árbol de la izquierda, podemos seleccionar “Publicaciones” para encontrar las capacidades de comentarios moderados.

Para otorgar a nuestros colaboradores la capacidad de moderar comentarios, simplemente marcamos la casilla y hacemos clic en “Actualizar” a la derecha.

Eso es todo al respecto. Ahora, cualquier persona que inicie sesión y sea un colaborador tendrá la capacidad de moderar los comentarios en las publicaciones.

Eso te da una idea de lo fácil que es administrar las funciones y capacidades de los usuarios existentes.

Cómo crear nuevas funciones y capacidades de usuario de WordPress con User Role Editor

¿Qué pasa con los nuevos roles y capacidades? ¿Son tan fáciles? Sí lo son.

A la derecha, haz clic en “Añadir perfil” y sigue las instrucciones.

Si tu nuevo rol es similar a un rol existente, incluso te brinda la posibilidad de clonar un rol existente para ahorrar tiempo. Luego, simplemente puedes cambiar las capacidades de tu nuevo rol para que se adapte a tus necesidades.

Las nuevas capacidades, por otro lado, son un poco más difíciles. Sí, puedes definirlos en la interfaz, pero a menos que haya un código escrito para usar las nuevas capacidades, no tendrán ningún efecto. Antes de comenzar a agregar capacidades, habla con tu programador.

[subscribe_cta]

Seguridad del rol de usuario de WordPress

Como has visto, es muy fácil agregar nuevos roles y personalizarlos para que se adapten a tus necesidades. Sin embargo, el hecho de que sea fácil no significa que debas agregar un montón de ellos, lo desees o no. Antes de comenzar, siéntate y decide por qué es necesario un nuevo rol. ¿Qué podrá hacer o no hacer este nuevo rol que sea diferente de los roles existentes? Cuantos más roles agregues, más tendrás que administrar.

Además, hay 2 cosas que puedes hacer para mejorar la seguridad de WordPress en términos de roles de usuario:

Aplicar el principio de privilegio mínimo

Una vez que hayas decidido agregar un nuevo rol a tu sistema, asegúrate de cumplir con el principio de privilegio mínimo. Al crear roles, menos es más. Solo da a tus nuevos roles las capacidades mínimas que necesitan para cumplir con su rol. Si estás configurando una función de contabilidad, no les des la capacidad de eliminar publicaciones. Quédate con el mínimo, siempre puedes agregar más tarde si es necesario.

Implementar la autenticación de dos factores (2FA)

Para cada nuevo rol que configures que tenga permisos significativos, asegúrate de configurar y aplicar la autenticación de dos factores para esos roles.

Si el rol de administrador es el único rol significativamente poderoso que tienes, entonces el plugin de seguridad de SiteGround: SiteGround Security es una excelente opción. Hace que configurar 2FA para el rol de administrador sea muy simple.

Si tienes otros roles que tienen un poder significativo o puedes ver la información de identificación personal (PII) de otros usuarios, asegúrate de que también se apliquen la 2FA. Hay varios plugins 2FA buenos (gratuitos) que pueden ayudarte a hacer eso.

Para concluir

WordPress tiene un sistema de funciones y capacidades de usuario avanzado que es lo suficientemente flexible como para satisfacer las necesidades de casi cualquier sitio. Sin embargo, como cualquier herramienta poderosa, puede dañar tu sitio. Puedes bloquear a los usuarios de las capacidades que necesitan para acceder al sitio o darles el poder de hacer cosas malas.

Antes de comenzar, párate, piensa y luego actúa. Esa es la estrategia ganadora para administrar los roles y capacidades de los usuarios en WordPress.

Las mejores prácticas, soluciones y plugins de WordPress para hacer copias de seguridad de tu web

plugin WordPress copia de seguridad

Desde que ha existido WordPress, los propietarios de sitios web, administradores y desarrolladores se han preocupado por cómo hacer una copia de seguridad de WordPress. Incluso en sus inicios, WordPress era un sistema complejo. Se podía hacer mucho con él, pero crear una copia de seguridad y restaurarla llevó tiempo, paciencia y, por supuesto, desarrolladores.

Los propietarios de sitios web entendieron que valía la pena el esfuerzo de hacer una copia de seguridad de sus sitios web. Los desastres naturales, los malhechores e incluso las excavadoras eran enemigos de los sitios web y, sin un buen programa de recuperación de desastres, se podía perder todo.

Al principio, mi solución favorita era un plugin que simplemente hacía una copia de seguridad de mi base de datos cada noche usando mysqldump y luego me la enviaba por email. Pensé que esta era la solución definitiva para las copias de seguridad. Fue fácil, era externa al  sitio y tenía una regla de email que las eliminaba, así que en 300 días, desaparecían.

Ahora, el problema obvio es que mi base de datos, si bien es importante, es solo una parte de lo que debe asegurarse.

No creo que exista el mejor plugin WordPress para hacer una copia de seguridad o una solución 100% ganadora. Creo que cada sitio web tiene diferentes necesidades y aquellos que tienen una web WordPress deben evaluarlas y elegir la mejor solución para ellos.

Dicho esto, cualquier solución de copias de seguridad de WordPress es mejor que ninguna solución. Si no realizas una copia de seguridad de tu sitio web WordPress a diario, lee el resto de este artículo, elige una solución y comienza a realizar copias de seguridad de tu sitio web hoy mismo.

La mejor solución para hacer una copia de seguridad de tu sitio WordPress sin necesitar un plugin

Hacer una copia de seguridad de WordPress a través de tu proveedor de hosting

La mayoría de los hosting web de primer nivel ofrecen servicios de copias de seguridad como parte de su tarifa mensual. Serán un poco diferentes a lo que hace un plugin porque tu proveedor de hosting web tiene acceso a la infraestructura subyacente y puede hacer cosas que los plugins simplemente no pueden hacer.

La solución de copias de seguridad de tu proveedor de hosting casi siempre funcionará más rápido, tanto en al creación de la propia copia de seguridad como en la restauración porque no dependen de WordPress para hacer el trabajo pesado. Esto significa que si tienes un sitio web grande o una base de datos grande, realizar copias de seguridad y restaurar a través de tu proveedor de hosting web te supondrá menos tiempo de inactividad.

Una cosa a tener en cuenta al utilizar la copia de seguridad y restauración de tu hosting web es asegurarte de que las copias de seguridad se almacenen fuera de tu sitio web, es decir, que no están en el mismo servidor en el que está almacenado tu sitio web y, con suerte, ni siquiera en la misma región geográfica.

Si un desastre natural golpea la región en la que está alojado tu sitio web y toda la infraestructura se cae por un tiempo prolongado, si tus copias de seguridad también se almacenan allí, entonces estás fuera de servicio.

En SiteGround son muy conscientes de ello. Por eso crean copias de seguridad diarias de tu sitio web que ponen a tu disposición durante 30 días consecutivos y las distribuyen geográficamente para garantizar que tus datos se almacenen de forma segura.

Consejo de experto: el hecho de que estés utilizando el servicio de copias de seguridad de tu proveedor de hosting web no significa que no tengas la responsabilidad de mantener una copia de tu sitio web localmente. Si no hay un servicio automatizado disponible, inicia sesión una vez al mes y descarga la última copia de seguridad del mes en tu ordenador como último recurso.

Cómo hacer una copia de seguridad de tu sitio web con un plugin de WordPress

Ten en cuenta estas 2 preguntas antes de elegir el plugin de backup de WordPress que mejor se adapte a tus necesidades.

¿Qué debería asegurar un plugin de copias de seguridad de WordPress?

Un buen plugin de WordPress o solución para hacer copias de seguridad de WordPress debe asegurar sí o sí al menos 2 cosas:

  • Tu base de datos
  • Tu directorio de archivos subidos 

Adicionalmente, también es útil realizar una copia de seguridad de:

  • El núcleo de WordPress
  • Tus temas
  • Tus plugins

La razón por la que no incluyo estos tres últimos en la sección de copias de seguridad obligatorias es que, por lo general, se pueden descargar e instalar, por lo que técnicamente no es necesario realizar una copia de seguridad. Aún así, es una buena idea incluirlos en tu copia de seguridad porque facilita mucho la restauración de un sitio web.

¿Qué debería hacer un plugin WordPress de copias de seguridad?

Una buena solución de backup debe cubrir al menos estos tres puntos:

  1. Crear una copia de seguridad de tu sitio web
  2. Guardar la copia de seguridad en una ubicación diferente. En IT lo llamamos “Off Site”. Es un término de cuando solíamos hacer una copia de seguridad de las cosas en una cinta y luego llevarla físicamente a un sitio diferente.
  3. Restaurar tu copia de seguridad. Una buena solución de copia de seguridad es solo la mitad del problema, necesitas poder UTILIZAR esas copias de seguridad en caso de una emergencia. La mayoría de las soluciones basadas en plugins requieren que re-instales WordPress y su plugin antes de poder restaurar. Por lo general, esto no es un problema, pero las soluciones que brindan los proveedores de hosting web de primer nivel son mejores porque pueden restaurar todo.

El mejor plugin de WordPress para hacer copias de seguridad que he probado

Ahora que entendemos lo que debería hacer una solución de copias de seguridad, veamos el mejor plugin que he encontrado para hacer copia de seguridad de WordPress.

UpdraftPlus

UpdraftPlus es el que estoy usando en aproximadamente el 70% de mis sitios y lo considero el mejor plugin de copias de seguridad gratuito para WordPress. ¡La versión de pago es aún mejor!

UpdraftPlus es un plugin “freemium” en el sentido de que algunas de las funciones son gratuitas, otras cuestan dinero. Hasta ahora no he necesitado ninguna de las funciones premium. Eso no significa que no valgan la pena. UpdraftPlus empieza desde sólo $ 42 / año para dos sitios web.

UpdraftPlus no almacena automáticamente tu copia de seguridad fuera del sitio web. Debes configurar dónde deseas que se almacene. Si no configuras un almacenamiento externo, simplemente se realiza una copia de seguridad en el backup de archivos local de tu servidor. Te recomiendo encarecidamente que configures copias de seguridad fuera de tu sitio web.

La buena noticia es que UpdraftPlus funcionará con casi cualquier proveedor de almacenamiento cuando se trata de guardar archivos fuera del sitio web:

  • Dropbox
  • Google Drive
  • Amazon S3 (o compatible)
  • UpdraftVault
  • Rackspace Cloud
  • FTP
  • DreamObjects
  • Openstack Swift
  • …e email.

Mi favorito es Amazon S3 y cualquier servicio que utilice la API de Amazon S3. Como ya guardo muchas cosas en S3, fue fácil para mí configurarlo y ponerlo en funcionamiento.

Dado que FTP (y supongo que SFTP) está en la lista, puedes usar UpdraftPlus para almacenar tus copias de seguridad en cualquier lugar donde tenga un servidor (S)FTP. Actualmente son la gran mayoría.

UpdraftPlus también se puede utilizar para migrar sitios web. Cada licencia viene con “Tokens de clonación” que puedes usar para clonar un sitio web.

Una de las cosas que me encantan de UpdraftPlus es que si estás utilizando su WP-Optimize y tienes UpdraftPlus instalado, antes de realizar optimizaciones o cambios en la base de datos, te preguntará primero si deseas hacer una copia de seguridad de todo. Me encanta que se tomen el tiempo para ayudarme a no tirar piedras al tejado.

Restaurar un sitio de WordPress a través de UpdraftPlus es tan fácil como seleccionar la opción de “menú” y luego la copia de seguridad para restaurar.

El plugin hará el resto. Dado que esto requiere que WordPress y el plugin estén ya  instalados, si tienes que restaurar desde cero, tendrás que instalar WordPress, instalar UpdraftPlus y configurar el almacenamiento externo antes de poder restaurar el resto del sitio.

En pocas palabras, en lo que respecta a los plugins WordPress de copias de seguridad, UpdraftPlus es el más fiable. Es fácil de usar y la versión gratuita funciona muy bien.

En resumen

Como dije, no existe la mejor solución o el plugin WordPress para hacer copias de seguridad de tu sitio web. La mejor solución es la que te ofrece a ti tranquilidad y la posibilidad de dormir bien por la noche porque sabes que tienes una copia de seguridad de tu web.

A veces, se trata de una solución de copias de seguridad de pago, otras veces es una solución gratuita. Independientemente de cómo decidas hacerlo, lo importante es que hagas una copia de seguridad de tu sitio WordPress.

El coste oculto de lo gratis

el coste escondido de lo gratuito

He estado involucrado en el movimiento del software open-source (no confundir con el software libre) desde sus inicios. Con el tiempo, he visto cambiar su percepción. Al principio, había mucha gente escribiendo software y contribuyendo porque podía. Les hacía sentir bien aportar a los demás.

Los usuarios de software open-source reconocieron este regalo que se les estaba dando y lo respetaron, al igual que al talento de quienes lo daban. Muchos usuarios contribuyeron a sus proyectos favoritos a través de código, documentación, promoción y, a veces, incluso dinero.

Con el tiempo, las cosas han cambiado. Hoy en día veo a más personas que utilizan software open-source porque creen que es gratis. Piensan que, como no tuvieron que pagarle a un programador por sus esfuerzos, se libran. A veces, esto es cierto, a veces puedes instalar un software y comenzar a generar valor a partir de él. WordPress solía ser así.

Sin embargo, actualmente el software, incluso el Open source, es complejo. Sí, WordPress solía tener la “instalación en 5 minutos”, y sí, es posible que aún puedas instalar WordPress así de rápido, pero si tu objetivo es hacer algo más que escribir en tu propio blog, tendrás que añadir algunas horas o días a esos 5 minutos.

A día de hoy, el software es complicado. Los temas de WordPress solían ser bastante simples, pero ahora son más complejos, con páginas de ajustes y muchas opciones de configuración. Opciones que, si no estás familiarizado con el tema, pueden resultar difíciles de navegar.

Este es el coste oculto de lo gratis. Muy alto actualmente.

Muchos plugins son “gratuitos” pero requieren que te suscribas a su servicio de backend subyacente. Técnicamente son gratis, pero igual te van a costar. Otros plugins ofrecen una versión gratuita, pero bloquean sus mejores funciones hasta que pagues. Nuevamente, técnicamente gratis, pero si quieres que hagan cosas interesantes, tendrás que pagar.

No me malinterpretes, no estoy defendiendo que todo el software sea gratuito. Como alguien que se gana la vida escribiendo código, recomiendo encarecidamente pagar a los desarrolladores. Es solo que, como propietario de un sitio no técnico, debes comprender el coste de “gratis”.

[subscribe_cta]

Prepárate para contratar a alguien que te ayude. En la mayoría de los casos, necesitarás:

  • Un Project Manager. Esta es una persona técnica, pero no necesariamente un programador. Entienden sobre WordPress, los plugins y saben cómo hacer que trabajen juntos para hacer las cosas. También saben cuándo se necesita un desarrollador y, por lo general, conocen a unos cuantos a los que poder pedir ayuda.
  • Un diseñador. Definitivamente necesitarás a alguien que pueda hacer que tu sitio web se vea bien. Puntos extra si también es un experto en experiencia de usuario (UX) para que pueda hacer que tu web sea fácil de entender y usar.
  • Un copywriter. (Pensaste que iba a decir desarrollador, ¿no?) Sí, vas a necesitar un redactor, alguien que sea un artífice de las palabras. Vas a querer que vean cada palabra de tu sitio web y se asegure de que lo que estás diciendo sea claro y fácil de entender para el usuario.
  • Opcionalmente, es posible que necesites un desarrollador. Si es así, tu project manager lo sabrá y debería saber a quién contratar. No te adelantes en contratar a tu sobrina y ponerla en el equipo. Deja que los expertos hagan el trabajo por el que los contrataste.

Una vez que hayas creado tu sitio web, todavía no será gratuito. Asegúrate de alojarlo en un hosting de buena reputación que entienda de WordPress. Puede ser una sorpresa para algunos de vosotros, pero tengo sitios web que no están alojados en SiteGround. Algunas de mis instalaciones de WordPress están alojadas en un servidor virtual que yo mismo administro. Entiendo lo que se debe hacer y entiendo los riesgos de administrar mi propio servidor.

Los proyectos que yo mismo alojo son proyectos complementarios con requisitos especiales que muchos proveedores de hosting no proporcionan de forma inmediata. Si bien en un sentido técnico, sí, cada sitio adicional que pongo en mi servidor virtual es “gratis”, también es una cosa más de la que tengo que preocuparme. Mi tiempo no es gratis, por lo que alojar sitios web en ese servidor resulta muy caro.

Para todos mis sitios web que no tienen requisitos muy específicos, uso SiteGround. Después de más de 25 años administrando servidores web y más de 15 años administrando WordPress, sé lo que necesito en un proveedor de alojamiento web, y SiteGround marca todas las casillas.

El software gratuito y libre (FOSS) es increíble. Literalmente impulsa el mundo en el que vivimos. Pero muchas veces, gratis solo se aplica al precio que pagas por el código en sí. Cuando te estes preparando para lanzar tu próximo sitio web, ten en cuenta algo más que el coste del código. Si tu sitio web va a añadir valor a tu empresa, prepara un presupuesto que te permita hacerlo bien. No te olvides del alto coste de la gratuidad.

¿Qué es un ataque de fuerza bruta y cómo evitarlos?

ataque de fuerza bruta

¿Qué es exactamente un ataque de fuerza bruta en un sitio web? Solo el nombre “fuerza bruta” evoca al malo de una película de acción cursi.

Para la mayoría de los sitios web, un ataque de fuerza bruta puede ser muy grave.

¿Qué es un ataque de fuerza bruta?

Un ataque de fuerza bruta es exactamente lo que su nombre indica. No hay una lógica profunda involucrada en adivinar inicios de sesión o contraseñas, es solo un bot que comienza con un inicio de sesión de “A” y una contraseña de “A” e intentará pacientemente cada combinación de letras y números hasta que encuentre un nombre de usuario y contraseña que funcione.

Cuando comenzaron los ataques de fuerza bruta, eso era todo. A lo largo de los años, se han vuelto más sofisticados, pero en esencia, es solo un bot.

Hoy en día, existen redes de bots que hacen esto. Como los ataques de fuerza bruta desde un solo ordenador eran realmente fáciles de detectar y bloquear, ahora, una red de cientos o miles de ordenadores trabajan juntos para atacar un sitio web y adivinar su nombre de usuario o contraseña.

Además, hoy por hoy existen “diccionarios de tablas” que son listas de contraseñas que ya se han utilizado o palabras que se pueden combinar para hacer una contraseña.

Una red de bot puede intentar adivinar un nombre de usuario y una contraseña miles de veces por segundo. Tu sitio web será tan seguro como lo sea su contraseña.

Además de los diccionarios de tablas, los atacantes se han vuelto aún más inteligentes. A medida que se piratea un sitio web y se extrae toda la información del usuario, los inicios de sesión y las contraseñas de ese sitio se añaden a los que se deben probar. Saben que muchas personas no se molestan en crear diferentes inicios de sesión y contraseñas la mayor parte del tiempo, por lo que un inicio de sesión en un sitio probablemente sea el mismo en otro.

¿Cómo se mitiga un ataque de fuerza bruta?

Bueno, hay 2 respuestas a esta pregunta.

Si tu sitio web no está alojado en SiteGround

Si no estás alojado en SiteGround, debe comenzar a buscar plugins de seguridad y configurar firewalls. Ya hemos hablado algo de esto en publicaciones anteriores.

Necesitarás:

Instalar un firewall de aplicaciones y configurarlo correctamente.

Hay varios buenos plugins en el repositorio de plugins de WordPress que protegerán tu sitio contra ataques de fuerza bruta y otro tipo de ataques. Los que están en el TOP 5 son muy valorados y, aunque no recomendaré uno aquí, probablemente puedes encontrar uno que sea altamente recomendado e implementarlo. Todos los buenos tienen una tarifa mensual asociada, pero eso es lo que se necesita para proteger tu sitio.

Exigir contraseñas seguras a todos los usuarios.

Ya hemos hablado de contraseñas antes, pero vale la pena repetirlo. Las contraseñas seguras son tu primera línea de defensa. Es posible que a tus usuarios no les guste, pero mantendrá tu sitio web y sus datos seguros.

Requerir la verificación en dos pasos (2FA) para todos los inicios de sesión.

La verificación en dos pasos mitiga los ataques de fuerza bruta al 100% porque el inicio de sesión y la contraseña son solo 2/3 del procedimiento de inicio de sesión. Para el tercio final, debes tener el teléfono de la persona. Ese es el final del juego para los ataques de fuerza bruta.

Sin embargo, al igual que con las contraseñas seguras, los usuarios generalmente odian la verificación en dos pasos. Puedes limitarla a las cuentas de administrador, pero si un atacante entra a tu sitio web, estará en riesgo. Así que tienes la complicada tarea de decidir qué es más importante.

Implementar una política de rotación de contraseñas que fuerce nuevas contraseñas al menos cada 90 días.

Otra cosa que es eficaz para ayudar a prevenir ataques de fuerza bruta, es requerirles que renueven sus contraseñas cada cierto tiempo. Lo malo es que esta es otra cosa que los usuarios suelen odiar por lo que, si añades varios pasos de seguridad que no les gustan, corres el riesgo de comenzar a perder usuarios. Así que hay que caminar por la cuerda floja.

Consejo adicional: Fail2Ban.

Además de todas las anteriores, mi herramienta favorita es Fail2Ban y WP-Fail2Ban. Si está configurada correctamente (y se necesita un desarrollador o administrador de red para configurarla correctamente), esta combinación puede ser una herramienta muy poderosa para prevenir un ataque de fuerza bruta. Fail2Ban es de código abierto y gratuito, y el plugin WP Fail2Ban tiene una versión pro que parece valer bastante la pena.

No suelo recomendar plugins específicos, pero este es único. Tengo la versión gratuita instalada en todos mis blogs que no están alojados en SiteGround y funciona de maravilla. Estoy considerando seriamente actualizarme a la versión pro.

ADVERTENCIA: Este plugin requiere que Fail2Ban se instale, configure y funcione correctamente en tu servidor. El propio Fail2Ban también tiene un par de requisitos. Este no es un plugin trivial para empezar a trabajar. Si no eres un desarrollador o no estás muy familiarizado con Linux, mejor busca ayuda.

Si tu sitio web está alojado en SiteGround

Si tu sitio web está alojado en SiteGround, sigue tomando tu café tranquilamente. SiteGround tiene un conjunto completo de herramientas ya implementadas que incluyen inteligencia artificial para detectar ataques de fuerza bruta de redes de bots. Esto no significa que tu sitio vaya a ser 100% seguro, nadie puede llegar a ese 100%. Sin embargo, significa que esto es una cosa menos de la que tienes que preocuparte.

Conclusión

Los ataques de fuerza bruta son bien conocidos y bien comprendidos. Hay herramientas que puedes instalar para mitigar los riesgos de que comprometan tu sitio web. Dicho esto, lo mejor que puedes hacer es contratar un hosting como SiteGround, en donde se encarguen de mantener tu web segura para que tú puedas dedicar tu tiempo a hacer otras cosas en tu web que la hagan aún mejor.

¿Qué es CRON y para qué puedes usarlo?

“¿Qué es cron?” Respondo a esta pregunta al menos una vez al mes por parte de personas que no son desarrolladores. Es una gran pregunta. Sin embargo, voy a dividirlo en dos preguntas.

“¿Qué es CRON?”
“¿Qué es WP-CRON?”

¿Qué es CRON?

En esencia, un cron es un “programador basado en el tiempo”. Gestiona tareas que deben realizarse de forma regular y en un momento específico.

Por ejemplo, si quieres que tu blog en WordPress muestre el pronóstico del tiempo en el encabezado, entonces cada mañana debes obtener el pronóstico del tiempo. Sí, puedes contratar a alguien para que inicie sesión cada mañana, obtenga el pronóstico y lo pegue en un widget. Pero un plan mejor es tener un programa que se ejecute todas las mañanas y que conecte con una API para obtener el pronóstico del día y actualizar tu base de datos por ti. El programa que ejecuta tu programa de búsqueda del pronóstico del tiempo se llama CRON. El nombre se deriva de “cronológico”, que se traduce aproximadamente como “en orden de tiempo”.

La mayoría de los sistemas hoy en día tienen algún concepto de cron. Los sistemas basados ​​en Unix (Unix, Linux, macOS, etc.) en realidad tienen una versión de un cron tradicional. Si bien algunos pueden ponerles una interfaz gráfica más amigable, todos se reducen a un programa llamado cron y un archivo llamado crontab.

El programa cron siempre se está ejecutando en segundo plano y cada minuto mira el crontab y averigua si es necesario hacer algo. Si no, vuelve a dormir.

El archivo crontab contiene cuándo se debe ejecutar un programa y qué programa se debe ejecutar. Cada línea representa una tarea diferente. Se ven parecido a esto:

1 0 * * * ~/fetchForcast.sh

Si bien esto puede parecer críptico, todo lo que le dice a cron es que a las 12:01 AM todos los días, ejecute un programa llamado fetchForcast.sh. Aquí te dejo una guía fácil para leer un crontab:

# ┌───────────── minutos (0 – 59)

# │ ┌───────────── horas (0 – 23)

# │ │ ┌───────────── día del mes (1 – 31)

# │ │ │ ┌───────────── mes (1 – 12)

# │ │ │ │ ┌───────────── día de la semana (0 – 6) (Sábado a Domingo;

# │ │ │ │ │                                   7 también es Domingo en algunos sistemas)

# │ │ │ │ │

# │ │ │ │ │

# * * * * * <comando para ejecutar>

  1 0 * * * ~/fetchForcast.sh

Ahora que tienes la clave, es bastante fácil, ¿eh?

Esto es realmente todo lo que hay en un cron tradicional. La mayoría de los hosting como SiteGround te permiten acceder al cron de tu sistema. A veces, tienes que editar el crontab manualmente, pero muchos hosting tienen una interfaz mucho mejor para facilitar su uso. De cualquier manera, tienes la capacidad de ejecutar programas en un momento específico y de forma regular.

¿Qué es WP-CRON?

WordPress hace las cosas de manera un poco diferente. Debido a que muchos autores de plugins necesitaban poder programar las cosas para que sucedan regularmente, y debido a que muchos propietarios de sitios WordPress no saben dónde está su crontab, y mucho menos cómo editarlo, WordPress reinventó el cron.

En esencia, WP-CRON actúa como un cron tradicional en el sentido de que un desarrollador puede “programar” una tarea para que se realice de forma regular. Sin embargo, a diferencia de un cron tradicional, WordPress no tiene un programa que siempre se ejecute en segundo plano en tu servidor. Entonces, para hacerlo, WP-CRON es un proceso que se llama cada vez que se ve una página. En sitios web concurridos, esto funciona bien. Sin embargo, si tu web no es muy visitado, una tarea programada para las 2:00 a.m. podría ejecutarse a las 5:24 a.m. si nadie visita tu web hasta entonces. A veces esto está bien, otras veces es un problema.

Si las tareas que necesitas ejecutar son urgentes y deben ejecutarse a la hora programada, WP-CRON no es el programador que debes utilizar. Si, por otro lado, las tareas que debe realizar pueden ejecutarse “aproximadamente” en el momento en que las programas, entonces WP-CRON está bien. Nuevamente, depende mucho de lo visitado que sea tu sitio web.

¿Cuáles son las alternativas?

Si tienes tareas que son urgentes y tu proveedor de hosting no te permite acceder al cron del sistema, tienes 2 alternativas.

Primero, puedes cambiar a un proveedor como SiteGround que te brinde este acceso. Si esto no te es posible, hay varios servicios gratuitos o de pago que no son más que servicios cron. Ejecutan cron y puedes configurar un trabajo para que se ejecute a través de una interfaz web amigable. El trabajo usaría un programa como curl o wget que conectan a las URL de tu sitio web para activar una tarea específica.

La mayoría de los plugins que requieren un cron te darán la URL a la que conectar si deseas usar un cron externo. Todo lo que tienes que hacer es pegar esa URL, configurar el tiempo para que se ejecute y listo.

CRON es una herramienta de mucho valor y una vez que comprendas cómo trabajar con ella, encontrarás cómo darle más usos. Si tienes plugins, casi te puedo garantizar que tu sitio web tiene trabajos wp-cron en ejecución. Si tienes curiosidad, ve al repositorio de plugins de WordPress y busca cron. Hay plugins que puedes instalar que te mostrarán toda la actividad de WP-CRON en tu sitio web. Pero ten mucho cuidado. Los plugins los establecen por una razón. Si decides que no te gusta uno y lo eliminas, el plugin que depende del trabajo del WP-CRON dejará de funcionar.