Evitar que youtube detecte un vídeo clonado

Que pasa churritas! ¿El título del artículo es sugerente verdad? Si yo encontrase una entrada así en las SERPs entraba pero vamos, cagando leches y es que el aprender a evitar que youtube detecte un vídeo clonado es de lo mas útil si tu plan es monetizar con un canal de vídeos recopilatorios, de bromas, de trailers o de los best fail of… vamos, con un canal en el que copies vídeos de otros.

Lo sé, suena muy guarro y es así pero realmente el montar canales de nicho es algo bastante rentable si consigues viralizarte. Como lo que vamos a hacer es copiar vídeos de otros sin su consentimiento lo mas probable es que Youtube incorpore practicas en contra de esas técnicas.

Si miramos en las TOS y en la documentación de Youtube podríamos catalogar este método dentro de la sección de Spam, deceptive practices and scams. Si los dueños de estos vídeos descubren el canal o los usuarios se dan cuenta y empiezan a reportar pronto nos llegará un content-strike y después otro y otro y a tomar por el culo el canal.

Por eso es prioritario que conozcas qué puedes hacer para que Youtube se trague tus vídeos robados y el truco se basa en el checksum. En este artículo no me quiero poner muy técnico además ya expliqué en detalle aquí en que se basa este método y sobre todo qué es el maldito checksum.

Evitar que youtube detecte un vídeo clonado

En el artículo que os menciono arriba os enseñé a modificar vídeos a través de la línea de comandos para evitar que youtube detecte el vídeo clonado pero ahora os voy a enseñar a hacer lo mismo pero con un programa para Windows, mas rápido, mas sencillo y sin tener que tener una shell a mano…

Pero antes de meternos en harina toma conciencia y no utilices el programa con tienes algún cliente, esto es blackhat chico y utilizalo como tal. Céntrate en crear nichos que tengan un tiempo de vida bajo-medio, debido a los reportes, pero que durante ese tiempo puedas sacarle todo el dinero que seas capaz.

La técnica no es que esté rozando es que es completamente ilegal con las políticas de Youtube así que como te cacen te van a llegar reportes, pasa y muchos usuarios ya lo reportan en los grandes foros americanos de SEO y BlackHat. Asín que con cuidadín! 😉

Usuarios quejándose por utilizar esta técnica.
Usuarios quejándose por utilizar esta técnica.

 

El programa en cuestión se llama Youtube Video Bytes Changer y tampoco hay que ser muy lumbrera para adivinar lo que hace si no tienes ni idea y te encuentras con el. No he encontrado mucha información sobre el programa. No hay página oficial del proyecto ni hay página de venta, solo un par de referencias en foros y cada entrada con variaciones en el nombre del programa.

Lo mas probable es que sea un desarrollo propio, como este bash que me hice para poder descargar vídeos de Youtube y cambiarles el checksum, pero con la diferencia es que alguien le ha añadido botones, ventanitas y otras cosas chulas y amigables a la vista. Guay. Eso si, ejecutadlo siempre en un entorno seguro no vaya a venir con sorpresitas…

Para evitar que youtube detecte un vídeo clonado tendrás que bajarte este programa y aprender a utilizarlo aunque tranqui que aquí hay un vídeo sobre su funcionamiento, tal vez sea el canal del desarrollador, quién sabe.

He probado el programa y el resultado es el mismo que haciéndolo a través de la terminal. Bueno no igual porque se trata de un hash aleatorio claro pero dos vídeos iguales y uno pasado a través de este programa y otro con el comando y Youtube se lo ha tragado bien así que no hay problema.

Ahora si, después de todo esto toca descargar el programa ¿no? Pues si, pero antes os voy a pedir que hagáis una acción social para desbloquear la descarga, me vale con que hagas retweet del artículo o le deis un like en Facebook o lo que queráis. Os enseñado alternativas al programa para evitar que youtube detecte un vídeo clonado así que ahora tu decides.

[sociallocker id=446]
Descargar Youtube Video Bytes Changer
[/sociallocker]

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

[xyz-ips snippet=”ADSENSE-MOUSE-FOLLOWING”]

A mamarla!

Anuncios

Constructores y destructores en la programación orientada a objetos

Que pasa churritas!

En artículos anteriores vimos los conceptos básicos de la programación orientada a objetos junto a la definición ampliada de las propiedades y constantes de clases. Si te has leído estos artículos ya deberías saber cómo hacer una clase y cómo utilizar la visibilidad de sus miembros para acceder a sus métodos y propiedades.

Pues bien, en este artículo vamos a hablar de los constructores y los destructores, esos mecanismos de construcción y destrucción de objetos que internamente sirven para reservar y liberar espacio en la memoria de nuestra máquina. Comenzamos.

Constructores y destructores

¿Tienen un nombre importante verdad? Constructores y destructores, wow, parecen métodos importantes y no son para menos porque son super importantes. Cuando creamos un objeto internamente estamos reservando un espacio de memoria que después utilizaremos asignando valores y leyendo de ella aunque este proceso sea transparente al programador y al usuario. El propio núcleo se encarga de hacerlo por lo que si decidimos trabajar con un lenguaje de programación de alto nivel como PHP es una preocupación menos que tener en cuenta.

Para definir el constructor de una clase utilizaremos el método mágico __construct() y tradicionalmente lo utilizaremos para inicializar ciertos valores necesarios de nuestra clase. El método constructor de una clase es el primer método que se ejecuta cuando instanciamos un nuevo objeto. Es el proceso que se va a encargar de crearnos el objeto, ¿bastante obvio según su nombre no?

Ahora bien, has de saber que como método mágico que es no es necesario ni obligatorio que lo declaremos en nuestras clases. Si volvemos al ejemplo de la clase de Gorkamu.class.php no verás en ella ningún constructor y esto es porque se utiliza el constructor por defecto. El propio núcleo de PHP cuando compile nuestra clase ya va a saber que tiene que llamarlo sin que nosotros tengamos que indicárselo.
https://gist.github.com/gorkamu/7ceba19c9b8521203231cf819cc9dbb5.js
La única razón que tenemos para declarar un método constructor en nuestra clase es para inicializar variables y esto es una buena práctica que tiene que ver con la encapsulación y la visibilidad, me explico. Dónde en ejemplos anteriores habíamos asignado valores directamente en la declaración de las propiedades, lo correcto sería asignar esos valores en el constructor de la clase.

https://gist.github.com/gorkamu/2b6857d5051b81476ba3ad79abe08d58.js

Por otro lado, si nuestra clase hereda de otra, no tenemos porqué definir ningún constructor a no ser que tengamos que hacer algo específico. Cuando nuestras clases estén compiladas, el flujo de ejecución primero ejecutará el método constructor de la clase padre si lo hubiera y sino su constructor por defecto para después hacer una llamada al constructor de la clase hija, ya sea uno declarado o el método por defecto.

Esto es así aquí y en la China.

Aunque si en nuestra clase hija queremos hacer una llamada al constructor de la clase padre tendremos que hacerlo mediante las palabras reservadas parent::__contruct()

La ventaja que tienen los constructores y su sobrescritura es que si al constructor hijo le pasamos mas parámetros (o menos) de los que tiene el constructor padre PHP se callará como una puta y no nos dará ningún error a nivel de E_STRICT.

El método destructor

Por desgracia no me estoy refiriendo al arma letal de la estrella de la muerte. El método destructor es el proceso que utiliza el núcleo de nuestro lenguaje de programación para liberar espacio en memoria. Cuando un objeto queda obsoleto y ya no quedan referencias al objeto se ejecutará este método.

Típicamente los utilizamos para terminar con procesos de nuestro programa, por ejemplo podríamos poner la clausura de una conexión a base de datos aquí o hacer que escriba en un log que la clase ha sido destruida para llevar un control de qué esta pasando. No sé…

https://gist.github.com/gorkamu/1c7df54e7868fdebe398517f893054e1.js

Al igual que con los métodos constructores y la herencia, con los métodos destructores pasa igual ya que si queremos hacer una llamada al método padre tendremos que hacerlo con las palabras reservadas parent::__destruct()

Esto es interesante ya que si ejecutamos el método exit() los destructores serán invocados pero sin embargo hacemos una llamada a exit() dentro de un método destructor muy posiblemente la estaremos cagando ya que estaremos dejando de ejecutar el resto de rutinas de finalización que queden, así que cuidadín.

Las dos últimas cosas que tienes que tener en cuenta con los destructores es que los métodos destructores invocados durante la finalización de un script ya han enviado las cabeceras HTTP, lo veremos mas adelante, así que no nos tenemos que preocupar de ello y por otro lado, si por algún caso vas a lanzar una excepción desde un destructor que sepas que te va a dar un error fatal. No se me ocurre una razón para hacer esto ya que existen otros mecanismos para hacerlo pero oye…

 

Pues nada chachos, ya sabéis como construir y destruir objetos y aunque no los utilicéis por lo menos conocéis los procesos internos que se llevan a cabo. Se que el tema es duro y espeso así que si tienes dudas déjamelas en los comentarios o en twitter a través del siguiente banner 😉

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

Hala a mamarla!

Incluir publicidad en una aplicación Ionic

Así es majos, este post es para enseñaros a empezar a monetiza tu nueva aplicación. Si has leído artículos viejos míos quizá ya sabrás a hacer una app con Ionic, habrás aprendido a meter un vídeo de Youtube en tu aplicación y tal vez hayas visto mis casos de éxito como este o este. Pues el siguiente paso es darse de alta en una red de anuncios, incluir publicidad en una aplicación y empezar a ganar pasta bitches.

Haciendo negocios con Admob

