SlideShare una empresa de Scribd logo
From Shell to SEO and beyond
Desde la línea de comandos
Ya sea porque no hay otra manera, o porque es la más eficaz,
si trabajas con big data, el terminal aprenderás!
La línea de comandos
01 Los básicos
Hay cuatro o cinco comandos que hacen funcionar el mundo,
y puede que no sea coña…
Ya sea porque no hay otra manera, o porque es la más eficaz,
si trabajas con big data, el terminal aprenderás!
La línea de comandos
Cuatro o cinco comandos son habitualmente utilizados
01 Los básicos
grep
sed
cat

Recomendado para ti

SEO Orientado a Resultados #DigitalZAC 2022
SEO Orientado a Resultados #DigitalZAC 2022SEO Orientado a Resultados #DigitalZAC 2022
SEO Orientado a Resultados #DigitalZAC 2022

Charla sobre SEO orientado a resultados impartida el 17 de noviembre de 2022 en el marco del evento Digital ZAC organizado por Zaragoza Activa. La presentación hace una introducción al SEO para luego adentrarse en los 3 principales ejes de consideración para conducir una buena estrategia SEO: - Entender la importancia del SEO y conocer a fondo sus idiosincrasias como canal y como participante en el negocio del SEO. - Profundizar y ahondar en el análisis y conocimiento del producto y del negocio, en aras de encontrar las oportunidades correctas a nivel SEO - Dar prioridad a las personas, como protagonistas por encima de cualquier otro player y entender qué necesitan para ofrecerles la mejor solución.

seogooglegoogle analytics
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...

Google conducts 800,000 experiments and improvements to search annually to optimize search results for users. In 2021 alone, Google made 5,000 improvements to search. As of August 2022, 92% of all search queries are handled by Google. The document then provides an in-depth overview of how to conduct a comprehensive search engine optimization (SEO) analysis, including competitor analysis, entity analysis, sentiment analysis, search intent analysis, language use analysis, and rank analysis. It recommends leveraging tools like Google APIs, Data for SEO, and GPT-3 to automate the analysis and provide classifications. The analysis is intended to guide content and keyword strategy execution rather than replace it.

#machinelearning#seo#serpanalysis
How to automate a long tail SEO strategy for ecommerce
How to automate a long tail SEO strategy for ecommerceHow to automate a long tail SEO strategy for ecommerce
How to automate a long tail SEO strategy for ecommerce

BrightonSEO 2022: presentation by Verbolia's CEO on how to automate a long tail SEO strategy for ecommerce.

seolongtailecommerce
cat
grep
sed
Cuatro o cinco comandos son habitualmente utilizados
01 Los básicos
Ver
el contenido
de un
archivo
grep
sed
Filtrar
usando
regex el
contenido de
un archivo
Cuatro o cinco comandos son habitualmente utilizados
01 Los básicos
cat
Ver
el contenido
de un
archivo
Cuatro o cinco comandos son habitualmente utilizados
sed
Sustituir
patrones en
el contenido
de un
archivo
01 Los básicos
grep
Filtrar
usando
regex el
contenido de
un archivo
cat
Ver
el contenido
de un
archivo
01 cat
cat ejemploFicheroTexto.txt
<?xml version="1.0" encoding="utf-8" ?><transcript><text start="0" dur="0.5"></text><text start="0.5"
dur="2.86">[MÚSICA ELECTRÓNICA]</text>
<text start="3.36" dur="7.21"></text><text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al
próximo episodio</text><text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un
podcast que estamos probando.</text><text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo
que</text><text start="18.94" dur="2.55">sucede en Google detrás de escena</text><text start="21.49"
dur="2.77">y tal vez divertirnos un poco en el camino.</text><text start="24.26" dur="2.45">Mi nombre es
John Mueller, un promotor de búsqueda</text><text start="26.71" dur="3.97">en el equipo de relaciones de
búsqueda aquí en Google en Suiza.</text><text start="30.68" dur="5">Y me acompañan Martin y Gary, que
también están en el equipo.</text><text start="35.68" dur="0.668">MARTÍN: Hola.</text><text start="36.348"
dur="1.042">
JOHN MUELLER: Hola, Martín.</text><text start="37.39" dur="1.08">Hola, Gary.</text><text start="38.47"
dur="1.02">GARY: [NO EN INGLÉS]</text>
<text start="39.49" dur="1.125">JOHN MUELLER: Buenos días.</text><text start="40.615" dur="1.765">Así
que hemos hecho una serie de episodios ahora.</text><text start="42.38" dur="2.45">Y creo que poco a poco
le estamos cogiendo el truco. Sin embargo, se</text><text start="44.83" dur="2.91">siente un poco nuevo y
emocionante</text><text start="47.74" dur="2.722">cada vez, así que eso es genial. ¿</text>

Recomendado para ti

Data Pitfalls - Brighton SEO - Katie Swann.pptx
Data Pitfalls - Brighton SEO - Katie Swann.pptxData Pitfalls - Brighton SEO - Katie Swann.pptx
Data Pitfalls - Brighton SEO - Katie Swann.pptx

We always hope to see our digital PR campaigns take off, but sometimes they can take off in the worst way. From inaccurate data to misleading headlines, there are plenty of ways that we can fall into data-related pitfalls. I explore some of the most common data dangers and how to avoid them so your campaigns don’t end up on the wrong side of digital PR Twitter, keeping you and your clients happy!

digital prseodigital marketing
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble RomagnoliHow to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli

My talk is not just about keyword research and doing it well. It’s about pride. It’s about honour. It’s about being at the epicentre of business intelligence within your organisation for your organisation.

seoseo servicesdigital
Influencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex WebsitesInfluencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex Websites

Google is making an assumption about the page's quality based on other pages on the domain. Their classifications are based on URL patterns and website architecture. As a result, moving these pages from "awareness" to the crawl queue can be de-prioritized based on the lack of quality they have found on similar pages.

seoadvanced seotechnical seo
<?xml version="1.0" encoding="utf-8" ?><transcript>
<text start="0" dur="0.5"></text>
<text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text>
<text start="3.36" dur="7.21"></text>
<text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text>
<text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos
probando.</text>
<text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text>
<text start="18.94" dur="2.55">sucede en Google detrás de escena</text>
<text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text>
<text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text>
a
<text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text>
<text start="35.68" dur="0.668">MARTÍN: Hola.</text>
<text start="36.348" dur="1.042">
JOHN MUELLER: Hola, Martín.</text>
<text start="37.39" dur="1.08">Hola, Gary.</text>
<text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text>
<?xml version="1.0" encoding="utf-8" ?><transcript>
<text start="0" dur="0.5"></text>
<text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text>
<text start="3.36" dur="7.21"></text>
<text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text>
<text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text>
<text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text>
<text start="18.94" dur="2.55">sucede en Google detrás de escena</text>
<text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text>
<text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text>
a
<text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text>
<text start="35.68" dur="0.668">MARTÍN: Hola.</text>
<text start="36.348" dur="1.042">
JOHN MUELLER: Hola, Martín.</text>
<text start="37.39" dur="1.08">Hola, Gary.</text>
<text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text>
01 cat + sed
cat ejemploFicheroTexto.txt |sed 's/<text star/n<text star/g'
02 Los imprescindibles
Su uso básico es “sencillo”, pero son comandos con
muchísimas opciones.
También hay otros comandos que son muy versátiles,
sobretodo para SEOs
La línea de comandos
Su uso básico es “sencillo”, pero son comandos con muchísimas opciones. No te
das cuenta de su valor hasta que los usas de manera recurrente.
02 Los imprescindibles
wget
xargs
curl
Navega
accede a
una URL
El mundo no funcionaría sin ellos.
02 Los imprescindibles
wget
xargs
curl

Recomendado para ti

GretaMunari - The redemption of content automation
GretaMunari - The redemption of content automationGretaMunari - The redemption of content automation
GretaMunari - The redemption of content automation

In this presentation, you'll be walked you through how Trainline scaled high-quality human written content to 4M + pages without using AI tools and created customer-oriented pages while improving rankings along the way.

How to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress websiteHow to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress website

Talk by Louise at SEO Brighton in April 2022. It is really easy to design and build a beautiful but slow WordPress website! The Google update for Core Web Vitals is a set of SEO ranking signals to help website owners improve the speed and user experience for their website. In this talk Louise will share with you how to adjust your WordPress site to improve your Core Web Vital scores. The strategies are different for each metric so she will go through each one and give you some practical ideas you can take back and action or ask your developer to implement.

core web vitalswordpresscwv
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages

The document discusses optimizing product listing pages (PLPs) on ecommerce websites. It begins with the author describing their experience finding a website with little obvious "tech debt" issues to address. They then analyze which page templates drive the most revenue, finding PLPs account for 60% of organic revenue. The author breaks down PLPs into individual components and suggests prioritizing optimization of filters and internal linking. They argue for considering metrics beyond just search volume, like user behavior and conversion data, when deciding which page variants to focus on.

seotechnical seobrightonseo
wget
Navega
accede a
una URL
El mundo no funcionaría sin ellos.
02 Los imprescindibles
Navega
accede a
una URL
curl xargs
Navaja Suiza
Vale para
muchas
cosas.. OjO
puede ser
catastrófico
El mundo no funcionaría sin ellos.
02 Los imprescindibles
wget
Navega
accede a
una URL
Navega
accede a
una URL
curl xargs
02 wget
wget --quiet https://www.booking.com/robots.txt -O -
Robots.txt
02 wget
wget --quiet https://www.booking.com/robots.txt -O -
Robots.txt

Recomendado para ti

Lucy Dodds - BrightonSEO Autumn 22
Lucy Dodds - BrightonSEO Autumn 22Lucy Dodds - BrightonSEO Autumn 22
Lucy Dodds - BrightonSEO Autumn 22

Tasked with a content audit? It can seem impossible when you have thousands of URLs to sift through alone. But in this talk, Lucy will provide actionable steps on how to do a content audit, walking you through what to cull and what to keep, plus providing methods to quickly break down pages by different search intents to simplify your work. Built on past experience, Lucy will also offer advice on how to get clients on board with your content audit, plus top tips to get your recommendations implemented.

seocontentcontent strategy
Agrupa y vencerás - SEO técnico
Agrupa y vencerás - SEO técnicoAgrupa y vencerás - SEO técnico
Agrupa y vencerás - SEO técnico

Vemos cómo podemos crear clusters de URLs con el mismo significado para definir qué URLs deben redirigir a qué URLs y evitar contenido duplicado. Ponencia SEO presentada por Lino Uruñuela en el Seonthebeach 2022 #SOB22 #SEO #SEOtecnico #seoavanzaado

seoposicionamiento webgoogle
Brighton Y U No Reply_Bibi the Link Builder.pdf
Brighton Y U No Reply_Bibi the Link Builder.pdfBrighton Y U No Reply_Bibi the Link Builder.pdf
Brighton Y U No Reply_Bibi the Link Builder.pdf

This document provides tips and examples for writing effective outreach emails to build links. It emphasizes personalizing emails by learning about the recipient's interests and pain points, and using their industry lingo. Specific email elements like the subject line, introduction, segue, ask, and sign-off are discussed. The importance of avoiding salesy language and being genuine is stressed. Sample templates, intros, and outreach ideas are also included to illustrate how to craft targeted, interesting emails that make a connection with the recipient.

02 wget + grep
wget --quiet https://www.booking.com/robots.txt -O -| grep Sitemap
Sitemap: https://www.booking.com/sitembk-airport-index.xml
Sitemap: https://www.booking.com/sitembk-articles-index.xml
Sitemap: https://www.booking.com/sitembk-attractions-index.xml
Sitemap: https://www.booking.com/sitembk-beaches-index.xml
Sitemap: https://www.booking.com/sitembk-beach-holidays-index.xml
Sitemap: https://www.booking.com/sitembk-cars-airport-index.xml
Sitemap: https://www.booking.com/sitembk-cars-city-index.xml
Sitemap: https://www.booking.com/sitembk-cars-country-index.xml
Sitemap: https://www.booking.com/sitembk-cars-region-index.xml
Sitemap: https://www.booking.com/sitembk-city-index.xml
Sitemap: https://www.booking.com/sitembk-city-review-index.xml
Sitemap: https://www.booking.com/sitembk-communities-index.xml
Sitemap: https://www.booking.com/sitembk-country-index.xml
Sitemap: https://www.booking.com/sitembk-country-review-index.xml
Sitemap: https://www.booking.com/sitembk-district-index.xml
Sitemap: https://www.booking.com/sitembk-flights-index.xml
Sitemap: https://www.booking.com/sitembk-flights-priority-index.xml
Sitemap: https://www.booking.com/sitembk-flights-country-index.xml
Sitemap: https://www.booking.com/sitembk-flights-to-region-index.xml
Sitemap: https://www.booking.com/sitembk-flights-to-city-index.xml
Sitemap: https://www.booking.com/sitembk-flights-to-airport-index.xml
Sitemap: https://www.booking.com/sitembk-fraud-index.xml
02 wget + grep + sed
wget -q https://www.booking.com/robots.txt -O - | grep Sitemap | sed 's/Sitemap: //g'
https://www.booking.com/sitembk-airport-index.xml
https://www.booking.com/sitembk-articles-index.xml
https://www.booking.com/sitembk-attractions-index.xml
https://www.booking.com/sitembk-beaches-index.xml
https://www.booking.com/sitembk-beach-holidays-index.xml
https://www.booking.com/sitembk-cars-airport-index.xml
https://www.booking.com/sitembk-cars-city-index.xml
https://www.booking.com/sitembk-cars-country-index.xml
https://www.booking.com/sitembk-cars-region-index.xml
https://www.booking.com/sitembk-city-index.xml
https://www.booking.com/sitembk-city-review-index.xml
https://www.booking.com/sitembk-communities-index.xml
https://www.booking.com/sitembk-country-index.xml
https://www.booking.com/sitembk-country-review-index.xml
https://www.booking.com/sitembk-district-index.xml
https://www.booking.com/sitembk-flights-index.xml
https://www.booking.com/sitembk-flights-priority-index.xml
https://www.booking.com/sitembk-flights-country-index.xml
https://www.booking.com/sitembk-flights-to-region-index.xml
https://www.booking.com/sitembk-flights-to-city-index.xml
https://www.booking.com/sitembk-flights-to-airport-index.xml
https://www.booking.com/sitembk-fraud-index.xml
02 wget + grep + sed
wget -q https://www.booking.com/robots.txt -O - | grep Sitemap | sed 's/Sitemap: //g'
https://www.booking.com/sitembk-airport-index.xml
https://www.booking.com/sitembk-articles-index.xml
https://www.booking.com/sitembk-attractions-index.xml
https://www.booking.com/sitembk-beaches-index.xml
https://www.booking.com/sitembk-beach-holidays-index.xml
https://www.booking.com/sitembk-cars-airport-index.xml
https://www.booking.com/sitembk-cars-city-index.xml
https://www.booking.com/sitembk-cars-country-index.xml
https://www.booking.com/sitembk-cars-region-index.xml
https://www.booking.com/sitembk-city-index.xml
https://www.booking.com/sitembk-city-review-index.xml
https://www.booking.com/sitembk-communities-index.xml
https://www.booking.com/sitembk-country-index.xml
https://www.booking.com/sitembk-country-review-index.xml
https://www.booking.com/sitembk-district-index.xml
https://www.booking.com/sitembk-flights-index.xml
https://www.booking.com/sitembk-flights-priority-index.xml
https://www.booking.com/sitembk-flights-country-index.xml
https://www.booking.com/sitembk-flights-to-region-index.xml
https://www.booking.com/sitembk-flights-to-city-index.xml
https://www.booking.com/sitembk-flights-to-airport-index.xml
https://www.booking.com/sitembk-fraud-index.xml
02 wget
wget https://www.booking.com/sitembk-airport-index.xml -O -
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.9">
<sitemap><loc>https://www.booking.com/sitembk-airport-en-gb.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ro.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ja.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-sl.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-hr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ko.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-el.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-es-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-et.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ca.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-de.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-lv.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-sr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-id.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-no.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-he.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>

