SEO técnico, Sin miedo al código - Congreso Web 2014

83
SEO Técnico, Sin miedo al código

description

Presentación en el Congreso Web sobre SEO Técnico

Transcript of SEO técnico, Sin miedo al código - Congreso Web 2014

Page 1: SEO técnico, Sin miedo al código - Congreso Web 2014

SEO Técnico, Sin miedo al código

Page 2: SEO técnico, Sin miedo al código - Congreso Web 2014

¿Quíen soy?���Pedro Martínez Responsable Departamento SEO en Unidad Editorial �

Page 3: SEO técnico, Sin miedo al código - Congreso Web 2014

SEO Tecnico

Page 4: SEO técnico, Sin miedo al código - Congreso Web 2014

Automatizar procesos (evitar errores humanos)

Control de indexación de sitios grandes

Respuesta a la pregunta “Eso no se puede hacer”

Mejor posicionamiento

Ventajas de tener en cuenta el código

Herramientas de seguimiento personalizadas

Page 5: SEO técnico, Sin miedo al código - Congreso Web 2014

Ejemplo Practico

Page 6: SEO técnico, Sin miedo al código - Congreso Web 2014
Page 7: SEO técnico, Sin miedo al código - Congreso Web 2014

•  Paginación debe ser con javascript no obtrusivo para que Google pueda seguir los enlaces de cada imagen

Requisitos albumes de ELMUNDO.es

•  Cada imagen debe tener una url propia para la ���indexación independiente de cada una de ellas

•  Navegación centrada en la experiencia de usuario (AJAX)

•  Accesibilidad de las mismas funcionalidades desde cualquier dispositivo

Premisas SEO

Valor de producto

Page 8: SEO técnico, Sin miedo al código - Congreso Web 2014

Indexación de contenido

Page 9: SEO técnico, Sin miedo al código - Congreso Web 2014

Indexación de contenido

Page 10: SEO técnico, Sin miedo al código - Congreso Web 2014

Indexación de contenido

Page 11: SEO técnico, Sin miedo al código - Congreso Web 2014

Indexación de contenido

Page 12: SEO técnico, Sin miedo al código - Congreso Web 2014

Indexación de contenido

Page 13: SEO técnico, Sin miedo al código - Congreso Web 2014
Page 14: SEO técnico, Sin miedo al código - Congreso Web 2014

#MarcaEspaña

Page 15: SEO técnico, Sin miedo al código - Congreso Web 2014

Optimizando el contenido

Page 16: SEO técnico, Sin miedo al código - Congreso Web 2014

16

Optimizando el contenido

Page 17: SEO técnico, Sin miedo al código - Congreso Web 2014

COdigos de estado HTTP

Page 18: SEO técnico, Sin miedo al código - Congreso Web 2014

1xx: Respuestas informativas

2xx: Peticiones correctas

3xx: Redirecciones

4xx: Errores del cliente

5xx: Errores de servidor

Codigos de estado http

Page 19: SEO técnico, Sin miedo al código - Congreso Web 2014

3xx: Redirecciones

301: Movido permanentemente

302: Movido temporalmente

303: Vea Otra (desde HTTP/1.1)

307: Movido temporalmente (desde HTTP/1.1)

Codigos de estado http

Page 20: SEO técnico, Sin miedo al código - Congreso Web 2014

4xx: Errores del cliente

403 : Prohibido

404 : No encontrado

408 : Tiempo de espera agotado

410 : Ya no disponible

503 : Servicio no disponible

Codigos de estado http

Page 21: SEO técnico, Sin miedo al código - Congreso Web 2014

Comprobar si esas paginas existen o si se debe a un problema de acceso

Verificar si queremos que Google indexe ese contenido

Corrigiendo errores 404

Page 22: SEO técnico, Sin miedo al código - Congreso Web 2014

Screaming Frog

Page 23: SEO técnico, Sin miedo al código - Congreso Web 2014

Si nunca mas van a estar accesibles y Google no debe rastrearlas

Eliminamos la URL o carpeta desde WMT

Bloqueamos el acceso desde el robots.txt

Marcamos el error como solucionado

en WMT

Corrigiendo errores 404

Page 24: SEO técnico, Sin miedo al código - Congreso Web 2014

Gestion de URLs y contenido

Page 25: SEO técnico, Sin miedo al código - Congreso Web 2014