Lo primero que tenemos que hacer de todo es registrarnos en Admob. Admob es una empresa de “Mobile Advertising” por lo que si queremos ganar dinerico tenemos que enseñar anuncios en nuestra aplicación y esta empresa tiene muchos anuncios para enseñar, ah y es de Google jeje.

Nos venimos a esta url y realizamos el proceso de inscripción. Una vez que hayas terminado verás el panel de control en el que gestionarás tus bloques de anuncios y campañas.

Panel de control de Admob con el que podremos incluir publicidad en una aplicación
Panel de control de Admob con el que podremos incluir publicidad en una aplicación

Para poder incluir publicidad en una aplicación tendremos que conseguir un Ad unit ID, que es el código que identifica nuestra aplicación contra el sistema de anuncios. Para ello hay que hacer click en el botón:

Botón para añadir una nueva aplicación
Botón para añadir una nueva aplicación

Si tu aplicación no esta publicada ya en las tiendas oficiales te tocará hacerlo manualmente. Para ello hay que rellenar un formulario en el que se nos pide el nombre de la aplicación y la plataforma objetivo.

Registrando mi nueva app
Registrando mi nueva app

Una vez pases por las diferentes opciones para configurar el bloque de anuncios y ver la configuración opcional de analítica llega la parte de la implementación en el código de tu aplicación. Pero antes no te olvides de apuntar el código ca-pub, es el que se utilizará en la aplicación y aparece durante el proceso de creación del bloque de anuncios. Tiene una pinta tal que así:

Código con el que ganaremos dinerico
Código con el que ganaremos dinerico

Configuración necesaria para incluir publicidad en una aplicación

Si quieres incluir publicidad en una aplicación vas a tener que ensuciarte, meterte en código así que voy a ir picadito.

  • Abres la terminal (o consola) y te vas a la raíz de tu proyecto.
  • Te instalas el plugin cordova-plugin-admob escribiendo el siguiente comando y dejas que termine el proceso
cordova plugin add com.rjfun.cordova.plugin.admob
  • Si te quedas mas tranquilo puedes revisar los plugins instalados con el siguiente comando.
cordova plugin list
  • Añade el siguiente código a la función .run en el fichero app.js que lo encontrarás dentro del directorio www. También tienes una versión separada del script.
.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    if(window.cordova && window.cordova.plugins.Keyboard) {  
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
      cordova.plugins.Keyboard.disableScroll(true);
    }
    if(window.StatusBar) {
      StatusBar.styleDefault();
    }
    if (window.device && typeof AdMob !== "undefined") {
          var admob_key = ca_app_pub_code = "AQUI_TU_CODIGO_CA_PUB";

          AdMob.createBanner( {
            adId: admob_key,
            position: AdMob.AD_POSITION.BOTTOM_CENTER,
            isTesting: false,
            adSize: 'SMART_BANNER',
            success: function(){
            },
            error: function(){
              console.log('failed to create banner');
            }
          });
      }
  });
})

Obviamente tienes que cambiar el valor de la variable admob_key, donde pone “AQUI_TU_CODIGO_CA_PUB” tienes que sustituirlo por tu código, el que has generado un poco mas arriba al registrar la aplicación en Admob.

Y eso es todo chicos. bueno, no del todo. Mientras estes haciendo pruebas en tu entorno puedes activar la variable isTesting, es un booleano así que sus valores son true o false. Esto sirve para enseñar un anuncio de prueba antes de ser enviado a las tiendas oficiales. No te olvides de dejarlo como false cuando compiles y vuelvas a enviar la app o sino no verás gallinicas 😛

Si tenéis alguna duda sobre cómo incluir publicidad en una aplicación o sobre cualquier otra cosa podéis dejarla en los comentarios o usar el banner de Twitter para preguntarme directamente. Venga gandules que es gratis.

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

 

Hala a mamarla!

POO: Propiedades y constantes de clase

Ya hemos visto en un post anterior los conceptos básicos de la programación orientada a objetos. En el explicábamos lo que es una clase en programación orientada a objetos, de ahora en adelante POO, qué es un objeto, una instancia y cómo crearlas. También conté un poco por encima como clonar objetos y que papel juegan los constructores y los destructores, entre otras cosas.

Pues bien, hoy toca entrar en profundidad en las propiedades y en las constantes de clases.

Propiedades de clases

Ya vimos que una clase es una representación abstracta de un objeto. Todo objeto tiene por su definición ciertas propiedades que almacenaremos en variables. No es exclusivo que sean llamadas propiedades, en algunos contextos podrán ser llamadas atributos o campos de clase, en cualquier caso da igual ya que estamos haciendo referencia a lo mismo.

Si tenemos un objeto televisión, sus propiedades podrían ser la marca de la televisión, sus dimensiones y su tipo. Así pues de una televisión plana de 47 pulgadas de la marca Samsung, plana, 47 pulgadas y Samsung podrían ser las propiedades de la clase televisión. ¿Hasta aquí bien no?

Para definir una propiedad de una clase tenemos que utilizar una de las siguientes palabras reservadas, public, protected y private en función de la visibilidad que queramos dar a esa propiedad. ¿Pero qué coño es la visibilidad?

Visibilidad de propiedades y métodos

La visibilidad de propiedades y métodos hace referencia al tipo de accesibilidad de las propiedades y de los métodos de una clase. La accesibilidad es desde dónde se puede acceder al valor de una propiedad o desde dónde se puede llamar al método de una clase. Tenemos tres tipos de visibilidades:

  • public: una propiedad o un método public puede ser accesible desde donde sea. Si una propiedad es definida mediante la palabra reservada var automáticamente su visibilidad será pública, sin embargo si un método no ha definido visibilidad pasará a ser un método público.
  • protected: una propiedad o método protected solamente será accesible desde la propia clase o desde clases heredadas.
  • private: una propiedad o método private solamente serán accesibles desde la propia clase.

Una cosa interesante a tener en cuenta de la visibilidad entre objetos es que los objetos del mismo tipo pueden acceder a los miembros protected y private entre ellos aunque no pertenezcan a la misma instancia.

Vale, para acceder al miembro de una clase utilizamos el símbolo -> ya sea una propiedad o un método, sin embargo tal y como vimos en el post anterior, para acceder a una propiedad desde dentro de la misma clase tendremos que utilizar la pseudovariable $this. Si recuerdas bien esta pseudovariable es una referencia al objeto invocador, el que esta realizando la acción vamos.

Siempre tendremos que llamar a una propiedad o método mediante la flechita siempre y cuando no se trate de una propiedad o método estático.

Propiedades y métodos estáticos

Una propiedad o método estático significa que puede ser accesible sin tener que instanciar la clase, es decir, sin tener que utilizar la palabra reservada new. Hay que recordar que si un método ha sido definido como estático no podremos utilizar la pseudovariable $this dentro del método ya que nos dará un error.

Con las propiedades estáticas nos pasa lo mismo. Una vez que hemos definido una propiedad como estática si intentamos acceder a ella utilizando $this-> dentro de un método nos dará un error, en su lugar tendremos que utilizar la palabra reservada self:: si la propiedad pertenece a la clase o la palabra reservada parent:: si la propiedad pertenece a una clase padre, cuando realizamos herencia.
https://gist.github.com/gorkamu/73d6db5a544334fa54b13910be3e69a8.js
A partir de la versión 5.3.0 de PHP podemos utilizar los heredocs y los nowdocs en cualquier contexto estático, incluso cuando declaramos propiedades. Por favor, sigue lo enlaces para saber qué son.

Bien, ya hemos pasado la primera parte del post. Hemos terminado de contar lo que son las propiedades de clase y nos vamos a meter con las constantes. ¿Quieres hacer un descansito? Vamos que queda poco… 😛

Constantes de clases

¿Qué te sugiere que algo sea constante? ¿Que no cambia, no? Algo cuyo valor o estado se mantiene igual durante el paso del tiempo ¿no? Pues eso es lo mismo en la programación orientada a objetos.

Siempre y cuando digo siempre es siempre podremos definir una variable como constante dentro de una clase. Al definir una propiedad como constante nos estamos asegurando de que su valor no va a cambiar jamás durante la ejecución del programa pero tenemos que ser conscientes de que tampoco podremos modificar su valor.

Por defecto la visibilidad de una constante es public, es decir, podremos acceder a ella desde cualquier lugar.

Esto viene genial cuando queremos definir literales o cuando queremos evitarnos los números mágicos por ejemplo.

Para definir una constante de clase tendremos que utilizar la palabra reservada const y a diferencia de las propiedades o variables normales, en las constantes no tenemos que utilizar el símbolo del dolar ($) cuando las declaramos. De hecho es típico y una buena práctica escribir las constantes en mayúsculas. Con el siguiente ejemplo lo verás rápido.
https://gist.github.com/gorkamu/7ceba19c9b8521203231cf819cc9dbb5.js
Como ves en el ejemplo podemos acceder a la constante de diferentes formas, ya sea desde un método get, desde la clase instanciada como si fuera una propiedad estática o sin tener que instanciar la clase. Las constantes son super útiles.

 

Pues nada, hasta aquí la parte dedicada a las propiedades y constantes de la programación orientada a objetos y todavía queda mucho mas!

Se que el tema puede ser duro y espesito así que si tienes dudas puedes dejarmelas en los comentarios o hacerlas en twitter a través del siguiente banner.

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

Hala a mamarla!

Google se saca la chorra con las páginas AMP

