Automatic Sitemap Creation (and Submission)

Especially when launching a new website, a sitemap is a crucial instrument for SEO.

Have a look at this discussion:


and

It would be great if Wappler could automatically create a site map and keep it updated when the structure of the site changes. Wishful thinking?

Hi Ben,
That should be fine for static sites, but what do we do with dynamic sites? What if you have thousands of products in your database on a single details page?

I ended up using a program called "Screaming Frog’ and I got some really good results from it and pretty easy to use for dynamic sites.
Would be good if Wappler had something like this, but it would be a massive job for you guys, I figure it will be way down the list. :slight_smile:

Each sitemap can be up to 50K URL’s. If that is not enough, creating a sitemap index that points to the rest of the sitemaps, would do the trick.

Alternatively, create an index sitemap that points to individual sitemaps for Pages, Products, Categories, Images, Media etc.

I know this complicates things, but the site map generators shown in the initial discussion would help out.

2 Likes

I knew I had used it in the past. Have a look:

2 Likes

My question was more about dynamic sites. You have a dynamic route /myproduct/:cateogry/:id/ - how do we generate the link for this page? How do we know what values come here and how many are they?

There is a data source that populates those values. But hey, here is a Jedi telling Yoda what to do.

Maybe we could start with static pages first and build up from there.

2 Likes

Didn’t sitemaps lose a lot of relevancy SEO wise? Or are they still needed under certain circumstances? It’s been years since I dedicated time to SEO as I focus on internal apps mainly.

Correct, check my post here:

1 Like

They are still very relevant for new sites. After that, small sites tend to lose the effectiveness unless changes are made. Large sites still benefit from site maps. This is according to the gospel of Google.

1 Like


1 Like

Generating a large sitemap for full blown database driven websites can be quite challenging.
You will have to be indexing your full database with thousands of records every time or provide a smarter way to index only recently changed records/content.

Usually this is done on a regular base like daily or weekly and generates a whole new sitemap with all the latest database records.

I still use a PHP script I created many years ago to create sitemaps. I typically need to include a few thousand, up to more than 30k products for the sites I use this on. I use a CRON job to run the script daily (records are typically added each day).

I would like to create these sitemaps in Wappler, but, IMO, we don’t need a new feature to create sitemaps - we need a new feature to write (and read) files.

Google accepts various file formats. Eg it has a link here explaining the format for XML sitemaps. This is the format I use, but others will want to choose different formats, containing different data. Eg in my case, I use two queries - one for a few static pages and one for the many dynamic pages. It would be difficult for Wappler to cater for all the options - and I don’t think it’s necessary. If we can write files with Wappler, we could write sitemaps however we wanted (and of course other files for many other purposes).

There was a thread recently discussing feature requests which had still not been implemented. It was suggested that core functionality was more important, which is a good point. I think being able to read/write files is core functionality. There was a feature request for this made by @s.alpaslan a few years ago. He also created a very useful extension to read/write files - but surely it should part of Wappler.

1 Like

:+1:

2 Likes

Good ol’ php –

I used this stuff to write a CSV export that was then auto-ftp uploaded to a company ftp server for the marketing department’s daily Xcel reports.

Writing a CSV file with a timestamped name from a query initiated by a chronjob from another website host – my early version of an API