#Google #Chrome identificará los sitios #web #HTTP como no seguros by @fayerwayer

#Google #Chrome identificará los sitios #web #HTTP como no seguros by @fayerwayer

fuente: https://www.fayerwayer.com/2016/09/google-chrome-identificara-los-sitios-web-http-como-no-seguros/

 

La medida tendrá efecto el próximo año con la llegada de Chrome 56.

Está sucediendo de nuevo, Google está presionando a que las páginas web hagan cambios para no verse afectados con las nuevas disposiciones de su navegador, Chrome, el más usado a nivel mundial: a partir del próximo empezará a marcar los sitios web HTTP como no seguros …

Leer artículo completo en fayerwayer.com

Anuncios

#google #analytics: Cómo utilizan los usuarios el contenido de tu web by @seoasesor

#google #analytics: Cómo utilizan los usuarios el contenido de tu web by @seoasesor

fuente: http://www.seoasesor.com/analitica-web-como-los-usuarios-utilizan-el-contenido-de-tu-web

google-analytics-como-utilizan-los-usuarios-el-contenido-de-tu-web-by-seoasesor

Gran artículo de seoasesor.com donde se analizan los siguientes informes de Google Analytics:
•Informe “Todas la páginas”:
.       -Número de páginas vistas/Número de páginas vistas únicas.
.       -Promedio de tiempo en la página.
.       -Entradas.
.       -Porcentaje de rebote.
.       -Valor de Página.
.       -Comparación de métricas entre páginas similares.
•Informe “Páginas de destino”.
•Informe “Páginas de salida”.
•Informe “Desglose de contenido”.

Leer artículo completo en seoasesor.com

#Google anima a desempolvar las #fotos antiguas y digitalizarlas con su nueva #app by @mkdirecto

#Google anima a desempolvar las #fotos antiguas y digitalizarlas con su nueva #app by @mkdirecto

fuente: http://www.marketingdirecto.com/digital-general/mobile-marketing/google-anima-desempolvar-las-fotos-antiguas-tornarlas-digitales-nueva-app

google-anima-a-desempolvar-las-fotos-antiguas-y-digitalizarlas-con-su-nueva-app-by-mkdirecto

Leer artículo completo en marketingdirecto.com

Posiciona tu Portfolio en #Google! by @Coreditec

Posiciona tu Portfolio en #Google! by @Coreditec

fuente: http://coreditec.com.co/alquimia/2016/10/05/posiciona-tu-portafolio-en-google/

posiciona-tu-portfolio-en-google-by-coreditec

Posiciona tu sitio web en google

Tener un portafolio Digital en Linea no lo es todo, es necesario posicionar en internet, la receta secreta para ponerse entre los primeros lugares de los buscadores es sencilla, pero requiere de mucho trabajo ya que aunque el índice depende de muchos factores, el más predominante es la relevancia de la información para los usuarios.

Si queremos hacer algo para ayudar a los buscadores a indexar el contenido de nuestra página aquí tenemos algunos tips.

SEO en la página

Esto es algo que todos los desarrolladores deben tomar en cuenta ya que permite a los buscadores conocer el contenido a indexar más rápidamente. Algunas cosas son importantes en este punto.

Tag de titulo

Deben ser de 60 caracteres o menos y debemos tratar de que tengan las palabras clave del sitio. Es de las partes más importantes del SEO en la página.

Meta de descripción

Esto no influye mucho en la forma en que el robot indexa la página pero si en como el usuario ve el resultado de la búsqueda lo que ayuda a los usuarios a identificar el contendido del link.

Contenido de la página

Evidentemente nada de lo anterior va a ser útil si el contenido de la página no es relevante y no contiene las palabras clave del sitio repetidas de 3 a 5 veces.

Tener un blog

Algo que ayuda mucho a indexar una página es tener un blog que ofrezca contenido de calidad a los usuarios y que puedan encontrar información útil. Los sitios con blogs tienen un 55% más visitas, 97% más links indexados y 434% más páginas indexadas.