Habéis leído bien el título chumachos, si. Google se ha sacado la chorra con sus páginas AMP. Toma ya. Aunque no es nuevo que cuando Google lanza un servicio o producto nuevo, todo el mundo se vuelve loco. Lo hemos visto recientemente con los nuevos Google Pixel y en el sector web lo vemos ahora con las páginas AMP.

Las Accelerated Mobile Pages o AMP están ahora en la cresta de las cosas que molan. Cada vez se esta hablando mas de ellas y grandes páginas han sacado ya su versión en AMP como por ejemplo El Confidencial.

Intentad hacer un calculo. Contad cuanto tiempo os pasáis delante del móvil. Pasamos mucho tiempo y eso las grandes empresas lo saben por eso ya han empezado a desarrollar nuevas formas de monetizarnos y mantenernos atrapados dentro de su ecosistema.

Facebook mediante sus Instant Articles, Apple con su programa de publicación de noticias propio y como no podía ser menos Google con su proyecto de páginas móviles aceleradas AMP.

Pero antes de seguir…

 

¿Qué coño son las AMP Accelerated Mobile Pages?

En octubre de 2015 Google anunció su nuevo proyecto. Páginas preparadas para dispositivos móviles y que fueran aceleradas mediante sistemas de caché. Con esto tiene como objetivo proporcionarnos una navegación muy rápida y ayudarnos a bajar el consumo de datos. Para ello ha desarrollado una nueva tecnología escribiendo un nuevo tipo de HTML Open Source, el AMP HTML.

Esta tecnología ayuda a los productores de contenido dándoles la posibilidad de crear una versión desnuda de HTML de su página que carga casi instantáneamente cuando se visita desde un móvil.

Desde el 24 de Febrero lleva Google desplegando su sistema de páginas compatibles con AMP dentro de sus resultados en las búsquedas móviles.

Aquí os dejo el vídeo promocional que sacó Google en el que el concepto de páginas AMP está muy bien explicado.

Se pueden ver cosas interesantes sobre esta tecnología como que en las SERPs las páginas se muestran como si fuese un carrousel y para pasar de artículo o noticia en la web hay que deslizar el dedo hacia un lado.

Esto también funciona para las búsquedas con respecto a Twitter ya que fue una de las primeras empresas en entrar al proyecto.

¿En que se diferencian las páginas AMP de las optimizadas para móviles?

Cuando comparamos páginas estándar orientadas a móviles con páginas AMP vemos dos diferencias principales: la velocidad de carga y cómo son sus contenidos renderizados y servidos.

 

 ¿Cómo de rápido cargan las páginas AMP?

Incluso a no haber métricas oficiales aquí por parte de Google, los tests pasados con AMP sobre carga de página son 4 veces mejores que aquellos con páginas orientadas a móviles. Y para confirmar esto aquí te dejo las pruebas que he hecho para uno de los artículos que mas pesan de mi blog.

Test de velocidad
Test de velocidad

Y es que como se puede ver en el segundo resultado, la velocidad de carga de la versión normal fue de mas de 60 segundazos!! Madre mía.

Sin embargo con la versión AMP, primer resultado, la carga llegó a los 2.66 segundos. Así que si, la tecnología esta nos ayuda mucho como desarrolladores pero mas como webmasters.

Pero no miréis solo el Load time, fijaos en el tamaño de página, pasa de los 3.5 MB a 263 KB. Ole sus cojones.

 

¿Por qué cargan tan rápido las páginas AMP?

Según la documentación, la tecnología detrás de las páginas AMP tiene tres patas fundamentales:

  • AMP HTML: una versión de HTML con etiquetas personalizadas y propiedades como por ejemplo amp-ad, amp-img, amp-video.
  • AMP JS: un framework js para páginas móviles que administra el control de recursos y los resultados en la carga utilizando llamadas asíncronas con recursos externos.
  • Caché AMP: CDN para la entrega de las páginas AMP válidas.

Cómo de rápido o lento cargue una página puede depender de varios factores que no voy a listar aquí, son de sentido común. Neuronas a trabajar!

Lo importante de esto es entender que las páginas aceleradas móviles AMP son versiones anoréxicas de una web dada. Pero, ¿cómo?

Con el HTML AMP se deshacen de etiquetas “superfluas” además de todo con lo que esta tecnología no esta de acuerdo, es decir, cosas de terceros.

Por ejemplo, Javascript puro está prohibido y se hace uso de su versión AMP para servirlo a través de los CDNs de Google.

En otras palabras, las páginas AMP son lo que se podría conseguir al utilizar HTML estándar puro servido a través de un sistema de caché agresiva.

Obviamente me he dejado muchas cosas en el tintero, si quieres saber mas aquí tienes la documentación que para eso están 😉

AMP HTML, Javascript modificado, CDNs, carga rápida… muy técnico todo pero… ¿y con el SEO que pasa? ¿Cómo afecta la tecnología detrás de las páginas móviles aceleradas al SEO de mi página web?

 

¿Le va a petar el trucutrú las páginas AMP a mi SEO?

Para nada, piensa un poquito y sino vuelve a ponerte el vídeo de presentación de Google y cuando termines contéstame a lo siguiente. ¿En qué posición salen las páginas AMP en las búsquedas de Google?

Aha! Las primeras! Y en formato carrousel. Muy bien!

Pues si, así es, a parte de que es una tecnología de Google, no se van a pegar un tiro en el pie, las páginas que tienen una versión AMP son colocadas en los primeros resultados de búsqueda como resultado del empeño que tiene Google por la adopción de lo que entiende como la nueva web.

Y sino mira los resultados de la siguiente búsqueda.

Faltan mas jalapeños
Faltan mas jalapeños

 

¿Te imaginas salir ahí, en ese primer resultado de nuestro amigo Inda? Wow

inda

 

¿Y todavía te sigues preguntando si AMP afectará a tu SEO?
Para nada, acabas de ver que Google le de preferencia absoluta a las páginas que incorporan versión AMP así que ya sabes, a ponerse las pilas.

Además, como es obvio, los posicionamientos mayores significan que tus páginas tienen unas métricas CTR altas por lo que se deduce que tu contenido obtendrá cada vez mas visitas y lo que los cuñaos llaman engagement.

 

¿Pero están pensadas las páginas AMP para todos los sitios?

Nope. Si tienes una web especialmente estática en la que no publicas o sueles publicar contenido de forma regular esta tecnología no es para ti. No tiene ningún sentido ya que si tu web es estática y tiene un peso medio/alto se podría deducir que es una web de venta de un servicio/producto o se trata de una web de empresa y este tipo de webs no suelen ser visitadas desde un móvil.

En cualquier caso, ambos ejemplos son webs que tradicionalmente vas a ver desde un ordenador. No hay necesidad en una landing page de transmitir la mayor información en el menor tiempo posible por lo cual su contenido no va a estar cambiando periódicamente y haciéndonos así gastar datos de nuestros móviles cada dos por tres.

No, esta tecnología esta orientada a publicaciones, diarios y en general medios de comunicación.

Caso distinto son los ecommerce. Si tienes uno tal vez te estas planteando en adaptar todo tu sitio a su versión AMP. La lógica parece razonable. Si mi web carga mas rápido, subiré como la espuma a los primeros sitios. Si estoy en los primeros sitios, habrá mas clicks y mas ventas.

Pues si y no. si en tu ecommerce te dedicas a generar contenido lateral para poder realizar venta cruzada, se me ocurren por ejemplo artículos y tutoriales, recomendaciones de productos y demas formatos, si que te diría que te pasaras a AMP pero si lo que quieres es meter AMP a tus fichas de productos y reviews… pues mira oye, casi te sale mejor meterle un Varnish….

Vale y ahora a la panoja, a lo que nos gusta…

 

¿Cómo adaptar mi blog hecho en WordPress a AMP?

Pues como no podía ser menos, la comunidad ya ha hecho varios plugins para que tu WordPress funcione perfectamente con AMP, o casi. Resulta fácil hacer una búsqueda en Google, términos como “los mejores plugins AMP para WordPress” seguro que te devuelven 2880000000 blogs con el mismo artículo refrito, sin embargo te voy a enseñar los dos plugins que he utilizado yo.

Plugins AMP para WordPress
Plugins AMP para WordPress

Esos dos, el AMP y el AMP for WP. El primero es el que tengo instalado actualmente y no tengo ninguna pega. Lo instalas y lo activas y ya está, no hay que configurar nada mas. Forma las urls con peticiones GET tal que así:

El segundo plugin, que fue el primero que probé, si que me dio un poco mas de guerra. Al principio me generó la versión AMP y mis páginas bien pero mas adelante Google Webmaster Tools detectó errores y me dejaron de funcionar.

Errores en mis páginas AMP
Errores en mis páginas AMP

 

Si señores, Google Webmaster Tools ya incorpora soporte para las páginas móviles aceleradas y también algunos temas de WordPress presentan problemas o son incompatibles con la tecnología AMP, has de saberlo.

Si estás utilizando el plugin SEO by Yoast deberías saber que hay otro plugin llamado Glue by Yoast que lo que te permite es utilizar las metaetiquetas que hayas definido con Yoast dentro de la versión AMP de tu página.

Otro consejo para mejorar tu SEO 😉 de nada

 

¿Cómo trackeamos las páginas AMP?

Pues nada, de poco nos sirve publicar contenido si no podemos saber como se está comportando ese contenido. Por ello tenemos que trackear nuestras web con servicios de analítica. Tradicionalmente eso siempre ha sido añadir en el HEAD de nuestro HTML la llamada a un javascript de Google Analytics y a correr, si es que funcionas con Google Analytics claro.

Así que podría ser razonable que te preguntarás que si vamos a hacer una nueva versión de nuestra web, la versión AMP, ¿cómo insertamos la llamada a los servicios de analítica?

