How to Automate Dull SEO Tasks
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. Imagine being able to...
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. Imagine being able to record and email article assignments to writers in seconds using a simple form like this: Let’s look at how to set this up. Sign up for Airtable and create a new database with a table called “Writers.” The table should have columns for your writers: In the same Airtable database, create a separate table called “Articles.” Set up columns in this table for your: You’ll also need to add a lookup field to pull the writer’s email address from the “Writers” table. Next, create an article assignment form for the “Articles” table. You’ll use this form to add new article assignments to the “Articles” table. When you submit your details on the new article assignment via the Airtable form, Airtable will automatically record the new article assignment in your “Articles” table. So that’s the first step of the article assignment workflow sorted. Now, we’ll use the Zapier workflow automation tool to automate the next three steps in the workflow—namely: Sidenote. Instead of Zapier, you can also use any other workflow automation tool, such as Make, as long as the tool supports the automation triggers and actions you’ll need. In Zapier, create a new automated workflow (also known as a “Zap”) with: With this trigger, your Zap will start running when you add a new record to Airtable (such as by submitting your Airtable article assignment form). Next, add an action step with: For the action step’s “Parent Folder” field, select the Google Drive folder in which the new submission folder should be created. Also, provide a name for the submission folder in the “Folder Name” field. You can map the article title data from Airtable here to name your submission folder after the article’s title. The Google Drive folder created by your Zap will have its sharing permissions disabled by default, so let’s add an action step to grant folder access to anyone who has the link to the folder. This action step should have: Map the file ID of the Google Drive folder created in the previous action step to the “File Id” field of this action step. In addition, set the “Sharing Preference” field to “Anyone on the internet who has the link can edit.” Now, let’s set up the Google Doc that the writer will use to submit their draft. We’ll have the Zap create this submission Google Doc in the shared Google Drive submission folder. And since the Google Drive folder will have general access enabled, anyone with the link to the Google Drive folder—and this includes you—will also automatically get access to the Google Doc. No more frustration over writers forgetting to grant access to their Google Docs! So add a new action step to your Zap with: Map the article title data from Airtable to the action step’s “Document Name” field, and the folder ID of the shared Google Drive folder to the “Folder” field. You’ll also need to include some default text in the Google Doc, such as “Write your article here!” Finally, we’ll get the Zap to use your Gmail account to email the writer the article title, outline link, due date, and link to the shared Google Drive submission folder. Add a last action step to your Zap with: Map the writer’s email address from Airtable to the “To” field for this action step. Also, map the article title, outline link, due date, and Google Drive submission folder link in the email body. I also recommend adding your own email address to either the “Cc” or “Bcc” field so you get a copy of the automated email (and can confirm it’s been sent). Once you’re happy with your Zap, hit the Publish button to activate your automation! 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: Here’s how to set this up. 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: 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. 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: 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: In Zapier, create a new Zap with: 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. Next, add a new action step with: 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. The next action step will update your Google Sheet with a prospect’s email address if Hunter finds it. Use: 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. Sidenote. This email address does not exist. It is for demo purposes only. 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. Now, we’ll use NeverBounce to verify the validity of the email addresses that Hunter found. Add a new action step with: Map the email address that Hunter found to this action step’s “Email Address to Verify” field: 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. Finally, we’ll set up the Zap to add the verified email address to Woodpecker.co. Create a last action step with: 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.1. Set up an Airtable database for your writer and article data
2. Create an Airtable article assignment form
3. Set up a new Zapier automation with a “New Record in Airtable” trigger
4. Add a “Create Folder in Google Drive” action step to your Zap
5. Add an “Add File Sharing Preference in Google Drive” action step to your Zap
6. Add a “Create Document from Text in Google Docs” action step to your Zap
7. Add a “Send Email in Gmail” action step to your Zap
1. Get your list of prospects
2. Clean up your list of prospects
3. Set up a new Zapier automation with a “New or Updated Spreadsheet Row in Google Sheets” trigger
4. Add a “Find Email in Hunter” action step to your Zap
5. Add an “Update Spreadsheet Row in Google Sheets” action step to your Zap
6. Add a Filter action that lets the Zap continue only if Hunter has found an email address
7. Add a “Verify Email Address in NeverBounce” action step to your Zap
8. Add a Filter action that lets the Zap continue only if NeverBounce returns a “Valid” or “Catchall” status for the email address
9. Add a “Create/Update Prospect in Woodpecker.co” action step to your Zap
Final thoughts