Recomendado para ti

Análisis de precios de tu competencia con Screaming Frog #SEOGirona
Análisis de precios de tu competencia con Screaming Frog #SEOGironaAnálisis de precios de tu competencia con Screaming Frog #SEOGirona
Análisis de precios de tu competencia con Screaming Frog #SEOGirona

Metodología para extraer precios y otros datos de valor de tiendas online para analizar a la competencia y automatizar el proceso de cara a comparar información en distintos momentos del año. #SEOGirona #MujeresEnSEO Guía de Screaming Frog: https://rana.ninja/guia-definitiva-de-screaming-frog/

seogironamujeresenseoscreamingfrog
Tech SEO for the Omni-Channel at Brighton SEO 2022
 Tech SEO for the Omni-Channel at Brighton SEO 2022 Tech SEO for the Omni-Channel at Brighton SEO 2022
Tech SEO for the Omni-Channel at Brighton SEO 2022

In this session, I shared insights on how Tech SEO can provide additional value to websites in the omnichannel age. Partially because the session was after lunch, but also because I am a great student of Beyoncé as a marketer, I used the other Mrs Carter as an example of someone who regularly engages her audience across multiple channels and uses the strength of her brand to bring audiences with her. In my opinion, tech SEOs should work to be more like Beyoncé by engaging in methods to connect with audiences where they are. This means supporting distribution to and traffic from the places where users consume content (not only via websites), allowing that content to perform well and consistently across all channels. The SERP is increasingly multi-channel, featuring content from social platforms, links off to dedicated apps, and content served through Google-managed channels like Google Maps and Google Travel, so an omnichannel approach can give you a clear benefit across the SERP overall.

seoomnichannelsearch engine optimization
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptxBrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx

How have robots learned to read? This talk goes over the process within natural language processing, how BERT works, and how these learnings can be applied to content optimisation.

02 wget
wget https://www.booking.com/sitembk-airport-index.xml -O -
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.9">
<sitemap><loc>https://www.booking.com/sitembk-airport-en-gb.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ro.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ja.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-sl.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-hr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ko.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-el.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-es-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-et.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ca.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-de.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-lv.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-sr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-id.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-no.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
<sitemap><loc>https://www.booking.com/sitembk-airport-he.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
02 wget + zcat
wget https://www.booking.com/sitembk-airport-en-gb.0000.xml.gz -O -|zcat
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.9">
<url>
<loc>https://www.booking.com/airport/us/atl.en-gb.html</loc>
<lastmod>2023-06-11</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.booking.com/airport/us/ord.en-gb.html</loc>
<lastmod>2023-06-11</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.booking.com/airport/us/lax.en-gb.html</loc>
<lastmod>2023-06-11</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.booking.com/airport/gb/lhr.en-gb.html</loc>
02 wget + grep + xargs + while
wget -q https://www.booking.com/robots.txt -O - | grep 'Sitemap'|sed 's/Sitemap: //g'|xargs -I{} wget -q -
{} -O - | grep -Eo "https?://[^<]+.*xml.gz" |while read filas; do wget -q $filas -O -|zcat | grep -Eo
"https?://[^<]+">> URLsBooking.txt;done
02 wget + grep + xargs + while
wget -q https://www.booking.com/robots.txt -O - | grep 'Sitemap'|sed 's/Sitemap: //g'|xargs -I{} wget -q -
{} -O - | grep -Eo "https?://[^<]+.*xml.gz" |while read filas; do wget -q $filas -O -|zcat | grep -Eo
"https?://[^<]+">> URLsBooking.txt;done
wget -q https://www.booking.com/robots.txt -O -
| grep 'Sitemap'
|sed 's/Sitemap: //g'
|xargs -I{}
wget -q - {} -O -
| grep -Eo "https?://[^<]+.*xml.gz"
|while read filas;
do wget -q $filas -O -
|zcat
| grep -Eo "https?://[^<]+"
>> URLsBooking.txt;
done

Recomendado para ti

brighton final.pptx
brighton final.pptxbrighton final.pptx
brighton final.pptx

This document discusses how SEOs can help with cybersecurity by identifying vulnerabilities and malicious activity on websites. It provides three ways SEOs can benefit security: 1) Prevent risks by checking robots.txt files and Google search results for sensitive information exposure, 2) Identify weaknesses like outdated plugins or default credentials through site crawls, and 3) Identify malicious activity by monitoring for hacked pages or spammy content. Specific tips include using Google Alerts to monitor code repositories for leaks, crawling sites as Google would to detect unusual content, and reviewing Search Console for security warnings. The document emphasizes the value of vigilance, asking questions, and investigating anomalies to enhance website protection.

A beginner's guide to machine learning for SEOs - WTSFest 2022
A beginner's guide to machine learning for SEOs  - WTSFest 2022A beginner's guide to machine learning for SEOs  - WTSFest 2022
A beginner's guide to machine learning for SEOs - WTSFest 2022

This is a guide for machine learning for beginners, tailored to the SEO industry, aimed at breaking down the challenges that hold us back from experimenting, the breakdown of machine learning's main characteristics to help us understand how to implement it a bit better, and the ways we can embed advanced technology into our daily practice.

seomachine learningguide
Google Search Console - el dato de Schrödinger
Google Search Console - el dato de  SchrödingerGoogle Search Console - el dato de  Schrödinger
Google Search Console - el dato de Schrödinger

El documento discute las características y datos que proporciona Google Search Console, incluyendo la capacidad de filtrar los datos por palabras clave, URL, dispositivo y país. También explica que al aplicar filtros de palabras clave y URL juntos, los clicks parecen ser mayores que aplicando solo un filtro de palabras clave, aunque esto no tiene sentido, posiblemente debido a la agrupación de datos.

