So… how do i do this?
I am aware that i can use javascript to manipulate the tags within once the page is loaded, but the thing is that search engines do not run javascript. So… i want my title… description and all sorts of dynamic open graph tags on my products… but this seems quite a task to do.
If only reflowhq had a special field to put them… that would take care of this problem i guess… but there is no such option.
I have actually managed to run a javascript to change these based of the reflowhq data… but as suspected the social media and search engines do not get those client-side manipulations and use only the server side renderings (it is expected… as the script runs after the html is rendered). Any ideas on how to bypass this??
This is a huge issue that should be addressed… dynamic tags for ecommerce are a must!
I don’t think that adding meta tags dynamically would have an effect. There could have been changes in this area, but I think that only Google and Bing bots execute JavaScript, the rest look at the static HTML. So your open graph and twitter tags still won’t work. To fix this you will need to create an actual page for each product with proper meta tags and place a Reflow product component inside the page to handle adding to cart and buying. This is ok for a small store, but obviously not workable for a larger one.
There are potential solutions that we could do, but they will involve either deploying to a special hosting that generates pages on the fly, or a service that rebuilds your site whenever a reflow product is updated. Both of these will mean that you can’t just export HTML from the app once and upload it to any hosting, which many people value in Bootstrap Studio.
Thank for your reply… yes… the manipulated javascripted tags are all scraped out by the non-executing javascript bots.
Well. i am currently looking at a possibility to have a automated headless browser to render the code after the javascript has manipulated the tags… and then… to either save the file as a cached one or… just to render it. I will report back if this happens to solve the issue…