SEO Automation
Without Using Hard Code
Tevfik Mert Azizoğlu | Zeo.org
slideshare.net/TevfikMertAzizolu
@mertazizoglu
T. Mert Azizoğlu
#brightonSEO @mertazizoglu
tools.zeo.org
🌍 Istanbul / Turkey
🎓 Computer Engineer
🔎 SEO Director @Zeo
⚡ SEO Automation Geek
󰞨 SEO Lecturer
Sometimes we need automations,
#brightonSEO @mertazizoglu
tools.zeo.org
but not like this.
Tools
Zapier
G-Sheets
XPath
What we will cover today?
#brightonSEO @mertazizoglu
tools.zeo.org
Tools
Zapier
G-Sheets
XPath
Let’s start!
#brightonSEO @mertazizoglu
tools.zeo.org
What is XPath?
//div[@class="seo-content"]
#brightonSEO @mertazizoglu
tools.zeo.org
XPath is a syntax for defining parts of an
XML document. - w3schools
node
● all page elements
Example: a, p, h3, div, li
XPath Syntax
#brightonSEO @mertazizoglu
tools.zeo.org
//
● points to all relevant
nodes on the page
Example: //h3
XPath Syntax
#brightonSEO @mertazizoglu
tools.zeo.org
attribute
● specifies the
property of the node
Example: class, id, href
XPath Syntax
#brightonSEO @mertazizoglu
tools.zeo.org
@
● indicates the
attribute property
Example:
//div[@class="mert"]
XPath Syntax
#brightonSEO @mertazizoglu
tools.zeo.org
XPath Overview
#brightonSEO @mertazizoglu
tools.zeo.org
count(XPath)
count(//node[@attribute="attribute_name"]/a)
count(//div[@class="seo-content"]/a)
#brightonSEO @mertazizoglu
tools.zeo.org
Element Validation
02
W
r
i
t
i
n
g
X
P
a
t
h
03
01
W
h
a
t
D
a
t
a
D
o
W
e
N
e
e
d
?
XPath
Lifecycle
#brightonSEO @mertazizoglu
tools.zeo.org
What Data
Do We Need?
01
#brightonSEO @mertazizoglu
tools.zeo.org
Element
Validation
02
#brightonSEO @mertazizoglu
tools.zeo.org
Is The Same Element Valid For All Pages? 02
#brightonSEO @mertazizoglu
tools.zeo.org
Writing XPath 03
//div[@class="bui-panel"]
XPath Helper Chrome Extension
Testing w/ XPath Helper
XPath Helper Chrome Extension
Testing w/ XPath Helper
500
URLs
(Free)
“custom extraction
not included”
#brightonSEO @mertazizoglu
tools.zeo.org
Custom Extraction w/
Screaming Frog
#brightonSEO @mertazizoglu
tools.zeo.org
FAQ Extraction w/ XPath
//div[@class="lp-faq__content"]//ul//li//h3
#brightonSEO @mertazizoglu
tools.zeo.org
FAQ Extraction w/ XPath
#brightonSEO @mertazizoglu
tools.zeo.org
FAQ Extraction w/ Screaming Frog
#brightonSEO @mertazizoglu
tools.zeo.org
FAQ Extraction w/ Screaming Frog
#brightonSEO @mertazizoglu
tools.zeo.org
Results!
#brightonSEO @mertazizoglu
tools.zeo.org
Chrome >
DevTools > Copy >
Copy XPath
Scraper Chrome Extension
Finding XPath w/ Scraper
Tools
Zapier
G-Sheets
XPath
#brightonSEO @mertazizoglu
tools.zeo.org
* Web-based Excel from Google!
❏ Free
❏ Cloud-based
❏ Easy integrations, Add-ons
❏ Apps Script & JS
❏ Accessibility
#brightonSEO @mertazizoglu
tools.zeo.org
Google Sheets
=IMPORTXML("url";"xpath")
Gif
#brightonSEO @mertazizoglu
tools.zeo.org
IMPORTXML Formula
(The Best Assistant!)
developers.google.com/apps-script/guides/sheets
#brightonSEO @mertazizoglu
tools.zeo.org
Apps Script =getStatusCode(URL)
developers.google.com/apps-script/guides/sheets
#brightonSEO @mertazizoglu
tools.zeo.org
developers.google.com/apps-script/guides/sheets
#brightonSEO @mertazizoglu
tools.zeo.org
Triggers in Apps Script
developers.google.com/apps-script/guides/sheets
#brightonSEO @mertazizoglu
tools.zeo.org
Triggers in Apps Script
Tools
Zapier
G-Sheets
XPath
#brightonSEO @mertazizoglu
tools.zeo.org
#brightonSEO @mertazizoglu
tools.zeo.org
What is Zapier ?
#brightonSEO @mertazizoglu
tools.zeo.org
zapier.com/explore
Plenty of Integrations!
#brightonSEO @mertazizoglu
tools.zeo.org
zapier.com/explore
Quick Workflows / Zaps
#brightonSEO @mertazizoglu
tools.zeo.org
SEO Sheets Zaps
Tools
I. On-Page SEO
Health Checker
II. Sitemap Watcher
III. Internal Link Catcher
* Bonus
Zapier
G-Sheets
What we’ve learnt so far!
XPath
#brightonSEO @mertazizoglu
tools.zeo.org
#brightonSEO @mertazizoglu
tools.zeo.org/sheets
On-Page SEO Health Checker
Tools #1 On-Page SEO Health Checker
#brightonSEO @mertazizoglu
tools.zeo.org/sheets
On-Page SEO Health Checker
Tools #1 On-Page SEO Health Checker
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #2 Sitemap Watcher / Sheets
//*[local-name()='url']/*[local-name()='loc']
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #2 Sitemap Watcher / Zapier
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #2 Sitemap Watcher / Zapier
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #2 Sitemap Watcher / Zapier
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #2 Sitemap Watcher / Gmail
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3 Internal Link Catcher
XPath
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3 Internal Link Catcher
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3 Internal Link Catcher
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3 Internal Link Catcher
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3
XPath Helper Chrome Extension
//div[@class="div_name"]//a[c
ontains(translate(.,'ABCÇDEF
GĞHIİJKLMNOÖPQRSŞTUÜV
WXYZ','abcçdefgğhıijklmnoöp
qrsştuüvwxyz'),
'keyword')]//@href =
'/url_name'
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3 Internal Link Catcher
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3 Internal Link Catcher
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3
#brightonSEO @mertazizoglu
tools.zeo.org
Tools #3 Internal Link Catcher
#brightonSEO @mertazizoglu
tools.zeo.org/sheets
Bonus #1 Content Brief Generator
+
#brightonSEO @mertazizoglu
tools.zeo.org
Bonus #2 n8n.io
#brightonSEO @mertazizoglu
tools.zeo.org
Bonus #2 Message When
Content Changes
n8n.io/workflows/1471
#brightonSEO @mertazizoglu
tools.zeo.org
Bonus #3 Robomotion.io
Robomotion - Content Checker
#brightonSEO @mertazizoglu
tools.zeo.org
//div[@class="thank"]/you
//twitter/@mertazizoglu
#BrightonSEO
seonocode.com

SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO April'22