Programmatic SEO in WordPress (2025) – 4 Practical Methods with WP All Import, MPG, Make.com, n8n
Key Takeaways
The video demonstrates programmatic SEO in WordPress using WP All Import, MPG, Make.com, and n8n to publish hundreds of SEO-optimized pages efficiently. It covers four practical methods for automating SEO tasks in WordPress.
Full Transcript
Hey, so a lot of people want to use programmatic SEO but think it's only possible with custom code or complex setups, but if you are using WordPress, there are actually a few solid ways to do it without needing to be a developer. So, in this video, I'll show you four different ways to do programmatic SEO in WordPress. Each method works a little differently and I'll explain when to use which one, what the pros and cons are, and how to set them up. So, this is useful if you are building a directory, location based pages, product listings, or any kind of content where the structure stays the same, but the data changes. I would not go into the non-technical parts of programmatic SEO in this video such as finding opportunities, keywords, preparing data, etc. And I'll directly show you how to create programmatic pages in WordPress. But before we start, my name is Deepak and I go by the name Deepakness online. I work on SEO content and automation and I also write about programmatic SEO at Untalked SEO. With that being said, let's get to it. To make things easier, I have created the slide four different ways to create programmatic pages in WordPress. And here are the requirements. Obviously, you need a working WordPress installation. Then you need a programmatic SEO topic as you can see here. Then you need a required data set like with all the data points that we'll use for creating the pages. And then you need these automation tools. Any one of these tools like WP all import it's a WordPress plug-in. MPG or multi-page generator it's again a WordPress plug-in. then make.com and enter. These are automation platforms like uh Zapier. So at first we'll go with this WP allimp import plug-in thing. For this you need WP allimp import pro package like import pro package as you can see here. So when you go to the WP allimp import website and their pricing page this is the package that you need because you require this import pro and this sef in this case. So yes in this package these two are available and in this this is not available SCF. So at least you need this or this and then you need this ACF add-on. Yes, I showed you uh this when you purchase this, you'll also get uh this ACF add-on and then data in the Google seeds or as a CSV file. Uh I have some snakes related data. You can see that like the common name, scientific name and a bunch of data like images and stuff about snakes. And I have around uh 15 snakes in this case. Then WPAI RankMath or Yost SEO add-on. Yes. Uh for SEO settings, you need a SEO add-on. If you are using the RankMath SEO plug-in, then you need the RankMath add-on and if Yost then Yost add-on. So yes, let's get to it. So this is a complete blank WordPress installation and I will be creating these snakes pages by using these data on the website and show you how it's done. So let me go inside WP admin and plugins. I have already installed the WP allimp import pro plug-in. Then I have installed WP allimp import ACF add-on plug-in. Then I have also installed WP all import rankmath SEO add-on because I have the RankMath SEO plug-in installed. And then I need the custom fields advanced custom fields plug-in. I think I forgot to mention here. Yes, I I'll mention here SCF. So yes, you need these plugins and from here you have two methods. One is like when you create advanced custom fields and a post type, you can use any plug-in that supports advanced custom fields and using that you can show those fields on the pages. For example, element pro is a really good plug-in. I already have a video about how to do programmatic SEO in WordPress uh by using the Elementor Pro plug-in. So, I will not show this method again. But yes, you can watch the video. I'll provide a link in the description or you can click somewhere in the I button uh at the top and yes so in this case I have a better method or maybe an alternative method to element. If you don't want to use element and you just want to use the native block editing feature of WordPress then I have got a better method for you. So for that we need a plug-in called DN custom fields parser. I have created the plug-in for myself and I have put it uh for like you can download it for free. Uh this is called DN custom fields parser. I'll put a link to this in the description below. Uh these are the features and you can just get it from here for free. So let me install the plug-in and yes this is the plug-in. I'll install it. Activate and yes. So first we need to create a custom post type because I want to show all these snakes data as something like / snakes slash the snake name. uh maybe the something like a snakes and uh a snake name. Yeah, like this. So this is the URL that I want. So for this I will create a new post type. Go to post types add new and I'll just name it snakes singular level snake and post type key I'll make it snakes cuz I want the snakes in the URL yes public advanc configuration I'll turn all these settings on if you want you can put description as well and then under URL section I want to turn on this archive feature. I want to show all the post under snakes on the snakes page. So yes, this is done. I'll save it and I can add fields from here or directly go to field groups. So I'll just click on this add fields and then create all the fields from here like the common name and scientific name and all these fields. uh in the advanced custom fields here. You can name it anything you want but it's better if you keep the names same as the Google sheet. So this is text type and I'll just name it common name and yes add field. Then the next one scientific name and so on. So I'll add all these fields and uh get back. So I have added fields till here and now I need to add two image fields. So image one and image two. So I'll copy it. And this time I need the image field. So I'll yes. And in this case I want the image URL to be shown. So yes. And then the next is again image two. and post type is equal to snake. So when the snake post type is available then only this will be shown. I'll save it and then you can see that these are the fields that we created. The last two are image fields rest are text fields and this sort bio because this contains longer text I have created it as like text area. So yes, this is done. And in the left side, you should see this snakes item or menu appearing. We do not have any a snake item available here or a snake related post available here. You can add it from here. When you click on this add new snake, this can be done like manually. uh you can add title here then description here and all these custom fields you can add here like the images conservation status and so on but we are not adding these manually so I'll just go back and now I need to include this snakes custom fields in the DN custom fields parser so I'll go in the settings and you can see that the snakes appears here and I'll just check it and save changes it means you want to process all the custom fields in the snakes post type. Now I'll go here in the all import and new import section and we have two options like upload a file. If you have a CSV file or an XML file you can upload from here but I have the data inside Google Sheets. So I'll just go to this share section and you need to make the permission as anyone with the link can view. So yes do not show this link to anyone otherwise anyone can see your data. They cannot make changes to it but yes they can see it. So I'll so I have made this as anyone with the link can view. I'll copy the link and go to WordPress. download a file from URL. If you have the file available through FTP or SFTP, you can use this method. But I have this from URL. So I'll just paste the Google Seeds URL and click on the download button. So what this does is it downloads all the data from Google Sheets as a CSV file automatically and then it's available to import. So create new post. No, we do not need post. We need snakes. So because this is the custom post type that we created. So we need snakes. And yes, continue to step two. And on the steps two, you can see that it says 15 rows will be imported. And all these rows are available. Currently, we are looking at row one. And we have King Cobra and all the information about King Cobra like the image URLs and so on. Similarly for the second which is Indian Python and this is again available everything. So we do not need to do anything here but if you want if you have the need you can also set up some kind of filtering that only import if this condition matches but we are not going to do that. Continue to step three and on this step you can start making things dynamic. For example, all the data is available on the right side. And these are the fields that you need to fill. You can make it anything. For example, if I write learn more about and then snake name like Indian Python, then this will be the title on all the pages that we create. Currently like we are creating 15 pages, right? Yes, 15 pages. So all the 15 pages will have the same title. But we do not want that. We want to make the title dynamic. So in this case I'll just delete this part and then drag the common name from here. So now you can see that learn more about common name and which will be replaced by the common name king cobra in this case and for other snakes their names will be replaced here. So now it's dynamic. Learn more about uh the king cobra Indian python and so on. If you wanted to create simple article or blog style pages, then you would put all these information here in this description field. But we are not going to create simple article style pages in this case. So I will not put anything here and leave this blank except in this case I'll just put oneliner here and yes next images. So you can see that the images we have are externally hosted. These are from Cloudinary. So I'll select this option download images hosted elsewhere. And I'll just put image. It says if you have more image more than one image then separate them with a comma. So I'll just put a comma and then show the second image here. What this does is it downloads the images in the media library here in the media library and then they are used on the pages which is really good. I like this feature a lot. And then yes, I'll turn this on as well. Scan through post content and import images wrapped in image tags. And then set the first image as the featured image which is yes good. Then you have some SEO and advanced options for the images. In this case, you can set custom or dynamic like title tags or al tags for the images. So again, we have two images, right? So I will have to write two separate title and then separate them by commas. So the first image I'll write something like learn everything about and then snake name which I'll get from here and this will be the title tag for the first image that we have or that we are importing and for the second image I'll write something like what is a scientific name this time like this is just for the demonstration purpose so I'm just showing you what's possible you can Make your alt tags dynamic and title tags. So I'll just copy the same thing and put them for the alt tags. And yes, for all the images this will be different. For example, for the king cobra, this will be learn everything about the king cobra for the first image. And then for the second image, what is a and this name whatever this is. Now the SEO settings for the page focus keyword. So I'll just put the common name as the keyword and SEO title. So I'll write learn everything about and again the common name meta description. I'll just put the short bio in the meta description. And yes we are done. You I will leave this as blank. You can set custom schema as well but I'm not going to do that. Custom fields. We do not need to do anything here. Advanced custom fields add-on. Yes, remember the add-on that we installed. Yes, click on here and then click the custom fields that we created and this source. So now you need to just drag drop these options to their relevant fields like this. So I'll do that and get back. And for the images, I need to check these options like search through the media library for existing images before importing new images. Yes, this is done. Then other snake options post status. Yes, published. I want everything to be published immediately and date should be current date like the right now. Now, comments closed. trackbacks and ping backs closed post slug. So I want my slugs to be something like slash snakes and then a snake name which will be the common name. So I'll just drag here and in this case we have a spaces. So WordPress automatically replaces spaces with dashes. So you are good to go. You do not need to do anything here. And I'll just leave post author blank and all these options blank. And yes we are ready. So just scroll to the top a bit and you can see that I think there's some bug with my installation because I did not put anything here but when I drag these into these fields it automatically appears in this uh description area as well which I'll delete because we are not creating article style pages. So we do not need anything here. So I'll delete everything and yes go to the next step. And it says unique identifier. You can just click on this auto detect and it works. Then leave all these options as they are. Scheduling option. Yes, we do not need to schedule. So yes, leave that blank as well. Depending on the server you have where WordPress is hosted, it's better to set this to like five or 10 or even 20 works depending on the server. If you have a large server with a lot of resources, you can set this to 50 as well. But in this case, I have only 15 posts. So I'll just set this to five records. And then yes, in increase the speed. Yes, I'll do that. And write a friendly name snakes. And this time I'll just save it. And it's ready to be imported. I can just click on this run import button and then confirm. and run import and this will download the file as a CSV in the background the data file and then start importing all the posts. So you can see that currently processed zero out of 15 records that we have. Let's wait for it and then yeah right now five posts are created as it says and it's downloading all the images in the media library and creating post in this next post type. Yes. So as you can see that all 15 records are imported and we should have 15 post in the snakes section or a snake custom post type. Yes, we have 15 posts and all are published. If I open this blood python in the new tab, you can see that a snake's blood python and yes, learn more about blood python and the featured image that we set up is automatically being shown here. But we are not seeing any data on the page, right? because we did not put anything in the WordPress default description area. We have all the data in the custom fields. So we need a setup in this case this DN custom fields parser to show all the data. So for that just go to appearance editor templates and create a new template. So when you click on this add template it says single item snake. From here you can now create a template which will be used on all the snakes pages that we created. So for that I'll select this all snakes for all items and let's cancel it. And then you have a completely blank canvas. You do not have the header. You do not have the footer which appears on the rest of the website. You have the freedom to create anything in here. So I do not want a separate header or separate footer on this page because this is like just for the demonstration. I'll use the default header that we have. So slash and type header and header. We have a few headers but I think this is the default header. Pso demo. And yes, this is a default header. Press enter. And now create the footer. So / footer. Yes. And this is the default footer that we have. And in between the header and the footer, you can put anything and make it dynamic. So at first I'll put the cover block here. And yeah, I think yes, let's use this bright color. And I'll put the title, the H1 here, the heading one. As you can see, let me top toolbar. Yes, this is better. So, whatever you write here will appear on all the pages that we have, all the snakes pages because this is the template that will be used on all the snakes pages. So, I write something like learn more about the and snake name, right? So in this case let's go to the admin in the new tab and ACF field groups snake fields and you can see that these are the field names that we created right so I want to use the common name I'll just copy this name and go here and put double curly braces like this and in between I'll just put the common name and when I save it you will see that if I reload load this page now. You should see the yellow header now with the name blood python but nothing else will appear because we have not set it up. So right now you can see that learn more about the blood python. This appears because we created it like this. In this case I don't want to create like this. Instead I want to have two columns. In the right side I want to show the image. in the left side some text. So for that I'll just put the columns 50/50. Yes, the columns here and I'll make it wider. Yes. And in the left column I'll show the heading make it H1 and just show the snake name right double curly braces. And then the common name here and below that I want to show the short bio. Uh I think short bio. Yes, this one. So I'll copy it. Come here. Double curly braces and short bio. So in this case, we have to show an image here. But this custom fields parser plug-in that we are using, it does not support image blocks. So for that, we'll have to add custom HTML block. And when you write like how do you show images in HTML? So for that you need the image tag img and then src and then you need uh the image urls. So in this case I have image urls in the for the first image. This is the image URL. I'll copy it and then double curly braces. We need to make it dynamic and it should work. Let's see. Save it. And now reload the page. So let's see. You can see that this is working. The image I think it's too big and going towards the right. And this is the text information that we put. So let's make it better a bit. I I I can make it something like uh width uh 100% and height auto. Let's see now. Yeah. So now the width is 100% and this is the height. In this case I want this to appear in the middle. So I'll select the left column left column and align middle. And now save it. And you will see that this now appears in the middle. Yes, this is the hero section. And you can do anything in the image as well. For example, if I want to make the corners of the image round. So for that you'll have to write CSS and you can write the CSS right here a style style and then border radius border radius maybe 10px and when you save it reload it and now you have the rounded corners. Now let me put all these data data points on the page in a better way and quickly come back. So below the this hero section I created this table like information about the snake then scientific name and then the actual scientific name which is dynamic and all these information actually let's make this dynamic as well about the and then snake name so I'll write the common name here which is this I'll copy common name snake right yes so Yes. And below this section, I want like a FAQ section, frequently asked questions because I have left some of the data points. Uh I have not included them here. So I want a frequently asked sections or maybe I want an image just after the table. So yes, we have the second image and I would want to show them here. So I'll just copy paste this one and a custom HTML and yes in this case I want the image too. So I want the image two to be shown here below the table and after this section I add another section. I'll add a group and yes add some padding from the top and bottom and maybe change the background a bit. Yeah, in this case like let's use this pink color. I'll add a heading like frequently asked questions and then the question one which is like let's put it H3. So I think I have not used this venomous diet and conservation status. So I'll use this in the uh like frequently asked questions. So at first venomous are and then common name right common name for the snake name venomous. Yes. And I want the answer here and the answer should be here. Yes or no? Right. Right? So, I'll just copy it and put it in the double curly braces. And now we have the answer here. And then for the second question, I have the diet. What do they eat? What do they eat? And then again make this dynamic their diet which will be replaced by their actual diet which is I think uh yeah other snakes, lizards, mammals, birds these are the like diet of the snakes. And the third question will be conservation status. Yes. What is the conservation status of uh common name which is the snake name? And the answer would be this in the double curly braces like this. And it should work. So I don't know. I have not tested it because if you see here, we only have one section currently. And if I save it and then reload the page, all the three sections that we created should appear. This is the first section. This is the second section. We have the table and for example habitat this behavior reproduction and so on. And the I don't know why the image is going to the left side. So I'll yes I'll fix this up. And this is the FAQ section that we created. What do they eat? Rodents and birds. And what is the conservation status not evaluated for this snake? For the second image, I can put it in a group and it should be fixed. Let's reload. Yes, I put the image the field the custom HTML field in a group and it got fixed. Yes, this is how it looks like. And let's go to the WP admin area. Review one change. Yeah. Save. saved it. Go to the admin and snakes. And now if you open any snake from here. For example, this time open Indian python and maybe uh corn snake. So Indian python. This is the page. You can see this is the I think my internet might be a bit slow but yes Indian Python. and the table, the second image, and this the FAQ section. This the corn snake, the first image, the table, the second image, and then the frequently asked questions. So yes, this is how you do it. This is the first method. For this, you do not need any page builder like Elementor or WP Bakery or any other. You just need one plug-in and then you can parse the custom fields. So yes, this is how it works. Now this I have already showed you how exactly this WP allimp import plug-in works. Now it's time to go to the second plug-in which is the multi-page generator. So at first you need again a WordPress website, this MPG plug-in and data in the Google Sheets or CSV file. So, I'll install the plug-in. Let's go to the plug-in section and search for MPG plug-in, which stands for multi-page generator. So, yes, MPG multi-page generator plug-in. MPG by theme is install it and activate. So, this time we do not need all these plugins. Now, we can deactivate all these three. Yeah. And just so you know, if you deactivate all the WP allimp import plugins, you still have all the snakes pages. For example, if I open Eastern Brown snake page, you will have the snake page. There's no issue at all or it correctly work. Uh but in this case, we will be working with this MPG plug-in. So when you click on it, it says create new project or add new project. We do not have any projects. So when you click on this add new project, it has like some already available information like hotels, real estate, some available data. But we are working from the scratch. So select from a scratch. Here you can either use Google seeds or CSV file. Like for example, if you want to use Google Sheets, it says load any Google Sheets or CSV that's available on the internet. Make sure the file has public access. But in this case, I'll show you how to use a CSV file. So I'll click this upload file option and then choose my CSV file which is a snakes data. The data is exactly same as the Google seeds like like this. Yes. So you can see that all the fields are appearing like MPG common name it adds MPG in front of all the data that you have and Indian Python common crap and all the data points are available now project settings. So at first I'll create another post type for this MPG. I I'll name it something like uh MPG just so we know these were created using MPG right and yeah public we can yeah this is good mpg is created choose entity type this time mpg appears here so I'll select that choose a template so again you need a template for this this is the guide you can read the whole guide of how the template works and all. What the So, what you'll have to do is you'll need to create a page, a blank page. So, you need to create a template, a page like this, like add page and then you have to use all the variables and design the page any way that you want. for example uh but in this case I'll use the blocks that I created earlier exactly the same blocks I will go back to the appearance editor and look at the template that we created in the previous step and I'll just copy and paste the sections for example for the first section cover section I'll just copy this and full width yes and I'll name something like learn more about and then common snake. Yeah, the first section is ready. Now the second section which I'll copy from here exactly as it is and the third section. So these are all created and let me save it or just publish. You can just publish it as it is. And I have to reload this again I think or maybe so in this case I want my URLs to be like this. I want /mppg and then slash and then mpg common name which is the common snake names in the URLs. So I'll just put mpg/ common name and yeah I can just save it. And when you scroll down you will see that all the 15 URLs are generated and you can look at like see all URLs and these are the 15 URLs. If I open this green tree python in the new tab mpg corn snake in the new tab this is the page you can see that like it looks exactly like we did in the first method which is I think WP all import right frequently asked questions similarly the corn snake this is the image this is the second image the information in the table And this is the FAQ section. And you have other options as well like you can use all these created pages as a sort code on any other page that you want. Like for example, you can generate a list, add filters and they have a detailed documentation here on this learn more page. You can learn from here and then use them as you want. You also have the option to create site maps because these pages are not included in your default site map. So you can have the file name here. Put how many pages you want per file frequency and save and generate and your site map will be generated. So the difference between these two pages which is like mpg green tree python which is this page and I think I created using the first method. Let me search for the green tree python this one. So the difference is with the images. For example, if I go to the MPG page and right click on the image and open this in the new tab, you'll see that the image is exactly as the URL was in the main data, the cloudinary. But if I go to this snakes which I created using the first method. If I right click on the image and open in the new tab, you'll see that the images are locally hosted in the WP content and it's from the website that you created because it gets downloaded to your media library. So this in this case this is better. But it doesn't matter even if your images are hosted externally, it works. So yes, we covered these two methods WP allimp import and multi-page generator. The next method is using make.com. You need a WordPress website, a make.com free account. Yes, that works. Then a Google seeds the data from Google seeds and yes. So let's see how to do that. I'll close all these tabs for now and yeah go to make.com and login. I'm logged in and let's create a new scenario. So at first I need the data from the Google seats, right? So I'll click on this Google seats option and then search rows. Yes. So I need to search rows based on the condition. So for this a new Google seat here by clicking on this add button and sign in with Google. But I'll name it something like a snakes demo. I'll sign in and get back in. continue and yes already has some access. Okay. Yeah, we are now connected to this snakes demo and select from my drive a spreadsheet ID. So I'll need to go to this Google seeds and just copy this is ID between this D and edit. I just need to copy this thing and come to this make.com. So I'll turn this option on like map and then click on ID provided sheet name. Sheet name is snakes right? So I'll write the snakes table contains headers. Yes. And column range I think A to P or maybe zed. I can write some extra columns. It doesn't matter. A to Z. Yes. Then filter. Filter. The only filter I would want is the A column exist. If the first column exist then we have the data. For example, if you look at the data, if this column has some data, then it should get all those rows. Order by, no, we do not need to sort our order. So, just save it. And I think if I run it now, it should get all the data. For example, seed name snakes. And then this is the output. King Cobra the scientific name and then for the second snake Indian Python and we have all the 15 data points now now we need to connect and send this to WordPress so add another module and I'll select the WordPress get a post create a post update a post in this case we need to create a post so create a connection to create the connection I'll first give it a name uh snakes demo right then the rest API base URL we need to install a plug-in for the integromat plug-in which is I think this one integromat connector or make connector right I can just install it activate and here you will find this make option so you click here and you can see that this is the API that it provides. So I can go here and post the API. And normally you just need to add wpjson in the rest api base URL. My base URL is this the demo dot unto.com. I can copy this and add wp json and it should be connected now. Save it. And yes, this got connected. Now it's even easier when you click on this title and I think the title will come from common name and you can have something like learn about and this is the common name which will be dynamic. Then the content this is the tricky part because we have the limitation here. We cannot create welldesigned landing page style pages. You can only create article style pages. So for this whatever you need you'll have to put in this content field. Sometimes it becomes very complicated but I'll do that something like this short bio and below that I I can like have a spaces and put all the information that we have. You can create a HTML table as well. Uh for example, I copied this HTML table from somewhere. I think I can just name it data and value. And then in this first I can have I think scientific name. I'll name scientific name here. And this is the scientific name value. Similarly for all this I'll do it quickly. Maybe habitat and this is just for the demonstration purpose. So I'll leave it as it is. Or maybe you can add some more like some other options as well. For example, uh H2. I want to add a H2 here. Heading two. Something like yes H2. And then frequently asked questions. Then some H3. H3 here. And then what is the conservation status? What is the conservation status of the snake? Uh I think common name right? Yes. And then the answer answer can be this conservation status and then type. So the type can be post pages or other like custom post types that you have. So this time I'm only creating post. So I'll just click post except except can be oneliners. Yes. The date. So the date can be right now right. So I'll go to this date section and select this now option. Slug. For the slug, I would want the common name as the slug and some more info like uh a snake dash and the common name. This is a slug. The status status publish. Yes. Format I can leave it blank or a standard box as well. Parent object ID. No, we do not have parent object IDs. And I can create a new category as well here. tags. Yes, I can name it something like snakes tags author. I can have this my name featured media ID. So featured media ID, I can have the image one as the featured media ID and it should work. Just save it and let's run it and see. open log. See the error feature media is not working. So let me remove that. Actually this is just for the demo. Either way. So yeah, I think uh it should be uploaded to WordPress media library then only it works. But we have external images that is why it's not working. So yeah run once another error we are seeing which is categories. Okay I'll remove categories as well. Yeah uncatategorize is fine. I'll do that. Run once. You can see that one post is created. The two post is created three and it's creating all the post. Let me go to WordPress post. Learn more about Eastern Indigo snake. Let's view it. And this is the page that we created. Learn about Eastern Indigo snake. And we have some information. And the page got created. For example, what is the conservation status of the snake this and the status is threatened. So it's showing that and the table. So this is basically just for the demo purpose I'm showing. But yes, you can have uh like better HTML, better CSS and make it look good as well. But yes, you can only have article style pages using this method because otherwise you'll have to write a lot of code inside make and it looks messy. It it's very complicated. So yes, this is done. And if you want, you can also add another Google seeds and update a row. Uh you can have one more like you can have a status field here and then you can update it. For example, this post got published. Then it should say published and like that. So yes, this is how it works and I think this is now complete and let's go to the next method which is nin. Similarly, you need a nin account. They have a free trial. So you can take the trial and let me sign up. It says your workspace is now active and I can click on this start automating and yeah and it works the similar way as you did in this make option. Uh it works in the similar way. So start from a scratch test a simple AI agent example. No, we want to start from scratch like I just want to create a workflow and again this is very similar. I'll show you. So trigger manually. Yes, I can manually trigger from here and then at first we need to get the Google seats data. So Google seats and get rows in a seat right select credentials create new credentials and you can sign in from Google here. I'll just click on this sign in with Google and connection successful. It says I can close it. account connected and yeah you can see that Google seats account it shows here and sheets she seat within document yeah get rows I can choose my sheet from here from the list it the latest it shows it shows my snakes data here so I'll just select it and then sheet I have two sheets snakes and settings so in this case I'm using the snakes I can have filters if I want But yes, we do not need filters and I can execute from here and we should see the data coming here in the right side. Yes, King Cobra, Indian Python and all the like data points appear here. So we got the data from here and the next step again is WordPress. So I'll select WordPress create a post. So when you click on the create a post all the data from the previous steps from the Google seeds appear here and then you need to like create a post in the WordPress by using these data points again create a new credentials we need username password and WordPress URL and you can have more information about this on the docs how to connect it all the information is provided here. So I'll show you exactly how to do it. So go to WordPress, go to users, and this is your username. Click here. My username is Deepak. So I'll copy it and paste here. And for the password, you need to create a new application. As you can see at the bottom, it has application passwords. I can just name it something like NA10 and add application password. And this is the password. It gave me a password. I'll copy it and go to N10. Put the password and WordPress URL. URL is this. Yes. Save. And it says connection tested successfully. So it it's working. And we need to create post. In this case, I need to create pages and create and the title. The title will come from I think yes common name and I can have something like learn more about the snake name which is coming from here and then add more fields like uh content. Again content can be like this expression. Click here and then put anything you want here. HTML, plain text, everything works. Uh, for example, in the content, I can have HTML like we did previously. Yes, the header name maybe I can name it something like data and then value. Here I can have uh like scientific name, right? And then I'll drag all the information from left side. Scientific name, habitat which is from here, venomous here and I think behavior. Yes, behavior conservation status. And yes, this is ready. And above the table I can have maybe the short bio showing here. Right? And below the table I can even have images for example image tag and src sorry src and then the image one I'll show here. You can add information like width equal to 100%. height auto and yeah you can also have like anything you want for example S2 S2 F AQ's you can have here then S3 close s3 what's the diet right question mark and the answer here answer And we yeah this is a that right and it's ready. This is the title. This is the content and other fields that we have author name. Author name can be deep. The parent ID do we do not have a parent ID slug. Slug can be simple common name or password. No, we do not need password. The status. I want to publish them. So, I will select publish. Then comment status. I want the comments to be open. Featured media ID, menu order, ping status, password, and just leave them blank. And let's execute the workflow and see if it works. one item 15 items which came from Google seeds and it's working. Let's go to WordPress and pages and see if they are being created or not. Learn more about ball python. If I open the page says learn more about ball python and this is the table and then this is the image FAQs. What's the ball python diet? Rodents and birds. All the 15 pages got published as you can see here. And similarly, you can update the status in the Google seats as well. Right here you can select Google seeds and then update row in a sheet. So again the same Google the same Google account. Select your sheet which is a snakes data from the sheet name snakes and then map each column manually. Column to match on. So we need to use the row number from Google sheets. Yes or row number right? Row number I'll select. So the row number is this. And we do not need to update these. So I'll delete all these options that we have. We only need to update the status, right? And the status can be from here WordPress. You can either uh return the ids and or either return the slug, right? Maybe the slug or just say that publish a status, right? You can run it, save, execute the workflow and you'll see that you will see your status updating here as the pages get published. Yeah, pages are getting published. Once they get published, the status will be updated. Yes, publish. You can see that. And when you run for the second time, these pages should not get published, right? Because they are already published. You can also set filters here. For example, the filter and the status. For example, the status column is empty, then only publish. And yeah, leave it empty. And then execute the steps. Yeah, you can see that uh we left the status empty. But in these cases the status is not empty. We have already published them. So it will not publish. But if I duplicate these two rows, let me copy and paste in this and I'll delete the publish status. And if I run the workflow now, these two pages will be published. You can see that two items, right? Two items got published and their status will be up updated as published. And if I run it again, it will not publish any new items because we do not have any empty status field here. Everything has published. So yes, this is how it works. And all these methods, all these ways to uh do programmatic SEO or publish programmatic pages on WordPress have their own advantages and limitations. For example, using WP all import which is I consider it to be like most powerful and most customizable because you have the ability to download images to your WordPress media library and then everything like it it's very customizable. You can use it with Elementor or any page builder that you want, but it's a bit complicated to set up. Then you have this multi-page generator plug-in which is very fast. Even if you have like 10,000 pages, the import process is very fast. It creates like within seconds you will have 10,000 pages published. It supports block editing as well. But you have limited options like you cannot download external images to your WordPress media library and if you are using make.com then it's only good for article style pages or blog style pages and it's very quick to set up again limited design options and the same with n10 automation like you can only create article style pages and you have limited design options but actually you do not have this limited lesson at all like if you can provide the HTML and the entire CSS in here like everything here it will show. So yes, I think the video is very long. It's over 1 hour already. And I hope it's helpful for you. And if you have any questions, let me know in the comments. And if you have like ideas for my next video as well, just put it in the comments. And if you want to learn more about the non-technical parts of programmatic SEO, you can head over to untalkedseo.com here. And there are free guides like you can have a detailed fundamentals of programmatic SEO planning and approach and implementation everything in written format and video format as well. For example, programmatic SEO in WordPress. This is video format quality data preparation using AI. Again, this is a video you can watch them. We also have a free ebook if you go to ebook.untoseo.com. untalked seo.com you can this is a free ebook 7 eight chapters here and you can learn everything about programmatic SEO so I'll put all these relevant links in the description below you can get it from here that's it for the video and see you in the next
Original Description
Want to publish 100s of SEO-optimized pages in WordPress without wasting hours building them one by one? This video is for ...
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
More on: SEO & SEM
View skill →Related Reads
📰
📰
📰
📰
DeepSeek V4 API Pricing Explained: Pro vs Flash, and How to Call Both With One Key
Dev.to AI
What the VPA Recommender Is Actually Computing (And Why It Disagrees With You)
Dev.to · Prasad MK
AI Watermark Remover: How EzMaker AI Turns Messy Images into Usable Assets
Dev.to · Lily Chen
AI APIs in 2026: The Honest Developer's Guide to Choosing One
Dev.to · Shaw Sha
🎓
Tutor Explanation
DeepCamp AI