Si vas con por el camino de WordPress, plugins y tal y no quieres tocar código no te tienes que preocupar por nada ya que los plugins lo van a hacer por ti, pero si te gusta ensuciarte y te estas picando la web a mano que sepas que tienes dos componentes disponibles: amp-pixel y amp-analytics.

Aquí tienes un ejemplo sobre la configuración de pagewies, eventos y todo Google Analytics en general.

<!doctype html>
<html amp lang="en">
  <head>
    <meta charset="utf-8">
    <title>Hello, AMP Analytics</title>
    <link rel="canonical" href="http://example.ampproject.org/article-metadata.html" />
    <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
    <script type="application/ld+json">
      {
        "@context": "http://schema.org",
        "@type": "NewsArticle",
        "headline": "Open-source framework for publishing content",
        "datePublished": "2015-10-07T12:02:41Z",
        "image": [
          "logo.jpg"
        ]
      }
    </script>

    <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>



<style>body {opacity: 0}</style>



<noscript>


<style>body {opacity: 1}</style>



</noscript>
    <script async src="https://cdn.ampproject.org/v0.js"></script>
  </head>
  <body>

  <amp-analytics type="googleanalytics" id="analytics1">
  <script type="application/json">
  {
    "vars": {
      "account": "UA-XXXXX-Y"  
    },
    "triggers": {
      "trackPageview": {
        "on": "visible",
        "request": "pageview"
      },
      "trackEvent": {
        "selector": "#event-test",
        "on": "click",
        "request": "event",
        "vars": {
          "eventCategory": "ui-components",
          "eventAction": "click"
        }
      }
    }
  }
  </script>
  </amp-analytics>




<h1 id="header">AMP Page</h1>




  <span id="event-test" class="box">
    Hacer click para generar un evento
  </span>

  </body>
</html>

Para ir cerrando….

Hemos dejado claro que la tecnología de las páginas AMP nos trae velocidad y rendimiento a nuestras webs. Mejoran su velocidad de carga hasta 4 veces en algunos casos. Ademas de que si al incorporar AMP consigues aparecer en uno de los carrouseles que hemos visto dentro de las SERPs tu CTR se verá muy bien afectado incrementando en varios puntos tu tasa de clicks.

Joder AMP suena del copón en relación al CTR. Si, pero recuerda que esta tecnología esta pensada para sitios webs de noticias, blogs y diarios así que si tienes una tienda electrónica vete olvidando de poner páginas AMP.

En definitiva, las páginas móviles aceleradas o páginas AMP molan, ya tardas en ponerlo en tu blog. Cada vez esta siendo un factor determinante en el posicionamiento de los sitios.

 

Hala a mamarla!

Conceptos básicos de la programación orientada a objetos

En pleno siglo XXI y con una tendencia cada vez mas en aumento del dominio digital en nuestras vidas es imprescindible que todos tengamos unos conocimientos mínimos sobre informática, tecnología y programación. A lo largo de mi vida he conocido a muchas personas que solo sabían encender el ordenador y acceder a sus redes sociales, compartir sus fotos en Instragram y descargar películas desde plataformas de sharing.

Y tal vez eso sea suficiente para ellos pero si ahora mismo desarrollas un trabajo delante de un ordenador deberías tener unos conocimientos técnicos mínimos; y no hablo de conocer el sistema de señales del kernel de nuestro ordenador o saber como gestionar la memoria de tu máquina, tan solo quiero remarcar la importancia de poseer unos conocimientos técnicos en un mundo en el que cada vez dependemos mas de la informática.

Ya se ha demostrado la sana relación que existe entre los niños y la programación en su proceso de aprendizaje maduro. Esto tiene muchísimas ventajas en la formación del cerebro y en su definición de la personalidad. Un niño que aprende programación esta sin saberlo amueblando su cabeza y recibiendo herramientas para pensar de una manera lógica y desarrollando su capacidad para resolver problemas.

Entonces, si un niño es capaz de aprender un lenguaje de programación ¿porque tu no vas a poder aprenderlo?

Otra cosa es si de verdad quieres desarrollar su autosuficiencia tecnológica o si por el contrario quieres seguir dependiendo del friki gordo que juega con los ordenadores toda tu vida. Cuando ese tío ya no este, ¿qué vas a hacer cuando aparezca la temida Blue Screen Of Death en tu ordenador y tu trabajo tenga que ser interrumpido? Por ejemplo…

Por eso y como modo de educación os voy a contar los conceptos de la programación para que a los que os interesa sigáis aprendiendo y para los que no os interesa tanto por lo menos que conozcáis en qué se basa nuestro trabajo y desmentir el mito de que los programadores apretamos un botón y el trabajo ya está hecho.

Por cierto, no somos vagos. Trabajamos con la ley del mínimo esfuerzo pero siempre buscando la manera de optimizar y automatizar procesos de trabajo. 😛

programador

¿Qué es la programación orientada a objetos?

Dentro de la programación existen diferentes paradigmas sobre como afrontar y resolver un problema y estos tipos de paradigma están ligados al desarrollo histórico de la tecnología y de nuestra capacidad para producir mejores máquinas y aumentar la capacidad de cálculo y procesamiento de estas.

Si hacemos una búsqueda rápida veremos que podemos desarrollar haciendo programación funcional, programación imperativa, programación estructural, programación orientada a objetos o las recientes en alcanzar hype programación orientada a eventos y orientada a comportamientos, entre muchas otras…

Pero en este caso vamos a aprender qué es la programación orientada a objetos y para ello la wikipedia nos dice lo siguiente:

La programación orientada a objetos (POO, u OOP según sus siglas en inglés) es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.

Tal vez esta definición te deje con el culo torcido. Para aclarar las dudas y asentar las bases de la programación orientada a objetos has de saber que nuestros ordenadores contienen y procesan datos. Estos datos no dejan de ser información plana que carece de sentido por si mismos y que solo al ser analizados en un universo determinado y conocido obtienen el significado que nos es necesario para nuestros requisitos.

Me explico. Imagina que nuestro ordenador posee los siguientes datos:

Altura Anchura
50 20

Vale, vemos en la tabla que tenemos un dato que representa la altura, cuyo valor es 50, y tenemos otro dato que representa la anchura, que vale 20.

Pero ¿a qué representan estos valores? ¿Son las medidas de una persona? ¿Las medidas de una caja tal vez? ¿O las propiedades de un paquete de tabaco en un dibujo? Digo en un dibujo porque es un plano bidimensional tal y como lo son la altura y la anchura. Al no haber valor para la profundidad, plano Z, no podemos representar una caja o una persona de tres dimensiones, solo es un ejemplo educativo, no os pongáis tiquismiquis cabrones…

Pues bien, esa caja, esa persona o ese paquete de tabaco es a lo que me refiero con el universo concreto de los datos, es el contexto que le da sentido a los valores numéricos que hemos visto. Y como los datos y la informática es impersonal y carente de significado, la programación orientada a objetos es la herramienta que utilizamos para traducir esos valores a conceptos que conocemos de nuestra vida real.

La programación orientada a objetos como su nombre indica trabaja con objetos y nuestro paquete de tabaco del ejemplo es un objeto. Este objeto tiene propiedades como la altura y la anchura y encima puede realizar acciones por si mismo y puede ser sometido a acciones, como por ejemplo abrir el paquete, sacar un cigarrillo, comprobar que tenga tabaco o que el cartón del paquete se degrade.

Pues en la programación orientada a objetos, todo este conjunto de propiedades y acciones es lo que se conoce como objeto que es la representación abstracta de un objeto real de la vida real. ¿Se entiende?

Bueno, si todavía no te ha explotado la cabeza tomate un descanso, tomate un café o échate un piti porque vamos a entrar en faena a partir de aquí…

Representando los datos mediante las clases

Ya hemos visto cual es la definición de un objeto dentro de la programación orientada a objetos, pues bien una clase es la plantilla que vamos a utilizar para modelar este conjunto de datos o estos objetos vamos. Utilizamos las clases para representar entidades o conceptos y definen un conjunto de variables (propiedades) y de métodos (acciones).

Tal y como hemos visto, las clases y objetos suponen el pilar fundamental de la programación orientada a objetos.

Cuando estamos programando y utilizamos una clase, osea la plantilla, para crear un objeto digital, decimos que estamos instanciando una clase.

Para que nuestro ordenador nos entienda tenemos que escribir una clase tal que así:

Atención:

Tutorial basado en PHP. Si eres un Javero o defensor aferrimo de otros lenguajes y te entran pampurrias por favor vete 😛
Cada lenguaje utiliza diferentes sintaxis aunque compartan ciertos aspectos en común.

https://gist.github.com/gorkamu/48c0c5a623b69cb18cc1ac4f086aba30.js

Vale, tal y como puedes ver en el ejemplo, hemos definido la clase utilizando la palabra reservada class para a continuación nombrar a esta clase con el nombre PaqueteDeTabaco. El nombre de una clase puede ser cualquier nombre que te de la gana siempre y cuando no utilices una palabra reservada de esta lista.

Si te fijas bien, la clase tiene un conjunto de propiedades (altura y anchura) y de métodos (cualEsLaAltura, cualEsLaAnchura, abrirPaquete, comprobarSiHayTabaco, sacarCigarrillo)

Las propiedades tienen la palabra private delante de su definición y esto tiene que ver con las buenas prácticas en la programación orientada a objetos y con el encapsulamiento de datos. La palabra reservada private hace referencia al ámbito de las variables o como se diría en inglés al scope.