Contenido duplicado: Ocurre cuando existen 2 o más versiones de tu sitio. Esto diluye la fuerza de las páginas, se indexan url no amigables a los buscadores….

•  Contenido duplicado en dominio: •  domain.com •  www.domain.com •  domain.com/index.html •  www.domain.com/index.html

•  Contenido duplicado en categorías de producto:

•  http://www.dominio.com/producto.php?item=mesa •  http://www.dominio.com/producto.php?item=mesa&category=madera •  http://www.dominio.com/mesa-madera

Contenido Duplicado

Page 26: SEO técnico, Sin miedo al código - Congreso Web 2014

http://cortefiel.com/es/tienda/hombre/cazadoras/

Contenido Duplicado

Page 27: SEO técnico, Sin miedo al código - Congreso Web 2014

http://cortefiel.com/es/tienda/hombre/cazadoras/?option_value_talla=&price_order=asc&ov_color_sku=

Contenido Duplicado

Page 28: SEO técnico, Sin miedo al código - Congreso Web 2014
Page 29: SEO técnico, Sin miedo al código - Congreso Web 2014

http://cortefiel.com/es/tienda/hombre/cazadoras/ http://cortefiel.com/es/tienda/hombre/cazadoras/?option_value_talla=&price_order=asc&ov_color_sku=

<link rel="canonical" href="http://cortefiel.com/es/tienda/hombre/cazadoras/"/>

Link: <http://www.example.com/descargas/libro-blanco.pdf>; rel="canonical"

Ficheros HTML

Ficheros PDF o cualquier indexable por Google

Canonical

Añadir en las cabeceras

Page 30: SEO técnico, Sin miedo al código - Congreso Web 2014

¿rel="canonical" es una sugerencia o una directiva?

¿Puede ser el enlace absoluto o relativo?

¿El contenido de un conjunto de páginas debe ser similar al de la versión canónica?

¿Qué sucede si rel="canonical" conduce a una página que no existe?

¿Puede seguir Google una cadena de designaciones rel="canonical"?

¿Se puede utilizar rel="canonical" para sugerir una URL canónica de un dominio completamente distinto?

Que debes saber de “Canonical”

Page 31: SEO técnico, Sin miedo al código - Congreso Web 2014

Diferentes idiomas

Page 32: SEO técnico, Sin miedo al código - Congreso Web 2014

<html xml:lang="es" lang="es"> !<meta http-equiv="content-language" content="es" /> <link rel="alternate" hreflang="en" href="http://www.friendlyrentals.com/" /> <link rel="alternate" hreflang="nl" href="http://www.friendlyrentals.com/nl/" /> <link rel="alternate" hreflang="it" href="http://www.friendlyrentals.com/it/" /> <link rel="alternate" hreflang="de" href="http://www.friendlyrentals.com/de/" />

Diferentes idiomas

Page 33: SEO técnico, Sin miedo al código - Congreso Web 2014

Diferentes idiomas <link rel="alternate" hreflang=”x-default" href="http://www.zara.com/" />

Page 34: SEO técnico, Sin miedo al código - Congreso Web 2014

<url>!

<loc>http://www.midominio.com/</loc>!

<xhtml:link rel="alternate” hreflang="es-mx” href="http://www.midominio.com.mx/”/>!

<xhtml:link rel="alternate” hreflang="es-es” href=“http://www.midominio.com/” />!

</url>!

<url>!

<loc>http://www.midominio.com/{pagina interna}</loc>!

! !<xhtml:link rel="alternate” hreflang="es-mx”

! ! ! ! ! !href=http://www.midominio.com.mx/{pagina interna} />!

<xhtml:link rel="alternate” hreflang="es-es”

! ! ! !href="http://www.midominio.com/{pagina interna}”/>!

</url>!

Sitemaps multidioma

Page 35: SEO técnico, Sin miedo al código - Congreso Web 2014

rel=prev y rel=next http://www.example.com/artículo-parte1.html!

http://www.example.com/artículo-parte2.html!

http://www.example.com/artículo-parte3.html!

http://www.example.com/artículo-parte4.html!

<link rel="canonical" href="http://www.example.com/artículo-parte1.html">!

!

<link rel="prev" href="http://www.example.com/artículo-parte1.html">!

!

<link rel="next" href="http://www.example.com/artículo-parte3.html">!

Fuente: https://support.google.com/webmasters/answer/1663744?hl=es

Paginaciones

rel=prev y rel=next