Eso si no basta solo con tener un blog, lo recomendable es actualizarlo periódicamente para que los crawler pases más seguido por la página.

SEO técnico

La parte anterior se refería al contenido, esta está un poco más relacionada a la parte técnica y de como el crawler trata con tu página.

Robots.txt

No es más que un simple archivo en la raíz del sitio para indicar que user-agent puede acceder a que parte del sitio, muy útil para evitar indexar archivos temporales o privados, incluso para evitar que el robot indexe tu sitio, si se trata de algún sitio privado.

Sitemap XML

Estos, al igual que el robot.txt, son simples archivos de texto con formato xml que indican al crawler los links del sitio, la frecuencia de actualización de los mismos, esto no influye directamente en la indexación pero si ayuda al motor de búsqueda a establecer prioridades de los links.

SEO fuera de la página

Esto se trata de todo lo que hacemos para que las personas conozcan nuestro sitio ya que no ganamos nada con muy buen contenido y una gran plataforma si nadie la conoce.

Podemos enviar los links directamente a los motores de búsqueda con herramientas como Google Webmaster o el Webmaster Tools de Bing. Otra cosa que podemos hacer es colocar un video en youtube comentando las nuevas características del sitio e incluir un link al sitio. Compartir la URL en las redes sociales.

Las 5 mejores extensiones de #Google #Chrome para #SEO by @Abrelink

Las 5 mejores extensiones de #Google #Chrome para #SEO by @Abrelink

fuente: http://www.abrelink.com/5-extensiones-chrome-seo/

las-5-mejores-extensiones-de-google-chrome-para-seo-by-abrelink

13Las 5 mejores extensiones de Google Chrome para SEO

Muchas veces, cuando hablamos de analítica SEO, inmediatamente pensamos en complejas aplicaciones para instalar en nuestro ordenador o en herramientas online, algunas gratuitas y otras de pago. Sin embargo, hay atajos mucho más rápidos para obtener una información útil sin tener que indagar en profundidad. Pues bien, si tu navegador es Google Chrome (Firefox tiene sus propios complementos y Explorer…, bueno Explorer no tiene nada) y te dedicas al posicionamiento web, ya sea como aficionado o como experto, harías bien en instalar estas 5 extensiones para SEO, indispensables para cualquier profesional. Todas ellas son gratuitas y resultan de una ayuda inestimable.

Ahora, antes de enumerarlas, una recomendación: descárgatelas siempre de Chrome Web Store, si no quieres que se te instale malware en la toolbar, con los quebraderos de cabeza que ello conlleva.

1- MozBar

Es mi preferida, y la utilizo a diario. Nos indica el PA y el DA de la página web que tengamos abierta. También nos muestra su Spam Score y las señales sociales de Facebook y Google +. Si pinchamos en el icono de la lupa, se nos abre un desplegable con los elementos On-Page (URL, title, description, keywords, h1, h2, bold/strong, italic/em, texto alt), los atributos generales (como el rel=”canonical”, el meta robots o el tiempo de carga), las métricas (MozRank, MozTrust, links externos), los marcadores para Schema y microformatos, así como las Twitter Cards y los Open Graph, y el Http Status, donde puedes observar si hay una redirección 301 ó 302.

De la misma manera, si hacemos clic en el icono del lápiz, podemos marcar en colores (cian, fucsia, azul, amarillo) los links follow, nofollow, externos e internos.

Adicionalmente, MozBar te permite cambiar las opciones de configuración y desplazar la barra de arriba hacia abajo.

2- SEOquake

Esta extensión ocupa el segundo lugar en mi orden de preferencias, y no puede faltar en ninguna lista ni barra de navegación. SEOquake te facilita una información de la página con los principales valores: title, meta keywords, meta description, links internos, links externos, servidor, señales sociales (incluso de Pinterest y Linkedin), antigüedad del dominio, presencia en Dmoz y backlinks para SEMrush, entre muchos otros.

