How to Use Dynamic Data for pSEO

Title card reading 'Dynamic Programmatic SEO: 1000's of pages with no-code'

How to build 1000s of programmatic SEO pages with dynamic data using no-code

5 min read
Mar 17, 2023

Dynamic programmatic SEO involves generating web pages on the fly using dynamic data. This allows you to build thousands of SEO-optimized pages with live data! For example, a financial website might use dynamic programmatic SEO to generate pages for each individual stock ticker symbol, with information such as stock price, volume, and historical data.

Below is a step-by-step guide to building thousands of dynamic programmatic SEO pages… all with no-code. What previously took engineers weeks or months is now possible in under an hour 🤯. We'll walk you through the process of setting up your data source, designing your page templates, and generating your pages dynamically. Whether you're a seasoned SEO pro or just getting started, this guide will give you the tools you need to take your site to the next level.

Step-by-Step Guide Overview

There are three main steps to building dynamic pSEO pages:

  1. Pull dynamic data into your database (Data Fetcher + Airtable)
  2. Design your page template (Webflow)
  3. Connect your page template to your database (Whalesync)

Below we’ll cover each step one at a time.

1) Pull dynamic data into your database

Tools Used:

  1. Airtable
  2. Data Fetcher
  3. Yelp API (or any API you want)

For this example, let’s pretend we’re making dynamic event pages. We want to show the latest events in our area so we can rank for things like “events in {city} this weekend”.

To do this, we’ll use Yelp’s API to pull in dynamic event data. The first thing we’ll need is a place to store all this dynamic data. We recommend Airtable as an easy-to-use database and data manager. Importantly, it integrates with Data Fetcher which enables us to pull in the dynamic data.

First, sign up for Airtable and create a new base:

New Airtable base named Dynamic pSEO Example with an empty default table

Then click on ‘Extension’ and ‘Add an Extension’:

Airtable's Extensions panel opened, with numbered markers on Extensions and the Add an extension button

Search for and add Data Fetcher:

Airtable's extension marketplace searched for data fetcher, showing the Data Fetcher extension and its Add button

In a separate tab, let’s go get API keys we can use to connect to Data Fetcher

Since we’re using Yelp in this example, go to Yelp’s API Docs, then click on ‘Manage API Access’:

Yelp developer portal's Fusion API guide, with Manage API Access highlighted in the top menu

Create a Yelp app by filling in the form:

Yelp's Create New App form filled in with an app name, industry, contact email and a pSEO description

Finally, copy your Yelp API key:

Yelp confirmation that the app was created, with an arrow pointing to the blurred API key to copy

With our API key in hand, return to Data Fetcher and choose ‘Custom Application’. *Note - Data Fetcher has plenty of integrations out of the box you can also use to dynamically pull in data:

Data Fetcher's application list, with Custom, for any JSON, XML or CSV API, above built-in integrations like Google Ads

Now click on the ‘Authorization’ tab, choose ‘Bearer Token’, and enter your API key:

Data Fetcher's Authorization tab set to Bearer Token, with the Yelp API key entered in the Token field

Choose the API endpoint you’d like to use from the Yelp docs, then copy and paste it into the URL field in Data Fetcher. For this example, we’ll use the Events endpoint: https://api.yelp.com/v3/events

  • Note - the Events endpoint requires that you’re in the Yelp Beta program which you can get access to by clicking a button on the bottom of the Manage app page.
Data Fetcher request with the Yelp events endpoint as its URL, and Save & Run marked as the next click

https://api.yelp.com/v3/events

Choose the fields that you want to display on your programmatic pages and then click ‘Save & Run’:

Data Fetcher's response field mapping, previewing Yelp event fields like description, site URL, image and interested count

Congrats! You’ve got your first dynamic data in your database:

Airtable table filled with 10 Yelp events, with columns for name, description, image, category and event URL

Now, go back to Data Fetcher and add the parameters that are necessary for your pages. For example, we may just want to limit this to 50 events:

Data Fetcher's Parameters tab with a limit parameter set to 50, added to the request URL as ?limit=50

In order to make the data dynamic, we’ll need to schedule Data Fetcher to run this request repeatedly to refresh the data.

Under ‘Schedule’, choose ‘Authorize’ to give Data Fetcher access to your Airtable:

Data Fetcher's Schedule section with the Authorize button highlighted

Finally, add a schedule for this to run at the frequency you need:

Data Fetcher schedule set to run every 30 minutes, every day of the week, between 00:00 and 23:00 Los Angeles time

🎉 woo hoo! The hardest part is done. You now have a database that is updated dynamically every 15 minutes. That is pretty cool!

2) Design your page template in Webflow

Tools Used:

  1. Webflow

Now that our database is set up, let’s go set up our web pages. We recommend a tool called Webflow as the premier no-code website builder. It allows you to design beautiful websites with ease. More importantly, it has a CMS feature, so we can send dynamic data to Webflow and it will automatically generate SEO pages.

First, create an account with Webflow and then create a new site. You will likely want to use one of their free templates to speed up design. For this example, I’m going to take the HireUp template and tweak it a bit to fit our event pages.

Webflow's free website templates gallery, with the HireUP job board template among the options

https://webflow.com/templates/free-website-templates

Click on the ‘CMS’ tab and then create a new collection:

Webflow Designer's CMS panel listing existing collections, with markers on the CMS icon and the new collection button

In your new collection, add a field for every field you have in Airtable:

Airtable Celebrities table beside Webflow's collection settings, with arrows matching Name, Slug, Age and Is_Athlete fields

Now that your collection is set up, click on the Pages tab and then CMS Collection page for your new collection. These CMS Collection pages are essentially template pages. You can design them once and insert dynamic data into them.

Webflow's Pages panel with the Events Template highlighted under CMS Collection pages

Design your page to look however you’d like. Then click on individual elements and choose “Get text from {your_collection}” to fill it in with dynamic data:

Webflow Designer: a heading set to get its text from the Events collection, its field list open on Event Name

Alright! Our template page is all set up. Now it’s time for the final step.

3) Connect your page template to your database (Whalesync)

Tools Used:

  1. Whalesync

We now have a database full of dynamic data (Airtable) and a template web page ready to be filled with data (Webflow). In this last step, we’re going to use Whalesync to continuously sync Airtable to Webflow.

Create an account with Whalesync and then create a new base. Connect to your Airtable and Webflow accounts:

Whalesync's Connect source step with Airtable connected and the Blog Posts base chosen as the data source

Map the tables in Airtable to the collections in Webflow that you want to sync. Do the same for each of the fields.

Finally, turn sync on and all of your dynamic data in Airtable will continuously update in Webflow🎉. Whalesync syncs data instantly, so you will see updates every 15 minutes once Data Fetcher updates.

Bringing it all together

Dynamic programmatic SEO is an incredibly powerful tool. It’s one of the only ways to generate a large number of SEO-optimized pages. With no-code tools like Airtable, Webflow, Data Fetcher, and Whalesync, building thousands of these pages is now accessible to anyone! We encourage you to try it yourself - the results can be amazing.

Subscribe for more

Stay up to date with the latest no-code data news, strategies, and insights sent straight to your inbox!

Keep reading

Related posts

Start syncing in minutes