Page 36: SEO técnico, Sin miedo al código - Congreso Web 2014

Metas Especiales

Page 37: SEO técnico, Sin miedo al código - Congreso Web 2014

Twitter Cards

Page 38: SEO técnico, Sin miedo al código - Congreso Web 2014

Twitter Cards

Galerías Productos

Page 39: SEO técnico, Sin miedo al código - Congreso Web 2014

<meta name="twitter:card" content="summary"/> <meta name="twitter:site" content="@usuariodetwitter"/> <meta name="twitter:title" content="Titulo de la página"/> <meta name="twitter:image" content="'url-imagen'"/> <meta name="twitter:description" content="Descripción de la noticia/>

Fuente: https://dev.twitter.com/docs/cards/

Twitter Cards

<meta name="twitter:card" content="product"> <meta name="twitter:site" content="@twitter"> <meta name="twitter:title" content=”Nombre del producto"> <meta name="twitter:description" content=”Descripción del producto."> <meta name="twitter:image" content="https://dominio.com/graphics/00000001/mug-new.jpg"> <meta name="twitter:data1" content="$3"> <meta name="twitter:label1" content="Price"> <meta name="twitter:data2" content="Black"> <meta name="twitter:label2" content="Color">

Page 40: SEO técnico, Sin miedo al código - Congreso Web 2014

SEO Mobile

Page 41: SEO técnico, Sin miedo al código - Congreso Web 2014

LO QUE ALGUNOS LLAMAN FUTURO, ES EL PRESENTE.

Page 42: SEO técnico, Sin miedo al código - Congreso Web 2014

TARIFAS PRINCIPALES OPERADORES

¿Pensamos en esto a la hora de programar un site?

Movistar TP 15

1 GB

Vodafone T-Internet 1 GB

Orange Delfin 1 GB

Page 43: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: https://developers.google.com/webmasters/smartphone-sites/details

1.- Responsive Web Design

2.- Dynamically serving (Misma URL)

3.- Diferentes URLs para mobile

SEO Mobile

Page 44: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: https://developers.google.com/webmasters/smartphone-sites/details

Responsive Web Design

@media only screen and (max-width: 640px) {...}

Metodo recomendado por Google

Utilizar el robots.txt para indicar que parte de ficheros CSS Javascript deben ser indexados por cada crawler

El CSS media recomendado por Google

SEO Mobile

Page 45: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: https://developers.google.com/webmasters/smartphone-sites/details

Dynamically serving (misma URL)

GET /page-1 HTTP/1.1!Host: www.example.com!(...rest of HTTP request headers...)!!HTTP/1.1 200 OK!Content-Type: text/html!Vary: User-Agent!Content-Length: 5710!(... rest of HTTP response headers...)

Utilizar la cabecera Vary:UserAgent para identificar si es un dispositivo movil o no

SEO Mobile

Page 46: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: https://developers.google.com/webmasters/smartphone-sites/details

Diferentes URLs

<link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.example.com/page-1" >

<link rel="canonical" href="http://www.example.com/page-1" >

<?xml version="1.0" encoding="UTF-8"?>!<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"! xmlns:xhtml="http://www.w3.org/1999/xhtml">!<url>!<loc>http://www.example.com/page-1/</loc>!<xhtml:link! rel="alternate"! media="only screen and (max-width: 640px)"! href="http://m.example.com/page-1" />!</url>!</urlset>

Sitemaps

SEO Mobile

Page 47: SEO técnico, Sin miedo al código - Congreso Web 2014

APP Indexing

Page 48: SEO técnico, Sin miedo al código - Congreso Web 2014

App Indexing

App permite insertar botones en las Serps para ofrecer la posibilidad de acceder al mismo contenido que en la web pero desde tu App, siempre que el contenido sea relevante.

Page 49: SEO técnico, Sin miedo al código - Congreso Web 2014

<html> <head> ... <link rel="alternate" href="android-app://com.example.android/http/example.com/gizmos" /> ... </head> <body> … </body>

App Indexing

Debemos implementar código tanto en la web como en nuestra App

Código a insertar en la web:

Page 50: SEO técnico, Sin miedo al código - Congreso Web 2014

<activity android:name="com.example.android.GizmosActivity" android:label="@string/title_gizmos" > <intent-filter android:label="@string/filter_title_viewgizmos"> <action android:name="android.intent.action.VIEW" /> <!-- Accepts URIs that begin with "http://example.com/gizmos” --> <data android:scheme="http" android:host="example.com" android:pathPrefix="/gizmos" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> </activity>

