Elias Dabbas
eliasdabbas.bsky.social
Elias Dabbas
@eliasdabbas.bsky.social
Data Science
Data Visualization
SEO/SEM
advertools
Python

https://adver.tools
Reposted by Elias Dabbas
@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
October 11, 2025 at 9:10 AM
Reposted by Elias Dabbas
☀️ 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
October 10, 2025 at 1:16 PM
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:
March 14, 2025 at 10:49 AM
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
February 23, 2025 at 12:29 PM
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
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.
bit.ly
February 17, 2025 at 9:18 AM
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
Crawling with Python – advertools
Getting started with crawling with Python and how to use the advertools library for crawling and scraping websites.
bit.ly
February 10, 2025 at 4:07 PM
Reposted by Elias Dabbas
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...
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).
blog.adver.tools
January 23, 2025 at 8:38 PM
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
January 21, 2025 at 3:14 PM
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
January 16, 2025 at 1:39 PM
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?
January 14, 2025 at 9:16 PM
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
Python script for testing changes in robotstxt using advertools
YouTube video by Elias Dabbas
youtu.be
January 13, 2025 at 1:37 PM
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
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.
bit.ly
January 12, 2025 at 12:44 PM
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
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.
bit.ly
January 10, 2025 at 3:48 PM
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
December 19, 2024 at 8:13 PM
Reposted by Elias Dabbas
Word of the day is ‘forswunk’ (13th century): exhausted by work.

I like to add ‘foreswunk’, exhausted before you even begin.
December 12, 2024 at 8:12 AM
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
November 25, 2024 at 1:21 PM
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
November 22, 2024 at 1:02 PM
If you're having issues with your XML sitemaps, here's a reminder that we're all human.

You can always use #advertools + adviz to check, parse, audit, and analyze sitemaps with very little code.

1/2
November 20, 2024 at 1:06 PM
Concurrent bulk requests to the OpenAI API
Here’s a recipe of how you can do that. Essentially:

🔵 completion_single is a thin wrapper around client.chat.completions.create. Here's where you create the prompt template, and add any other parameters you want.

#ai #openai #python #concurrency
November 16, 2024 at 12:24 PM
Evaluating content with AI on a large scale - I have an app for that

Recipe:

Google content guidelines + advertools + OpenAI API + Dash

🔵 Content guidelines: Set of questions to ask about a web page's content.

#AI #SEO #advertools #scraling #content #GenerativeAI #OpenAI

1/3
November 14, 2024 at 10:37 AM
What's your favorite Python SEO crawler?

According to The Google, there seems to be one dominant option.

python3 -m pip install advertools

There are also 2 others:

For status codes and all response headers
For downloading images from a list of URLs

#advertools
#SEO
#DataScience
#Python
November 13, 2024 at 11:54 AM