Elias Dabbas's Avatar

Elias Dabbas

@eliasdabbas.bsky.social

Data Science Data Visualization SEO/SEM advertools Python https://adver.tools

58 Followers  |  1 Following  |  37 Posts  |  Joined: 26.10.2024  |  1.7962

Latest posts by eliasdabbas.bsky.social on Bluesky

Post image Post image Post image Post image

@eliasdabbas.bsky.social is here with β€œPython for SEO vs. Data Science for SEO.”

πŸ“Š After a stellar main stage performance yesterday, Elias breaks down the data science and python essentials for SEOs. Time to level up your SEO game.

#SearchNStuff2025 #DigitalMarketing #PythonSEO #DataScience

11.10.2025 09:10 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

β˜€οΈ What a start to Day 1!

Big cheers to @aleyda.bsky.social, @divingfor.fun, @markwilliamscook.com, and @eliasdabbas.bsky.social for bringing the morning energy and setting the tone for the day.

We’re just getting started β€” stay tuned for more! ✨

#SearchNStuff2025 #Community #SEO #DigitalMarketing

10.10.2025 13:16 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1

Honored to have my package dash-aggrid-scales featured as Component of the Month in Plotly's newsletter.

If you miss the pandas functionality of df\.style\.background_gradient or df\.style\.bar you now have this functionaliy in AgGrid tables.

Check it out here, together with other great updates:

14.03.2025 10:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Google Helpful Content Checker: AI-Powered Content Audit Google's helpful content guidelines checker, bulk and free. Crawl up to 25 URLs, and use an LLM (ChatGPT) to check which of Google's helpful content guidelines are satisfied by the article.

πŸ”΅ Pose boolean True/False questions only, otherwise you will probably get errors
πŸ”΅ Pose questions such that True is good, and False is bad to be consistent with other questions

bit.ly/3L3Dcwo

#advertools #Python #DataScience #GenerativeAI #AI #SEO

2/2

23.02.2025 12:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Google's helpful content checker tool (update)

Minor update in functionality, with potentially big implications:

You can now edit any or all of the questions to evaluate your articles to customize the evaluation.

What kinds of bulk questions you want to ask an LLM about your content?

1/2

23.02.2025 12:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Google Helpful Content Checker: AI-Powered Content Audit Google's helpful content guidelines checker, bulk and free. Crawl up to 25 URLs, and use an LLM (ChatGPT) to check which of Google's helpful content guidelines are satisfied by the article.

πŸ”΅ Next: questions can easily be modified for semantic data, entities, or anything else that might make sense. Any suggestions?

Articles are crawled with advertools, sent to the OpenAI API, which responds with a simple True/False (no mumbo jumbo) answers per URL per criterion.

bit.ly/3L3Dcwo
2/2

17.02.2025 09:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Google Helpful Content Checker: AI-Powered Content Audit Google's helpful content guidelines checker, bulk and free. Crawl up to 25 URLs, and use an LLM (ChatGPT) to check which of Google's helpful content guidelines are satisfied by the article.

AI-Powered Bulk Content Audits

Google's helpful content checker tool (updated)

πŸ”΅ Evaluate which of the guidelines your articles satisfy
πŸ”΅ Get an average score for all articles (up to 25)
πŸ”΅ Full data (each question per URL, with title, and body text)

#advertools #Python #DataScience #AI #SEO
1/2

17.02.2025 09:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Crawling with Python – advertools Getting started with crawling with Python and how to use the advertools library for crawling and scraping websites.

πŸ”΅ Basics of custom extraction using XPath and/or CSS selectors
πŸ”΅ The structure of the crawl file for a deeper understanding
πŸ”΅ Custom settings for controlling the crawl process

bit.ly/3WTpz9p

2/2

10.02.2025 16:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Crawling with Python – advertools Getting started with crawling with Python and how to use the advertools library for crawling and scraping websites.

If #crawling & #scraping websites with #Python and #advertools is something you want to get started with, I have a tutorial for that:

πŸ”΅ Basics of the crawl function
πŸ”΅ List mode
πŸ”΅ Spider mode
πŸ”΅ Controlling which links get followed
- Using URL regex
- Using URL query parameters

1/2

10.02.2025 16:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thanks!

Looking forward to reading/watching both :)

23.01.2025 21:54 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Should You Make an LLM App? – advertools Blog An attempt to create simple guidelines to help decide which are the ideal situations to create an LLM app, using a programmatic approach (API and/or finetuning).

I love @lazarinastoy.com way of deciding using data and solution characteristics. @eliasdabbas.bsky.social also has a brilliant approach to considering wheater to build an LLM apps - includes risk/harm of being wrong which is so needed blog.adver.tools/posts/llm-ap...

23.01.2025 20:37 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

Oh, thank you!

Glad you liked it. Thanks for sharing.

23.01.2025 20:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
How to audit structured data on a website with Python – advertools A Python script that takes a site crawled with advertools and provides mechanisms for understanding structured data; which are used (JSON-LD, Twitter, and OpenGrap), which tags are present, and what t...

πŸ”΅ Count (and get percentages) of all tags across crawled pages
πŸ”΅ Count duplicated tag contents
πŸ”΅ Get ngrams of any tag
πŸ”΅ Enjoy

bit.ly/4aI5p85

2/2

21.01.2025 15:14 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image Post image

Python + advertools script for auditing and analyzing structured data

πŸ”΅ Go one step deeper than, "Does the website have structured data?"
πŸ”΅ Get JSON-LD, Twitter, and OpenGraph tags

