Tag Archives: wordpress

Bloquear los bots que spamean tus estadísticas de visita

Bloquear los bots que spamean tus estadísticas de visita

Hasta hace poco, los bots tipo ilovevitaly.com, semalt.com, darodar.com y muchos otros eran tolerables, no porque me gustaban pero porque raras veces superaban el 10% de las visitas así que había decidido no perder tiempo haciendo algo al respecto.

Todo cambio la semana pasada cuando de repente estos p…. bots alcanzaron el 75% del total de las visitas e intentaron logearse con un ataque de fuerza bruta que venía – que sorpresa – de China. Supongo que los Rusos estaban de vacaciones este día!

Como todo en la vida, llegado a cierto punto, la broma de niños se convierte en mosca cojonera que se tiene que aplastar, intoxicar, torturar o cualquier otra cosa para que entiendan que sería mejor ir a jugar un poco más lejos.

Los Content Delivery Network

Los CDN actúan como un desvió por el cual todo el tráfico tiene que pasar y todas las IP que están en lista negra quedan o bloqueadas o tendrán que resolver un Captcha. Un CDN gratuito como CloudFlare, pero existen muchos otros, se configura fácilmente y ofrece varios filtros interesantes como obligar los visitantes de ciertos territorios a resolver un Captcha para llegar a su página web.

Por desgracia, la versión gratuita no permite bloquear las visitas provenientes de Rusia (por ejemplo) y para configurar CloudFlare, el usuario debe absolutamente tener acceso a su hosting para cambiar los DNS, cosa imposible en las plataformas tipo wix, blogger, wordpress.org,…

Los CDN permiten también mejorar la velocidad general de la página web y los buenos plugins de caché suelen tener una opción de compatibilidad, así no se tiene que elegir entre seguridad y optimización, se puede tener los 2 a la vez.

Filtrar con .htaccess

Después de la primera etapa, las visitas suelen regularse y en teoría se ve menos nombre de países como Rusia, China o ‘not set’ pero los CDN no actúan como la varita mágica de Harry Potter y todavía hay mucha basura que tirar.

He leído en muchas webs como crear filtros en Google Analytics para que no aparezcan más los intrusos, y lo explico en la tercera parte para los que quieren hacerlo, pero para mí es como esconder el polvo bajo la alfombra, no lo ves pero sigue aquí y para mi es tan insoportable que la mosca cojonera de la que hablé al principio: tiene que desaparecer.

El .htaccess es el primero archivo que leen los navegadores, antes del index.php o html, y hay que andar con cuidado porque si equivocarse en el index.php no es grave, un error en el .htaccess puede bloquear del todo una página web sin posibilidad de volver atrás si el usuario no tiene un acceso FTP a su web.

Existen varias formas de añadir líneas de código al .htaccess, o por FTP o mediante un plugin como Yoast WordPress SEO que lo permite en ‘herramientas > editor de archivos > archivo .htaccess’. Prefiero el FTP porque siempre se tendrá la posibilidad de modificar el archivo, incluso en caso de error, pero es más sencillo hacer modificaciones desde un plugin.