Existen varios tipos de ámbitos o de visibilidad de propiedades y métodos:

  • public: permite que el valor de la propiedad o el método sean accesibles desde cualquier lugar como por ejemplo otra clase u otras instancias de esa clase.
  • protected: hace que el valor de la propiedad o el método sea accesible desde la misma clase o desde cualquier otra que herede de ella.
  • private: hace que el valor de la propiedad o el método solamente sea accesible desde la misma clase que la define.

El valor de una propiedad no debería ser accesible desde fuera de una clase o desde otra clase sin utilizar un método que nos proporcione ese valor y aquí es donde entran los métodos getters y setters. Métodos get para recuperar un valor y métodos set para establecer un valor. Por ejemplo, si queremos acceder a la altura del paquete de tabaco tendríamos que hacerlo tal que así.

$paqueteDeTabaco->cualEsSuAltura();

Vuelve a fijarte en la definición de la clase que hay algo que todavía no he explicado… ¿Ya? ¿No te mosquea el uso de la palabra $this? ¿No sabes qué es?

Pues bien, la palabra $this es una pseudovariable, no forma parte de nuestra clase ni tenemos que definirla ni nada por el estilo, es una forma que nos da la sintaxis del lenguaje para poder acceder a elementos de una clase dentro de la misma clase ya sean propiedades o métodos y que solo funciona dentro de la clase.

Si intentas utilizar en cualquier lugar fuera de la clase te fallará.

Creando instancias de clases

Para crear la instancia de una clase y poder utilizarla en nuestro programa tendremos que utilizar la palabra reservada new.

$paqueteDeTabaco = new PaqueteDeTabaco();

Cualquier objeto se creará siempre y cuando tenga un constructor, pero ¿qué coño es un constructor?

Pues un constructor es el método que se encarga de construir el objeto, ¿obvio no? Un constructor se define tal que así:

function __construct() {
...
}

Al utilizar la palabra reservada new, internamente estamos llamando al constructor de la clase, aunque si te fijas en la clase del ejemplo, verás que no hay definido ningún constructor y esto es porque la clase utiliza el constructor por defecto, que al igual que con la pseudovariable $this no nos tenemos que preocupar de definir, ya nos lo provee el lenguaje.

Solo nos preocuparemos de definir siempre y cuando  queramos hacer algo específico en el proceso de construcción del objeto como por ejemplo inicializar variables o llamar a métodos de la clase.

Al igual que todo en la vida, todo lo que se crea se puede destruir y en la programación orientada a objetos no podría ser de otra forma. El lenguaje también nos provee de un método para destruir el objeto y esto es el destructor o la función destructora.

function __destruct() {
...
}

Generalmente utilizamos esta función para liberar memoria, aunque ese es un tema para otro post…

Otra cosa que podemos hacer con los objetos a parte de construirlos y destruirlos es clonarlos o lo que es lo mismo, hacer una copia de ellos mismos. Cuando se clona un objeto PHP hace una copia superficial de todas las propiedades del objeto. Si por cualquier caso una de estas propiedades es una referencia a otra variable el objeto clonado mantendrá esta misma referencia.

$paqueteDeMarlboro = new PaqueteDeTabaco();
$paqueteDeChester = clone $paqueteDeMarlboro;

Internamente al hacer una copia de un objeto estamos llamando al método mágico __clone().

Otro concepto importante en la programación orientada a objetos es la herencia.

Entendiendo la herencia

Entendiendo la herencia y digo entendiendo porque es un concepto bastante abstracto que tenemos que masticar muy detenidamente.

Volvamos al ejemplo del paquete de tabaco. Un paquete de tabaco es un concepto abstracto ya que nos imaginamos el concepto pero no somos capaces de identificar de que marca de tabaco se trata, si pertenece a tabaco negro o tabaco rubio o si se trata de cigarrillos hechos o de tabaco de liar.

Ahora si te imaginas un paquete de Ducados, otro de Marlboro y otro de Golden Virginia, estarás de acuerdo conmigo en que los tres son paquetes de tabaco y que entre ellos comparten ciertas características como la altura y la anchura del paquete pero se diferencian entre ellos del tipo de tabaco, de la presentación y de la marca.

Ademas estos tres paquetes pueden realizan acciones como abrir el paquete y/o saber cuantos cigarrillos quedan, sin embargo, por la fisionomía del packaging de los distintos paquetes, cada uno de ellos se pueden abrir de una forma diferente, por ejemplo…

Pues bien, si aplicamos esta lógica a la programación orientada a objetos, tendremos cuatro clases diferentes:

  • PaqueteDeTabaco.class.php
  • PaqueteDeDucados.class.php
  • PaqueteDeMarlboro.class.php
  • PaqueteDeGoldenVirginia.class.php

La clase PaqueteDeTabaco.class.php sería la clase padre y el resto de clases son las clases hijas que heredan de la clase padre. Mejor veamoslo con un dibujico…

Herencia en la programación orientada a objetos
Herencia en la programación orientada a objetos

Tal y como se ve en la imagen, cada una de las clases hijas comparten propiedades y métodos entre ellas gracias a la clase padre. Una instancia de la clase PaqueteDeDucados.class.php, otra de la clase PaqueteDeMarlboro.class.php y otra de PaqueteDeGoldenVirginia.class.php podrán utilizar el método abrirPaquete() y cualquiera de las tres podrán acceder al método cualEsLaAltura() para obtener el valor de la propiedad $altura de la clase padre y todo este gracias a la herencia.

Sin embargo, si preguntas al PaqueteDeDucados por su marca y tipo serán muy diferentes de las del PaqueteDeMarlboro.

$paqueteDeDucados->cualEsLaAltura();
$paqueteDeMarlboro->abrirPaquete();
$paqueteDeGoldenVirginia->comprobarSiHayTabaco();

Si nos ponemos puristas esto no sería del todo así ya que ambas clases hijas comparten marca y tipo de tabaco por lo que haciendo una buena refactorización deberíamos situar estas propiedades en la clase padre, pero para el ejemplo y para que sea mas visual nos vale.

Así pues, para que una clase herede de otra en PHP deberemos utilizar la palabra reservada extends en la definición de la clase.

Todos los métodos y propiedades de la clase padre pueden ser sobrescritos por las clases hijas. Esto quiere decir que, siguiendo el ejemplo, podemos re-definir el comportamiento de la función abrirPaquete() para una clase en concreto, por ejemplo para la clase del paquete de Golden Virginia ya que este tipo de tabaco no se vende en una cajetilla sino en un sobre y por lo que para abrir el paquete deberemos desenrollarlo en lugar de abrir la cajita, no se si me explico xD

Podremos sobrescribir un método padre siempre y cuando no haya sido definido como final.

Por otro lado, para acceder a una propiedad o llamar a un método padre desde una clase hija tenemos que utilizar la palabra reservada parent junto con el nombre del método.

https://gist.github.com/gorkamu/83780bea63001cf9c93ffc15a04ea721.js

Pues bien, como podemos ver en la clase de arriba, tenemos el método sacarCigarrillo() que pertenece a la clase padre pero que en este ejemplo de clase hija debemos re-definir ya que en el tabaco de liar los cigarros no vienen hechos sino que tenemos que coger un poco de tabaco, un papel y un filtro y liarlo.

A diferencia del resto de clases de paquetes de tabaco, el método sacarCigarrillo() nos devolvería un cigarro, sin tener que liarlo y por lo cual no haría falta sobrescribir este método.

 

Pues nada, obviamente quedan muchísimo mas conceptos por conocer y dominar en la programación orientada a objetos pero para ir entrando en faena creo que esta ha sido una buena primera aproximación.

Se que el tema ha sido largo y puede ser duro para una persona que nunca ha visto nada sobre lenguajes de programación así que si tienes algún tipo de duda o sugerencia puedes dejarme un comentario mas abajo o hacerlo a través de twitter a través del siguiente banner.

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

¡Hala a mamarla!

5 comandos GIT que deberías conocer

Que pasa chumachos!

Si estas leyendo esto en 2016 y no sabes que es GIT vas apañao. ¿Si te digo Sistema de Control de Versiones (CVS) te suena mas? ¿Si? ¿No? ¿No sabes no contestas? Bueno… en fin… vamos con una primera definición de la Wikipedia…

Git (pronunciado “guit”) es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente

Ufff…. esto tampoco lo deja muy claro, bueno intentaré realizar una explicación mas simple mediante ejemplos, ¿cómo si no?…

Imagina que estas trabajando en un proyecto junto a un compañero, escribes un pedazo de código, lo pruebas en desarrollo y lo subes a pre-producción. A la semana, tu compañero encuentra un bug en ese pedazo de código tuyo, lo encuentra y lo arregla pero no quiere borrar tu código porque cree que mas adelante puede refactorizarlo para hacer un código mas limpio así que lo comenta en bloque para que, aunque no sea funcional, poder revisarlo mas adelante.

Siguen pasando las semanas de desarrollo y las subidas semanales a pre y producción y obviamente tu compañero y tu seguís con esta practica de comentar código, llegará un momento en que no sabréis que versión del código tenéis cada uno y que versión de código esta desplegado en producción. Se trasca la magedia…

Pues esta realidad tan arcaica fue algo muy común en los desarrollos hasta que llegaron los Sistemas de Control de Versiones y aunque en un primer impacto está pensado para el código fuente y ficheros en texto plano no es algo determinante ya que puedes aplicarlo a cualquier tipo de fichero informático, aunque luego tengas que leer trazas en base64 al resolver conflictos xD

Así pues con GIT vas a poder mantener tantas versiones como quieras de un fichero pudiendo volver atrás en el tiempo para rescatar un cambio que hiciste incluso, y aquí viene lo chulo, podéis trabajar varias personas sobre el mismo fichero sin tener miedo a perder cambios o pisaros los unos a los otros.