seogoogle search consolesearch console
02 wget + grep + xargs + while
177.261.544
URLs
Ni nuestro fiel Screaming Frog
puede con ello
wget -q https://www.booking.com/robots.txt -O - | grep 'Sitemap'|sed 's/Sitemap: //g'|xargs -I{} wget -q -
{} -O - | grep -Eo "https?://[^<]+.*xml.gz" |while read filas; do wget -q $filas -O -|zcat | grep -Eo
"https?://[^<]+">> URLsBooking.txt;done
12 GB
txt de URLs
¿Cómo lo abrirías?
03 Las fuentes de datos
Hay una gran cantidad de fuentes de datos que podemos
usar para muy diversas tareas. Os dejo algunas que creo
útiles para cualquier SEO
No hace falta saber programar, ni instalar pesadas librerías…
Python está sobrevalorado
La línea de comandos
cat KwsInicial.csv
camisetas básicas de manga corta
iphone
iphone 13
vaqueros de corte recto para mujer
motorola edge 20 pro
nokia x20
vivo x60 pro+
realme gt 5g
asus rog phone 5
lenovo legion phone duel 2
zte axon 30 ultra
tcl 20 pro 5g
black shark 4 pro
redmi note 10 pro
vestidos casuales de verano
03 Las fuentes de datos
Datos de APIs
wget -q
'https://db2.keywordsur.fr/keyword_surf
er_keywords?country=ES&keywords=[%22iph
one%2013%22]' --output-document -
{"iphone 13"
:{"categories":[10007,10019,10167,10878,11511,12161,13054,13381,13419],
"competition":1.0,"cpc":0.49,"search_volume":673000,"similar_keywords":[{
"keyword":"el iphone 13"
,"country":"ES","overlapping_pages":9,"search_volume":880,"cpc":0.33},{"
keyword":"precio iphone 13",
"country":"ES","overlapping_pages":7,"search_volume":14800,"cpc":0.16},{
"keyword":"precio del iphone 13",
"country":"ES","overlapping_pages":7,"search_volume":1900,"cpc":0.16},{
"keyword":"apple iphone 13",
"country":"ES","overlapping_pages":6,"search_volume":12100,"cpc":0.51},{
"keyword":"iphone 13 apple",
"country":"ES","overlapping_pages":6,"search_volume":3600,"cpc":0.51},{
"keyword":"oferta iphone 13",
"country":"ES","overlapping_pages":6,"search_volume":2400,"cpc":0.86},{
"keyword":"iphone trece",
"country":"ES","overlapping_pages":6,"search_volume":480,"cpc":0.46},{
"keyword":"iphone 13 precio",
"country":"ES","overlapping_pages":5,"search_volume":22200,"cpc":0.29},{
"keyword":"iphone 13 precios",
"country":"ES","overlapping_pages":5,"search_volume":22200,"cpc":0.17},{
"keyword":"iphone 13: precio",
"country":"ES","overlapping_pages":5,"search_volume":22200,"cpc":0.17}]}
https://db2.keywordsur.fr/keyword_surfer_keywords?country=ES&keywords=[%22iphone%2013%22]
03 Las fuentes de datos
Datos de APIs → Keywordsur

Recomendado para ti

Que no te den dato por liebre - enpresadigitala 2022
Que no te den dato por liebre - enpresadigitala 2022Que no te den dato por liebre - enpresadigitala 2022
Que no te den dato por liebre - enpresadigitala 2022

El documento proporciona consejos sobre el análisis de datos de SEO. Recomienda no creer ciegamente en las herramientas de terceros y datos, sino comprender el significado y limitaciones de cada métrica. También sugiere que el crecimiento del tráfico no necesariamente indica el éxito del objetivo, y que es importante hacer preguntas para evitar malinterpretar los datos.

seosearch consolegoogle search console
SeoQL: SQL para SEO
SeoQL: SQL para SEOSeoQL: SQL para SEO
SeoQL: SQL para SEO

Este documento presenta SQL como una herramienta útil para el SEO. Explica cómo SQL puede usarse para analizar datos de Google Analytics, logs, Google Search Console y otros orígenes para obtener información valiosa. Luego proporciona varios ejemplos de sentencias SQL, como obtener visitas totales por fecha, URLs únicas con tráfico, comparar tráfico entre fechas, y agrupar datos de Search Console por palabras clave de alto rendimiento. El objetivo es demostrar cómo SQL puede aprovecharse para extraer conocimientos a partir de grandes volúmen

seosqlgoogle seo
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...

El documento habla sobre el CTR (tasa de clics), que mide el porcentaje de impresiones que generan clics para un enlace. Explica que el CTR se puede ver en Google Search Console y que los clics tienden a concentrarse en las primeras posiciones de los resultados de búsqueda, aunque depende también de cada palabra clave. También discute cómo el CTR puede usarse para estimar el potencial de tráfico adicional que podría generarse para una palabra clave si se posicionara en la primera página de resultados.

ctrseogoogle search console
cat KwsInicial.csv|
xargs -I{} wget -q
'https://db2.keywordsur.fr/keyword_surf
er_keywords?country=ES&keywords=[%22{}%
22]' --output-document - |
jq>>outTextFile.txt
03 Las fuentes de datos
Datos de APIs → Keywordsur
cat KwsInicial.csv |sed 's/ /+/g'|while read
palabra;do sqlCH "select kw,vol as
Volume,arrayJoin(rel).1 RelatedKW,arrayJoin(rel).2
VolumeRelatedKw from (select
kw,vol,arrayMap(x->(x.1,x.4),todo.2.5) as rel from
(select arrayJoin(arrayZip(keys,values)) as todo,
todo.1 as kw,todo.2.4 vol
,arrayZip(arrayMap(x->x.1,todo.2.5)
,arrayMap(x->x.3,todo.2.5)) as resto from ( select
arrayMap(x -> x.1, JSONExtractKeysAndValues(html,
'String')) as keys, arrayMap(x -> x.2,
JSONExtractKeysAndValues(html,
'Tuple(Array(UInt64), Float64, Float64,
UInt64,Array(Tuple(String,UInt64,UInt64,Float64)))'
)) as values FROM
url(concat('http://db2.keywordsur.fr/keyword_surfer
_keywords?country=ES&keywords=[%22',replaceRegexpAl
l(normalizeUTF8NFD(lowerUTF8('$palabra')), 'pM',
''),'%22]'), JSONAsString, 'html String')))) order
by Volume desc,VolumeRelatedKw desc FORMAT
Pretty";done
03 Las fuentes de datos
Datos de APIs → Keywordsur
wget -q
'https://v7.authoritas.com/api/v3/visib
ility-explorer/ranking/keywords/es_es?d
omains%5B%5D=openai.com'
--output-document -
{"total":1000,"items":[{"openai.com":{"potentialVisibilityScoreInc":0,"searchVol
ume":4400,"cpc":16,"universalRank":1,"visibilityIndex":1485.97998046875,"kw
ResultTypes":{"related_search":8,"location":1,"people_also_ask":4,"video":3,"k
nowledge_graph":1,"organic":98},"userIntent":{"informational":33,"research":3
3,"transactional":33},"fullUrl":"openai.com/research/whisper","domain":"open
ai.com","keyword":"whisper","resultType":"organic","visibilityIndexShare":0.45
75653271691231,"universalRankDeltas":0},"potentialVisibilityScoreInc":0,"sea
rchVolume":4400,"cpc":16,"universalRank":1,"visibilityIndex":1485.979980468
75,"kwResultTypes":{"related_search":8,"location":1,"people_also_ask":4,"vid
eo":3,"knowledge_graph":1,"organic":98},"userIntent":{"informational":33,"rese
arch":33,"transactional":33},"fullUrl":"openai.com/research/whisper","domain"
:"openai.com","keyword":"whisper","resultType":"organic","visibilityIndexShare
":0.4575653271691231},{"openai.com":{"potentialVisibilityScoreInc":98.59999
84741211,"searchVolume":2900,"cpc":0,"universalRank":3,"visibilityIndex":37
0.1499938964844,"kwResultTypes":{"news":2,"navigation":1,"see_results_ab
out":2,"location":1,"people_also_ask":4,"video":4,"knowledge_graph":1,"organi
c":96},"userIntent":{"informational":33},"fullUrl":"openai.com/product/gpt-4","d
omain":"openai.com","keyword":"g p
t","resultType":"organic","visibilityIndexShare":0.11397717686981691},"potenti
alVisibilityScoreInc":98.5999984741211,"searchVolume":2900,"cpc":0,"univer
salRank":3,"visibilityIndex":370.1499938964844,"kwResultTypes":{"news":2,"n
avigation":1,"see_results_about":2,"location":1,"people_also_ask":4,"video":4,"
knowledge_graph":1,"organic":96},"userIntent":{"informational":33},"fullUrl":"op
enai.com/product/gpt-4","domain":"openai.com","keyword":"g p
https://v7.authoritas.com/api/v3/visibility-explorer/ranking/keywords/es_es?domains%5B%5D=openai.com
03 Las fuentes de datos
Datos de APIs → Authoritas
wget -q
'https://v7.authoritas.com/api/v3/visib
ility-explorer/ranking/keywords/es_es?d
omains%5B%5D=openai.com'
--output-document -
{ "openai.com": {
"potentialVisibilityScoreInc": 0,
"searchVolume": 4400,
"cpc": 16,
"universalRank": 1,
"visibilityIndex": 1485.97998046875,
"kwResultTypes": {
"related_search": 8,
"location": 1,
"people_also_ask": 4,
"video": 3,
"knowledge_graph": 1,
"organic": 98},
"userIntent": {
"informational": 33,
"research": 33,
"transactional": 33 },
"fullUrl": "openai.com/research/whisper",
"domain": "openai.com",
"keyword": "whisper",
"resultType": "organic",
"visibilityIndexShare": 0.4575653271691231,
https://v7.authoritas.com/api/v3/visibility-explorer/ranking/keywords/es_es?domains%5B%5D=openai.com
03 Las fuentes de datos
Datos de APIs → Authoritas

Recomendado para ti

Search Console, descifrando las cifras
Search Console, descifrando las cifrasSearch Console, descifrando las cifras
Search Console, descifrando las cifras

Este documento resume los principales elementos que aparecen en los resultados de búsqueda de Google y cómo se define la posición de cada uno. Explica que los datos de posición, clics e impresiones se consolidan ahora por URL canónica en lugar de por URL individual. También cubre las ventajas de descargar datos a través de la API de Google en lugar de usar solo la interfaz web.

seosearch consoleanalitica web
Seo Técnico - Del mito al dato - Seonthebeach 2018
Seo Técnico - Del mito al dato - Seonthebeach 2018Seo Técnico - Del mito al dato - Seonthebeach 2018
Seo Técnico - Del mito al dato - Seonthebeach 2018

El documento habla sobre los cambios en las técnicas de SEO debido a la transición de las páginas web de escritorio a móviles, incluyendo tener menos espacio disponible en dispositivos móviles, la necesidad de priorizar el contenido visible, y los mayores costos para Google de renderizar contenido dinámico a través de JavaScript.

seogooglemobile
eShow 2017 SEO grandes webs - Lino urunuela
eShow 2017 SEO grandes webs - Lino urunuelaeShow 2017 SEO grandes webs - Lino urunuela
eShow 2017 SEO grandes webs - Lino urunuela

eShow 2017 Estrategias y tecnicas de indexacion craling - SEO para grandes sitios webs - Lino Uruñuela

seomarketing digitalgoogle
https://majestic.com/charts/v2/backlink
s-discovery-chart/chat.openai.com/?w=82
5&h=300&IndexDataSource=F
https://majestic.com/charts/v2/backlinks-discovery-chart/chat.openai.com/?w=825&h=300&IndexDataSource=F
03 Las fuentes de datos
Datos de APIs → Majestic
cat KwsInicial|sed 's/ /+/g'|xargs -P11
-I{} curl -s -w "n"
"https://completion.amazon.co.uk/api/2017/su
ggestions?prefix={}&suffix=&session-id=260-6
261272-2261010&customer-id=A2HLNXM8V9BK5Z&re
quest-id=65EXKVSV12216V211E18&page-type=Gate
way&lop=es_ES&site-variant=mobile&client-inf
o =
amazon-search-ui&mid=A1RKKUPIHCS9HS&alias=ap
s&event=onLoad&limit=141&suggestion-type=KEY
WORD&suggestion-type=WIDGET&_=1589523257903"
|grep -e '^{"alias"'|sed -E
's/"shuffled":false}(.*)?$/"shuffled":false
}/g'
's/"shuffled":false}(.*)?$
/"s
huffled":false}/g'
{"alias":"aps","prefix":
"iphone 13","suffix":"","suggestions":[{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13"
,"refTag":"nb_sb_ss_ts-doa-p_1_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 pro max"
,"refTag":"nb_sb_ss_ts-doa-p_2_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 pro"
,"refTag":"nb_sb_ss_ts-doa-p_3_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 mini"
,"refTag":"nb_sb_ss_ts-doa-p_4_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 reacondicionado"
,"refTag":"nb_sb_ss_ts-doa-p_5_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 case"
,"refTag":"nb_sb_ss_ts-doa-p_6_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 pro max 256gb"
,"refTag":"nb_sb_ss_ts-doa-p_7_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 mini reacondicionado"
,"refTag":"nb_sb_ss_ts-doa-p_8_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 pro case"
,"refTag":"nb_sb_ss_ts-doa-p_9_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy
pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type":
"KEYWORD","value":"iphone 13 256gb"
https://completion.amazon.co.uk/api/2017/suggestions?prefix=iphone+13&suffix=&session-id…
03 Las fuentes de datos
Datos de APIs → Amazon
KWs iniciales
"kw","Volume","RelatedKW","VolumeRelatedKw"
"iphone 13",673000,"iphone 13 precio",22200
"iphone 13",673000,"iphone 13 precios",22200
"iphone 13",673000,"iphone 13: precio",22200
"iphone 13",673000,"precio iphone 13",14800
"iphone 13",673000,"apple iphone 13",12100
"iphone 13",673000,"iphone 13 apple",3600
"iphone 13",673000,"oferta iphone 13",2400
"iphone 13",673000,"precio del iphone 13",1900
"iphone 13",673000,"el iphone 13",880
"iphone 13",673000,"iphone trece",480
"kw","Volume","RelatedKW","VolumeRelatedKw"
"iphone",246000,"iphone iphone",246000
Relacionadas
Amazon
En paralelo
Volumen de
búsqueda
03 Las fuentes de datos
Datos de APIs
xargs -P100 -I{}
Para los más vagos o los menos atrevidos, tranquilos,
aquí dejo estos ejemplos, además, ya formateados en
Google Sheets :)
Datos de las APIs en Sheets
https://docs.google.com/spreadsheets/d/1Lsw0flyKa6gX0O-8Stnzi8MJcYrLfUG-CZytKT6QmJc/edit#gid=1056179876
Keyword Surfer
● Kws relacionadas
● Volumen de búsqueda
Authoritas Amazon
● Kws relacionadas
● Alta disponibilidad
● Datos de dominios
● ¿Actualizada?

Recomendado para ti

Optimiza tu crawl budget se onthebeach 2017
Optimiza tu crawl budget   se onthebeach 2017Optimiza tu crawl budget   se onthebeach 2017
Optimiza tu crawl budget se onthebeach 2017

1. El documento habla sobre cómo optimizar el presupuesto de rastreo o "crawl budget" en sitios grandes. 2. Explica que el crawl budget representa el número de conexiones paralelas que utiliza el robot de Google para rastrear el sitio web y el tiempo de espera entre cada rastreo. 3. Ofrece consejos como priorizar la corrección de errores, analizar y corregir redirecciones, e identificar qué URLs son eficaces generando tráfico orgánico.

seoseo on the beachgooglebot
Cómo hacer una migración y no morir en el intento
Cómo hacer una migración y no morir en el intentoCómo hacer una migración y no morir en el intento
Cómo hacer una migración y no morir en el intento

Presentación del taller en el CongresoWeb 2017. Como hacer una migración web y no perder tráfico orgánico

migracion httpsseo
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016

Monitoriza lo que hace GoogleBot en tu site mediante el análisis de logs. Logs SEO y Big Data, Seonthebeach 2016

big data seoseogooglebot
Existen multitud de programas y scripts que se pueden
ejecutar desde el terminal.
Además de comandos de Linux
Existen multitud de programas y scripts que se pueden
ejecutar desde el terminal.
Además de comandos de Linux
04 Caso práctico
Usaremos yt-dlp para crear un buscador de
contenido dentro de una lista de vídeos
04 Caso práctico
yt-dlp hace casi cualquier cosa con los vídeos de YouTube
Obtenemos el id de la lista de reproducción
04 URL + transcripción de un vídeo
yt-dlp --flat-playlist
PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq
-r .url>>SORVideos.txt
Obtenemos la lista de vídeos

Recomendado para ti

SEO para periodistas por Lino Uruñuela (2008)
SEO para periodistas por Lino Uruñuela (2008)SEO para periodistas por Lino Uruñuela (2008)
SEO para periodistas por Lino Uruñuela (2008)

Este documento discute las técnicas de redacción para la web, enfatizando que los usuarios son impacientes y escanean el contenido en busca de respuestas rápidas. Recomienda usar títulos atractivos, resúmenes breves, párrafos cortos, palabras clave destacadas, listas, enlaces internos con sentido y metadatos como el título y la descripción para ayudar a los usuarios y a los buscadores a comprender el contenido. También enfatiza escribir para el usuario, evitar la jerga sin

lino uruñuelaseo periodistasseo
Monitorizar GoogleBot usando Google Analytics por Lino Uruñuela
Monitorizar GoogleBot usando Google Analytics por Lino UruñuelaMonitorizar GoogleBot usando Google Analytics por Lino Uruñuela
Monitorizar GoogleBot usando Google Analytics por Lino Uruñuela

Por qué es importante saber lo que el robot de Google hace en tu site y cómo hacerlo. By Lino Uruñuela , SEonthebeach 2015

google analyticsbotsgoogle
seguridad al paciente acuerdo minsterial 115.pptx
seguridad al paciente acuerdo minsterial 115.pptxseguridad al paciente acuerdo minsterial 115.pptx
seguridad al paciente acuerdo minsterial 115.pptx

sddadfasdf

salud
https://www.youtube.com/watch?v=AyeD6Y_fLdk
https://www.youtube.com/watch?v=92jciJsXtx0
https://www.youtube.com/watch?v=Jm51YBz1jwY
https://www.youtube.com/watch?v=rBjeB3HCT-M
https://www.youtube.com/watch?v=SOyeNx80fKY
https://www.youtube.com/watch?v=xxk2zfPSEP4
https://www.youtube.com/watch?v=NnWuKmXm85w
…
04 URL + transcripción de un vídeo
yt-dlp --flat-playlist
PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq
-r .url>>SORVideos.txt
Obtenemos la lista de vídeos
https://www.youtube.com/watch?v=AyeD6Y_fLdk
https://www.youtube.com/watch?v=92jciJsXtx0
https://www.youtube.com/watch?v=Jm51YBz1jwY
https://www.youtube.com/watch?v=rBjeB3HCT-M
https://www.youtube.com/watch?v=SOyeNx80fKY
https://www.youtube.com/watch?v=xxk2zfPSEP4
https://www.youtube.com/watch?v=NnWuKmXm85w
…
04 URL + transcripción de un vídeo
yt-dlp --flat-playlist
PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq
-r .url>>SORVideos.txt
Obtenemos la lista de vídeos
https://www.youtube.com/watch?v=AyeD6Y_fLdk
https://www.youtube.com/watch?v=92jciJsXtx0
https://www.youtube.com/watch?v=Jm51YBz1jwY
https://www.youtube.com/watch?v=rBjeB3HCT-M
https://www.youtube.com/watch?v=SOyeNx80fKY
https://www.youtube.com/watch?v=xxk2zfPSEP4
https://www.youtube.com/watch?v=NnWuKmXm85w
…
04 URL + transcripción de un vídeo
yt-dlp --flat-playlist
PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq
-r .url>>SORVideos.txt
Obtenemos la lista de vídeos
yt-dlp --list-subs
https://www.youtube.com/watch?v=AyeD6Y_fLdk
Obtenemos lista de subtítulos
https://www.youtube.com/watch?v=AyeD6Y_fLdk
https://www.youtube.com/watch?v=92jciJsXtx0
https://www.youtube.com/watch?v=Jm51YBz1jwY
https://www.youtube.com/watch?v=rBjeB3HCT-M
https://www.youtube.com/watch?v=SOyeNx80fKY
https://www.youtube.com/watch?v=xxk2zfPSEP4
https://www.youtube.com/watch?v=NnWuKmXm85w
…
04 URL + transcripción de un vídeo
yt-dlp --flat-playlist
PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq
-r .url>>SORVideos.txt
Obtenemos la lista de vídeos
yt-dlp --list-subs
https://www.youtube.com/watch?v=AyeD6Y_fLdk
Obtenemos lista de subtítulos …
sl Slovenian vtt, ttml, srv3, srv2, srv1, json3
so Somali vtt, ttml, srv3, srv2, srv1, json3
st Southern Sotho vtt, ttml, srv3, srv2, srv1, json3
es Spanish vtt, ttml, srv3, srv2, srv1, json3
su Sundanese vtt, ttml, srv3, srv2, srv1, json3
sw Swahili vtt, ttml, srv3, srv2, srv1, json3
sv Swedish vtt, ttml, srv3, srv2, srv1, json3
tg Tajik vtt, ttml, srv3, srv2, srv1, json3
…

Recomendado para ti

RUBRICA PARA EVALUACIÓN DE ORATORIA.docx
RUBRICA PARA EVALUACIÓN DE ORATORIA.docxRUBRICA PARA EVALUACIÓN DE ORATORIA.docx
RUBRICA PARA EVALUACIÓN DE ORATORIA.docx

rubrica de evaluacion

documentacion cartas y otras informaciones
documentacion cartas y otras informacionesdocumentacion cartas y otras informaciones
documentacion cartas y otras informaciones

.

.
INFECCIONES INTRAHOSPITALARIAs S 2.pptx
INFECCIONES INTRAHOSPITALARIAs  S 2.pptxINFECCIONES INTRAHOSPITALARIAs  S 2.pptx
INFECCIONES INTRAHOSPITALARIAs S 2.pptx

Infcciones intrahospitalarias

https://www.youtube.com/watch?v=D3JKwXiO6B4
https://www.youtube.com/watch?v=CSanSWZV_ik
https://www.youtube.com/watch?v=PUbNfPJRCsY
https://www.youtube.com/watch?v=RZAtINoMVJE
https://www.youtube.com/watch?v=MGS9Y42bcO0
https://www.youtube.com/watch?v=Egx9ymxcXnw
https://www.youtube.com/watch?v=MRtua44JqqA
…
{ "openai.com": {
"potentialVisibilityScoreInc": 0,
"searchVolume": 4400,
"cpc": 16,
"universalRank": 1,
"visibilityIndex": 1485.97998046875,
"kwResultTypes": {
"related_search": 8,
"location": 1,
"people_also_ask": 4,
"video": 3,
"knowledge_graph": 1,
"organic": 98},
"userIntent": {
"informational": 33,
"research": 33,
"transactional": 33 },
"fullUrl": "openai.com/research/whisper",
"domain": "openai.com",
"keyword": "whisper",
"resultType": "organic",
"visibilityIndexShare": 0.4575653271691231,
"universalRankDeltas": 0
}
yt-dlp
--no-abort-on-error
--write-auto-sub
--sub-lang es
--sub-format srv1
--write-description
--skip-download
-o ./"%(id)s---%(title)s"
https://www.youtube.com/watch?v=AyeD6Y_fLdk
<?xml version="1.0" encoding="utf-8" ?><transcript><text start="3.06"
dur="6.949">[Música]</text><text start="10.16" dur="4.96">hola y
bienvenidos a otro episodio de</text><text start="13.019"
dur="3.501">búsqueda del registro, un podcast que</text><text start="15.12"
dur="3.84">les llega del equipo de búsqueda de Google en el que
se</text><text start="16.52" dur="4.599">habla de todo lo relacionado con la
búsqueda y se</text><text start="18.96" dur="4.38">divierten en el
proceso. Me llamo Martin</text><text start="21.119" dur="4.08">y hoy me
acompañan John y Gary</text><text start="23.34" dur="3.42">de el equipo
de relaciones de búsqueda del que</text><text start="25.199"
dur="3.84">también formo parte</text><text start="26.76" dur="4.98">también
gracias a todos los que nos escuchan,</text><text start="29.039"
dur="4.501">acabamos de pasar nuestros 2 millones de</text><text
start="31.74" dur="3.36">descargas marcadas con este podcast
y</text><text start="33.54" dur="3.9">estamos muy entusiasmados con eso
y</text><text start="35.1" dur="4.74">gracias a todos por su</text><text
start="37.44" dur="4.2">atención continua y todos los comentarios. que
estamos</text><text start="39.84" dur="4.62">recibiendo para nuestro
podcast, esto ha</text><text start="41.64" dur="5.52">sido muy apreciado,
está bien,</text><text start="44.46" dur="5.939">hablando de comentarios
hoy, me gustaría</text><text start="47.16" dur="6.899">hablar con ustedes,
dos personas maravillosas aquí</text><text start="50.399" dur="6.18">en
esta configuración de grabación, Gary y John,</text>
cat AyeD6Y_fLd…………srv1
04 Transcripción de un vídeo
* Debe ir todo en una línea
cat SORVideos.txt |
xargs -I{} bash -c 'yt-dlp --no-abort-on-error
--write-auto-sub --sub-lang es-orig --sub-format
srv1 --write-description --skip-download -o
./"%(id)s---%(title)s" {}’
9.282
transcripciones
5 minutos
9.282
transcripciones
125 minutos
En paralelo 100 hilos Simple
cat SORVideos.txt |
xargs -P100 -I{} bash -c 'yt-dlp
--no-abort-on-error --write-auto-sub --sub-lang
es-orig --sub-format srv1 --write-description
--skip-download -o ./"%(id)s---%(title)s" {}’
04 Transcripciones de todos los vídeos
https://www.youtube.com/watch?v=D3JKwXiO6B4
https://www.youtube.com/watch?v=CSanSWZV_ik
https://www.youtube.com/watch?v=PUbNfPJRCsY
https://www.youtube.com/watch?v=RZAtINoMVJE
https://www.youtube.com/watch?v=MGS9Y42bcO0
https://www.youtube.com/watch?v=Egx9ymxcXnw
https://www.youtube.com/watch?v=MRtua44JqqA
…
sed -i -E
's/(<text ([^>]+)>)([A-Z])/n13/g'
cat AyeD6Y_fLd…………srv1
04 Información útil a extraer
URLs de vídeos
Guardar en BBDD
Embeddings
del texto
"kw","Volume","RelatedKW","VolumeRelatedKw"
"iphone 13",673000,"iphone 13 precio",22200
"iphone 13",673000,"iphone 13 precios",22200
"iphone 13",673000,"iphone 13: precio",22200
"iphone 13",673000,"precio iphone 13",14800
"iphone 13",673000,"apple iphone 13",12100
"iphone 13",673000,"iphone 13 apple",3600
"iphone 13",673000,"oferta iphone 13",2400
"iphone 13",673000,"precio del iphone 13",1900
"iphone 13",673000,"el iphone 13",880
"iphone 13",673000,"iphone trece",480
"kw","Volume","RelatedKW","VolumeRelatedKw"
"iphone",246000,"iphone iphone",246000
Extraer texto
y tiempos
04 Flujo de procesos

Recomendado para ti

INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2

Información de violencia

ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdfANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf

cdsfb

vbvb
Soñe con demonios monse santiago _20240702_020346_0000.pdf
Soñe con demonios monse santiago _20240702_020346_0000.pdfSoñe con demonios monse santiago _20240702_020346_0000.pdf
Soñe con demonios monse santiago _20240702_020346_0000.pdf

Presentación sobre el libro soñe con demonios de la autora Monse santiago,breve resumen,análisis de personajes,etc.

presentacionmonse sasoñe con demonios
<?xml version="1.0" encoding="utf-8" ?><transcript>
<text start="0" dur="0.5"></text>
<text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text>
<text start="3.36" dur="7.21"></text>
<text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text>
<text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos
probando.</text>
<text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text>
<text start="18.94" dur="2.55">sucede en Google detrás de escena</text>
<text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text>
<text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text>
a
<text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text>
<text start="35.68" dur="0.668">MARTÍN: Hola.</text>
<text start="36.348" dur="1.042">
JOHN MUELLER: Hola, Martín.</text>
<text start="37.39" dur="1.08">Hola, Gary.</text>
<text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text>
#!/usr/bin/python3
import sys
import json
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')
for size in sys.stdin:
# Collect a batch of inputs to process at once
texts = []
for row in range(0, int(size)):
texts.append(sys.stdin.readline())
# Run the model and obtain vectors
embeddings = model.encode(texts)
# Output the vectors
for vector in embeddings:
print(json.dumps(vector.tolist()))
sys.stdout.flush()
04 Python
embeddings_Bert.py
<?xml version="1.0" encoding="utf-8" ?><transcript>
<text start="0" dur="0.5"></text>
<text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text>
<text start="3.36" dur="7.21"></text>
<text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text>
<text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos
probando.</text>
<text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text>
<text start="18.94" dur="2.55">sucede en Google detrás de escena</text>
<text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text>
<text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text>
a
<text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text>
<text start="35.68" dur="0.668">MARTÍN: Hola.</text>
<text start="36.348" dur="1.042">
JOHN MUELLER: Hola, Martín.</text>
<text start="37.39" dur="1.08">Hola, Gary.</text>
<text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text>
<functions>
<function>
<type>executable_pool</type>
<name>embeddingsBert</name>
<return_type>Array(Float32)</return_type>
<argument>
<type>String</type>
</argument>
<format>TabSeparated</format>
<command>embeddings_Bert.py</command>
<command_read_timeout>1000000</command_read_timeout>
</function>
</functions>
04 Base de Datos (ClickHouse)
configuración de la Base de Datos
<?xml version="1.0" encoding="utf-8" ?><transcript>
<text start="0" dur="0.5"></text>
<text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text>
<text start="3.36" dur="7.21"></text>
<text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text>
<text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos
probando.</text>
<text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text>
<text start="18.94" dur="2.55">sucede en Google detrás de escena</text>
<text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text>
<text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text>
a
<text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text>
<text start="35.68" dur="0.668">MARTÍN: Hola.</text>
<text start="36.348" dur="1.042">
JOHN MUELLER: Hola, Martín.</text>
<text start="37.39" dur="1.08">Hola, Gary.</text>
<text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text>
04 Base de Datos (ClickHouse)
configuración de la Base de Datos
SELECT embeddingsBert('HOLA Seonthebeach!
Estoy creando un buscador de vídeos')
RESULTS
—-------------------------------------------------------------------------------------------------------------------------------------
[0.025904791,-0.008754695,0.0024956395,-0.13338439,0.01864505,0.05029957,-0.009]
—-------------------------------------------------------------------------------------------------------------------------------------
1 row in set. Elapsed: 0.018 sec.
<?xml version="1.0" encoding="utf-8" ?><transcript>
<text start="0" dur="0.5"></text>
<text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text>
<text start="3.36" dur="7.21"></text>
<text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text>
<text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos
probando.</text>
<text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text>
<text start="18.94" dur="2.55">sucede en Google detrás de escena</text>
<text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text>
<text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text>
a
<text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text>
<text start="35.68" dur="0.668">MARTÍN: Hola.</text>
<text start="36.348" dur="1.042">
JOHN MUELLER: Hola, Martín.</text>
<text start="37.39" dur="1.08">Hola, Gary.</text>
<text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text>
CREATE TABLE Trantor.SearchOfftheRecord
(
`fecha` Date,
`fichero` String,
`texto` String,
`linea` String,
`duracion` Float32,
`comienza` Array(String),
`tiempo` String,
`vector` Array(Float32)
)
ENGINE = MergeTree
ORDER BY fecha
SETTINGS index_granularity = 8192
04 Base de Datos (ClickHouse)
configuración de la Base de Datos

Recomendado para ti

La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdfLa-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf

ojala lo disfrute

TESIS - CHEVARRIA ALEMAN de inviestigacion
TESIS - CHEVARRIA ALEMAN de inviestigacionTESIS - CHEVARRIA ALEMAN de inviestigacion
TESIS - CHEVARRIA ALEMAN de inviestigacion

niguna

configuracionderedesinalambricaswlan.pptx
configuracionderedesinalambricaswlan.pptxconfiguracionderedesinalambricaswlan.pptx
configuracionderedesinalambricaswlan.pptx

La configuración de una red WLAN (Wireless Local Area Network) implica la configuración de los dispositivos de red inalámbrica, como routers, puntos de acceso y dispositivos de red inalámbrica, para permitir que los dispositivos se conecten de forma segura y eficiente a la red inalámbrica. Algunas recomendaciones para configurar una red WLAN son: 1. Configurar el router o punto de acceso inalámbrico: Iniciar sesión en la interfaz de administración del dispositivo a través de un navegador web y configurar la red inalámbrica con un nombre de red (SSID) único y una contraseña segura. 2. Habilitar la encriptación de la red: Utilizar protocolos de encriptación como WPA2 o WPA3 para proteger la red inalámbrica de accesos no autorizados. 3. Establecer el control de acceso a la red: Configurar filtros de direcciones MAC para permitir solo dispositivos autorizados a conectarse a la red WLAN. 4. Configurar el canal inalámbrico: Seleccionar un canal inalámbrico que tenga menos interferencias de otras redes inalámbricas cercanas para mejorar el rendimiento de la red. 5. Configurar la calidad de servicio (QoS): Priorizar el tráfico de red para asegurar un ancho de banda adecuado para aplicaciones que requieran alta velocidad, como videoconferencias o streaming de vídeo. 6. Realizar pruebas de velocidad y rendimiento: Realizar pruebas de velocidad para asegurarse de que la red inalámbrica funciona correctamente y proporciona la velocidad de conexión esperada. Es importante tener en cuenta que la configuración de una red WLAN puede variar dependiendo del fabricante y modelo del dispositivo inalámbrico utilizado. Consulte la documentación del fabricante para obtener instrucciones detalladas sobre cómo configurar su red WLAN específica.

redesredes wlaninternet
Usuario busca
Extrae cuando
comienza
Embedding la
consultaz
04 Proceso para resolver la búsqueda
Devuelve URL
enlazando al
momento exacto
¿Los más
similares? (KNN)
04 Búsqueda semántica (ClickHouse)
configuración de la Base de Datos
WITH embeddingsBert('problemas por renderizar javascript') AS txtBusqueda
SELECT
url,
tiempo,
L2SquaredDistance(vector, txtBusqueda) AS distancia,
countSubstrings(texto, ' ') + 1 AS palabras,
texto,
contexto
FROM
(
SELECT
concat('https://www.youtube.com/', fichero, '&t=', replaceRegexpAll(tiempo, '..*', ''), 's') AS url,
texto,
neighbor(texto, 4) AS vecino4,
neighbor(texto, 3) AS vecino3,
neighbor(texto, 2) AS vecino2,
neighbor(texto, 1) AS vecino1,
concat(texto, vecino1, vecino2, vecino3, vecino4) AS contexto,
vector,
tiempo
FROM default.YtGSCVector
)
WHERE palabras > 2
ORDER BY distancia ASC
04 Enlace al momento en el vídeo
04 Enlace al momento en el vídeo

Recomendado para ti

Chat GPT sus ventajas y desventajas para su uso
Chat GPT sus ventajas y desventajas para su usoChat GPT sus ventajas y desventajas para su uso
Chat GPT sus ventajas y desventajas para su uso

Ventajas y desventajas Chat GPT

RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmhRG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh

Bueno

bueno
PLAN COMERCIAL DE EXMINCO PARA CREC..pptx
PLAN COMERCIAL DE EXMINCO PARA CREC..pptxPLAN COMERCIAL DE EXMINCO PARA CREC..pptx
PLAN COMERCIAL DE EXMINCO PARA CREC..pptx

fe

04
En breve, interface web…
¡Fin!
17 de junio 2023

Más contenido relacionado

La actualidad más candente

Google Sheets For SEO - Tom Pool - London SEO Meetup XL
Google Sheets For SEO - Tom Pool - London SEO Meetup XLGoogle Sheets For SEO - Tom Pool - London SEO Meetup XL
Google Sheets For SEO - Tom Pool - London SEO Meetup XL
Tom Pool
 
How to Use Search Intent to Dominate Google Discover - SOB2023
How to Use Search Intent to Dominate Google Discover - SOB2023How to Use Search Intent to Dominate Google Discover - SOB2023
How to Use Search Intent to Dominate Google Discover - SOB2023
Felipe Bazon
 
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
Daniel Smullen
 
SEO Orientado a Resultados #DigitalZAC 2022
SEO Orientado a Resultados #DigitalZAC 2022SEO Orientado a Resultados #DigitalZAC 2022
SEO Orientado a Resultados #DigitalZAC 2022
MJ Cachón Yáñez
 
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
LazarinaStoyanova
 
How to automate a long tail SEO strategy for ecommerce
How to automate a long tail SEO strategy for ecommerceHow to automate a long tail SEO strategy for ecommerce
How to automate a long tail SEO strategy for ecommerce
PierreOlivierDanhaiv1
 
Data Pitfalls - Brighton SEO - Katie Swann.pptx
Data Pitfalls - Brighton SEO - Katie Swann.pptxData Pitfalls - Brighton SEO - Katie Swann.pptx
Data Pitfalls - Brighton SEO - Katie Swann.pptx
KatieSwann5
 
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble RomagnoliHow to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
Rumble Romagnoli
 
Influencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex WebsitesInfluencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex Websites
Dan Taylor
 
GretaMunari - The redemption of content automation
GretaMunari - The redemption of content automationGretaMunari - The redemption of content automation
GretaMunari - The redemption of content automation
GretaMunari1
 
How to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress websiteHow to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress website
Indigo Tree Digital
 
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
Areej AbuAli
 
Lucy Dodds - BrightonSEO Autumn 22
Lucy Dodds - BrightonSEO Autumn 22Lucy Dodds - BrightonSEO Autumn 22
Lucy Dodds - BrightonSEO Autumn 22
Lucy Dodds
 
Agrupa y vencerás - SEO técnico
Agrupa y vencerás - SEO técnicoAgrupa y vencerás - SEO técnico
Agrupa y vencerás - SEO técnico
Lino Uruñuela
 
Brighton Y U No Reply_Bibi the Link Builder.pdf
Brighton Y U No Reply_Bibi the Link Builder.pdfBrighton Y U No Reply_Bibi the Link Builder.pdf
Brighton Y U No Reply_Bibi the Link Builder.pdf
Bibi the Link Builder
 
Análisis de precios de tu competencia con Screaming Frog #SEOGirona
Análisis de precios de tu competencia con Screaming Frog #SEOGironaAnálisis de precios de tu competencia con Screaming Frog #SEOGirona
Análisis de precios de tu competencia con Screaming Frog #SEOGirona
MJ Cachón Yáñez
 
Tech SEO for the Omni-Channel at Brighton SEO 2022
 Tech SEO for the Omni-Channel at Brighton SEO 2022 Tech SEO for the Omni-Channel at Brighton SEO 2022
Tech SEO for the Omni-Channel at Brighton SEO 2022
Crystal J Carter
 
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptxBrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
JosephineHaagen
 
brighton final.pptx
brighton final.pptxbrighton final.pptx
brighton final.pptx
ssuser152aeb
 
A beginner's guide to machine learning for SEOs - WTSFest 2022
A beginner's guide to machine learning for SEOs  - WTSFest 2022A beginner's guide to machine learning for SEOs  - WTSFest 2022
A beginner's guide to machine learning for SEOs - WTSFest 2022
LazarinaStoyanova
 

La actualidad más candente (20)

Google Sheets For SEO - Tom Pool - London SEO Meetup XL
Google Sheets For SEO - Tom Pool - London SEO Meetup XLGoogle Sheets For SEO - Tom Pool - London SEO Meetup XL
Google Sheets For SEO - Tom Pool - London SEO Meetup XL
 
How to Use Search Intent to Dominate Google Discover - SOB2023
How to Use Search Intent to Dominate Google Discover - SOB2023How to Use Search Intent to Dominate Google Discover - SOB2023
How to Use Search Intent to Dominate Google Discover - SOB2023
 
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
News SEO: Why we’ve de commissioned AMP - Brighton SEO September 2021
 
SEO Orientado a Resultados #DigitalZAC 2022
SEO Orientado a Resultados #DigitalZAC 2022SEO Orientado a Resultados #DigitalZAC 2022
SEO Orientado a Resultados #DigitalZAC 2022
 
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
How to Incorporate ML in your SERP Analysis, Lazarina Stoy -BrightonSEO Oct, ...
 
How to automate a long tail SEO strategy for ecommerce
How to automate a long tail SEO strategy for ecommerceHow to automate a long tail SEO strategy for ecommerce
How to automate a long tail SEO strategy for ecommerce
 
Data Pitfalls - Brighton SEO - Katie Swann.pptx
Data Pitfalls - Brighton SEO - Katie Swann.pptxData Pitfalls - Brighton SEO - Katie Swann.pptx
Data Pitfalls - Brighton SEO - Katie Swann.pptx
 
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble RomagnoliHow to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
How to Create an Airtight SEO Strategy to Beat Any Competitor - Rumble Romagnoli
 
Influencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex WebsitesInfluencing Discovery, Indexing Strategies For Complex Websites
Influencing Discovery, Indexing Strategies For Complex Websites
 
GretaMunari - The redemption of content automation
GretaMunari - The redemption of content automationGretaMunari - The redemption of content automation
GretaMunari - The redemption of content automation
 
How to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress websiteHow to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress website
 
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
 
Lucy Dodds - BrightonSEO Autumn 22
Lucy Dodds - BrightonSEO Autumn 22Lucy Dodds - BrightonSEO Autumn 22
Lucy Dodds - BrightonSEO Autumn 22
 
Agrupa y vencerás - SEO técnico
Agrupa y vencerás - SEO técnicoAgrupa y vencerás - SEO técnico
Agrupa y vencerás - SEO técnico
 
Brighton Y U No Reply_Bibi the Link Builder.pdf
Brighton Y U No Reply_Bibi the Link Builder.pdfBrighton Y U No Reply_Bibi the Link Builder.pdf
Brighton Y U No Reply_Bibi the Link Builder.pdf
 
Análisis de precios de tu competencia con Screaming Frog #SEOGirona
Análisis de precios de tu competencia con Screaming Frog #SEOGironaAnálisis de precios de tu competencia con Screaming Frog #SEOGirona
Análisis de precios de tu competencia con Screaming Frog #SEOGirona
 
Tech SEO for the Omni-Channel at Brighton SEO 2022
 Tech SEO for the Omni-Channel at Brighton SEO 2022 Tech SEO for the Omni-Channel at Brighton SEO 2022
Tech SEO for the Omni-Channel at Brighton SEO 2022
 
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptxBrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
BrightonSEO - NLP for SEOs - How to optimise your content for BERT.pptx
 
brighton final.pptx
brighton final.pptxbrighton final.pptx
brighton final.pptx
 
A beginner's guide to machine learning for SEOs - WTSFest 2022
A beginner's guide to machine learning for SEOs  - WTSFest 2022A beginner's guide to machine learning for SEOs  - WTSFest 2022
A beginner's guide to machine learning for SEOs - WTSFest 2022
 

Más de Lino Uruñuela

Google Search Console - el dato de Schrödinger
Google Search Console - el dato de  SchrödingerGoogle Search Console - el dato de  Schrödinger
Google Search Console - el dato de Schrödinger
Lino Uruñuela
 
Que no te den dato por liebre - enpresadigitala 2022
Que no te den dato por liebre - enpresadigitala 2022Que no te den dato por liebre - enpresadigitala 2022
Que no te den dato por liebre - enpresadigitala 2022
Lino Uruñuela
 
SeoQL: SQL para SEO
SeoQL: SQL para SEOSeoQL: SQL para SEO
SeoQL: SQL para SEO
Lino Uruñuela
 
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
Lino Uruñuela
 
Search Console, descifrando las cifras
Search Console, descifrando las cifrasSearch Console, descifrando las cifras
Search Console, descifrando las cifras
Lino Uruñuela
 
Seo Técnico - Del mito al dato - Seonthebeach 2018
Seo Técnico - Del mito al dato - Seonthebeach 2018Seo Técnico - Del mito al dato - Seonthebeach 2018
Seo Técnico - Del mito al dato - Seonthebeach 2018
Lino Uruñuela
 
eShow 2017 SEO grandes webs - Lino urunuela
eShow 2017 SEO grandes webs - Lino urunuelaeShow 2017 SEO grandes webs - Lino urunuela
eShow 2017 SEO grandes webs - Lino urunuela
Lino Uruñuela
 
Optimiza tu crawl budget se onthebeach 2017
Optimiza tu crawl budget   se onthebeach 2017Optimiza tu crawl budget   se onthebeach 2017
Optimiza tu crawl budget se onthebeach 2017
Lino Uruñuela
 
Cómo hacer una migración y no morir en el intento
Cómo hacer una migración y no morir en el intentoCómo hacer una migración y no morir en el intento
Cómo hacer una migración y no morir en el intento
Lino Uruñuela
 
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
Lino Uruñuela
 
SEO para periodistas por Lino Uruñuela (2008)
SEO para periodistas por Lino Uruñuela (2008)SEO para periodistas por Lino Uruñuela (2008)
SEO para periodistas por Lino Uruñuela (2008)
Lino Uruñuela
 
Monitorizar GoogleBot usando Google Analytics por Lino Uruñuela
Monitorizar GoogleBot usando Google Analytics por Lino UruñuelaMonitorizar GoogleBot usando Google Analytics por Lino Uruñuela
Monitorizar GoogleBot usando Google Analytics por Lino Uruñuela
Lino Uruñuela
 

Más de Lino Uruñuela (12)

Google Search Console - el dato de Schrödinger
Google Search Console - el dato de  SchrödingerGoogle Search Console - el dato de  Schrödinger
Google Search Console - el dato de Schrödinger
 
Que no te den dato por liebre - enpresadigitala 2022
Que no te den dato por liebre - enpresadigitala 2022Que no te den dato por liebre - enpresadigitala 2022
Que no te den dato por liebre - enpresadigitala 2022
 
SeoQL: SQL para SEO
SeoQL: SQL para SEOSeoQL: SQL para SEO
SeoQL: SQL para SEO
 
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
Obtener un listado de keywords en base a su potencial SEO (Google Search Cons...
 
Search Console, descifrando las cifras
Search Console, descifrando las cifrasSearch Console, descifrando las cifras
Search Console, descifrando las cifras
 
Seo Técnico - Del mito al dato - Seonthebeach 2018
Seo Técnico - Del mito al dato - Seonthebeach 2018Seo Técnico - Del mito al dato - Seonthebeach 2018
Seo Técnico - Del mito al dato - Seonthebeach 2018
 
eShow 2017 SEO grandes webs - Lino urunuela
eShow 2017 SEO grandes webs - Lino urunuelaeShow 2017 SEO grandes webs - Lino urunuela
eShow 2017 SEO grandes webs - Lino urunuela
 
Optimiza tu crawl budget se onthebeach 2017
Optimiza tu crawl budget   se onthebeach 2017Optimiza tu crawl budget   se onthebeach 2017
Optimiza tu crawl budget se onthebeach 2017
 
Cómo hacer una migración y no morir en el intento
Cómo hacer una migración y no morir en el intentoCómo hacer una migración y no morir en el intento
Cómo hacer una migración y no morir en el intento
 
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
Seo Logs y Big Data, Lino Uruñuela en Seonthebeach 2016
 
SEO para periodistas por Lino Uruñuela (2008)
SEO para periodistas por Lino Uruñuela (2008)SEO para periodistas por Lino Uruñuela (2008)
SEO para periodistas por Lino Uruñuela (2008)
 
Monitorizar GoogleBot usando Google Analytics por Lino Uruñuela
Monitorizar GoogleBot usando Google Analytics por Lino UruñuelaMonitorizar GoogleBot usando Google Analytics por Lino Uruñuela
Monitorizar GoogleBot usando Google Analytics por Lino Uruñuela
 

Último

seguridad al paciente acuerdo minsterial 115.pptx
seguridad al paciente acuerdo minsterial 115.pptxseguridad al paciente acuerdo minsterial 115.pptx
seguridad al paciente acuerdo minsterial 115.pptx
katherineZambrano36
 
RUBRICA PARA EVALUACIÓN DE ORATORIA.docx
RUBRICA PARA EVALUACIÓN DE ORATORIA.docxRUBRICA PARA EVALUACIÓN DE ORATORIA.docx
RUBRICA PARA EVALUACIÓN DE ORATORIA.docx
roelcaballero514
 
documentacion cartas y otras informaciones
documentacion cartas y otras informacionesdocumentacion cartas y otras informaciones
documentacion cartas y otras informaciones
ABELTUNQUEMAMANI1
 
INFECCIONES INTRAHOSPITALARIAs S 2.pptx
INFECCIONES INTRAHOSPITALARIAs  S 2.pptxINFECCIONES INTRAHOSPITALARIAs  S 2.pptx
INFECCIONES INTRAHOSPITALARIAs S 2.pptx
EsmeraldaValentn1
 
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
DiegoTrujillo207720
 
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdfANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
ykiara
 
Soñe con demonios monse santiago _20240702_020346_0000.pdf
Soñe con demonios monse santiago _20240702_020346_0000.pdfSoñe con demonios monse santiago _20240702_020346_0000.pdf
Soñe con demonios monse santiago _20240702_020346_0000.pdf
pamelarojasdelacruz3
 
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdfLa-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
MaricieloQuispe7
 
TESIS - CHEVARRIA ALEMAN de inviestigacion
TESIS - CHEVARRIA ALEMAN de inviestigacionTESIS - CHEVARRIA ALEMAN de inviestigacion
TESIS - CHEVARRIA ALEMAN de inviestigacion
FERNANDOJARAORNA2
 
configuracionderedesinalambricaswlan.pptx
configuracionderedesinalambricaswlan.pptxconfiguracionderedesinalambricaswlan.pptx
configuracionderedesinalambricaswlan.pptx
csuarezaldana
 
Chat GPT sus ventajas y desventajas para su uso
Chat GPT sus ventajas y desventajas para su usoChat GPT sus ventajas y desventajas para su uso
Chat GPT sus ventajas y desventajas para su uso
carpediem192805
 
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmhRG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
jesus781817
 
PLAN COMERCIAL DE EXMINCO PARA CREC..pptx
PLAN COMERCIAL DE EXMINCO PARA CREC..pptxPLAN COMERCIAL DE EXMINCO PARA CREC..pptx
PLAN COMERCIAL DE EXMINCO PARA CREC..pptx
BrianLpez18
 

Último (13)

seguridad al paciente acuerdo minsterial 115.pptx
seguridad al paciente acuerdo minsterial 115.pptxseguridad al paciente acuerdo minsterial 115.pptx
seguridad al paciente acuerdo minsterial 115.pptx
 
RUBRICA PARA EVALUACIÓN DE ORATORIA.docx
RUBRICA PARA EVALUACIÓN DE ORATORIA.docxRUBRICA PARA EVALUACIÓN DE ORATORIA.docx
RUBRICA PARA EVALUACIÓN DE ORATORIA.docx
 
documentacion cartas y otras informaciones
documentacion cartas y otras informacionesdocumentacion cartas y otras informaciones
documentacion cartas y otras informaciones
 
INFECCIONES INTRAHOSPITALARIAs S 2.pptx
INFECCIONES INTRAHOSPITALARIAs  S 2.pptxINFECCIONES INTRAHOSPITALARIAs  S 2.pptx
INFECCIONES INTRAHOSPITALARIAs S 2.pptx
 
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
INFORME TRIPTICO VIOLENCIA LABORAL.pdf 2
 
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdfANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
ANALISIS E INTERPRETACION DE LOS RESULTADOS.pdf
 
Soñe con demonios monse santiago _20240702_020346_0000.pdf
Soñe con demonios monse santiago _20240702_020346_0000.pdfSoñe con demonios monse santiago _20240702_020346_0000.pdf
Soñe con demonios monse santiago _20240702_020346_0000.pdf
 
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdfLa-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
La-felicidad-paradojica-gilles-lipovetsky (2010) (3).pdf
 
TESIS - CHEVARRIA ALEMAN de inviestigacion
TESIS - CHEVARRIA ALEMAN de inviestigacionTESIS - CHEVARRIA ALEMAN de inviestigacion
TESIS - CHEVARRIA ALEMAN de inviestigacion
 
configuracionderedesinalambricaswlan.pptx
configuracionderedesinalambricaswlan.pptxconfiguracionderedesinalambricaswlan.pptx
configuracionderedesinalambricaswlan.pptx
 
Chat GPT sus ventajas y desventajas para su uso
Chat GPT sus ventajas y desventajas para su usoChat GPT sus ventajas y desventajas para su uso
Chat GPT sus ventajas y desventajas para su uso
 
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmhRG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
RG CONAMATA1 PISCO-22-06-24 .pdf hmhmhmh
 
PLAN COMERCIAL DE EXMINCO PARA CREC..pptx
PLAN COMERCIAL DE EXMINCO PARA CREC..pptxPLAN COMERCIAL DE EXMINCO PARA CREC..pptx
PLAN COMERCIAL DE EXMINCO PARA CREC..pptx
 

SEO desde la línea de comandos

  • 1. From Shell to SEO and beyond Desde la línea de comandos
  • 2. Ya sea porque no hay otra manera, o porque es la más eficaz, si trabajas con big data, el terminal aprenderás! La línea de comandos
  • 3. 01 Los básicos Hay cuatro o cinco comandos que hacen funcionar el mundo, y puede que no sea coña… Ya sea porque no hay otra manera, o porque es la más eficaz, si trabajas con big data, el terminal aprenderás! La línea de comandos
  • 4. Cuatro o cinco comandos son habitualmente utilizados 01 Los básicos grep sed cat
  • 5. cat grep sed Cuatro o cinco comandos son habitualmente utilizados 01 Los básicos Ver el contenido de un archivo
  • 6. grep sed Filtrar usando regex el contenido de un archivo Cuatro o cinco comandos son habitualmente utilizados 01 Los básicos cat Ver el contenido de un archivo
  • 7. Cuatro o cinco comandos son habitualmente utilizados sed Sustituir patrones en el contenido de un archivo 01 Los básicos grep Filtrar usando regex el contenido de un archivo cat Ver el contenido de un archivo
  • 8. 01 cat cat ejemploFicheroTexto.txt <?xml version="1.0" encoding="utf-8" ?><transcript><text start="0" dur="0.5"></text><text start="0.5" dur="2.86">[MÚSICA ELECTRÓNICA]</text> <text start="3.36" dur="7.21"></text><text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text><text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text><text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text><text start="18.94" dur="2.55">sucede en Google detrás de escena</text><text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text><text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text><text start="26.71" dur="3.97">en el equipo de relaciones de búsqueda aquí en Google en Suiza.</text><text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo.</text><text start="35.68" dur="0.668">MARTÍN: Hola.</text><text start="36.348" dur="1.042"> JOHN MUELLER: Hola, Martín.</text><text start="37.39" dur="1.08">Hola, Gary.</text><text start="38.47" dur="1.02">GARY: [NO EN INGLÉS]</text> <text start="39.49" dur="1.125">JOHN MUELLER: Buenos días.</text><text start="40.615" dur="1.765">Así que hemos hecho una serie de episodios ahora.</text><text start="42.38" dur="2.45">Y creo que poco a poco le estamos cogiendo el truco. Sin embargo, se</text><text start="44.83" dur="2.91">siente un poco nuevo y emocionante</text><text start="47.74" dur="2.722">cada vez, así que eso es genial. ¿</text>
  • 9. <?xml version="1.0" encoding="utf-8" ?><transcript> <text start="0" dur="0.5"></text> <text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text> <text start="3.36" dur="7.21"></text> <text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text> <text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text> <text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text> <text start="18.94" dur="2.55">sucede en Google detrás de escena</text> <text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text> <text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text> a <text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text> <text start="35.68" dur="0.668">MARTÍN: Hola.</text> <text start="36.348" dur="1.042"> JOHN MUELLER: Hola, Martín.</text> <text start="37.39" dur="1.08">Hola, Gary.</text> <text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text> <?xml version="1.0" encoding="utf-8" ?><transcript> <text start="0" dur="0.5"></text> <text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text> <text start="3.36" dur="7.21"></text> <text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text> <text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text> <text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text> <text start="18.94" dur="2.55">sucede en Google detrás de escena</text> <text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text> <text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text> a <text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text> <text start="35.68" dur="0.668">MARTÍN: Hola.</text> <text start="36.348" dur="1.042"> JOHN MUELLER: Hola, Martín.</text> <text start="37.39" dur="1.08">Hola, Gary.</text> <text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text> 01 cat + sed cat ejemploFicheroTexto.txt |sed 's/<text star/n<text star/g'
  • 10. 02 Los imprescindibles Su uso básico es “sencillo”, pero son comandos con muchísimas opciones. También hay otros comandos que son muy versátiles, sobretodo para SEOs La línea de comandos
  • 11. Su uso básico es “sencillo”, pero son comandos con muchísimas opciones. No te das cuenta de su valor hasta que los usas de manera recurrente. 02 Los imprescindibles wget xargs curl
  • 12. Navega accede a una URL El mundo no funcionaría sin ellos. 02 Los imprescindibles wget xargs curl
  • 13. wget Navega accede a una URL El mundo no funcionaría sin ellos. 02 Los imprescindibles Navega accede a una URL curl xargs
  • 14. Navaja Suiza Vale para muchas cosas.. OjO puede ser catastrófico El mundo no funcionaría sin ellos. 02 Los imprescindibles wget Navega accede a una URL Navega accede a una URL curl xargs
  • 15. 02 wget wget --quiet https://www.booking.com/robots.txt -O - Robots.txt
  • 16. 02 wget wget --quiet https://www.booking.com/robots.txt -O - Robots.txt
  • 17. 02 wget + grep wget --quiet https://www.booking.com/robots.txt -O -| grep Sitemap Sitemap: https://www.booking.com/sitembk-airport-index.xml Sitemap: https://www.booking.com/sitembk-articles-index.xml Sitemap: https://www.booking.com/sitembk-attractions-index.xml Sitemap: https://www.booking.com/sitembk-beaches-index.xml Sitemap: https://www.booking.com/sitembk-beach-holidays-index.xml Sitemap: https://www.booking.com/sitembk-cars-airport-index.xml Sitemap: https://www.booking.com/sitembk-cars-city-index.xml Sitemap: https://www.booking.com/sitembk-cars-country-index.xml Sitemap: https://www.booking.com/sitembk-cars-region-index.xml Sitemap: https://www.booking.com/sitembk-city-index.xml Sitemap: https://www.booking.com/sitembk-city-review-index.xml Sitemap: https://www.booking.com/sitembk-communities-index.xml Sitemap: https://www.booking.com/sitembk-country-index.xml Sitemap: https://www.booking.com/sitembk-country-review-index.xml Sitemap: https://www.booking.com/sitembk-district-index.xml Sitemap: https://www.booking.com/sitembk-flights-index.xml Sitemap: https://www.booking.com/sitembk-flights-priority-index.xml Sitemap: https://www.booking.com/sitembk-flights-country-index.xml Sitemap: https://www.booking.com/sitembk-flights-to-region-index.xml Sitemap: https://www.booking.com/sitembk-flights-to-city-index.xml Sitemap: https://www.booking.com/sitembk-flights-to-airport-index.xml Sitemap: https://www.booking.com/sitembk-fraud-index.xml
  • 18. 02 wget + grep + sed wget -q https://www.booking.com/robots.txt -O - | grep Sitemap | sed 's/Sitemap: //g' https://www.booking.com/sitembk-airport-index.xml https://www.booking.com/sitembk-articles-index.xml https://www.booking.com/sitembk-attractions-index.xml https://www.booking.com/sitembk-beaches-index.xml https://www.booking.com/sitembk-beach-holidays-index.xml https://www.booking.com/sitembk-cars-airport-index.xml https://www.booking.com/sitembk-cars-city-index.xml https://www.booking.com/sitembk-cars-country-index.xml https://www.booking.com/sitembk-cars-region-index.xml https://www.booking.com/sitembk-city-index.xml https://www.booking.com/sitembk-city-review-index.xml https://www.booking.com/sitembk-communities-index.xml https://www.booking.com/sitembk-country-index.xml https://www.booking.com/sitembk-country-review-index.xml https://www.booking.com/sitembk-district-index.xml https://www.booking.com/sitembk-flights-index.xml https://www.booking.com/sitembk-flights-priority-index.xml https://www.booking.com/sitembk-flights-country-index.xml https://www.booking.com/sitembk-flights-to-region-index.xml https://www.booking.com/sitembk-flights-to-city-index.xml https://www.booking.com/sitembk-flights-to-airport-index.xml https://www.booking.com/sitembk-fraud-index.xml
  • 19. 02 wget + grep + sed wget -q https://www.booking.com/robots.txt -O - | grep Sitemap | sed 's/Sitemap: //g' https://www.booking.com/sitembk-airport-index.xml https://www.booking.com/sitembk-articles-index.xml https://www.booking.com/sitembk-attractions-index.xml https://www.booking.com/sitembk-beaches-index.xml https://www.booking.com/sitembk-beach-holidays-index.xml https://www.booking.com/sitembk-cars-airport-index.xml https://www.booking.com/sitembk-cars-city-index.xml https://www.booking.com/sitembk-cars-country-index.xml https://www.booking.com/sitembk-cars-region-index.xml https://www.booking.com/sitembk-city-index.xml https://www.booking.com/sitembk-city-review-index.xml https://www.booking.com/sitembk-communities-index.xml https://www.booking.com/sitembk-country-index.xml https://www.booking.com/sitembk-country-review-index.xml https://www.booking.com/sitembk-district-index.xml https://www.booking.com/sitembk-flights-index.xml https://www.booking.com/sitembk-flights-priority-index.xml https://www.booking.com/sitembk-flights-country-index.xml https://www.booking.com/sitembk-flights-to-region-index.xml https://www.booking.com/sitembk-flights-to-city-index.xml https://www.booking.com/sitembk-flights-to-airport-index.xml https://www.booking.com/sitembk-fraud-index.xml
  • 20. 02 wget wget https://www.booking.com/sitembk-airport-index.xml -O - <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.9"> <sitemap><loc>https://www.booking.com/sitembk-airport-en-gb.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ro.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ja.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-sl.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-hr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ko.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-el.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-es-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-et.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ca.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-de.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-lv.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-sr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-id.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-no.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-he.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
  • 21. 02 wget wget https://www.booking.com/sitembk-airport-index.xml -O - <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.9"> <sitemap><loc>https://www.booking.com/sitembk-airport-en-gb.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ro.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ja.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-sl.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-hr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ko.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-el.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-es-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-et.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ca.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-de.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-lv.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-sr.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-id.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-ar.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-no.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap> <sitemap><loc>https://www.booking.com/sitembk-airport-he.0000.xml.gz</loc><lastmod>2023-06-06</lastmod></sitemap>
  • 22. 02 wget + zcat wget https://www.booking.com/sitembk-airport-en-gb.0000.xml.gz -O -|zcat <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com/schemas/sitemap/0.9"> <url> <loc>https://www.booking.com/airport/us/atl.en-gb.html</loc> <lastmod>2023-06-11</lastmod> <changefreq>daily</changefreq> <priority>0.6</priority> </url> <url> <loc>https://www.booking.com/airport/us/ord.en-gb.html</loc> <lastmod>2023-06-11</lastmod> <changefreq>daily</changefreq> <priority>0.6</priority> </url> <url> <loc>https://www.booking.com/airport/us/lax.en-gb.html</loc> <lastmod>2023-06-11</lastmod> <changefreq>daily</changefreq> <priority>0.6</priority> </url> <url> <loc>https://www.booking.com/airport/gb/lhr.en-gb.html</loc>
  • 23. 02 wget + grep + xargs + while wget -q https://www.booking.com/robots.txt -O - | grep 'Sitemap'|sed 's/Sitemap: //g'|xargs -I{} wget -q - {} -O - | grep -Eo "https?://[^<]+.*xml.gz" |while read filas; do wget -q $filas -O -|zcat | grep -Eo "https?://[^<]+">> URLsBooking.txt;done
  • 24. 02 wget + grep + xargs + while wget -q https://www.booking.com/robots.txt -O - | grep 'Sitemap'|sed 's/Sitemap: //g'|xargs -I{} wget -q - {} -O - | grep -Eo "https?://[^<]+.*xml.gz" |while read filas; do wget -q $filas -O -|zcat | grep -Eo "https?://[^<]+">> URLsBooking.txt;done wget -q https://www.booking.com/robots.txt -O - | grep 'Sitemap' |sed 's/Sitemap: //g' |xargs -I{} wget -q - {} -O - | grep -Eo "https?://[^<]+.*xml.gz" |while read filas; do wget -q $filas -O - |zcat | grep -Eo "https?://[^<]+" >> URLsBooking.txt; done
  • 25. 02 wget + grep + xargs + while 177.261.544 URLs Ni nuestro fiel Screaming Frog puede con ello wget -q https://www.booking.com/robots.txt -O - | grep 'Sitemap'|sed 's/Sitemap: //g'|xargs -I{} wget -q - {} -O - | grep -Eo "https?://[^<]+.*xml.gz" |while read filas; do wget -q $filas -O -|zcat | grep -Eo "https?://[^<]+">> URLsBooking.txt;done 12 GB txt de URLs ¿Cómo lo abrirías?
  • 26. 03 Las fuentes de datos Hay una gran cantidad de fuentes de datos que podemos usar para muy diversas tareas. Os dejo algunas que creo útiles para cualquier SEO No hace falta saber programar, ni instalar pesadas librerías… Python está sobrevalorado La línea de comandos
  • 27. cat KwsInicial.csv camisetas básicas de manga corta iphone iphone 13 vaqueros de corte recto para mujer motorola edge 20 pro nokia x20 vivo x60 pro+ realme gt 5g asus rog phone 5 lenovo legion phone duel 2 zte axon 30 ultra tcl 20 pro 5g black shark 4 pro redmi note 10 pro vestidos casuales de verano 03 Las fuentes de datos Datos de APIs
  • 28. wget -q 'https://db2.keywordsur.fr/keyword_surf er_keywords?country=ES&keywords=[%22iph one%2013%22]' --output-document - {"iphone 13" :{"categories":[10007,10019,10167,10878,11511,12161,13054,13381,13419], "competition":1.0,"cpc":0.49,"search_volume":673000,"similar_keywords":[{ "keyword":"el iphone 13" ,"country":"ES","overlapping_pages":9,"search_volume":880,"cpc":0.33},{" keyword":"precio iphone 13", "country":"ES","overlapping_pages":7,"search_volume":14800,"cpc":0.16},{ "keyword":"precio del iphone 13", "country":"ES","overlapping_pages":7,"search_volume":1900,"cpc":0.16},{ "keyword":"apple iphone 13", "country":"ES","overlapping_pages":6,"search_volume":12100,"cpc":0.51},{ "keyword":"iphone 13 apple", "country":"ES","overlapping_pages":6,"search_volume":3600,"cpc":0.51},{ "keyword":"oferta iphone 13", "country":"ES","overlapping_pages":6,"search_volume":2400,"cpc":0.86},{ "keyword":"iphone trece", "country":"ES","overlapping_pages":6,"search_volume":480,"cpc":0.46},{ "keyword":"iphone 13 precio", "country":"ES","overlapping_pages":5,"search_volume":22200,"cpc":0.29},{ "keyword":"iphone 13 precios", "country":"ES","overlapping_pages":5,"search_volume":22200,"cpc":0.17},{ "keyword":"iphone 13: precio", "country":"ES","overlapping_pages":5,"search_volume":22200,"cpc":0.17}]} https://db2.keywordsur.fr/keyword_surfer_keywords?country=ES&keywords=[%22iphone%2013%22] 03 Las fuentes de datos Datos de APIs → Keywordsur
  • 29. cat KwsInicial.csv| xargs -I{} wget -q 'https://db2.keywordsur.fr/keyword_surf er_keywords?country=ES&keywords=[%22{}% 22]' --output-document - | jq>>outTextFile.txt 03 Las fuentes de datos Datos de APIs → Keywordsur
  • 30. cat KwsInicial.csv |sed 's/ /+/g'|while read palabra;do sqlCH "select kw,vol as Volume,arrayJoin(rel).1 RelatedKW,arrayJoin(rel).2 VolumeRelatedKw from (select kw,vol,arrayMap(x->(x.1,x.4),todo.2.5) as rel from (select arrayJoin(arrayZip(keys,values)) as todo, todo.1 as kw,todo.2.4 vol ,arrayZip(arrayMap(x->x.1,todo.2.5) ,arrayMap(x->x.3,todo.2.5)) as resto from ( select arrayMap(x -> x.1, JSONExtractKeysAndValues(html, 'String')) as keys, arrayMap(x -> x.2, JSONExtractKeysAndValues(html, 'Tuple(Array(UInt64), Float64, Float64, UInt64,Array(Tuple(String,UInt64,UInt64,Float64)))' )) as values FROM url(concat('http://db2.keywordsur.fr/keyword_surfer _keywords?country=ES&keywords=[%22',replaceRegexpAl l(normalizeUTF8NFD(lowerUTF8('$palabra')), 'pM', ''),'%22]'), JSONAsString, 'html String')))) order by Volume desc,VolumeRelatedKw desc FORMAT Pretty";done 03 Las fuentes de datos Datos de APIs → Keywordsur
  • 31. wget -q 'https://v7.authoritas.com/api/v3/visib ility-explorer/ranking/keywords/es_es?d omains%5B%5D=openai.com' --output-document - {"total":1000,"items":[{"openai.com":{"potentialVisibilityScoreInc":0,"searchVol ume":4400,"cpc":16,"universalRank":1,"visibilityIndex":1485.97998046875,"kw ResultTypes":{"related_search":8,"location":1,"people_also_ask":4,"video":3,"k nowledge_graph":1,"organic":98},"userIntent":{"informational":33,"research":3 3,"transactional":33},"fullUrl":"openai.com/research/whisper","domain":"open ai.com","keyword":"whisper","resultType":"organic","visibilityIndexShare":0.45 75653271691231,"universalRankDeltas":0},"potentialVisibilityScoreInc":0,"sea rchVolume":4400,"cpc":16,"universalRank":1,"visibilityIndex":1485.979980468 75,"kwResultTypes":{"related_search":8,"location":1,"people_also_ask":4,"vid eo":3,"knowledge_graph":1,"organic":98},"userIntent":{"informational":33,"rese arch":33,"transactional":33},"fullUrl":"openai.com/research/whisper","domain" :"openai.com","keyword":"whisper","resultType":"organic","visibilityIndexShare ":0.4575653271691231},{"openai.com":{"potentialVisibilityScoreInc":98.59999 84741211,"searchVolume":2900,"cpc":0,"universalRank":3,"visibilityIndex":37 0.1499938964844,"kwResultTypes":{"news":2,"navigation":1,"see_results_ab out":2,"location":1,"people_also_ask":4,"video":4,"knowledge_graph":1,"organi c":96},"userIntent":{"informational":33},"fullUrl":"openai.com/product/gpt-4","d omain":"openai.com","keyword":"g p t","resultType":"organic","visibilityIndexShare":0.11397717686981691},"potenti alVisibilityScoreInc":98.5999984741211,"searchVolume":2900,"cpc":0,"univer salRank":3,"visibilityIndex":370.1499938964844,"kwResultTypes":{"news":2,"n avigation":1,"see_results_about":2,"location":1,"people_also_ask":4,"video":4," knowledge_graph":1,"organic":96},"userIntent":{"informational":33},"fullUrl":"op enai.com/product/gpt-4","domain":"openai.com","keyword":"g p https://v7.authoritas.com/api/v3/visibility-explorer/ranking/keywords/es_es?domains%5B%5D=openai.com 03 Las fuentes de datos Datos de APIs → Authoritas
  • 32. wget -q 'https://v7.authoritas.com/api/v3/visib ility-explorer/ranking/keywords/es_es?d omains%5B%5D=openai.com' --output-document - { "openai.com": { "potentialVisibilityScoreInc": 0, "searchVolume": 4400, "cpc": 16, "universalRank": 1, "visibilityIndex": 1485.97998046875, "kwResultTypes": { "related_search": 8, "location": 1, "people_also_ask": 4, "video": 3, "knowledge_graph": 1, "organic": 98}, "userIntent": { "informational": 33, "research": 33, "transactional": 33 }, "fullUrl": "openai.com/research/whisper", "domain": "openai.com", "keyword": "whisper", "resultType": "organic", "visibilityIndexShare": 0.4575653271691231, https://v7.authoritas.com/api/v3/visibility-explorer/ranking/keywords/es_es?domains%5B%5D=openai.com 03 Las fuentes de datos Datos de APIs → Authoritas
  • 34. cat KwsInicial|sed 's/ /+/g'|xargs -P11 -I{} curl -s -w "n" "https://completion.amazon.co.uk/api/2017/su ggestions?prefix={}&suffix=&session-id=260-6 261272-2261010&customer-id=A2HLNXM8V9BK5Z&re quest-id=65EXKVSV12216V211E18&page-type=Gate way&lop=es_ES&site-variant=mobile&client-inf o = amazon-search-ui&mid=A1RKKUPIHCS9HS&alias=ap s&event=onLoad&limit=141&suggestion-type=KEY WORD&suggestion-type=WIDGET&_=1589523257903" |grep -e '^{"alias"'|sed -E 's/"shuffled":false}(.*)?$/"shuffled":false }/g' 's/"shuffled":false}(.*)?$ /"s huffled":false}/g' {"alias":"aps","prefix": "iphone 13","suffix":"","suggestions":[{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13" ,"refTag":"nb_sb_ss_ts-doa-p_1_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 pro max" ,"refTag":"nb_sb_ss_ts-doa-p_2_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 pro" ,"refTag":"nb_sb_ss_ts-doa-p_3_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 mini" ,"refTag":"nb_sb_ss_ts-doa-p_4_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 reacondicionado" ,"refTag":"nb_sb_ss_ts-doa-p_5_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 case" ,"refTag":"nb_sb_ss_ts-doa-p_6_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 pro max 256gb" ,"refTag":"nb_sb_ss_ts-doa-p_7_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 mini reacondicionado" ,"refTag":"nb_sb_ss_ts-doa-p_8_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 pro case" ,"refTag":"nb_sb_ss_ts-doa-p_9_9","candidateSources":"local","strategyId":"ts-doa-p","strategyApiTy pe":"RANK","prior":0.0,"ghost":false,"help":false},{"suggType":"KeywordSuggestion","type": "KEYWORD","value":"iphone 13 256gb" https://completion.amazon.co.uk/api/2017/suggestions?prefix=iphone+13&suffix=&session-id… 03 Las fuentes de datos Datos de APIs → Amazon
  • 35. KWs iniciales "kw","Volume","RelatedKW","VolumeRelatedKw" "iphone 13",673000,"iphone 13 precio",22200 "iphone 13",673000,"iphone 13 precios",22200 "iphone 13",673000,"iphone 13: precio",22200 "iphone 13",673000,"precio iphone 13",14800 "iphone 13",673000,"apple iphone 13",12100 "iphone 13",673000,"iphone 13 apple",3600 "iphone 13",673000,"oferta iphone 13",2400 "iphone 13",673000,"precio del iphone 13",1900 "iphone 13",673000,"el iphone 13",880 "iphone 13",673000,"iphone trece",480 "kw","Volume","RelatedKW","VolumeRelatedKw" "iphone",246000,"iphone iphone",246000 Relacionadas Amazon En paralelo Volumen de búsqueda 03 Las fuentes de datos Datos de APIs xargs -P100 -I{}
  • 36. Para los más vagos o los menos atrevidos, tranquilos, aquí dejo estos ejemplos, además, ya formateados en Google Sheets :) Datos de las APIs en Sheets https://docs.google.com/spreadsheets/d/1Lsw0flyKa6gX0O-8Stnzi8MJcYrLfUG-CZytKT6QmJc/edit#gid=1056179876 Keyword Surfer ● Kws relacionadas ● Volumen de búsqueda Authoritas Amazon ● Kws relacionadas ● Alta disponibilidad ● Datos de dominios ● ¿Actualizada?
  • 37. Existen multitud de programas y scripts que se pueden ejecutar desde el terminal. Además de comandos de Linux
  • 38. Existen multitud de programas y scripts que se pueden ejecutar desde el terminal. Además de comandos de Linux 04 Caso práctico Usaremos yt-dlp para crear un buscador de contenido dentro de una lista de vídeos
  • 39. 04 Caso práctico yt-dlp hace casi cualquier cosa con los vídeos de YouTube Obtenemos el id de la lista de reproducción
  • 40. 04 URL + transcripción de un vídeo yt-dlp --flat-playlist PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq -r .url>>SORVideos.txt Obtenemos la lista de vídeos
  • 43. https://www.youtube.com/watch?v=AyeD6Y_fLdk https://www.youtube.com/watch?v=92jciJsXtx0 https://www.youtube.com/watch?v=Jm51YBz1jwY https://www.youtube.com/watch?v=rBjeB3HCT-M https://www.youtube.com/watch?v=SOyeNx80fKY https://www.youtube.com/watch?v=xxk2zfPSEP4 https://www.youtube.com/watch?v=NnWuKmXm85w … 04 URL + transcripción de un vídeo yt-dlp --flat-playlist PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq -r .url>>SORVideos.txt Obtenemos la lista de vídeos yt-dlp --list-subs https://www.youtube.com/watch?v=AyeD6Y_fLdk Obtenemos lista de subtítulos
  • 44. https://www.youtube.com/watch?v=AyeD6Y_fLdk https://www.youtube.com/watch?v=92jciJsXtx0 https://www.youtube.com/watch?v=Jm51YBz1jwY https://www.youtube.com/watch?v=rBjeB3HCT-M https://www.youtube.com/watch?v=SOyeNx80fKY https://www.youtube.com/watch?v=xxk2zfPSEP4 https://www.youtube.com/watch?v=NnWuKmXm85w … 04 URL + transcripción de un vídeo yt-dlp --flat-playlist PLKoqnv2vTMUMxMs2PdBlDULqybdlPZxrk -j | jq -r .url>>SORVideos.txt Obtenemos la lista de vídeos yt-dlp --list-subs https://www.youtube.com/watch?v=AyeD6Y_fLdk Obtenemos lista de subtítulos … sl Slovenian vtt, ttml, srv3, srv2, srv1, json3 so Somali vtt, ttml, srv3, srv2, srv1, json3 st Southern Sotho vtt, ttml, srv3, srv2, srv1, json3 es Spanish vtt, ttml, srv3, srv2, srv1, json3 su Sundanese vtt, ttml, srv3, srv2, srv1, json3 sw Swahili vtt, ttml, srv3, srv2, srv1, json3 sv Swedish vtt, ttml, srv3, srv2, srv1, json3 tg Tajik vtt, ttml, srv3, srv2, srv1, json3 …
  • 45. https://www.youtube.com/watch?v=D3JKwXiO6B4 https://www.youtube.com/watch?v=CSanSWZV_ik https://www.youtube.com/watch?v=PUbNfPJRCsY https://www.youtube.com/watch?v=RZAtINoMVJE https://www.youtube.com/watch?v=MGS9Y42bcO0 https://www.youtube.com/watch?v=Egx9ymxcXnw https://www.youtube.com/watch?v=MRtua44JqqA … { "openai.com": { "potentialVisibilityScoreInc": 0, "searchVolume": 4400, "cpc": 16, "universalRank": 1, "visibilityIndex": 1485.97998046875, "kwResultTypes": { "related_search": 8, "location": 1, "people_also_ask": 4, "video": 3, "knowledge_graph": 1, "organic": 98}, "userIntent": { "informational": 33, "research": 33, "transactional": 33 }, "fullUrl": "openai.com/research/whisper", "domain": "openai.com", "keyword": "whisper", "resultType": "organic", "visibilityIndexShare": 0.4575653271691231, "universalRankDeltas": 0 } yt-dlp --no-abort-on-error --write-auto-sub --sub-lang es --sub-format srv1 --write-description --skip-download -o ./"%(id)s---%(title)s" https://www.youtube.com/watch?v=AyeD6Y_fLdk <?xml version="1.0" encoding="utf-8" ?><transcript><text start="3.06" dur="6.949">[Música]</text><text start="10.16" dur="4.96">hola y bienvenidos a otro episodio de</text><text start="13.019" dur="3.501">búsqueda del registro, un podcast que</text><text start="15.12" dur="3.84">les llega del equipo de búsqueda de Google en el que se</text><text start="16.52" dur="4.599">habla de todo lo relacionado con la búsqueda y se</text><text start="18.96" dur="4.38">divierten en el proceso. Me llamo Martin</text><text start="21.119" dur="4.08">y hoy me acompañan John y Gary</text><text start="23.34" dur="3.42">de el equipo de relaciones de búsqueda del que</text><text start="25.199" dur="3.84">también formo parte</text><text start="26.76" dur="4.98">también gracias a todos los que nos escuchan,</text><text start="29.039" dur="4.501">acabamos de pasar nuestros 2 millones de</text><text start="31.74" dur="3.36">descargas marcadas con este podcast y</text><text start="33.54" dur="3.9">estamos muy entusiasmados con eso y</text><text start="35.1" dur="4.74">gracias a todos por su</text><text start="37.44" dur="4.2">atención continua y todos los comentarios. que estamos</text><text start="39.84" dur="4.62">recibiendo para nuestro podcast, esto ha</text><text start="41.64" dur="5.52">sido muy apreciado, está bien,</text><text start="44.46" dur="5.939">hablando de comentarios hoy, me gustaría</text><text start="47.16" dur="6.899">hablar con ustedes, dos personas maravillosas aquí</text><text start="50.399" dur="6.18">en esta configuración de grabación, Gary y John,</text> cat AyeD6Y_fLd…………srv1 04 Transcripción de un vídeo * Debe ir todo en una línea
  • 46. cat SORVideos.txt | xargs -I{} bash -c 'yt-dlp --no-abort-on-error --write-auto-sub --sub-lang es-orig --sub-format srv1 --write-description --skip-download -o ./"%(id)s---%(title)s" {}’ 9.282 transcripciones 5 minutos 9.282 transcripciones 125 minutos En paralelo 100 hilos Simple cat SORVideos.txt | xargs -P100 -I{} bash -c 'yt-dlp --no-abort-on-error --write-auto-sub --sub-lang es-orig --sub-format srv1 --write-description --skip-download -o ./"%(id)s---%(title)s" {}’ 04 Transcripciones de todos los vídeos
  • 48. URLs de vídeos Guardar en BBDD Embeddings del texto "kw","Volume","RelatedKW","VolumeRelatedKw" "iphone 13",673000,"iphone 13 precio",22200 "iphone 13",673000,"iphone 13 precios",22200 "iphone 13",673000,"iphone 13: precio",22200 "iphone 13",673000,"precio iphone 13",14800 "iphone 13",673000,"apple iphone 13",12100 "iphone 13",673000,"iphone 13 apple",3600 "iphone 13",673000,"oferta iphone 13",2400 "iphone 13",673000,"precio del iphone 13",1900 "iphone 13",673000,"el iphone 13",880 "iphone 13",673000,"iphone trece",480 "kw","Volume","RelatedKW","VolumeRelatedKw" "iphone",246000,"iphone iphone",246000 Extraer texto y tiempos 04 Flujo de procesos
  • 49. <?xml version="1.0" encoding="utf-8" ?><transcript> <text start="0" dur="0.5"></text> <text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text> <text start="3.36" dur="7.21"></text> <text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text> <text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text> <text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text> <text start="18.94" dur="2.55">sucede en Google detrás de escena</text> <text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text> <text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text> a <text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text> <text start="35.68" dur="0.668">MARTÍN: Hola.</text> <text start="36.348" dur="1.042"> JOHN MUELLER: Hola, Martín.</text> <text start="37.39" dur="1.08">Hola, Gary.</text> <text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text> #!/usr/bin/python3 import sys import json from sentence_transformers import SentenceTransformer model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2') for size in sys.stdin: # Collect a batch of inputs to process at once texts = [] for row in range(0, int(size)): texts.append(sys.stdin.readline()) # Run the model and obtain vectors embeddings = model.encode(texts) # Output the vectors for vector in embeddings: print(json.dumps(vector.tolist())) sys.stdout.flush() 04 Python embeddings_Bert.py
  • 50. <?xml version="1.0" encoding="utf-8" ?><transcript> <text start="0" dur="0.5"></text> <text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text> <text start="3.36" dur="7.21"></text> <text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text> <text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text> <text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text> <text start="18.94" dur="2.55">sucede en Google detrás de escena</text> <text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text> <text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text> a <text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text> <text start="35.68" dur="0.668">MARTÍN: Hola.</text> <text start="36.348" dur="1.042"> JOHN MUELLER: Hola, Martín.</text> <text start="37.39" dur="1.08">Hola, Gary.</text> <text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text> <functions> <function> <type>executable_pool</type> <name>embeddingsBert</name> <return_type>Array(Float32)</return_type> <argument> <type>String</type> </argument> <format>TabSeparated</format> <command>embeddings_Bert.py</command> <command_read_timeout>1000000</command_read_timeout> </function> </functions> 04 Base de Datos (ClickHouse) configuración de la Base de Datos
  • 51. <?xml version="1.0" encoding="utf-8" ?><transcript> <text start="0" dur="0.5"></text> <text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text> <text start="3.36" dur="7.21"></text> <text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text> <text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text> <text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text> <text start="18.94" dur="2.55">sucede en Google detrás de escena</text> <text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text> <text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text> a <text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text> <text start="35.68" dur="0.668">MARTÍN: Hola.</text> <text start="36.348" dur="1.042"> JOHN MUELLER: Hola, Martín.</text> <text start="37.39" dur="1.08">Hola, Gary.</text> <text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text> 04 Base de Datos (ClickHouse) configuración de la Base de Datos SELECT embeddingsBert('HOLA Seonthebeach! Estoy creando un buscador de vídeos') RESULTS —------------------------------------------------------------------------------------------------------------------------------------- [0.025904791,-0.008754695,0.0024956395,-0.13338439,0.01864505,0.05029957,-0.009] —------------------------------------------------------------------------------------------------------------------------------------- 1 row in set. Elapsed: 0.018 sec.
  • 52. <?xml version="1.0" encoding="utf-8" ?><transcript> <text start="0" dur="0.5"></text> <text start="0.5" dur="2.86">MÚSICA ELECTRÓNICA</text> <text start="3.36" dur="7.21"></text> <text start="10.57" dur="2.37">JOHN MUELLER: Bienvenidos todos al próximo episodio</text> <text start="12.94" dur="3.48">de &amp;quot;Search Off the Record&amp;quot;, un podcast que estamos probando.</text> <text start="16.42" dur="2.52">Nuestro plan es hablar un poco sobre lo que</text> <text start="18.94" dur="2.55">sucede en Google detrás de escena</text> <text start="21.49" dur="2.77">y tal vez divertirnos un poco en el camino.</text> <text start="24.26" dur="2.45">Mi nombre es John Mueller, un promotor de búsqueda</text> a <text start="30.68" dur="5">Y me acompañan Martin y Gary, que también están en el equipo</text> <text start="35.68" dur="0.668">MARTÍN: Hola.</text> <text start="36.348" dur="1.042"> JOHN MUELLER: Hola, Martín.</text> <text start="37.39" dur="1.08">Hola, Gary.</text> <text start==""38.47" dur="1.02">GARY: [NO EN INGLÉS]</text> CREATE TABLE Trantor.SearchOfftheRecord ( `fecha` Date, `fichero` String, `texto` String, `linea` String, `duracion` Float32, `comienza` Array(String), `tiempo` String, `vector` Array(Float32) ) ENGINE = MergeTree ORDER BY fecha SETTINGS index_granularity = 8192 04 Base de Datos (ClickHouse) configuración de la Base de Datos
  • 53. Usuario busca Extrae cuando comienza Embedding la consultaz 04 Proceso para resolver la búsqueda Devuelve URL enlazando al momento exacto ¿Los más similares? (KNN)
  • 54. 04 Búsqueda semántica (ClickHouse) configuración de la Base de Datos WITH embeddingsBert('problemas por renderizar javascript') AS txtBusqueda SELECT url, tiempo, L2SquaredDistance(vector, txtBusqueda) AS distancia, countSubstrings(texto, ' ') + 1 AS palabras, texto, contexto FROM ( SELECT concat('https://www.youtube.com/', fichero, '&t=', replaceRegexpAll(tiempo, '..*', ''), 's') AS url, texto, neighbor(texto, 4) AS vecino4, neighbor(texto, 3) AS vecino3, neighbor(texto, 2) AS vecino2, neighbor(texto, 1) AS vecino1, concat(texto, vecino1, vecino2, vecino3, vecino4) AS contexto, vector, tiempo FROM default.YtGSCVector ) WHERE palabras > 2 ORDER BY distancia ASC
  • 55. 04 Enlace al momento en el vídeo
  • 56. 04 Enlace al momento en el vídeo