How can we help? 👋

How To Get Started With SEOmatic: The Ultimate Guide


Welcome to the ultimate guide on getting started with SEOmatic! Whether you're a growth marketer, a marketing agency, an SEO specialist, or simply someone eager to harness the power of programmatic SEO, you're in the right place.

SEOmatic isn't just another SEO tool to optimize your website for search engines; it's about supercharging your content creation process. SEOmatic is your go-to solution for crafting high-quality marketing pages and blog posts at scale. It helps build authority for your website and drives traffic that converts.

By the end of this article, you'll be able to connect your CMS, import your datasets, craft your first template, and get a sneak peek of your programmatic content. And that's not all! You'll also learn how to schedule and drip publish your content.

Step 1: Create A Project

Before we get into the details, let's take a quick look at how this works. We offer two options:

  • You can either sync CMS fields and publish content directly (native CMS integration) or create custom fields, export content, and upload it to your CMS (custom CMS integration). In both cases, you have full control over the design layout.
  • OR we host the pages on a custom domain with layout handled by us, but with limited personalization.

Regardless of the option you choose, the process itself remains consistent: we sync all the necessary fields for your page, you import your dataset, create a content template, and then we generate the content automatically based on that template before publishing the pages on your CMS or on our platform.

  1. First thing, you need to create your project. This can be easily done by clicking “Add new project”.
    1. Notion image
  1. Then, add a project name and optionally a project description.
    1. Notion image
  1. Choose what kind of pages you want to create, either landing pages or blog posts. Remember, landing pages aim for conversions while blog posts are more informative.
  1. Choose your page generation method. You have two options for creating web pages: either design your own pages and serve them using your own CMS, or let SEOmatic handle the design and hosting on a custom domain for you.
  1. If you're using your own CMS, choose your CMS, enter your credentials, and click "connect" to sync fields. If SEOmatic isn't natively integrated, select "Custom CMS" to create custom fields, generate content with SEOmatic, and upload it to your platform. For detailed integration guides, please refer to our integration tutorials.
  1. If you are using SEOmatic to host your pages, please select your desired design template.

Step 2: Import your dataset

Creating dynamic content is an important part of generating programmatic content. You can add dynamic content to your pages by using variables from your dataset. We offer three simple ways to import your dataset into SEOmatic: uploading a CSV file, integrating with Google Sheets, or using a dataset from our library.

Your data is a key ingredient for crafting unique content and preventing duplicates. Remember, investing time in your dataset is just as important as creating your content template. If you're looking for guidance on finding datasets for your project, please check out our tutorial on that topic.

Formatting Your dataset

Formatting your dataset correctly is essential to help SEOmatic understand and use your data effectively for generating content.

Notion image

Make sure your data follows this simple format:

  • Headers: The first row should have your headers, which are like labels for your variables. Each column name will become a dynamic variable that you can use to create personalized content easily. When we generate the content, each variable will be replaced with its content, and this replacement will happen for as many rows as you have.
  • Data Rows: In the CSV file, each row that follows should contain the relevant values. Keep in mind, every row represents a single page that will be generated. So, one row equals one page. As we generate the content, we'll replace the variables with their corresponding values for each row.

Dataset Library

If you don’t have a dataset ready and still want to harness the power of programmatic SEO, this is the way to go.

  1. In the 'Create Template' step, go to the 'Data' tab.
    1. Notion image
  1. Click Data Library. It will show a popup will all the mock datasets available and choose the one you want to use. Click add to import the selected dataset.
    1. Notion image
  1. Your data is available for use.
    1. Notion image

CSV Upload

If you have a large dataset and want to upload and process your data quickly, this method is perfect.

  1. Prepare your CSV file following the guidelines mentioned in the "Formatting Your dataset" section above.
  1. In the 'Create Template' step, go to the 'Data' tab.
    1. Notion image
  1. Click on the 'Import Data' button, then choose your .CSV file.
    1. Notion image
  1. Once your file is successfully uploaded, you can select the specific columns you want to import, or simply click 'Import All' to bring in all the data.
    1. Notion image
  1. Your data is available for use.
    1. Notion image

Google Integration

If your data is already in Google Sheets, this is a convenient way to integrate it.

  1. Prepare your CSV file following the guidelines mentioned in the "Formatting Your dataset" section above.
  1. In the 'Create Content' step, go to the 'Data' tab.
    1. Notion image
  1. Click 'Import Data,' then select 'Integration,' followed by 'Import.'
    1. Notion image
  1. You'll need to authenticate with Google, allowing SEOmatic access to retrieve your data.
    1. Notion image
  1. After a successful import, similar to the .CSV upload process, you can choose which columns to import or use 'Import All' to bring in all your data.
    1. Notion image
  1. Your data is available for use.
    1. Notion image