También te ofrece un diagnóstico o auditoría SEO de la página donde te informa de si tienes bien configurado el robots.txt, el sitemap xml, si tienes especificado el idioma de la página y el doctype, o si está correctamente implementado el código de Google Analytics, y si usas microformatos y hasta si tienes un favicon. Asimismo, mide el número de caracteres del title y del meta description, los encabezados y el atributo ALT de las imágenes, así como el ratio texto/HTML, y te da consejos sobre cómo mejorar cualquier aspecto que presente deficiencias.

Por último, SEOquake es especialmente útil para analizar la densidad de palabras clave, y no sólo por palabras aisladas, sino también en frases de dos o más términos. Incluso te muestra el texto original como bloque.

3- Open SEO Stats

Esta extensión nos proporciona una información bastante completa y valiosa, como el número de páginas indexadas por Google y Bing, señales sociales en Facebook y Google Plus, robots.txt y sitemap.xml, Whois del dominio, info de la página con los típicos atributos, incluyendo enlaces externos e internos y etiqueta canonical, y una lista completa de todos los links con sus correspondientes anchor text. También te señala la velocidad de carga, y un acceso directo a una serie de herramientas como Google Webmasters Tool, Google Trends y Keyword Planner.

4- Quick SEO by Rank Signals

Se trata de una extensión creada por la compañía Rank Signals, que nos permite consultar nuestro Pagerank, backlinks únicos y totales y, como curiosidad, pone un enlace a Wayback Machine y un Whois. Aunque esta herramienta a través de su web es gratuita, sólo nos muestra un número limitado de enlaces. Eso sí, nos indica si son follow o nofollow.

5- Majestic Backlink Analyzer

Como su propio nombre indica, es una extensión para Chrome creada por la prestigiosa compañía Majestic que con un simple clic te ofrece las métricas características de esta empresa: Trust Flow y Citation Flow, junto con los backlinks externos y los dominios de referencia. También incluye otras APPs avanzadas sólo disponibles para suscriptores.

Hay otras extensiones SEO que bien podrían figurar en esta lista y que probablemente encontraréis en otras del mismo género, como SEO SERP o SEO for Chrome, y que yo mismo suelo usar en mi trabajo de posicionamiento web, pero quería hacer una lista breve con las que a mi entender son las más útiles y mejores. Espero que a vosotros también os hayan servido.

#google: ¿El diseño de tu #web está adaptado a todos los dispositivos? by @samuelsolers

fuente: http://www.informacionyarte.com/el-diseno-de-tu-sitio-web-esta-adaptado-a-todos-los-dispositivos

resultado carga pagina web movil
Google pretende acelerar la carga de páginas web desde los móviles.

De sobras es conocido que cada vez con más frecuencia los usuarios utilizan los móviles para acceder a internet. Google es consciente de ello y está concienciado y decidido a premiar a aquellas páginas web que mejor rendimiento ofrezcan en móviles. El premio que Google otorga es muy jugoso, y no es otra cosa que ofrecer un mejor posicionamiento a las páginas que mejor adaptadas a móviles estén.Test my Site es la nueva herramienta que ha lanzado Google para comprobar el rendimiento de un sitio web en dispositivos móviles.

Según Google, las personas revisan sus teléfonos más de 150 veces al día, y las búsquedas duplican ya las realizadas desde un ordenador de escritorio. Además asegura que 9 de cada 10 usuarios abandonan un sitio web si no encuentran lo que buscan al instante. Y si la carga web no es óptima, las webs corren el peligro de perder clientes y usuarios.

El funcionamiento de esta nueva herramienta es extremadamente sencillo. Una vez ingreses en la web solo tendrás que introducir la URL que desees examinar y esperar a que Google te depare los resultados.

Así muestra Google los resultados del test. Los resultados se dividen en tres partes.

  1. Adaptabilidad móvil. Este apartado mide la calidad de la experiencia que los clientes tienen cuando están navegando por su sitio web a través de un móvil. Para elo tiene en cuenta si resulta fácil navegar a través de una pantalla pequeña y si la información más importante está situado en la parte central de la pantalla.
  2. Velocidad de carga del sitio web en dispositivos móviles. Este es el tiempo que tarda en cargar su sitio en los dispositivos móviles.
  3. Velocidad de carga desde ordenadores de escritorio. El tiempo que tarda en cargar su sitio en ordenadores de sobremesa. No es sólo la capacidad de la conexión web lo que determina la velocidad, sino también los elementos de su web los que aceleran o retrasan la carga.