App Indexing

Ejemplo de código que añadiríamos en la aplicación:

Debemos implementar código tanto en la web como en nuestra App

Page 51: SEO técnico, Sin miedo al código - Congreso Web 2014

Microdatos

Page 52: SEO técnico, Sin miedo al código - Congreso Web 2014

Las páginas que utilizan schema tienen mejores rankings

Fuente: http://www.searchenginejournal.com/study-webmasters-online-marketers-missing-power-schema-org/

Microdatos

#22 #25 2013

#21 #25 2014

Page 53: SEO técnico, Sin miedo al código - Congreso Web 2014

¿Qué es Schema?

Microdatos

Producto de colaboración entre los principales buscadores para mejorar la web mediante un vocabulario común

Page 54: SEO técnico, Sin miedo al código - Congreso Web 2014

Schema.org :: Recetas

Microdatos

Page 55: SEO técnico, Sin miedo al código - Congreso Web 2014

Schema.org :: Eventos Microdatos

Page 56: SEO técnico, Sin miedo al código - Congreso Web 2014

Schema.org :: Musica Microdatos (schema.org)

Page 57: SEO técnico, Sin miedo al código - Congreso Web 2014

Schema.org :: Peliculas Microdatos (schema.org)

Page 58: SEO técnico, Sin miedo al código - Congreso Web 2014

Schema.org :: Productos Microdatos

Page 59: SEO técnico, Sin miedo al código - Congreso Web 2014

Pages using Schema.org markups have higher Google rankings

Microdatos

Page 60: SEO técnico, Sin miedo al código - Congreso Web 2014

¿Cual es el objetivo?

Page 61: SEO técnico, Sin miedo al código - Congreso Web 2014

TU CONTENIDO ES MÁS ATRACTIVO

Page 62: SEO técnico, Sin miedo al código - Congreso Web 2014

¿Cómo se implementan los microdatos?

Microdatos

Page 63: SEO técnico, Sin miedo al código - Congreso Web 2014

<p itemscope > Me llamo Pedro Martínez, soy el Responsable del departamento SEO de Unidad Editorial y esta es mi página web <a href="http://pedromg.com" >pedromg.com</a>. </p>

1. Determinar el ámbito del microdato

Implementando microdatos

Microdatos

Page 64: SEO técnico, Sin miedo al código - Congreso Web 2014

<p itemscope itemtype="http://schema.org/Person">

Me llamo Pedro Martínez, soy el Responsable del departamento SEO de Unidad Editorial y esta es mi página web

<a href="http://pedromg.com" >pedromg.com</a>.

</p>

1. Determinar el ámbito del microdato

2. Especificar el tipo de elemento

Implementando microdatos

Microdatos

Page 65: SEO técnico, Sin miedo al código - Congreso Web 2014

<p itemscope itemtype="http://schema.org/Person"> Me llamo <span itemprop="name"> Pedro Martínez</span>, soy el <span itemprop="jobTitle">Responsable del departamento SEO </span> de Unidad Editorial y esta es mi página web <a href=http://pedromg.com itemprop="url">pedromg.com</a>.

</p>

1. Determinar el ámbito del microdato

2. Especificar el tipo de elemento

3. Indicar las propiedades del elemento

Implementando microdatos

Microdatos

Page 66: SEO técnico, Sin miedo al código - Congreso Web 2014

Let’s  mark-­‐up  a  Yorkshire  Pudding  recipe  page

Microdatos – Migas de Pan

Page 67: SEO técnico, Sin miedo al código - Congreso Web 2014

Marcado JSON-LD

Recomendado por el W3C desde el 16 de Enero del 2014

Integrado por Google tanto para sitios web como para mailing

Page 68: SEO técnico, Sin miedo al código - Congreso Web 2014

Microdatos vs JSOn Data

Page 69: SEO técnico, Sin miedo al código - Congreso Web 2014

JSON-LD vs Microdatos

-  Código fuente mas limpio, el marcado no se realiza en las etiquetas HTML

-  Se puede utilizar tanto para sitios web como para emailing

JSON-LD

Microdatos

- Mayor integración y documentación -  A día de hoy Google recomienda AUN microdatos

Page 70: SEO técnico, Sin miedo al código - Congreso Web 2014