Step 3: Create A Content Template

Let's set up a template! Think of it as the foundation for our content. We can add variables, use spin syntax, or even ask AI to come up with unique content based on your data. This is where you get to be creative and make each page stand out.

How Dynamic Content Works

When you navigate to the 'Fields' tab, you should see all the fields that have been synced from your CMS. If you're working with a custom CMS integration, it's easy – simply drag & drop the fields you want and name them as you wish.

A template must always have at least a Title and and Excerpt. This title determines how many content variations are generated. More variables in the title mean more unique pages!

Let’s take an example, here is my dataset:

Notion image

If my title is “Best restaurants”, it will only generate one single page.

Notion image

If we add one variable to my Tittle, it will generate 9 pages which is the number of rows in your dataset. Remember, one row equals one page.

Notion image

If we add multiple variables, it will create as many pages as there are combinations. In our case, it means 18 pages (9 * 2).

Notion image

You have the freedom to be super creative and focus on specific, niche keywords!

Types of Inputs

Depending on the fields you’ve synced, here are the available inputs:

  • Text Elements: Single line, Multiline, Rich Text, Number, Email, Color, Phone, Image Url, Link, etc.
  • Date Elements: Date, DateTime, etc.
  • Multi Elements: Switch, Dropdown, Checkbox, Multiselect, etc.
  • Media Elements: File, Image, Video, Multi Image, etc.

All these text elements support features like variables, spin syntax, or custom AI prompts. We recommend to use them particularly on any Rich Text input field which might hold your main content.

Dynamic Content Creation

Let’s take an example of blog post about the best restaurants in different cities. Here's how you can spice up your content:

  1. Using Variables
    1. Add variables to insert specific data into your content. Think of variables as fill-in-the-blanks.

      I recently visited {{ City }} and it was an amazing experience.

      If your dataset includes cities like "New York", "Paris", or "Tokyo", the variable {{ City }} will be replaced with these city names.

  1. Using Spin Syntax
    1. Spin syntax is a way of creating multiple variations of a same sentence. This is helpful to keep the content unique and less repetitive. You can combien spin syntax with variables. Here's how you can use it:

      [Hello|Hi|Hola], How [have you been|are you doing]? I just got back from {{ City }}.

      This will create variations like "Hello, how have you been? I just got back from New York", "Hola, how are you doing? I just got back from Paris" or “Hi, how are you doing? I just got back from Tokyo”.

  1. Using Custom AI Prompts
    1. You can use custom AI prompts to generate content based on your data. This feature is very powerful to generate very unique content for your pages. Upon page generation, custom AI prompts will be replaced with their actual results.

      Here's how you can do it:

      prompt("Write a summary about {{ City }}'s food culture")

      For each city in your dataset, the AI will generate a unique summary about the food culture of that city.

  1. Generating Images with Variables
    1. If you want to include city-specific images in your content, you can use the genImage function. Here's how:

      genImage("Generate an image of {{ City }} at night")

      This command will generate unique images for each city at nighttime.


Custom AI prompts use the power of OpenAI in the background, so you can get creative with your requests.

For optimal usage, limit to 3 prompts per project and 50 data rows. Exceeding this may exceed rate limits.

By combining all these techniques, you should be able generate unique and personalized content at scale. Once you've finished creating your content, be sure to fill in all the necessary information and then click "Next" to check out a preview of your content.

Notion image

Step 4: Publish Your Content

Ready to publish your content? Just follow these steps:

  1. Click on the "publish" button.
  1. A popup will appear, allowing you to set up drip publishing. Drip publishing is recommended! This method helps you avoid spam tags and lets Google index your content smoothly.
    1. Notion image
  1. If available, use our Test Account to see how your pages look before they go live.
  1. Choose your drip publishing rate: anywhere from 10 to 100 pages daily, weekly, or monthly.
  1. Once you've set your preferences, press "Publish". The initial pages will go live, while the rest get scheduled. Pages that are live will be labeled as "published".
  1. We'll keep you in the loop! Every time we publish pages on your behalf, we'll send you an email recap.

That’s it. Creating programmatic content with SEOmatic is as simple as that!

Did this answer your question?