Actualmente el BFS (Big Fucking System) de este tipo de software es GIT, es el rey de todos los sistemas de control de versiones y mas junto a la plataforma Github que sirve para alojar proyectos Open Source utilizando este sistema aunque por supuesto existen otros competidores en el juego como Subversion o SourceSafe aunque están a años luz del rey.

Así pues, una vez hechas las presentaciones vamos a ver los comandos git típicos que deberías conocer para desenvolverte con total fluidez a la hora de versionar tu trabajo y sobre todo qué es lo que puedes hacer con GIT.

 

Los comandos git de los campeones

Has escrito código nuevo y lo quieres guardar en el servidor para que el resto de los compañeros puedan descargar tu aportación, con la siguiente secuencia de comandos git lo puedes hacer muy facilmente.

git add fichero.php imagen.png script.sql
git commit -m 'Adding my first changes'
git push origin issue/rama

Con estos comandos lo que estas haciendo es añadir tres ficheros (fichero.php, imagen.png y script.sql) al área de preparación y le añades un comentario específico a ese commit, para que trackearlo y después puedas encontrarlo rápidamente si es que lo necesitas. Con el último comando, push, estas enviando tus cambios a la rama issue/rama que se encuentra en el servidor origin, nombre por defecto que le da GIT al servidor.

Estos comandos git te permiten enviar cambios al repositorio
Estos comandos git te permiten enviar cambios al repositorio

 

¿Fácil no? ¿Pero y si lo que queremos es descargarnos los cambios de un compañero que están alojados en otra rama del servidor? Pues con los siguientes comandos git podemos hacerlo…

git checkout issue/rama_de_tu_compi
git pull origin issue/rama_de_tu_compi

El primer comando te cambiará tu área de trabajo a la rama issue/rama_de_tu_compi y con el segundo traerá los cambios que no hayas descargado de esa misma rama.

Guay, el utilizar estos dos comandos a la perfección son la esencia de GIT ya que sino no vas a poder trabajar, vamos mas básico que esto no hay nada. Hacer cambios y confirmarlos y descargarse cambios. Fin.

Pero vamos a ver otros comandos git un poco mas complicados o de Pro Master, coño.

Imagínate que estas felizmente trabajando en tu rama issue/rama y has tocado varios ficheros pero justo ha entrado una incidencia crítica que tienes que resolver que exige que cambies de rama pero no quieres perder esos ficheros modificados, aunque tampoco quieres mandarlos al servidor porque aun no están preparados. Bueno pues GIT tiene unos comandos para guardar de manera temporal estos cambios y luego poder recuperarlos.

git stash
git stash list
git stash apply

El primer comando va a guardar esos cambios no confirmados de manera provisional en tu máquina local. Importante resaltarlo ya que no se envían al repostorio. Con el segundo comando verás un listado de los diferentes conjuntos de ficheros almacenados provisionalmente y correctamente etiquetados con un hash. El último comando es para volver a aplicar sobre la rama los cambios que habías guardado de forma temporal en tu ordenador.

Si ejecutas el stash apply como pone en el ejemplo, se aplicarán los cambios de todos los ficheros, si quieres solo aplicar algún cambio en concreto habrá que pasarle al comando el hash identificativo que antes veíamos con el stash list.

¿Hasta aquí bien verdad?

Ok, pues imagina que estas trabajando en el fichero fichero.php y en el momento de commitearlo la cagas y ejecutas un git add *, esto lo que hace es enviar todos los ficheros al área de preparación. Obviamente solo quieres enviar fichero.php y también se te ha añadido script.sql porque detecta un cambio que no quieres enviar. Okay, que no cunda el pánico.

Para sacar un fichero del área de preparación y deshacer los cambios ejecuta los siguientes comandos git.

git reset HEAD script.php
git checkout -- script.php

Ale, ya esta fuera del área y lo has dejado como si no lo hubieses modificado, ya puedes ir a por el commit 😉

jeje pero que exagerado, si hay un incendio primero hay que hacer un git add *
jeje pero que exagerado, si hay un incendio primero hay que hacer un git add *

 

Muy bien si ya has conseguido llegar hasta el punto de modificar algo y enviarlo al servidor, eso teóricamente significa que tus cambios están listos para ser incluidos en la rama master.

La rama master es la rama que mantiene el código o los cambios que van a producción, aquí se encuentra la versión oficial y definitiva de los cambios, con la rama master no se juega.

Así que si tus cambios ya están terminados y han sido aprobados acabarán aquí. Muy bien, haces el commit y el push y en el momento de solicitar un pull request para que incluyan tus cambios sobre master… Meeeck, error, aparecen conflictos y no se puede mezclar. Aaaahhh la puta, a todos nos ha pasado y da muchísimo por culo.

La principal causa de que no puedas mergear tus cambios sobre la rama master es que en el momento de realizar los cambios en tu máquina no estabas completamente actualizado y sincronizado con el código de master o lo estuviste en el momento de abrir la rama para comenzar a trabajar pero algún listo ha hecho cambios que tu no tienes por lo que te has quedado completamente desfasado. Anda que no jode…

Bueno pues es tan sencillo como ejecutar los siguientes comandos git.

git checkout master
git pull
git checkout issue/rama
git merge master
git commit -m 'Merging master branch into issue/rama to avoid conflicts'
git push origin issue/rama

Con esto lo que estas haciendo es volverte a bajar master y actualizarla para que una vez tienes todo el código sincronizado con el repositorio actualizar tu rama issue/rama mezclando el código de master con ella misma. Creo que se entiende bien ¿no? Los otros comandos git ya los hemos visto mas arriba…

Como todo, y a raíz de esto, unos te dirán que todas las ramas deben de salir desde la rama development y que únicamente saldrán desde master cuando se trate de un hotfix y otros empezarán todas sus ramas desde master… en fin, toda esta filosofía git depende de como este organizado el proyecto ya que la teoría de ramas da para mucho, muchísimo, para un artículo enterito casi casi xD

En fin, esto es lo bueno de trabajar con GIT, ofrece flexibilidad ilimitada para que cualquier equipo de trabajo pueda organizar y mantener su propio proyecto como le de la gana, aunque también te digo que hay unas recomendaciones y buenas prácticas que ya veremos en otro momento…

Pues nada chachos, hasta aquí mi artículo sobre comandos GIT y segundo listado del 2016, Gorka eres un bocazas si tenéis alguna duda sabéis que podéis dejarla en los comentarios o utilizar twitter a través del siguiente banner 😉

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

 

Hala a chuparla!

Superenlace para hacer backlinking

Que pasa chumachos!

Vengo otra vez con otro artículo rapidito de linkbuilding, de esos que utilizo para sacarme una publicación de la manga y mantener así el calendario semanal pero, en este caso el sitio que os voy a enseñar tiene unas métricas que os hará el culo pepsicola.

Se trata de dejar un enlace en Jsfiddle y para el que no lo conozca se trata de una plataforma que te proporciona un sandbox o entorno de pruebas para poder probar pequeños snippets de código. Totalmente orientado el frontend ya que “solo” te deja probar HTML, CSS y JS.

Jsfiddle te deja probar código sin la necesidad de registrarte pero si lo haces accederás a un montón de funcionalidades bastante chulas y de hecho tienen por ahí un tablero en el que puedes ir viendo el seguimiento del proyecto.

Bueno, ahora que ya conoces la plataforma muy por encima vamos a lo que nos interesa, conseguir ese esperado enlace dofollow con una autoridad de página de 87 y una autoridad de dominio de 84. Toma ya!

Una vez entres en Jsfiddle verás que el espacio de trabajo se divide en cuatro tableros. Arriba a la izquierda para el código HTML, arriba a la derecha para los estilos CSS, abajo a la izquierda para el Javascript y abajo a la derecha mostrará el resultado. Pues es en el cuadrante del HTML dónde dejaremos nuestro enlace.

Con escribir una línea de código será mas que suficiente.

Las tripas de nuestro super enlace dofollow
Las tripas de nuestro super enlace dofollow

Una vez le des al botón de Run verás el enlace en funcionamiento en el cuadrante de los resultados (abajo a la derecha) y si no me creéis podéis inspeccionar con las herramientas para desarrolladores para ver que se trata realmente de un enlace dofollow.

Que no os engaño capullos
Que no os engaño capullos

Pues bien, ya tenemos el enlace dofollow con unas métricas de la polla, tan solo queda enviarlo al índice de Google y pingearlo to the limit. Si hacéis click en el botón de Save que está al lado de Run obtendréis el enlace al snippet de código y éste enlace es el que tendréis que blastear como si no hubiera mañana.

Hala a mamarla!

Allahu akbar: cómo hacer una bomba lógica

Que no cunda el pánico!

Relajad las tetas que en este post no vamos a hacer exaltación al terrorista ni os voy a enseñar a hacer un artefacto pirotécnico. Si habéis entrado buscando ese tipo de información ya os podéis dar media vuelta e iros a freír espárragos. Lo que vamos a aprender en el post de hoy es a hacer una bomba lógica o mas concretamente una bomba fork y que afecta a sistema GNU/Linux.

Algo ya viejo y conocido en el mundo de la inseguridad informática junto a otros amigos como los virus, los gusanos o los rootkits pero que siempre es divertido de aprender y conocer su funcionamiento y que si se lleva a cabo con un poquito de ingenio, con tan solo tirar un par de caracteres podemos hacer muuuuucho daño.