Las puntuaciones se ofrecen en unos baremos de 0 a 100 que van acompañados de un color en función de los resultados obtenidos: verde para un resultado óptimo, amarillo que se puede mejorar y rojo para los malos resultados.

Pero Google no solo valora tu sitio web sino que además ofrece información complementaria, a modo de guía, para mejorar los resultados. Junto a esto, Google te invita a enviarte un e-mail  con los resultados completos del test. Cada usuario puede disponer de hasta tres informes al día totalmente gratis y enviados directamente a su e-mail.

Aunque ya existían herramientas parecidas como GhostLab resulta crucial saber cómo Google ve nuestra página web o blog.

#Tutorial #Ionic #Framework – Parte 1: Instalación y Proyecto Base by @erixdev

fuente: https://jsjutsu.com/blog/2015/06/tutorial-ionic-parte-uno/

Ionic es un framework de desarrollo de aplicaciones híbridas en HTML5 basado en AngularJS y que funciona con Apache Cordova (sí Cordova con V).

En mi opinión, sus puntos fuertes son:

  • Rendimiento muy bueno: sí, no es lo mismo que una aplicación nativa. Pero para un buen número de apps que hacen poco más que una aplicación web va que chuta. Y el mismo código te vale para IOS y Android.
  • Tiene un set de componentes visuales muy chulo y fácil de usar.
  • Si sabes AngularJS empezar a usarlo es inmediato.

Con este post empezamos una serie en la que elaboraremos una aplicación que presentará un listado de eventos. Utilizará unbackend en Node.js y permitirá autenticarse con Twitter.

DISCLAIMER: si no sabes lo básico de AngularJS seguramente no te enteres de nada. Pero no te preocupes porque tiene arreglo 🙂 Puedes conseguir un minilibro gratis con la suscripción a la lista de correo del blog.

Vamos a ello.

Instalación

Como siempre, tendremos que tener instalado Node.js. Una vez instalado, en una terminal ejecutamos:

1
npm i -g cordova ionic

Este comando lo dejará todo listo para empezar.

Creando un esqueleto de App

Ejecutamos en una terminal:

1
ionic start events-app tabs

Con ese comando lo que estamos diciendo a Ionic es que cree una aplicación básica con navegación basada en tabs, en el directorio events-app. Nos preguntará si queremos crear una cuenta ionic.io, la cual no es necesaria para poder hacer este tutorial.

¡Listo!, ahora entramos al directorio de la aplicación y la arrancamos para echarle un vistazo.

1
2
cd events-app
ionic serve

Ionic creará un servidor http y podremos abrir la página en nuestro navegador en la dirección http://localhost:8100. La idea es desarrollar utilizando el navegador y después probar en un móvil o un emulador.

Debes tener en cuenta que si vas a utilizar APIs de dispositivo (por ejemplo, el acelerómetro) tendrás que probar estas cosas en un emulador o dispositivo, ya que el navegador no implementa esto.

app-creada-1app-creada-1
app-creada-2app-creada-2

Para visualizar la aplicación con la resolución de otro dispositivo en el mismo navegador web puedes hacerlo:

  • En Firefox pulsando Ctrl-Shift-M.
  • En Chrome abriendo las herramientas de desarrollo (F12) y pulsando en el dibujito del teléfono arriba y en la izquierda.

Personalmente, suelo utilizar Firefox Developer Edition, y cuando el depurador se me queda corto me paso a Chrome un rato.

Estructura de directorios

Echemos un vistazo a los directorios que Ionic nos ha creado.

directoriosdirectorios

Se trata de un esqueleto web para una aplicación de Cordova, en la que se utiliza Gulp para automatización de algunas tareas yBower como gestor de dependencias frontend.
De aquí, lo importante lo tenemos en el directorio www.