Entre lo que encontré en la web y mis propias constataciones, recopile más de 70 dominios y subdominios cuyo único propósito es fastidiar el propietario de una página web. Si por lo menos ganaban algo lo podría entender pero no, es realmente fastidiar por el placer de fastidiar. Añadir las siguientes líneas en su .htaccess reducirá de forma muy importante las visitas indeseadas de bots y la ventaja es que tiene efecto inmediato.

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*4webmasters\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*76brighton\.co\.uk [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*7makemoneyonline\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*adcash\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*adviceforum\.info [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*anticrawler\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*anticrawler\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Best\-seo\-offer\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*best\-seo\-solution\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Blackhatworth\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*blackhatworth\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Buttons\-for\-your\-website\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Buttons-for-website\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*buy\-cheap\-online\.info [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*cenokos\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*cenoval\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*cityadspix\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*cyprusbuyproperties\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Darodar\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*descargar\-musica\-gratis\.net [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Econom\.co [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*edakgfvwql\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*event\-tracking\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*forum20\.smailik\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*free\-share\-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*get\-free\-traffic\-now\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*gobongo\.info [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*googlsucks\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*guardlink\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*hulfingtonpost\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*humanorightswatch\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Ilovevitaly\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Iskalko\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*iskalko\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*kambasoft\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Lomb\.co [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Lombia\.co [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*luxup\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*myftpupload\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*netvibes\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*o\-o\-6\-o\-o\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*offers\.bycontext\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*openlinkprofiler\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*paparazzistudios\.com\.au [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*powitania\.pl [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*Priceg\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*prodvigator\.ua [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*ranksonic\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*resellerclub\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*s\.click\.aliexpress\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*savetubevideo\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*screentoolkit\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*securesuite\.co\.uk [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*securesuite\.net [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*semalt\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*seoexperimenty\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*sharebutton\.net [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*sharebutton\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*simple\-share\-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*site12\.social\-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*slftsdybbg\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*social\-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*socialseet\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*superiends\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*tasteidea\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*theguardlan\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*torontoplumbinggroup\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*trafficmonetize\.org [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*vodkoved\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*website\-errors\-scanner\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*websocial\.me [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*www1\.social\-buttons\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?:\/\/([^.]+\.)*ykecwqlixx\.ru [NC]
RewriteRule .* - [F]

Añadir filtros a Google Analytics

Llegado a este punto, después de haber ajustado un CDN y añadido líneas de código al .htaccess deberíamos estar contentos pero no, los profesionales del spam han descubierto el modo de actuar directamente con el código de rastreo de Google Analytics.

Un internauta dejo un ejemplo muy claro, tenía una web ‘muerta’ sin dominios ni nada pero cuando todavía estaba ‘viva’ tenía un código GA que le servía a rastrear sus visitas y le sorprendió descubrir que, meses después, GA registraba visitas en una web que no exista más…

Como he dicho antes, el método GA no elimina el problema, solo lo esconde, pero por los que no pueden o no quieren modificar el .htaccess es una solución alternativa.

Existen 2 grandes métodos, el rápido que consiste en excluir directamente el tráfico no deseado de las estadísticas de GA, la pega de este método es que no se podrá saber cuál es la proporción de visitas spam que se recibe. El segundo método es más largo pero tiene la ventaja de ver el trafico normal – sin spam – pero también de poder ver la proporción de trafico toxico e incluso crear un informe. Puede ser útil para ver cómo evoluciona la amenaza potencial en segundo plano y hacerse una idea de si se prepara un ataque más gordo de tipo DDoS.

Los 2 videos de abajo explican los pasos a seguir. En el caso del método rápido, se tarda menos de 1 minuto para añadir un filtro pero insisto sobre el hecho que no se podrá tener idea de la proporción de tráfico que representan los bots de semalt.com y otros.

Compartir

Pinegrow, editor visual BootStrap y WordPress

Pinegrow, editor visual BootStrap y WordPress

Cuando alguien quiere lanzar un nuevo WordPress, una de las preguntas más importante es que témplate utilizar y según que sea para bloguear o vender, los templates que vienen con WP pueden no resultar adecuados y hay 2 opciones, la sencilla y la menos sencilla.

La sencilla es irse de paseo en las grandes plataformas que venden templates y comprarse por un puñado de €uros un témplate profesional y modificarlo un poco si necesario para que sea exactamente como uno quiere.

La menos sencilla es partir de una base vacía, tener el Codex bajo el codo, empezar el trabajo para acabarlo varias semanas después. Dado el precio de los templates profesionales, no vale realmente la pena a menos de tener un proyecto muy especial y un cliente dispuesto a gastarse más de lo que le gustaría.

Entre estas 2 soluciones hay un gran vació intersideral con pocas estrellas y una de ellas es Pinegrow. Se trata de un generador bastante bueno que permite sin demasiados conocimientos técnicos unos templates BootStrap pero le prefiero Pingendo por la simplicidad.

Sin embargo, Pinegrow acaba de volverse realmente muy interesante con su versión 2.0 que permite, además de trabajar con varios framework (angular JS, foundation, 960 grid), trabajar con los elementos recurrentes de WP (entradas, comentarios, loop,…) e insertarles exactamente donde se necesitan.

El generador funciona entonces en 2 tiempos, el usuario coloca primero los elementos desde una amplia biblioteca de elementos con un simple arrastrar/soltar para crear su diseño en directo. Luego, cada elemento puede ser modificado directamente en el editor, tanto el PHP como el HTML/CSS sin olvidarse de las propiedades individuales de cada elemento por pequeño que sea.

Pinegrow - GIF animado

Pinegrow – GIF animado

Una vez el diseño acabado, el usuario pasa a otra pestaña que recopila un gran cantidad de las funciones de WP y solo tiene que seleccionar un elemento del diseño – que puede ser un container vacío – y pinchar en una de las funciones WP y automáticamente, el container integrara el PHP deseado (loop, categorías, nav menu,…).

Las posibilidades son infinitas y tienen la enorme ventaja de funcionar como un editor visual de tipo WYSIWYG, ver el resultado final en distintos tamaños de pantalla y ganar un tiempo considerable al momento de programar.

Pinegrow es un generador realmente muy completo y complejo por los que quieren entrar en los más mínimos detalles sin salir del editor, los más exigentes estarán a gusto por un precio increíblemente bajo, 85 USD por una licencia personal y 135 USD por una agencia que podrá ahorrarse semanas de desarrollo.

Los que quieren pueden probar la versión completa durante 7 días pero no podrán exportar el trabajo realizado. Una documentación es disponible y permite hacerse una buena idea de las posibilidades del editor.

Compartir

WP Rocket, más que un plugin de caché premium

WP Rocket, más que un plugin de caché premium

WP-Rocket es un plugin Premium de caché desarrollado por profesionales de la web para alegrarte el día todos los días.
Bruce Lee

No suelo hablar de plugins WP normalmente, existe una tonelada de blogs que tratan de esto y que los disecan así que no creo que hablar por enésima vez del plugin tal que es súper guay sea muy útil pero es verdad que algunos blogs destacan más que los demás. En el caso de WP Rocket, no hay simplemente ninguna información en español a pesar que somos por los menos 450 millones en hablarlo, había que hacer algo al respecto.

La primera información importante a saber es que WP Rocket es un plugin Premium, es decir que habrá que tomar 2 cafés menos al mes para poder pagárselo y la primera pregunta que viene en la mente es ¿ Un plugin de caché más, y pagar por esto ? Visto así, el 50% de los lectores ya tienen ojos en otro artículo porque (casi) todos conocemos WP3 total cache o WP súper cache que son gratuitos entonces ¿porque pagar algo cuando se puede conseguir algo parecido para nada?

Muy sencillo pequeño saltamontes, porque este está en la categoría superior por varias razones pero vamos a empezar desde el principio explicando que es la caché. La caché web es la memoria de acceso rápido de una página, guarda temporalmente las últimas informaciones procesadas. Está almacenada en los servidores de los motores de búsqueda (Google, Yahoo!, Bing,…) y sirve a reducir el tiempo de acceso y de descarga de las informaciones de una página. Cada vez que una web publica un nuevo artículo o cambia algo, el primero visitante esperara más que los siguientes simplemente porque la caché se hace justamente con la primera visita. Posteriormente, si hay otra solicitud para la misma URL, el servidor puede utilizar el caché en lugar de interrogar de nuevo el servidor.

La Caché sirve entonces por dos razones principales:

  1. Reducir el tiempo de espera
  2. Reducir el tráfico
  3. Aumentar la velocidad global de una web

Este último punto es importante para los que buscan mejorar su SEO a cualquier precio, la velocidad de carga es uno de los innumerables factores SEO.

WP Rocket - Opciones básicas” width=

WP Rocket – Opciones básicas

Decía que WP Rocket entra en la categoría superior por varias razones y tengo que hacer un comparativo. Los otros plugins son buenos pero con hasta unos 80 parámetros cada uno, las probabilidades de hacer una tontería (o de no hacer una cosa importante) son altas. WP Rocket funciona de otra manera, una vez instalado ya está funcionando y el usuario podría no tocar nada, sin embargo hay opciones y parámetros que permiten aumentar la eficacia del plugin.

Fly me to the moon

A diferencia de los demás plugins que hacen PHP caching, WP Rocket modifica directamente el .htaccess para añadir optimizaciones de caché a la raíz de la página web y añade las directivas necesarias para crear una caché navegador de los elementos estáticos (imágenes, CSS, JS) que no tienen que cargarse otra vez en una misma sesión.

Además, no es necesario tener un primer visitante para crear la caché, un robot se encarga de hacer la primera visita de una nueva entrada y el usuario tiene la posibilidad de vaciar la caché de toda su web, de una página concreta y de pedir a un robot precargar la caché.

Hay varias pestañas accesibles en el back end del plugin, una para opciones básicas, opciones avanzadas, CDN, herramientas, FaQ y soporte. Las opciones básicas son bastante avanzadas ya que permiten elegir si o no activar el lazy load de las imágenes, minificación y compresión del HTML, minificación y concatenación de los CSS y JS, activar la caché móvil, para los usuarios conectados, para el SSL y con qué frecuencia se tiene que renovar, practico si ven recursos externos en la web como los mensajes Twitter por ejemplo.

Las opciones avanzadas encantaran los más exigentes, permite precargar los contenidos externos para anticipar los problemas de DNS, vaciar la caché de ciertas páginas cuando se actualiza una entrada, indicar páginas que nunca deben estar en la caché, nunca enviar caché para user agents específicos, No poner en caché las páginas que tienen unos ciertos cookies, excluir archivos CSS o JS de la minificación, enviar archivos JS en el footer durante el proceso de minificación, activar una carga diferida por JS concretos un contenido. Los profesionales de la web estarán a gusto con esta pestaña y con la siguiente que permite activar y optimizar los ajustes para CloudFlare u otro CDN.

Las 2 últimas pestañas contestan a las preguntas más frecuentes o los eventuales problemas que pueden ocurrir, preguntas y respuestas están disponibles en español (algunos enlaces a videos en francés), y por fin un acceso directo al soporte relámpago, nunca he tenido que esperar más de 1h30 antes de recibir una respuesta.

WP-Rocket - Comparativa

WP-Rocket – Comparativa

La prueba del fuego

Hay un montón de servicios online que permiten hacer las pruebas para tener un resultado antes/después como GTMetrix o PingDom Tools y la prueba muestra una diferencia real.

WP Rocket no es un simple plugin, hay todo un equipo detrás que se encarga de actualizar el plugin a menudo – 9-10 actualizaciones al año – y de contestar a las preguntas clientes rápidamente pero no impide hacerse la pregunta del bolsillo, cuánto cuesta? La licencia para 1 web es de 29 € (o 39 USD), 69 € para 3 y 149 € en ilimitado con 1 año de actualización y de soporte, una buena inversión para los que tienen una web con mucho tráfico.

Las agencias tienen también la posibilidad de activar una pestaña ‘marca blanca’ para cambiar el nombre del plugin, indicar una URL de contacto distinta, cambiar el autor y añadir una descripción personalizada, un detalle que no lo es.

Compartir