Some SEO processes involve repetitively clicking things on a screen. Not the best use of your time.
With the right tools, however, you can automate various SEO processes—and free up resources for tasks that need more creative, human input.
In this post, I’ll share two examples of how I automate SEO tasks.
Finding email addresses for link building outreach can be a massive pain.
After all, most prospects don’t advertise their email addresses publicly. And even if you’ve managed to dig up their email addresses (or guess them using trial and error), there’s no guarantee they work.
But using Ahrefs’ Content Explorer, you can generate a huge Google Sheets list of link building prospects that looks like this:
Then as you fill out the “Approve?” column for each prospect with data—such as “Yes” or “Approved”—a Zapier automation will automatically do all these for you:
- Find the prospect’s email address using the Hunter email lookup tool
- Add the email address to your Google Sheet list of prospects
- Verify the email address using the NeverBounce email verification tool
- Add the verified email address to the Woodpecker.io email outreach tool so you can start sending customized outreach emails
Here’s how to set this up.
1. Get your list of prospects
Launch Ahrefs’ Content Explorer and search for link prospects.
For example, if you recently published a marketing survey with unique insights and statistics, you may want to look for marketing statistics pages to pitch. To do this, simply run an “In title” search for “marketing statistics.”
Next, filter your results to show only webpages that are:
- In English (unless you’re targeting webpages in another language).
- Live, as it’d be weird to reach out and say, “Hey, I found you through [this webpage that no longer exists].”
- On websites with a Domain Rating (DR) of 20 to 80 because you want to prioritize pursuing backlinks from authoritative websites but also that your chances of getting backlinks from super high-authority websites are quite low.
Add a last filter to show only one page per domain (since you want to reach out to only one prospect per website).
Click the Export button to export your list of prospects in a CSV file.
2. Clean up your list of prospects
As mentioned, we’ll be using Hunter to help us find our prospects’ email addresses.
Hunter uses the first names, last names, and domains of prospects to find email addresses, so we’ll clean up our list of prospects to provide Hunter with the exact data it needs.
Import your CSV list of prospects in Google Sheets and delete all columns in it except for:
- Content Title
- Content URL
Also, some of the prospects in the CSV don’t have author names, so it’s worth removing these rows from the CSV. To do this, just filter for rows with empty author names and delete them.
Next, use the SPLIT formula to split the author names into their first and last names based on the space between their names.
Finally, add two new columns to the sheet:
- Approve?: Adding data to this column will trigger the Zapier automation we’ll be setting up next!
- Email Address: This column will store the prospect’s email address (if found).
3. Set up a new Zapier automation with a “New or Updated Spreadsheet Row in Google Sheets” trigger
In Zapier, create a new Zap with:
- Google Sheets as the trigger app.
- New or Updated Spreadsheet Row as the trigger event.
Map the action step’s “Trigger Column” field to your Google Sheet’s “Approve?” column.
With this setup, you’ll trigger your Zap whenever you add new data—such as “Yes” or “Approved”—to the “Approve?” column for any prospect row.
4. Add a “Find Email in Hunter” action step to your Zap
Next, add a new action step with:
- Hunter as the action app.
- Find Email as the action event.
Map the “Content URL,” “First Name,” and “Last Name” columns in your Google Sheet to the “Domain or Company,” “First Name,” and “Last Name” fields for this action step, respectively.
5. Add an “Update Spreadsheet Row in Google Sheets” action step to your Zap
The next action step will update your Google Sheet with a prospect’s email address if Hunter finds it. Use:
- Google Sheets as the action app.
- Update Spreadsheet Row as the action event.
Map the Row Number of the updated row in the trigger step to this action step’s “Row” field.
Also, map the email address that Hunter found in the previous action step to the “Email Address” field of this action step.
This email address does not exist. It is for demo purposes only.
6. Add a Filter action that lets the Zap continue only if Hunter has found an email address
Next, set up a Filter action that lets the Zap proceed only if the email address data found by Hunter contains the “@” symbol.
That’s because all email addresses have the “@” symbol. If Hunter happens to find an email address value that doesn’t include this symbol, we won’t want to waste time verifying it.
7. Add a “Verify Email Address in NeverBounce” action step to your Zap
Now, we’ll use NeverBounce to verify the validity of the email addresses that Hunter found. Add a new action step with:
- NeverBounce as the action app.
- Verify Email Address as the action event.
Map the email address that Hunter found to this action step’s “Email Address to Verify” field:
8. Add a Filter action that lets the Zap continue only if NeverBounce returns a “Valid” or “Catchall” status for the email address
When NeverBounce verifies an email address, it will return one of four status text codes: Valid, Catchall, Invalid, and Unknown. Email addresses marked with the “Valid” and “Catchall” NeverBounce status codes have the highest likelihood of being valid.
So we’ll add a Filter action that lets the Zap proceed only if an email address’s NeverBounce status text code matches either “Valid” or “Catchall” exactly.
9. Add a “Create/Update Prospect in Woodpecker.co” action step to your Zap
Finally, we’ll set up the Zap to add the verified email address to Woodpecker.co.
Create a last action step with:
- Woodpecker.co as the action app.
- Create/Update Prospect as the action event.
Map the verified email address to the action step’s “Email” field, and your prospect’s first and last name (as obtained from Google Sheets) to the “First Name” and “Last Name” fields, respectively.
Hit the Publish button to turn your Zap on.
Now, when you fill out the “Approve?” column for prospects in your Google Sheet, your Zap will automatically do the heavy lifting of finding and verifying their email addresses using Hunter and NeverBounce and adding the verified email addresses to Woodpecker.co.
You can then customize your link building outreach emails in Woodpecker.co for each verified email address and, hopefully, snag yourself some backlinks!
SEO automation takes some initial setup, but it’s amazing to watch your processes run automatically after that. It’s almost like magic.
And apart from the SEO processes we’ve shared here, there are probably plenty others you can automate.
Think of the apps you regularly use for SEO work. If you can connect these apps using Zapier or some other workflow automation tool, automating the workflows they support is likely more than possible.
Got questions? Ping me on Twitter.