Replies: 6 comments 21 replies
-
I agree. But I don't like the name |
Beta Was this translation helpful? Give feedback.
-
PDP means Product Details Page
Can you please detail what's included or should be included in the |
Beta Was this translation helpful? Give feedback.
-
"Since we are moving everything to the CMS, this should be easy to do on other CMSs too and the integration should follow the same code of our CMS plugin." |
Beta Was this translation helpful? Give feedback.
-
It seems that this idea appeared through benchmarks, right? Do we also have any user research that backs this feature up? cc @davicosta99 |
Beta Was this translation helpful? Give feedback.
-
@tlgimenes can you explain the advantages of these changes? |
Beta Was this translation helpful? Give feedback.
-
Ok guys, after talking to some more people and showing this RFC to our customers I think I found a good balance between the solutions. I think the main debate in here arises from how customers use the VTEX platform. As I said before, VTEX has 3 ways of creating a PLP. It can be via Categories, Brands and Collections (also known as product clusters). Categories and Brands have a dedicated admin for changing SEO properties (title and meta tag description) and have a well defined path on the store. For instance, if you create a brand named
However, when building a PLP, our customers demand for ways of sorting the products and adding banners. In short, for building a PLP, we need the following info:
This is the
The aforementioned proposition works fine on well behaviored catalogs. However, we have some customers where their brand list or category tree should not have a one-to-one relationship with the pages being created. This is the case for some grocery stores, where they don't want to have one brand page for each brand on their brand list, and this is the case for stores that share their catalog among many VTEX's tenants, where each category should create a page on each tenant.
TL-DRI propose that:
|
Beta Was this translation helpful? Give feedback.
-
The goal of this document is to define how we handle Product Listing Pages (PLPs) in FastStore and how ecommerce platforms and cms's can integrate with our way of handling PLPs.
Glossary
Context
Product listing pages (PLPs) are a very present entity in an ecommerce. They list products based by a criteria and usually have a sorting button to sort the listed products according to price, sales etc. Also, these pages usually have facets for filtering the search result. A sample of plp can be seen below:
In platforms like Shopify, there is one single way of having a PLP in your site. You need to create a Collection of products and link this collection to a PLP.
In other platforms, like VTEX, there are multiple ways of clustering products into a PLP. At VTEX, you can create cluster of products following a tree hierarchy called Category tree. Also, another criteria you can use for clustering products is using something called Brand. In VTEX you also have Collections.
Differently from pdps, plps have no standard path on an ecommerce website, mainly because a PLP can be used in all of the cases mentioed above.
This document proposes a new way of declaring and creating PLPs so we can cover all of the cases above mentioned.
Proposal
StoreCollection
that defines how a plp is instantiated in faststore.StoreCollection
.StoreCollection
to add more sync data if neededStoreCollection
type has the following type in TypeScript:How to use it
After sourcing the above mentioned
StoreCollection
, we can create the PLPs with the following filesystem structure. └── src └── pages └── {StoreCollection.slug} ├── [...].tsx └── index.tsx
Where
index.tsx
is the static plp, and[...].tsx
is the client-side, dynamic page used for facets.How to use it with VTEX
At VTEX, we have many possible sources for
StoreCollection
instances. There is a category tree admin, a brand admin and a product cluster admin. Sadly, none of them have all the necessary fields of a StoreCollection. In category tree for example, you have theslug
andseo
parts of aStoreCollection
, however you don't have thesearchParams
(used for ordering the product for instance). In the product cluster admin you don't even have theseo
orslug
fields.Proposal
To solve the aforementioned problem for VTEX, I propose a unified place that will have all params needed to instantiate a PLP on the store, the CMS.
In my proposal, the CMS is the source of truth for all PLPs in the site. This means that if you created/modified a category tree of a store or if you have a new brand, this will only reflect on the store once the user creates/modifies their counterpart on the CMS. Also, the CMS contains all
Seo
related data, so if you change/modify those on the category tree of VTEX admin, nothing happens.FAQ
Does doing this locks us on VTEX CMS?
No, since we are moving everything to the CMS, this should be easy to do on other CMSs too and the integration should follow the same code of our CMS plugin.
The data on VTEX admin is not a source for my FastStore website?
Yes, think that the category/brand/collection admins are there just to group similar products into a cluster that can be used by the CMS to create a page on your store
How do you plan to rolling this out?
I'm going to create a script that goes through the store's apis and create the pages on the CMS. After this, we can change the store's implementation and use the CMS data instead
How about the setup of new stores?
I'm goinig to add this script into the CMS plugin, so whenever you run the store in a newly created store it will upload and create all the necessary data on the CMS.
Final thoughts.
After these changes I think we will be able to move all search related queries to the store's implementations and get closer to our open beta since all queries will be now on the store and not on the theme
Beta Was this translation helpful? Give feedback.
All reactions