SlideShare une entreprise Scribd logo
1  sur  74
Télécharger pour lire hors ligne
Conceptos básicos y
aplicaciones prácticas
de programación para
SEO
by @NachoMascort
Nacho Mascort
SEO specialist @ Softonic
Podéis encontrarme en:
- https://twitter.com/NachoMascort
- https://github.com/NachoSEO
- https://seohacks.es/nacho-mascort/
1. Introducción
¿Por qué empezar a
programar?
¿Por qué empezar a programar?
- Mejora de la compresión de la web e internet
- Independencia de herramientas de terceros (y de sus fees)
- Automatización o semi-automatización de ciertos procesos reiterativos
en nuestro día a día
- Permite trabajar con mayores volúmenes de datos al no estar limitado a
herramientas que se colapsan al intentar leerlos (por ejemplo Microsoft
Excel)
- Para una comunicación más específica o detallada con developers
¿Cuál es el mejor
lenguaje para empezar?
Encuesta 2019 de stackoverflow
a desarrolladores
Lenguajes más
populares
https://insights.stackoverflow.co
m/survey/2019#technology
Encuesta 2019 de stackoverflow
a desarrolladores
Lenguajes más
buscados
https://insights.stackoverflow.co
m/survey/2019#most-loved-drea
ded-and-wanted
Tendencia histórica
Crecimiento de los
lenguajes de
programación más
famosos
https://stackoverflow.blog/2017/
09/06/incredible-growth-python/
Los ganadores
Los ganadores
JS:
- Enfocado en la interacción con la web
- Se puede usar en el Front (por defecto)
y en el Back (node.js)
- Se puede con otras herramientas
como Google Sheets o como marcador
en el navegador
Python:
- Enfocado para análisis de datos
- Se usa en back o en notebooks
- Lenguaje muy intuitivo y fácil
interacción con otros formatos tipo
xlsx, csv..
2. Conceptos básicos
Variables
Un nombre simbólico que hace referencia a un conjunto de datos.
Tipos de datos
JS:
- string
- number
- booleano
- null
- undefined
- object
- symbol
Python:
- str
- unicode
- list
- tuple
- set
- frozenset
- dict
- int / float
- long
- complex
- bool
Tipos de datos
Tipos de datos
Ante la duda, usamos:
Operadores
Cómo en matemáticas o las funciones en excel/sheets, tenemos:
Mini tip, más/menos 1
Comparadores
Igualdad
== → Mismo valor
=== → Mismo valor y tipo
Condicionales
Se ha de dar una condición para que se ejecute el código a continuación.
Condicionales
Se pueden anidar tantos if como sean necesarios
Arrays / Listas
Loops
Existen bastante maneras de iterar sobre un array, pero con estas cubrimos casi todos los casos de uso
Funciones
Funciones
Funciones
Funciones
Métodos
Funciones asociadas a un tipo de dato
Estos conocimientos no
aparecen por sí solos...
...es un mundo infinito,
por eso...
...la documentación es
la clave...
… y Google también
2.5 ¿Cómo lo ejecuto?
Consola vs archivos vs notebooks
Existen varias maneras de ejecutar código:
- Desde la consola directamente
- Usando archivos y ejecutando en consola o con un IDE con
consola integrada
- Para Python también tenemos los notebooks
Consola de Devtools
Consola en local
- Primero
necesitaremos
tener instalado
Python o Node.js
para poder
ejecutarlo
Consola
Archivos
Ejecutamos el archivo desde la
consola
Notebooks
Notebooks
IDEs
VS Code
3. Casos prácticos de
programación en el
mundo SEO
Caso 0: Canonical
Problemática
¿Cuántas veces has querido saber de forma rápida si esa URL era la
canónica sin necesidad de entrar a buscar la etiqueta y el atributo?
Problemática
Problemática
Problemática
Caso 1: Papyr 1.0
Problemática
Se migra un dominio a una nueva infraestructura técnica.
Hay que cerciorarse de:
- Todas las URLs sigan siendo exactamente iguales
- Se mantengan las mismas etiquetas clave junto el mismo valor
- Mantener mismas reglas de redirecciones
Podemos tirar de Google sheets…
con lo que conlleva eso en horas
...o podemos hacer un script
que lo haga automático
● 40 líneas de código
● 4 librerías
● 8 variables
● 3 funciones
● 4 loops
● 3 condiciones
● 12 métodos
http://bit.ly/Papyr
Caso 2: Franky
Problemática
● Google trends puede ser una gran herramienta pero no es muy
escalable
● Decidimos buscar alguna librería Python que permitiera hacer
consultas a la API de Trends
● Y encontramos una, con un límite de 5 keywords en cada
ejecución (no era muy escalable)
● Decidimos usar la base de la otra librería y hacer una solución
que devolviera trends de un listado sin límites
Input
...o podemos hacer un script
que lo haga automático
● 42 líneas de código
● 6 librerías
● 11 variables
● 1 función
● 3 loops
● 0 condiciones
● 12 métodos
http://bit.ly/franky-script
Output
Caso 3: Onpage
Problemática
● Hay comprobaciones a nivel de Front que son reiterativas en el
mundo SEO
● Las mismas etiquetas una y otra vez
● Depende del código puede ser un poco engorroso
Podemos ir a la URL e ir
buscando un elemento cada vez
...o podemos tener un marcador
que nos lo haga en un solo click
● 71 líneas de código
● 0 librerías
● 8 variables
● 2 funciones
● 2 loops
● 4 condiciones
● Muchos métodos
http://bit.ly/js_onpage
Output
En resumen...
Hay que perderle el
miedo al código...
Probar y equivocarse
(mucho)...
Lo que ahora es una
ventaja competitiva
puede que en un futuro
sea un requisito básico...
Y esta no será la única...
Así que, ¿A qué esperas?
¡Muchas gracias!
@NachoMascort
4. Recursos
● https://www.slideshare.net/CatalystDigital/just-enoug
h-to-be-dangerous-and-super-effective-programmin
g-basics-for-seos
● https://www.searchenginejournal.com/javascript-fun
damentals-cheat-sheet/286367/amp/
● https://javascript.info/types
● https://insights.stackoverflow.com/survey/2019
● https://stackoverflow.blog/2017/09/06/incredible-grow
th-python/
● https://es.wikipedia.org/wiki/Python
● https://developer.mozilla.org/es/docs/Web/JavaScript/
Data_structures
● https://www.youtube.com/watch?v=YP2tMBhyU0I&t=
0s&index=15&list=PLNYkxOF6rcIDjlCx1PcphPpmf43aK
OAdF