Marcado con JSON-DL

<script type="application/ld+json"> { "@context" : "http://schema.org", "@type" : "Event", "name" : "Slim Whitman Tribute", "startDate" : "2013-07-06", "location" : { "@type" : "Place", "name" : "Hollywood Bowl" } } </script>

Ejemplo:

Page 71: SEO técnico, Sin miedo al código - Congreso Web 2014

Marcado con JSON-DL - Mailing

Page 72: SEO técnico, Sin miedo al código - Congreso Web 2014

Snippet de video

Page 73: SEO técnico, Sin miedo al código - Congreso Web 2014
Page 74: SEO técnico, Sin miedo al código - Congreso Web 2014

Diferentes formas de implementación del snippet de video 1. Sitemap de video 2. Microdato de video 3. RDF’a de facebook

Snnipet de Video

Page 75: SEO técnico, Sin miedo al código - Congreso Web 2014

https://support.google.com/webmasters/answer/80472?hl=es

•  Titulo •  Descripción •  URL de la página de reproducción, •  URL en miniatura, •  URL del reproductor (SWF) o la ubicación

del archivo de vídeo sin procesar.

Campos obligatorios

Especificaciones del sitemaps: •  50.000 entradas por sitemaps, se pueden enviar varios sitemaps •  Ficheros admitidos: mpg, .mpeg, .mp4, .m4v, .mov, .wmv, .asf, .avi, .ra, .ram, .rm, .flv, .swf •  Tu archivo robots.txt no debe bloquear ninguno de los elementos (incluidas la URL de la página de reproducción, la URL de vídeo y la URL en miniatura)

Campos recomendados

•  Duración •  Fecha de publicación

Sitemap de Video

Page 76: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: https://support.google.com/webmasters/answer/2413309?hl=es

•  Nombre •  Descripción •  Thumbnail de la imagen

Campos obligatorios

Ejemplo: <div itemprop="video" itemscope itemtype="http://schema.org/VideoObject"> <h2>Vídeo: <span itemprop="name">Título</span></h2> <meta itemprop="duration" content="T1M33S" /> <meta itemprop="thumbnailUrl" content="thumbnail.jpg" /> <meta itemprop="contentURL" content="http://www.example.com/video123.flv" /> <meta itemprop="embedURL" content="http://www.example.com/videoplayer.swf?video=123" /> <meta itemprop="uploadDate" content="2011-07-05T08:00:00+08:00" /> <meta itemprop="expires" content="2012-01-30T19:00:00+08:00" /> <object ...> <param ...> <embed type="application/x-shockwave-flash" ...> </object> <span itemprop="description">Descripción del vídeo</span> </div>

Propiedades del objeto "VideoObject" de schema.org

Campos recomendados

•  Duración •  ContenURL •  embedURL •  UploadDate

Videos - Microdatos

Page 77: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: https://support.google.com/webmasters/answer/162163?hl=es

•  Image_src – Preview de la imagen •  Video_src – Url del video (o reproductor)

Campos obligatorios

Ejemplo: <meta name="title" content="Baroo? - cute puppies" /> <meta name="description" content="The cutest canine head tilts on the Internet!" /> <link rel="image_src" href="http://example.com/thumbnail_preview.jpg" /> <link rel="video_src" href="http://example.com/video_object.swf?id=12345"/> <meta name="video_height" content="296" /> <meta name="video_width" content="512" /> <meta name="video_type" content="aplicación/x-shockwave-flash" />

Google reconoce las propiedades de Facebook Share

Vídeos: Facebook Share y RDFa

Page 78: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: http://www.google.com/webmasters/tools/richsnippets

Rich Snippets Testing Tool preview

Page 79: SEO técnico, Sin miedo al código - Congreso Web 2014

Fuente: https://www.google.com/webmasters/markup-helper/

Rich Snippets Testing Tool preview

Page 80: SEO técnico, Sin miedo al código - Congreso Web 2014

WMT: Datos estructurados

Page 81: SEO técnico, Sin miedo al código - Congreso Web 2014

Cuidado!

Page 82: SEO técnico, Sin miedo al código - Congreso Web 2014

Destacar es fácil ...

... Lo difícil es hacerlo bien.

Microdatos

Page 83: SEO técnico, Sin miedo al código - Congreso Web 2014

Gracias!!

Pedro Martínez Correo: [email protected] Twitter: @PedroMG