directorio wwwdirectorio www

Este directorio debes verlo como el de aplicación web normal y corriente, con tres salvedades:

  • Puedes acceder a APIs de dispositivo móvil gracias a Cordova.
  • Puedes usar AngularJS. De hecho ya es una aplicación Angular básica con unos cuantos controladores y servicios.
  • Y por último, puedes usar los componentes de Ionic en forma de directivas AngularJS.

Por lo demás es lo mismo que te encontrarías en otra web. El index.html, carpetas para el CSS y JS etc.

Preparando el proyecto

Vamos a hurgar un poco en el código que viene de ejemplo y dejarlo limpito para lo que nosotros necesitamos. Que básicamente serán tres vistas: una para autenticarnos, otra para ver los eventos y otra para cerrar la sesión.

NOTA: el código tal cual lo dejamos en este paso puedes obtenerlo con:

1
2
3
git clone https://github.com/er1x/events-app
cd events-app
git checkout part1

Veamos lo más importante del código.

index.html

El fichero de entrada de la aplicación. Hace lo siguiente:

  • Cargar las dependencias: Ionic (incorpora Angular), Cordova y los ficheros JS de nuestra aplicación.
  • Define la aplicación AngularJS: ng-app=”eventsApp”
  • Define dos directivas: una barra de navegación (ion-nav-bar) y otra que contendrá las vistas concretas que se cargarán después (ion-nav-view).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title>Events App</title>

    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">

    <!-- ionic/angularjs js -->
    <script src="lib/ionic/js/ionic.bundle.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

    <!-- your app's js -->
    <script src="js/app.js"></script>
    <script src="js/controllers.js"></script>
    <script src="js/services.js"></script>

  </head>
  <body ng-app="eventsApp">

    <ion-nav-bar class="bar-positive">
      <ion-nav-back-button>
      </ion-nav-back-button>
    </ion-nav-bar>

    <ion-nav-view></ion-nav-view>

  </body>
</html>
app.js

El fichero JS principal. En él definimos el nombre de la aplicación (eventsApp) y tres dependencias, que son el propio framework Ionic, y servicios y controladores de la aplicación. Después configuramos el enrutador. En Ionic se utiliza Angular UI Router.

El router de Ionic difiere del router por defecto de Angular en que en este se utiliza el concepto de máquina de estados. Aquí utilizamos un estado abstracto tab y dos estados hijos: list y account. Por otra parte hay otra vista independiente, login.

Este sistema permite tener vistas anidadas. En este caso, las vistas que necesitamos (listado y configuración), se integran dentro de otra. A estas rutas les asignamos una plantilla HTML y un controlador.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
angular.module('eventsApp', [ 'ionic',
                              'eventsApp.controllers',
                              'eventsApp.services'])

.config(function($stateProvider, $urlRouterProvider) {

  $stateProvider.state('tab', {
    url: "/tab",
    abstract: true,
    templateUrl: "templates/tabs.html"
  })
  .state('tab.list', {
    url: '/list',
    views: {
      'tab-list': {
        templateUrl: 'templates/tab-list.html',
        controller: 'ListCtrl'
      }
    }
  })
  .state('tab.account', {
    url: '/account',
    views: {
      'tab-account': {
        templateUrl: 'templates/tab-account.html',
        controller: 'AccountCtrl'
      }
    }
  })
  .state('login', {
    url: '/login',
    templateUrl: 'templates/login.html',
    controller: 'LoginCtrl'
  });

  $urlRouterProvider.otherwise('/tab/list');
});
services.js

El servicio que utilizaremos se encargará de proveer a la aplicación de la lista de eventos. De momento los tendrá en memoria. Más adelante se conectará al backend para obtener el listado.

Proporciona una única funcion: all. Para listar los eventos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
angular.module('eventsApp.services', [])

