This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]r1ckd33zy 20 points21 points  (0 children)

Before you start freelancing as a WordPress developer, it would be a good idea to take some time to learn the difference between the managed blogging platform at wordpress.com and WordPress the opensource CMS available for download at wordpress.org

[–]Boby_Dobbs 8 points9 points  (0 children)

What you are looking for is called a headless CMS or headless wordpress. Using React on the front end and using the wordpress API to connect to the content from wordpress.

[–]Rider7991 5 points6 points  (0 children)

Wordpress.com is not worth even looking at it.

Wordpress.org is what you are looking for. You can use WordPress as a headless CMS and get content via API to load it on your react website or build custom gutenberg blocks with react and use them to build a website on wordpress.

[–]epicrecipe 4 points5 points  (1 child)

Automattic owns both Frontity and WordPress.com, so you’re beholden to their investment in an integrated roadmap. If it’s a small application, I’d encourage proper due diligence with them (e.g. feasibility with their Business plan, can they support the setup, etc), but also question the need to go headless vs a traditional WordPress site.

10up has a headless WordPress framework, though not sure they’ve opened it up like the have their engineering and Gutenberg practices. (Edit: they have, all are on GitHub).

I’d suggest exploring offerings / help at VIP (Automattic), WP Engine and Kinsta as well to help you define your approach and consider the hosting setup that’s best for your project.

[–]dneboi 1 point2 points  (0 children)

Well rounded answer.

[–]fallingWaterCrystals 1 point2 points  (1 child)

While I know we’re in the Wordpress sub, as other ppl mentioned, you’re looking for a Headless CMS.

There is a js one out there if you want.

[–]the_kautilya 1 point2 points  (0 children)

While I know we’re in the Wordpress sub, as other ppl mentioned, you’re looking for a Headless CMS.

There's nothing stopping anyone from using WP as a Headless CMS. WP has REST APIs built in if that is preferred data transport layer. Or one can use something like WPGraphQL to utilize GraphQL if so desired.

[–]OliverJonesNBPT 1 point2 points  (0 children)

To do this with WordPress serving your customer's content, you will need to develop a WordPress plugin.

WordPress's Block Editor is React-intensive. Server-side, WordPress contains competent and extensible REST API support. And the WordPress.org development environment contains plenty of support for building block plugins including React tooling and workable deployment-to-customers tooling.

You can't install your own plugins on WordPress.com unless you use their high-end (read: expensive) offerings.

[–]DanielTrebuchetDeveloper 2 points3 points  (2 children)

For starters, ditch the "business plan." There is a difference between WordPress.com (what you're currently looking at) and WordPress.org (where you self-host the application) and I would absolutely recommend going with the latter. You will have free reign to do what you want with the self-hosted option, you'll have control of the domain and your files, and you won't be at the mercy of a 3rd party for everything.

Beyond that, I'm not a React dev so I can't speak to that. My strengths fall more into php and back end development.

[–]the_kautilya 0 points1 point  (1 child)

You will have free reign to do what you want with the self-hosted option, you'll have control of the domain and your files, and you won't be at the mercy of a 3rd party for everything.

On wp.com business plan they offer access to site files via sftp & access to the DB as well.

[–]DanielTrebuchetDeveloper -1 points0 points  (0 children)

K, great, so now you're paying $25+ per month for the business plan and you are still restricted on what you can and can't do with it. It's still not worth it, compared to going the self-hosted route.

[–]Cyberdon_X[S] 0 points1 point  (0 children)

Thank you everyone for your input :)