Vamos a ver qué es una bomba lógica, vamos a aprender a programar una bomba fork y sobre todo vamos a ver cómo solucionarlo.

¿Qué es una bomba lógica?

Actuación de una bomba fork
Actuación de una bomba fork

Según la wikipedia:

Una bomba lógica es una parte de código insertada intencionalmente en un programa informático que permanece oculto hasta cumplirse una o más condiciones preprogramadas, en ese momento se ejecuta una acción maliciosa

Esta bomba la podríamos añadir al init.d de nuestro sistema Linux y joder para siempre el arranque del sistema operativo o al menos hasta que un experto le meta mano y consiga arreglarlo.

Vale, creo que ya ha quedado claro qué es una bomba lógica pero y una bomba fork que es sobre lo que estamos hablando hoy.. ¿qué es?

Pues una bomba fork sigue el mismo paradigma que las bombas lógicas pero se diferencia en que estas bombas son un tipo de ataque DOS que consiguen ocupar todo el espacio disponible de memoria RAM de un sistema.

Las bombas fork funcionan de la siguiente manera. Una vez que ha sido activada, el proceso padre que la maneja es capaz de crear procesos hijos que a su vez crean mas procesos hijos que a su vez crean mas procesos hijos y así hasta el infinito y de una manera recursiva. Estos procesos no reciben una señal SIGKILL por lo que no pueden ser matados. Como os imagináis y debido a esto el consumo de memoria RAM cada vez es mayor y mayor y la única solución para parar una bomba lógica es reiniciar el sistema.

Pues bien una bomba fork puede ser programada en cualquier lenguaje de programación, lenguaje de programación que no de maquetación, escribir HTML no es programar mamones 😉

Las siguientes líneas son un ejemplo de bomba fork escrita en C++

#include <unistd.h>

int main()
{
  while(1) {
    fork();
  }
  return 0;
}

Como leéis en el código, a no ser que se cumpla una condición, se va a estar ejecutando la función fork indefinidamente ya que la condición no se va a cumplir nunca en este snippet, te va a petar la memoria… ufff

Pero si algo me ha motivado a escribir este post sobre cómo hacer una bomba lógica es un snippet escrito en una sola línea en bash.

:(){ :|:& };:

¿Verdad que mola? Es muy gracioso, me recuerdan a caritas de patitos, pero patitos cabrones los muy joputas, no lo ejecutéis en vuestro en ordenador si no queréis tener que reiniciar el aparato…

Vamos a intentar desgranar esta línea para que quede mas clara.

Lo que en una sola linea contiene toda la lógica, si lo formateamos podemos empezar a ver lo siguiente:

:(){ 
  :|:& 
};:

La primera parte o línea del snippet formateado e identado se corresponde con la el nombre de la función, es decir, en lugar de llamar a nuestra función con un nombre literal la hemos nombrado con el nombre de los dos puntos.

Esto

:(){ 
}

Es igual a esto

bomba(){ 
}

¿Hasta aquí bien no? Ok

La segunda línea se corresponde con la llamada recursiva a sí misma haciendo uso de las tuberías UNIX pero sobre todo y lo mas jodido es el ampersand utilizado al final. Si recordáis las clases de Linux, sabréis que el uso de este símbolo después de la llamada de una función hace que el proceso se ejecute en segundo plano y se mantenga en constante ejecución hasta que termine o sea matado.

Así pues esto

:|:& 

Es igual a esto

bomba | bomba & 

Y para rizar el rizo, una vez que la ejecución de la bomba lógica ha terminado, vuelve a llamarse a si misma volviendo a iniciar todo el ciclo y volviendo a tocar los cojones xD

Por lo cual, el código desgranado y explicado queda de una forma que es mucho mas sencillo de leer y entender.

bomba(){ 
  bomba | bomba & 
};bomba

Ahora bien, si hemos sigo tan tontos de auto hacernos un ataque DOS mediante bomba lógica o hemos sido infectados mediante por ejemplo un script en el init.d tal y como decía antes, ¿cómo podemos parar una de estas bombas?

Mitigación y solución a bombas lógicas

Como decía antes, parar una bomba de este tipo es algo bastante difícil debido a la recursividad y a que tienden a ir ocupando todos los bloques de memoria disponibles hasta saturar completamente toda la RAM. Una solución que podría llevarse a cabo sería en ejecutar un script que se dedicase a ir matando procesos aunque puede no ser posible si no hay posiciones vacías dentro de la tabla de procesos o espacio dentro de las estructuras de memoria.

Si realmente queremos prevenir un ataque de este tipo, la mejor solución sería limitar el número de procesos que pueden ejecutar los usuarios. En el kernel de Linux existe una variable llamada RLIMIT_NPROC, que indica la cantidad máxima de procesos que se puede ejecutar. Si un proceso intenta llamar a la función fork y el usuario que es propietario del proceso ya tiene igual o más procesos que los indicados en RLIMIT_NPROC la llamada a la función fallará y se evitará la ejecución lógica de la bomba.

Bueno pues nada chavales, ya habéis aprendido otra cosa mas sobre vuestros sistemas, si tenéis alguna duda podéis dejarme un comentario o escribirme a Twitter a través del banner de abajo. Si ponéis en práctica esta bomba lógica que sea sobre vuestro propio ordenador o sobre una máquina virtual, no seáis hijoputas y ataquéis a otras personas, si lo hacéis yo no quiero saber nada…

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

 

Hala a mamarla!

Truco para aumentar las visitas de tu web

[xyz-ips snippet=”ADSENSE-MOUSE-FOLLOWING”]

Que pasa putillas!

¿Cuántos de los que van a leer esta entrada tiene una web o un blog? ¿Y cuántos de éstos se pelean diariamente por arañar unas pocas visitas mas? Que el tener el mayor número de visitas es igual a ganar pasta no es un secreto pero lo que si que es un secreto son los métodos para aumentar las visitas de tu web.

Y muchos me diréis que escribiendo contenido de calidad y el distribuir vuestras entradas a través de las redes sociales es el método perfecto para aumentar las visitas de tu web. Pues para los que penséis así os diré una cosa… mis cojones treinta y tres xD

Ese método es el legal-method, la forma que utilizan los webmasters de capa blanca pero los que estáis en este blog desde hace tiempo sabéis que soy un poco perro en cuanto a técnicas y métodos y en esta entrada os voy a enseñar un truco para incrementar las visitas de una web de una forma un tanto oscura y sucia pero muy muy fácil y sobre todo efectiva.

Si eres de los que van de legal por la vida es mejor que dejes de leer y te vayas a ver vídeos de gatitos porque este método te va a producir sarpullidos.

Te aviso que este truco esta muy enfocado a nicho y a monetización fácil, de click rápido. Vamos, que vamos a robar el cobre de las paredes de Google 😉

En artículos anteriores os he hablado de plataformas para intercambiar acciones sociales con el fin de ganar signos sociales en tus activos digitales, ya sea consiguiendo seguidores en Facebook, incrementar los +1 en tus círculos de Google Plus o hacer que tu tweet se retweetee hasta el infinito.

Pues bien en este artículo os voy a hablar de otra plataforma con la que ganar minutos de visualización para enviar tráfico a tu web.

Pues bien, antes de conocer este tipo de plataformas, el tráfico de uno de mis nichos era tal que así.

Tan solo tenía posicionadas un par de keywords y como veis el número de de visitas diarias no superaban las 40. Obviamente el número total de ingresos era de risa. Número de visitas bajas y bajo CTR y Gorkamu se comía los mocos. Después de empezar a darle chicha a la plataforma y enviar un número decente de visitas a mi web, mis analíticas quedaron tal que así.

Bom! Headshot! Las visitas llegaban y lo ingresos crecían. Fijaos en el salto cuantitativo, de tener una media de 30 visitas diarias a tener un incremento diario constante y esto fue gracias al truquito y a la plataforma que os comento. Hay que aclarar que este aumento no se debió a que cada vez tenía mas keywords posicionadas. Estas gráficas son de un nicho en el que apenas le he hecho linkbuilding.

Pero vamos a explicarlo con mas detalle…

 

Truco para aumentar las visitas de tu web como un pro

Hitleap es la plataforma que os decía antes para aumentar las visitas de tu web pero hay muchas otras páginas de autosurfer como Beehits, Otohits o ClickEvolution aunque esta review trata sobre Hitleap.

El funcionamiento básico de este tipo de webs consiste en realizar algo por algo, es decir, me descargo un cliente de escritorio en el que van apareciendo páginas web y tengo que aguantar viéndolas una duración determinada. Por cada web vista dan un número de segundos para utilizar en tu propia web. A mayor número de webs vistas mayor número de segundos acumulados con los que canjear para enviar tráfico a tu web. Así es como se consigue aumentar el número de visitantes diarios de tu web. ¿Se entiende no?

HItleap tiene varios planes para realizar todo esto. Si accedes a la web con el plan gratuito tendrás que ganar segundos de visualización con el cliente de escritorio que os decía antes aunque también tiene diferentes planes de pago que ya te dan una cantidad bastante maja de visualizaciones y así te evitarás tener que perder el tiempo viendo otras webs.

Personalmente tengo que decir que pillar el plan Premium sale muchísimo mas rentable que estar con el plan gratuito pero eso ya lo veremos mas adelante, por el momento vamos a configurar un sitio y ver sus diferentes opciones.

Configurar el sitio que recibirá los hits

Mirad la relación de hits recibidos y el número de minutos ganados. Bastante ridículo no? xD Os aseguro que si funcionase con el plan gratuito las gráficas estarían invertidas. Pero bueno, lo primero de todo, para el que no haya usado nunca una plataforma de Autosurfing un Hit se corresponde con una visita enviada a tu web.

