Meta Tags Not Populated by Server Side Data (even hard coded)

Trying to troubleshoot a configuration using meta tags for social media content sharing. I've set up my meta tags in my layout page...

and the layout's app properties definitions...

You can see I'm just hard coding the values into the Server Side Data variables. When I view the page that uses this layout, I only see the value of Site Name "This is the site name" which is hard coded in the Meta Tag. None of the hard coded values in the Server Side Data variables are showing up on the page...

What have I done wrong?

Update: if I include a Server Connect -> Server Action on the layout page just under all of the Server Side Data (template variables I created), then I can populate the available META TAGS that Wappler offers. I needed more META tags then what Wappler offers so I followed the syntax and created additional, valid META tags. See my previous screen shot of my layout page.

Following the tutorial: Sever Side Rendering with NodeJS it led me to believe I could use Server Side Data (variables) for the META TAGS, and provide values to the Server Side Data variables from the content page. This should have had the effect of updating the META tags within the HEAD tag on my content page. It did not.

The syntax that Wappler uses to populate the template variables, in this case 'og-type', does not work.

<meta property="og:type" content="<%=_['og-type']%>">

I've tried several different syntax to get at the value of 'og-type' with no success. Why is it that I can create a SERVER SIDE DATA title tag and update it from my content page, but not create a META TAG and update it from my content page?

Can you show us the code (not just the Wappler UI) of the assignments?

Could take a look at @Hyperbytes superb video series which includes details on how to set-up dynamic SEO (Node JS) for your pages. There are a couple of videos covering the subject starting with the below link (and the rest are within the playlist):

1 Like

Thanks @sophos707 and @Cheese for your thoughts. I'm fairly certain at this point in testing that this has much more to do with trying to create additional META tags (for social media sharing purposes), and how the variable is called within the content="" property (like it's the wrong scope), than my implementation. I've reread all of @Teodor 's How To's and answers to people who had issues. I've watched @Hyperbytes videos as well.

To shine more light on this issue, here are two META TAGS and how Wappler accesses the SERVER SIDE DATA variables. The first META TAG variable "og:url" is built into Wappler when using the META TAGS section of the content page. It calls the variable using _('').

 <meta property="og:url" content="<%=_('varCallingPage')%>">
 <meta property="og:type" content="<%=_['og-type']%>">

The second META TAG was created using the SERVER SIDE DATA approach because Wappler doesn't offer "og:type" from the available META TAGS list. It calls the variable using _[''].

It appears the list of available META TAGS to choose from in Wappler is hard coded, and not extensible since the method used to reference the value within content="" is different than SERVER SIDE DATA variables.

My understanding and final point to all this:

  1. META TAGS as implemented in Wappler up to v6.8, are limited. The standard defines far more. They apparently can only be updated from within the layout page directly, either by hard coded values or a Server Action query (added under the SERVER SIDE DATA section). They are not extensible: Wappler doesn't know how to retrieve variable values for any additional META TAGS for social media sharing created by the user. META TAGS can not use SERVER SIDE DATA variables for dynamic values.
  2. SERVER SIDE DATA variables use a different method for referencing the value of variables than META TAGS. This makes them not usable as a dynamic means of assigning values to META TAGS in either the layout or content page. SERVER SIDE DATA values can be hard coded within the layout or content page, hard coded within the content page, or dynamically updated from a Server Action within the content page.