Contenu connexe

Tendances

Manual Tutorial Javascript Con Ejemplos
Manual Tutorial Javascript Con EjemplosManual Tutorial Javascript Con Ejemplos
Manual Tutorial Javascript Con Ejemplos
Steven Gomez
 

Tendances (18)

SEO para Drupal
SEO para DrupalSEO para Drupal
SEO para Drupal
 
FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017
 
Gestión de información con WordPress para no programadores - WordCamp Santa...
Gestión de información con WordPress para no programadores - WordCamp Santa...Gestión de información con WordPress para no programadores - WordCamp Santa...
Gestión de información con WordPress para no programadores - WordCamp Santa...
 
Buscadores internet
Buscadores internetBuscadores internet
Buscadores internet
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
 
Socialmood como-google-enamore-tu-web-v1
Socialmood como-google-enamore-tu-web-v1Socialmood como-google-enamore-tu-web-v1
Socialmood como-google-enamore-tu-web-v1
 
229707509 bootstrap-3-el-manual-oficial
229707509 bootstrap-3-el-manual-oficial229707509 bootstrap-3-el-manual-oficial
229707509 bootstrap-3-el-manual-oficial
 
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
Joomla! en 10 minutos  - JoomlaDay Sevilla 2015Joomla! en 10 minutos  - JoomlaDay Sevilla 2015
Joomla! en 10 minutos - JoomlaDay Sevilla 2015
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 
Tu web está lista… ¿lo sabe google? - Pycon 2017
Tu web está lista… ¿lo sabe google?  - Pycon 2017Tu web está lista… ¿lo sabe google?  - Pycon 2017
Tu web está lista… ¿lo sabe google? - Pycon 2017
 
Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5Symfony2: Interacción con CSS, JS y HTML5
Symfony2: Interacción con CSS, JS y HTML5
 
Desarollo rápido con Bootstrap
Desarollo rápido con BootstrapDesarollo rápido con Bootstrap
Desarollo rápido con Bootstrap
 
Optimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMPOptimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMP
 
Manual Tutorial Javascript Con Ejemplos
Manual Tutorial Javascript Con EjemplosManual Tutorial Javascript Con Ejemplos
Manual Tutorial Javascript Con Ejemplos
 
Propiedades App+Web de Google Analytics- ¿Qué cambia con respecto a Universal...
Propiedades App+Web de Google Analytics- ¿Qué cambia con respecto a Universal...Propiedades App+Web de Google Analytics- ¿Qué cambia con respecto a Universal...
Propiedades App+Web de Google Analytics- ¿Qué cambia con respecto a Universal...
 
Modifica y crea temas de WordPress - Meetup WP Ourense
Modifica y crea temas de WordPress - Meetup WP OurenseModifica y crea temas de WordPress - Meetup WP Ourense
Modifica y crea temas de WordPress - Meetup WP Ourense
 
SEO para proyectos B2B
SEO para proyectos B2B   SEO para proyectos B2B
SEO para proyectos B2B
 
Bootstrap, un framework CSS
Bootstrap, un framework CSSBootstrap, un framework CSS
Bootstrap, un framework CSS
 

Similaire à Conceptos básicos y aplicaciones prácticas de programación para SEO

Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
jgs07
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Alfredo Chavez
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Alfredo Chavez
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
glfloresgilberto
 
Programacion web
Programacion webProgramacion web
Programacion web
IACSA
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
Software Guru
 

Similaire à Conceptos básicos y aplicaciones prácticas de programación para SEO (20)

Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
Frontend Developer
Frontend DeveloperFrontend Developer
Frontend Developer
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Unidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVBUnidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVB
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
El poder de los reptiles: Hacer herramientas de hacking es fácil
El poder de los reptiles: Hacer herramientas de hacking es fácilEl poder de los reptiles: Hacer herramientas de hacking es fácil
El poder de los reptiles: Hacer herramientas de hacking es fácil
 
Front end workflows
Front end workflowsFront end workflows
Front end workflows
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Programacion
ProgramacionProgramacion
Programacion
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
 
Welcome to Django
Welcome to DjangoWelcome to Django
Welcome to Django
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programmer visions
Programmer visionsProgrammer visions
Programmer visions
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Conceptos básicos y aplicaciones prácticas de programación para SEO