Betabeers 19 abril2013

23
Ajaxify, carga dinámica de páginas en WordPress guardando el estado y respetando el SEO @alfonsosiloniz

description

Charla sobre Ajaxify presentada en el Betabeers Cadiz del 19 de Abril de 2013 en la Sala Supersonic. referencia de Ajaxify: https://github.com/browserstate/ajaxify

Transcript of Betabeers 19 abril2013

Page 1: Betabeers 19 abril2013

Ajaxify, carga dinámica de páginas en WordPress guardando el estado y respetando el SEO

@alfonsosiloniz

Page 2: Betabeers 19 abril2013

Quien soy

10/04/2023Page 2

Alfonso Silóniz

De ida y vuelta

Consultor Tecnológico Freelance

Actualmente trabajando en la creación de una start-up

Page 3: Betabeers 19 abril2013

Qué vamos a ver

• Como crear transiciones de carga dinámica entre páginas

• Y que guardan el estado• Y que respetan el SEO• Y sobre WordPress • o NO

10/04/2023Page 3

Page 4: Betabeers 19 abril2013

Qué queremos conseguir

• Cargar dinámicamente las páginas de una Web sin refresco en el navegador con animaciones

• Que podamos navegar por el historial de navegación

• Que Google se entere del contenido

10/04/2023Page 4

Page 5: Betabeers 19 abril2013

Como era antes…

10/04/2023Page 5

Page 6: Betabeers 19 abril2013

Como era antes…

10/04/2023Page 6

Page 7: Betabeers 19 abril2013

Y aparece FLASH!!

10/04/2023Page 7

Page 8: Betabeers 19 abril2013

Y aparece FLASH!!

10/04/2023Page 8

Page 9: Betabeers 19 abril2013

¿nos sirve?

10/04/2023Page 9

NO

Page 10: Betabeers 19 abril2013

Y surge el concepto AJAX

• Definido en 2005• Conglomerado de tecnologías• Basado en el objeto

XMLHttpRequest• Modificaciones asíncronas del DOM• Sumando jQuery y similares, se

añaden efectos

10/04/2023Page 10

Page 11: Betabeers 19 abril2013

¿nos sirve?

10/04/2023Page 11

NO

Page 12: Betabeers 19 abril2013

10/04/2023Page 12

Page 13: Betabeers 19 abril2013

HTML 5 History API

• Permite manipular el historial del navegador sin refrescar las páginas

• popState y pushState– Mantener el estado de la página

almacenado en local– Reescritura de la dirección de la

página

10/04/2023Page 13

Page 14: Betabeers 19 abril2013

¿nos sirve?

10/04/2023Page 14

DEPENDE

Page 15: Betabeers 19 abril2013

¿Como lo hacemos sencillo?

10/04/2023Page 15

AJAXIFY

Page 16: Betabeers 19 abril2013

¿Qué es?

• Un GIST• https://github.com/browserstate/

ajaxify

10/04/2023Page 16

Page 17: Betabeers 19 abril2013

Qué es

• Basado en History.js• Carga las páginas por AJAX

– Realiza transiciones fadein / fadeout– Configuras qué parte del contenido se

recarga dinámicamente obviando el resto (selectores)

– Puedes cargar scripts javascript incluso

10/04/2023Page 17

Page 18: Betabeers 19 abril2013

Como se usa

10/04/2023Page 18

<!-- jQuery --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<!-- jQuery ScrollTo Plugin --> <script src="//balupton.github.io/jquery-scrollto/scripts/jquery.scrollto.min.js"></script>

<!-- History.js --> <script src="//browserstate.github.io/history.js/scripts/bundled/html4+html5/jquery.history.js"></script>

<!-- Ajaxify --> <script src="//raw.github.com/browserstate/ajaxify/master/ajaxify-html5.js"></script>

 

Page 19: Betabeers 19 abril2013

Ventajas

• Las páginas individuales mantienen su URL

• Compatible con SEO totalmente• Compatible con no-javascript Añades la

carga dinámica para el usuario final• Compatible con navegadores sin el

History API y HTML4• Actualiza Google Analytics• Evitar los hashbangs! #!

10/04/2023Page 19

Page 20: Betabeers 19 abril2013

¿Y lo de WordPress?

• CMS más extendido actualmente• Existen plugins para integrarlo• Pero vale para cualquier página

web

10/04/2023Page 20

Page 21: Betabeers 19 abril2013

EJEMPLOS

10/04/2023Page 21

Page 22: Betabeers 19 abril2013

Conclusión

• Simple Gist que incorporar a tu código para crear mayor dinamismo en cualquier web

• Manteniendo el historial del navegador y SEO compatible

• Lo puedes extender para crear animaciones javascript más complejas

10/04/2023Page 23

Page 23: Betabeers 19 abril2013

Gracias

10/04/2023Page 24

@alfonsosiloniz // [email protected]