.factory('EventsService', function($http) {
  return {
    all: function() {

      // TODO: get events from backend
      var events = [
        {
          'speaker': 'Homer Simpson',
          'title': 'Emprender en servicios web: Compuglobalhipermeganet',
          'place': 'Sala 5',
          'date': '15:00'
        },
        {
          'speaker': 'Stewie Griffin',
          'title': 'Cómo generar ingresos extra siguiendo gordos con una tuba',
          'place': 'Salón de talleres 1',
          'date': '17:00'
        },
        {
          'speaker': 'Ralph Wiggum',
          'title': '¡Corre plátano!',
          'place': 'Sala 5',
          'date': '19:00'
        }
      ];
      return events;
    }
  };
});
controllers.js

Tenemos un controlador para el listado (que utiliza el servicio para listar los eventos), y otros para las vista de login y cuenta, que de momento no hacen nada más que mostrar un mensaje en la consola cuando se pulse un botón.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
angular.module('eventsApp.controllers', [])

.controller('LoginCtrl', function($scope){
  $scope.authenticate = function() {
    console.log('TODO: authenticate');
  };
})

.controller('ListCtrl', function($scope, EventsService) {
  $scope.events = EventsService.all();
})

.controller('AccountCtrl', function($scope) {
  $scope.logout = function() {
    console.log('TODO: logout');
  };
});
tabs.html

Se trata de una vista global que utiliza la directiva ion-tabs.

Esta directiva se utiliza para la navegación con los tabs, que son los menús que se ven en la parte de abajo.

1
2
3
4
5
6
7
8
9
10
11
12
13
<ion-tabs class="tabs-icon-top tabs-color-active-positive">

  <!-- List Tab -->
  <ion-tab title="Eventos" icon-off="ion-ios-people-outline" icon-on="ion-ios-people" href="#/tab/list">
    <ion-nav-view name="tab-list"></ion-nav-view>
  </ion-tab>

  <!-- Account Tab -->
  <ion-tab title="Cuenta" icon-off="ion-ios-gear-outline" icon-on="ion-ios-gear" href="#/tab/account">
    <ion-nav-view name="tab-account"></ion-nav-view>
  </ion-tab>

</ion-tabs>
login.html

Desde esta vista mostraremos un botón para iniciar la sesión. Utiliza las directivas:

  • ion-view: para cargarse dentro del nav-view.
  • ion-content: un área para el contenido.
  • button: un botón normal corriente con ng-click=”logout()”. Al pulsarse ejecutará la función logout del controlador correspondiente.
1
2
3
4
5
<ion-view view-title="Autenticación">
  <ion-content class="padding">
    <button class="button button-block button-positive" ng-click="authenticate()">Inicia sesión con Twitter</button>
  </ion-content>
</ion-view>

vista de loginvista de login

list.html

Igual que la vista de login, utiliza ion-view para ser cargada. Después utiliza el componente card para crear una tarjetita con la información de cada evento.
Con ng-repeat se van cargando los elementos del $scope y entre llaves van poniéndose los atributos de los objetos de eventos. Esto es AngularJS básico.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<ion-view view-title="Eventos">
  <ion-content class="padding">
    <div class="list card card" ng-repeat="event in events">
      <div class="item item-divider">
        {{ event.speaker}}
        <p>
          {{event.date}} | {{event.place}}
        </p>
      </div>
      <div class="item item-body">
        <div>
          {{ event.title }}
        </div>
      </div>
    </div>
  </ion-content>
</ion-view>

vista de listadovista de listado

account.html

Por último la vista de cuenta, que es exactamente igual que la de login, pero con un botón para cerrar la sesión.

1
2
3
4
5
<ion-view view-title="Cuenta">
  <ion-content class="padding">
    <button class="button button-block button-positive" ng-click="logout()">Cerrar sesión</button>
  </ion-content>
</ion-view>

vista de cuentavista de cuenta

Resumen

En esta primera parte del tutorial de Ionic hemos visto:

  • Cómo instalar Ionic.
  • Cómo crear el esqueleto de un proyecto y verlo en el navegador.
  • La estructura de una app hecha con Ionic.

En la segunda parte de esta serie veremos cómo crear un sencillo backend con Node.js y Express que permita autenticarse con Twitter y proporcione un listado de los eventos.