知识库首页 seo-llm 资料 FoundConf-Elias Dabbas.pdf.txt

FoundConf Elias Dabbas.pdf

本地来源:seo-llm/raw/seo知识库/TXT整理/seo方法论/ppt/John喜欢和引用的那些海外演讲嘉宾PPTs/FoundConf-Elias Dabbas.pdf.txt

Getting Started with Data Science and
LLMs for Modern SEO
Elias Dabbas

October 28, 2025
Tokyo

Me

What?

• Image: Drew Conway, remade with ChatGPT

What?
• Domain Expertise (SEO, finance, geology, etc): This drives the other elements by
providing answers to “what” and “why” questions
• Programming: basic programming skills (not software development), questions of
“how”
• Math and Statistics: average, maximum, minimum, modeling, machine learning,
deep learning, etc.

What?

Tasks and skills

• Image: R for Data Science book

What?

Tasks and skills
• Import: read CSV file, crawl a website, get API data
• Tidy: reshape a table, merge tables
• Transform: sort, groupby (pivot tables), filter
• Visualize: charts, interactive apps

• Model: linear model, inference, clustering
• Communicate: reports, dashboards, recommendations
• Program: perform all tasks by writing code

How?

How?

Writing (Python) code in a “Jupyter Notebook”

Minimum viable knowledge

Variables
name = value

• B2 = 10+5
• name = value (potentially a complex formula)

•= is the “assignment operator”

Functions

=FUNCTIONNAME(parameter_1, parameter_2, parameter_3, …)

Right-click (contextual functions)
Dot-notation

• Available actions depend on the
type of object

Jupyter Notebook

File format

Supporting applications

File format

Supporting applications

JupyterLab

.ipynb
Interactive Python
notebook

Jupyter Notebook

Google Colab
https://colab.research.google.com/
Start here (online, no setup required)

Kaggle

Examples

Crawling a website
One line of code to crawl an entire website

• Many more columns!

Fetching/analyzing XML sitemaps

Compare sitemap to crawled URLs

Compare sitemap to crawled URLs

857 URLs

237 URLs

Text Analysis
• adv.word_frequency: ngram analysis of a list of phrases, optionally weighted by a
metric

URL structure analysis

adv.url_to_df(openai[“url”])

adviz.url_structure()

adviz.url_structure()

Drill-down to the next level (folder)

Why?

Why work with code?
vs.
moving your mouse and clicking on the screen

We need to trust that the work we do is correct

Code to compare sitemap vs crawled URLs

• Check every step of the process, verify things are correct, ask questions

Horizontal: reusing the same workflow across projects

Run the exact same process for another domain

Vertical: improving the same workflow to make it more powerful

Analyze links

Get a mapping of all links on the site (from/to)

Analyze links

Top linked external domains (de-duplicated)

Raw data + code = results
Should be the same every time (like scientific experiments)

Full customization

A Great Tool
Provides great charts
Uncovers insights
Makes interesting reports

Allows you to ask any question & perform any
task you want with your data

Automation & packaging
Let’s make that whole workflow into a single function

Create a single function

crawled_not_in_sitemap(“example.com", “output.jsonl”)
a single command that goes through all the steps

A set of functions that you can use without having to worry about their code
do_this(a)
do_that(b, c)

Introducing advertools
A Python package that has various functions and tools dedicated to SEO, and digital marketing
open-source and free

Getting started with advertools
• Installation:
pip install advertools

• Importing:
import advertools as adv

• Running a function:
adv.function_name(param_a=val_a, param_b=val_b)

Robots.txt files
• adv.robotstxt_to_df(): convert a robots file (or a thousand) to a DataFrame
• adv.robotstxt_test(): run tests in bulk for a combination of URLs and user-agents

XML Sitemaps
• adv.sitemap_to_df(): convert a sitemap to a DataFrame
• Supports normal sitemaps and sitemap index files

• Supports robots.txt files (discovers all listed sitemaps and combines them
together)
• Runs concurrently (very fast)
• Speed can be configured easily

Crawling

Three crawlers
• adv.crawl(): normal SEO crawler

• Spider and/or list mode
• Get all request/response headers

• Set granular rules on speed
• Much more
• adv.crawl_headers(): send HEAD requests in bulk to a set of known URLs, get status
codes and all available response headers
• adv.crawl_images(): download all images from a list of URLs, optionally set limits for
minimum width/height, and name regex

Crawling

advertools crawler extracted (groups of) columns

• adv.crawl(): normal SEO crawler
• Spider and/or list mode

• Get all request/response headers
• Set granular rules on speed

URL Analysis
• adv.url_to_df: split a list of URLs to their components and return a DataFrame

Log file analysis
• adv.logs_to_df: comprehensive parsing of log files
• Parses every single field into its components (URLs, referer and request, useragent, status codes, etc)
• Extremely granular analysis of log data
• Automatic compression with parquet format

adviz

advertools vizualizations
• adviz.serp_heatmap()

The DataFrame Mentality
© Ray Grieselhuber

AI/LLMs and Data Science

The dance between (un)structured tasks

Image: ChatGPT

The Cycle
• Get unstructured data
• Provide some structure/context with
traditional methods
• Extract structured data
• Use traditional software for
processing
• Repeat

Image: ChatGPT

Crawled website’s body text

Summarize in bulk with AI
• Create an empty list summaries
• Go through all the body_text column cells in
the crawldf
• Send the content to ChatGPT with a prompt
asking it to summarize it
• Append the summary text to summaries

Crawled website’s body text

90% of My Skills Are Now Worth $0
...but the other 10% are worth 1000x
Kent Beck (software developer)
https://x.com/KentBeck/status/1648413998025707520

90% of My Skills Are Now Worth $0
...but the other 10% are worth 1000x

90%
$0

10%
$10,000

• Memorizing which package does
what

• Asking the right, strategic, useful
questions

• Knowing the syntax of the functions
that you use

• Making a good evaluation of the
given output

• Knowing what methods are
available to Python dictionaries

• Making decisions on next steps

• Writing code

• Telling the LLM to write code

“AI doesn’t do it end-to-end.
It does it middle-to-middle.
The new bottlenecks are prompting and verifying.”
Balaji Srinivasan (entrepreneur)
https://x.com/balajis/status/1937517664907460980

Human

AI/LLM

Human

End

Middle

End

Prompting

Verifying

@EliasDabbas



本文档为站内渲染。原始文件本地路径:saas/source/seo-llm/raw-seo知识库-TXT整理-seo方法论-ppt-John喜欢和引用的那些海外演讲嘉宾PPTs-FoundConf-5eea0d.txt(仅本地保留,不入库不部署)