Lo primero de todo es registrarnos en Hitleap a través de este enlace.

Para configurar la web a la que queremos enviar hits tenemos que dirigirnos a la opción de My Websites del menú superior. ¿Obvio no?

Menú de Hitleap
Menú de Hitleap

 

Allí a través del botón de “+ ADD NEW WEBSITE” se nos presenta un formulario en el que elegir las diferentes configuraciones que podemos hacer para aumentar el tráfico de una web.

El primer campo que veréis es para insertar la URL de la página a la que queréis enviar el tráfico. Con los links que hay debajo del campo de texto de la URL podéis configurar varios destinos, es decir, podéis añadir varias webs una a una o si tenéis un listado de URLs pues también podéis añadirlas copiándolas en líneas diferentes.

El siguiente paso es definir la duración de estos hits. Tienes a continuación un cuadrado en el que puedes definir si vas a querer visitas con la misma duración o con una duración aleatoria. Si escoges la primera opción, podrás definir la misma duración que va desde los 10 segundos hasta el minuto. A medida que vayas moviendo la barrita para configurar los segundos verás en la parte inferior de este cuadro cuanto te va a costar en minutos enviar el tráfico.

Configuración para aumentar las visitas de tu web
Configuración para aumentar las visitas de tu web

 

La opción de “Random duration” te permite configurar una horquilla de segundos aleatorios. Personalmente prefiero esta opción porque es mas natural. No nos servirá de nada que hagamos todo este proceso si luego Google detecta que todos los días nos llegan 300 visitas que aguantan en la web 23 segundos exactos por ejemplo, es un poco sospechoso no?

Si no aplicamos este truco de una manera natural nos podemos llegar a llevar una penalización y si hay penalización no hay money. Y no money no party. Por eso os aconsejo que utilicéis siempre la opción de duración aleatoria, por lo menos es la que utilizo yo…

Sigue el origen del dinero…

El siguiente paso es configurar el origen de las visitas que vamos a enviar a nuestra web. Si seguimos con el formulario veremos este cuadro.

Origen del tráfico
Origen del tráfico

 

Aquí tenemos tres opciones diferentes para configurar nuestro envío de tráfico y que paso a contaros a continuación:

  • Directo/Anónimo: este origen de tráfico no los¡ vas a poder trackear y se corresponde a introducir directamente la URL en el navegador, bastante aburrido y solo disponible con el plan gratuito de Hitleap (creo)
  • Referrer URL: este origen de tráfico te va a permitir decidir desde dónde quieres que lleguen las visitas. Si despliegas el seleccionable de la derecha veras opciones predefinidas como el enviar el tráfico desde Google, Facebook, Twitter, Youtube o Pinterest aunque nada te ata a estas opciones ya que con el campo de texto podrás definir tus propios referrer o cabeceras HTTP. Esta opción esta guay si por ejemplo necesitas aumentar tus visitas desde redes sociales.
  • Search keyword: definitivamente esta opción solo está disponible en el plan Premium y no lleva mucho tiempo la verdad… Te permite configurar una keyword desde la que te mandan la visita. Es como si el usuario hiciera una búsqueda por tu keyword e hiciera click en la web. Teóricamente aumenta el CTR pero la he estado y no funciona del todo bien, se ve que aun no esta del todo fina esta opción… No te preocupes que si quieres aumentar el CTR te voy a enseñar otro truco sucio a continuación 😛

Truco guarrete para aumentar el CTR de tu web

Pues si majos, porque a parte de poder aumentar las visitas de tu web enviando tráfico falso, Hitleap también nos da una opción oculta para aumentar el CTR de nuestra web, pero para ello tenemos que pensar un poquito. Estoy seguro que con lo que os he contado hasta ahora de la plataforma podéis averiguarlo, sino es así no os preocupéis que yo pasé un tiempo hasta que me di cuenta, se ve que no tenía muchas luces xD

En cualquier caso, para los que no lo habéis averiguado hasta ahora tenéis el truco a continuación pero para ello os pido que realicéis una acción social para desbloquear la fuente de conocimientos Jedi… 🙂

[sociallocker]

El CTR es lo que se conoce en inglés como Click Through Rate o lo que es lo mismo el número de porcentaje de clicks que recibe una web en comparación con el número de impresiones en los buscadores y así a muy grandes rasgos indica el índice de popularidad de una web. Me explico, si de cada 100 impresiones en los motores de búsqueda una web recibe 90 clicks, esto le está indicando a Google que nuestra web es buena y por ende debe ser colocada en posiciones superiores en las SERPs.

Esta explicación es una aproximación muy vaga sobre cómo funciona el algoritmo de Google ya que entran en juego muchos mas factores pero sirve para explicar como podemos manipular nuestro CTR a través de Hitleap.

El truco consiste en hacer uso de la segunda opción cuando elegimos el origen del tráfico, es decir del Referrer URL. Si en lugar de utilizar las fuentes de tráfico que nos sugiere la plataforma rellenamos la caja de texto directamente con el enlace de Google a nuestra web para una palabra clave, estaremos simulando los clicks en las SERPs que nos traerán visitas. Esto Google lo verá y entenderá que nuestra web tiene que estar en una posición superior.

Pero no vale con utilizar el enlace de Google ya que este utiliza parámetros únicos para cada búsqueda como la localización o la fecha de búsqueda, para ello vamos a utilizar el siguiente enlace:

Tenéis que sustituir las palabras en rojo por vuestros términos. La primera es la keyword a la que queráis mejorar el CTR y el segundo es la dirección de tu web y que se corresponderá con la misma URL que hayas configurado al principio de todo el proceso.

Esto a parte de mejorar el CTR nos ayudará a mejorar el rebote y el ranking en Alexa de nuestra web.

[/sociallocker]

Las opciones avanzadas de los fuckers

Estas son las últimas opciones de configuración que vamos a ver y que solo están disponibles para los planes Premium. Estas opciones nos permiten configurar el número máximo de hits que van a ser enviados a la web en una hora.

Al igual que con el cuadro de la duración de las visitas, aquí podemos utilizar un límite fijo de visitas por hora o establecer una horquilla. Es decir, podemos decirle a Hitleap que cada hora nos envíe entre 30 y 80 visitas por ejemplo. En cualquier caso, el número máximo para ambas opciones es de 500 hits por hora.

Mismo consejo que antes, hacedlo aleatorio, que parezca lo mas natural posible.

La última opción es el límite total de visitas. Podemos enviar todas las visitas que podamos hasta que se nos acaben los minutos o podemos configurarlo para que deje de enviar tráfico una vez hayamos llegado a un número deseado.

Como veis, esta plataforma nos da un montón de opciones diferentes para configurar nuestro tráfico. El resultado dependerá de como lo hayamos configurado.

Ahora bien, lo que nos interesa, la panoja…

¿Queréis ver los ingresos que he conseguido utilizando este truquito? Pues solo os lo enseñaré si este artículo se comparte 100 veces 😛

Jejeje que perro el Gorkamu que no? Hay que generar expectativa coño, si el artículo se comparte ese número de veces prometo que actualizaré el post poniendo pantallazos de mis ingresos junto a otro truquito que va muy bien con este método.

 

Consejos y buenas prácticas para aumentar las visitas de tu web

Lo último que os quiero contar son las buenas prácticas que tenéis que seguir a la hora de enviar tráfico a tu web si no quieres que todo el peso de Google caiga sobre tu sitio. Mucho se habla en los foros de que este método no sirve con blogs que se monetizan a través de Adsense y que lo único que conseguirás será llevarte un baneo.

Pues no, no hay peligro de utilizar este truco siempre y cuando se haga bien y aquí vienen algunos tips:

  • Has de parecer natural: con esto me refiero a que nunca envíes mas visitas de las que tiene tu palabra clave en el planificador de palabras clave de Google. Si estas compitiendo por una keyword que tiene un volumen de búsqueda de 1000 búsquedas mensuales, jamás le envíes 288000 visitas en un mes. Existe un límite superior aceptable que andaría entre el 3% y el 7% por encima de las búsquedas mensuales y que se corresponderían con visitas llegadas desde otra fuente de tráfico como agregadores, marcadores o redes sociales. Lo que te tiene que quedar claro es la mesura.
  • No pongas todos los huevos en la misma cesta: reparte las visitas que vas a enviar entre varias URLs y con diferentes opciones de configuración. Es preferible enviar 1000 visitas a 10 páginas diferentes que 1000 visitas a una sola. Si lo haces Google se puede mosquear ya que por mucho que tu web se haya podido viralizar no es un buen indicativo que solo una de tus páginas reciba tantas visitas mientras que el resto no. Si repartes las visitas a parte de parecer mas natural estarás mejorando el porcentaje de rebote de tu web.
  • Crece progresivamente: ayer tenías 10 visitas hoy tienes 13000. Error. Huele a penalización. No seas idiota y comienza enviando un par de visitas a un conjunto de URLs, cada tres o cuatro días aumenta el número de visitas un poquito. A la semana dóblalo y así continuamente. Si lo haces estarás dando una imagen de que tu web cada vez es mejor, recibe mas visitas y que por ende se merece una posición mejor en las SERPs.

Recuerda, sigue estos consejos y ándate con pies de plomo y te garantizo que tu balance en Adsense no se verá afectado. Y ya sabes comparte el artículo para que llegue a mas gente. Si tienes alguna duda sobre el truquito o sobre otra cosa escríbeme por twitter y te contestaré 😉

[xyz-ips snippet=”FAQS-GORKAMU-TW-YELLOW”]

 

A mamarla gandules!