Giveth / impact-graph

MIT License
49 stars 18 forks source link

Creating static landing pages by Admins #1102

Closed divine-comedian closed 8 months ago

divine-comedian commented 1 year ago

Currently the comms & marketing team would like to generate many landing pages that use certain keyword content in the text to push up how Giveth encounters organic traffic through search engines.. The problem is that our current flow requires a designer and developer to do all of the work manually to implement each page.

We need to find a way that an admin can deploy a static landing page and edit its content without requiring developer support each time. The landing page would be published under the giveth domain under giveth.io/landings/

Each landing page requires only a few basic pieces:

Ideally then each landing page on creation is given an ID and all of it's pieces can be edited (except the ID) at any time by an admin, they can also be deleted.

Having this feature will save Giveth many thousands of dollars in developer & designer costs & free up our bandwidth for more complex tasks.

@CarlosQ96 - when you have time hermano, lets explore solutions

@MoeNick - if you have any ideas as well on solutions

divine-comedian commented 1 year ago

For reference: https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation

MoeNick commented 1 year ago

Like what we already have to broadcasting notifs we can have the same page and instead of markdown, we can have HTML editor image

Im still not sure this feature helps us to save time so much, cause the output of HTML editors is not so good that we can rely on them as good-looking landing pages.

@divine-comedian @ahmadabugosh

ahmadabugosh commented 1 year ago

@MoeNick Basically it just needs to function like a blog post. I think this page is a good template for that: https://giveth.io/landings/refi

So I think if we can make it where we can customize: 1) H1 tag (the title of the page on top) 2) The content, which could be markdown or HTML. Maybe we can make it markdown and it converts to HTML if that's easier? Or maybe if there is a WYSIWYG editor we can use? 3) The ability to add images and buttons would be a plus but I don't think it's necessary.

I think if you would force the use of a simple template (like the RefI one above that @mosaeedi made) with those fields it would be fine and would look good (because there wouldn't be much to change).

MoeNick commented 1 year ago

I and @MohammadPCh will plan it for this week.

MohammadPCh commented 1 year ago

Hello Team, @ahmadabugosh @MoeNick @divine-comedian This project is divided into three main components:

  1. Editor in AdminJS
  2. Preview in AdminJS.
  3. DApp FE.

Based on my initial assessment, I estimate that it will take approximately 4 weeks to develop a system that allows users to add and rearrange block sequences, utilize the editor for content creation, and upload images. This is a preliminary estimate. By implementing this, users will have the autonomy to add content to their preferred URLs, eliminating the need for the Development team's involvement in deployment and release processes. Considering our future plans, if we aim to roll out multiple landing pages – say, more than three per week – this implementation would be beneficial. However, if we're looking for just one landing page weekly, perhaps our current approach (coordinating with the Front-End team) might be more efficient.

ahmadabugosh commented 1 year ago

Thanks @MohammadPCh !

I think it depends on the tradeoffs we want to make and what else we have on the Giveth roadmap that are priority projects.

We definitely want to make it easier for us to make landing pages for marketing, and I think the easier we can make this the better it would be and it would encourage us to post more and more, which would increase our SEO reach and traffic.

Another option I was thinking of that I mentioned to @MoeNick was to use an existing CMS boilerplate to not re-invent the wheel. Something like these: https://vercel.com/templates/blog

Would that be possible to integrate and would that save us time?

MoeNick commented 1 year ago

Im down with both ideas, @MohammadPCh wdut?

divine-comedian commented 1 year ago

SEO landing pages can be first of contact for user that might find giveth on google or other sources - if we are trying to create this landing page suggest to use design for this general SEO landing page - everything is in sync with Giveth brand. If we are talking about using another tool we have to make sure it is sync with giveth branding. Need more time to make sure it is okay and looks exacty like Giveth

moenick mentioned most optimized and better choice, only thing to suggest - right now we have one template for general landing pages, work on 2nd or 3rd templates - have different templates that marketing can use them, developers just need to change the content, don't need to develop the page again and again.

with devops guy can handle it so that when onboarding routes of the giveth go to webflow and its a devops thing and it is doable. the branding and stables. Need to put some stylings all together. Is it economical to deliver? takes 3 weeks for 5 landing pages - with current capacity we can't boost it.

why don't we use blog.giveth.io if the purpose is SEO? We could link it to the main domain - it is using

we could use wordpress or something like that for SEO, we need to buy a template? Mo needs to create a template etc.. most of the extensions are open source for wordpress - can ask the design team to create on template for word press then comms team can easily use that template

RamRamez commented 1 year ago

I suggest using WordPress. We can deploy it under the main domain like: giveth.io/blog

I've found a Nextjs solution using Nextjs for frontend and WordPress as the backend. https://github.com/vercel/next.js/tree/canary/examples/cms-wordpress

The only advantage of using WordPress is that it has a site builder. For simple pages like blog posts, it's better to deploy it with WordPress bc no developer is needed and everyone can use its site builder to design the pages.

It uses very low server resources and can be easily deployed on servers.

Another advantage is that it can be managed by our main Nextjs app. We can keep our main header and footer and manage the blog posts with WordPress.

MoeNick commented 1 year ago

From @ahmadabugosh hey so for now I think we're just going to stick with our existing medium, which is already on a subdomain https://blog.giveth.io/

So I move back to icebox if you have a plan to revisit in the future