Dynamic Rendering (server side) to improve SEO?

Has anyone had experience of dynamic rendering? We would like to increase SEO, we already have full dynamic Meta tags across our applications (Digital Ocean/Docker/Node). Plus a a few other tweaks but still being primarily JavaScript its causing some issues with regards to crawlers and indexing. We have thought about heading the dynamic rendering route to improve things and just wondered if any other Users within the Community could offer some guidance, or suggest an alternative?

Considering https://prerender.io/

Any thoughts?

Really trying to work this out…

Right Server Side Data is rendering for meta tags fine when Javascript support is turned off within the Site Settings of the browser (investigating this because crawlers, although some have the ability to render JavaScript most don’t, and if they do it can take months for them to return to render said JavaScript).

Screenshot from 2023-09-02 01-26-09

So I ask if the following is worthy of a Feature Request?

Would it be possible to select more than a single Action for Server Side Data? Or to have the ability to set (toggle) the Actions rendering option so there is the choice to render server side rather than client side?

This would allow for the Action to be rendered server side (if selected) and thus display correctly on the page if JavaScript is not available? Would also save headaches using third party solutions, and or paying for them for the benefit of enabling this ability (which Google hates and sees it as ‘cloaking’ and can end with negative results), which is mad as Wappler can already do it!

@George @Teodor @patrick

For those of you with lots of dynamic data on the page try for yourself. Click on site settings in your browser and block JavaScript, then reload your page, you’ll see what I’m getting at…

1 Like

In the node environment I always use dynamic server side rendering of seo tags via the template page as detailed in my videos about that.

1 Like

We do the same Brian. Which is great and achieves exactly the desired result. Would really like the choice to render any Server Action in the same way. JavaScript is great but sometimes when its not available to whatever technology client side rendering is entirely redundant. So its more than just SEO my reasons for enquiring about such a feature. SEO research spurned it on though. Obviously Wappler has the power to do this, as we both know. An extension of that ability would be a fine thing.

Always enjoy your videos and have learned a tremendous amount from them! And appreciate your feedback too Sir.

Can you elaborate?

Wapplers App connect is entirely js so switching off js in browser is going to break wappler sites totally?

Take a page with a lot of dynamic data on it and block JavaScript. Reload the page. You’ll see the meta tags still render correctly but the rest will show the raw binding and not the data retrieved. We want to show that data despite JavaScript being set to Allow or Block. That is the point of services such as Prerender

As you can see its not cheap to implement:

Have a read of THIS Brian. I know SEO interests you so might be an insight in to how Google operate with regards to this situation.

Sites that should use dynamic rendering

Dynamic rendering is a workaround for indexable, public JavaScript-generated content that changes rapidly, or content that uses JavaScript features that aren’t supported by the crawlers.

Yes,used prerender for php sites
I am still a bit confused.
App connect is a js framework. Without js the framework.is effectively disabled so as a minimum all components and dynamic events would be disabled.
How would the page function without js or are you looking for server connect to render everything and output a completely static html page with no events?

Exactly, as the fallback for this circumstance outlined above. Lets say we have a page that displays a listing for a business or service. We want the titles and descriptions on that page to render, as well as the links that connect to further pages. Can’t crawl a link that doesn’t render.

Let me think about this.
In the early days (late 90s) when js was commonly disabled the common practice was for a basic fallback page(s)
So effectively the page tested for the presence of js support and if not.present redirected to a alternative set of pages
In those days generally the page just said this does not work with js disabled so was not terribly sophisticated.
This could be done by placing some static pages in the public folder.
Just initial thought off top.of my.hrad

Appreciate any feedback and thoughts you have! I remember the early 90’s very well. With extremely heavy books on HTML filling my shelves, and writing everything in Notepad. Used to develop internal Intranets in those days so wrote everything by hand. Earned our money back then!

2 Likes

Meanwhile, use the “Globals” steps to load all the data you want. Search a post of mine containing the word “pathinfo” to detect the current page being loaded and load the relevant data accordingly

1 Like

Cheers @Apple I’ll have a look for it, thank you.

1 Like

@Apple 's clever post referenced in this thread:

2 Likes

Thank you @NewMedia I managed to find it. Just having a bite to eat and will get my teeth in to it.

Have a great weekend all, appreciate the feedback, advice, and time!

If you don’t mind quick and dirty, partials (Link) have an option to add server side data as well, so you can just wrap your current sc data (client side) in to partials and add to the pages. Never tried and not 100% sure if ihis solution has any disadvantage, but can’t see any reason why wouldn’t it work. In a long term you should consider putting everything in one api per page for the content, editing/copy/paste server actions outside of Wappler may help a lot, also cache what you can. :slight_smile:

Gabor