bit.ly/4aI5p85

#DataScience #advertools #SEO #SEM #DigitalMarketing #Python #StructuredData

1/2

21.01.2025 15:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Python + advertools script to download & visualize XML sitemaps

πŸ”΅ Get the URL structure of all URLs in the sitemap
πŸ”΅ Visualize publishing trends
πŸ”΅ CSV export of the sitemap(s)
πŸ”΅ Emailable HTML charts
πŸ”΅ uv run adv_sitemaps.py ROBOTS_URL

#advertools #DataScience #SEO #Python

youtu.be/HX3cVI5TEBY

16.01.2025 13:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image Post image

GSC Data from GBQ export

Anonymous queries (shown here as "nan") seem to form a much larger share of overall impressions/clicks than I thought they would.

Here are examples where anonymous impressions are 12-16% of the total impressions & is one of the top queries.

Any similar observations?

14.01.2025 21:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Python script for testing changes in robotstxt using advertools
YouTube video by Elias Dabbas Python script for testing changes in robotstxt using advertools

Test changes in robots files and their effects on every URL in the XML sitemap, and for every User-agent.

Uses and extends yesterday's script for locally checking any changes before deploying a new robots file.

youtu.be/BYYZkbfUJYM

13.01.2025 13:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
How to check if URLs in XML sitemaps are blocked by robots.txt – advertools A Python script using advertools on how to bulk check if URLs in your XML sitemap are blocked by rules in your robots.txt file. This will be run in bulk for all combinations of user-agent:URL.

Python script for checking if your robots rules block URLs in your XML sitemaps

πŸ”΅ Provide a robots URL and get the full report
πŸ”΅ Runs through all combinations of User-agent/URL combinations
πŸ”΅ Runs thousands of tests in bulk

www.youtube.com/watch?v=RtHu...

#advertools #DataScience #SEO #Python

12.01.2025 12:44 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Create a broken link checker with Python – advertools A Python script that takes a an advertools crawl file, maps the links on all pages, finds broken internal links and locates them. Also runs the same for external links.

πŸ”΅ Locate those broken links (which pages link to them, and what anchor text is used)
πŸ”΅ Do the same with external links with the other advertools crawler
πŸ”΅ Enjoy

bit.ly/3BQ5z08

2/2

10.01.2025 15:48 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Create a broken link checker with Python – advertools A Python script that takes a an advertools crawl file, maps the links on all pages, finds broken internal links and locates them. Also runs the same for external links.

How to create a broken links checker with Python + advertools

A quick how-to guide on how to achieve that with a site crawled with advertools

πŸ”΅ Get a mapping of all links on the site
πŸ”΅ Find error URLs (define "errors" any way you want)

#DataScience #SEO #advertools #Python #pandas
1/2

10.01.2025 15:48 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Because you don't need to upload any documents, explain, clarify, one-shot, few-shot...

You've already all-shotted yourself to Google.

You just have to enable their assistant/companion/life-partner to help you, which would span most aspects of your life.

Happy Thursday.

2/2

19.12.2024 20:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Google is still sending me notifications whenever OpenAI publishes a new video in their 12 release series.

All because I once wrote this in a Google docs sheet (which I've deleted a day or two after).

On this front, Google might have a huge edge over OpenAI.

1/2

19.12.2024 20:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Word of the day is β€˜forswunk’ (13th century): exhausted by work.

I like to add β€˜foreswunk’, exhausted before you even begin.

12.12.2024 08:12 β€” πŸ‘ 6279    πŸ” 1231    πŸ’¬ 138    πŸ“Œ 140

And all this is guided by your domain knowledge (SEO/SEM/digital marketing), and so, builds on it and makes your knowledge even more useful.
Imagine if someone now doesn't know the difference between Generative AI (the field) and ChatGPT (the most popular tool in the field).
Happy Monday.

4/4

25.11.2024 13:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It includes a little programming, and a lot of data skills (visualization, processing, manipulation, analysis, ML/DL/AI, guidelines, and more). It's really interesting, enjoyable, and takes your data work to a whole new level.

3/4

25.11.2024 13:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is from the first few minutes of MIT's computer science course, explaining also why "computer science" is a bad name for the discipline.
If you want to get ahead in "Python SEO", get into Data Science. That is the essence of what we are doing with Python.

2/4

25.11.2024 13:21 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Python SEO

"When some field is just getting started and you don't really understand it very well [Data Science], it's very easy to confuse the essence of what you're doing with the tools that you use [Python]."
– Harold Abelson

1/4

25.11.2024 13:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

πŸ”΅ Contains links to the website's content (like a sitemap)
πŸ”΅ Each HTML page on the website would have another markdown version (ending with .md)
πŸ”΅ Python library documentation pages with a link to (rst) source are almost there
More details on llmstxt[.]org
Thanks to @jph.bsky.social

2/2

22.11.2024 13:02 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

SEO -> LLMO
/robots.txt -> /llms.txt
A new interesting proposal for creating a special file for LLM's to more easily and cost-effectively understand, analyze, and utilize a website's content.
πŸ”΅ Lives on the root of the domain
πŸ”΅ Is in markdown format

1/2

22.11.2024 13:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image Post image

The sitemap_to_df function converts a sitemap(index) to a DataFrame
Use this function to show the distribution of lastmod dates:
adviz.ecdf(sitemap, x="lastmod", hovername="loc")
And this one to create a treemap of domain/dir_1/dir_2
adviz.url_structure(sitemap["loc"])

2/2

20.11.2024 13:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@eliasdabbas is following 1 prominent accounts