Prismic has its share of bad things too.
- Pretty bad/misleading documentation. Just try finding out how URLs/slugs/UIDs work.
“Note that document.slug is not available to run queries. URLs should include a unique id, such as document.id.”
But you can. If you define a field named “slug” you can then use it in queries. Nothing keeps editors from defining two entities with the same “slug” value though. Found out about this from an official answer on the support forums that have been removed since the new version of the website.
Why would anyone consider this OK?
2. If you need editor customizable page templates with different forms for each page type you have two options: a) define custom entity types for each one; b) define one entity with repeatable subentities. But wait, you can’t go deeper than one level, you can’t true mixed subentity types AND if you use links between entities and subentities are actualy custom types themselves you need to run a lot of queries to get all the data to display a single page.
3. Most important is that all the implementation details are out of your control. While this might be a good thing for the average user, it definitely is _not_ for anyone going for the best. Do you care about search engine rankings? Yes? Great, then you need to speed up everything on your website, including image sizes. Using Prismic? Tough luck, it serves images straight from S3 and there’s no gzip compression support there. Found a way to make that work? Tough luck, Prismic manages that S3 bucket for you.
Having run through all the hoops I can now easily tell if Prismic is suitable for _your_ project or not. It’s obviously not a “fits all” solution, neither is WordPress though. What I can safely tell you is that _if_ you already took the decision and are running into trouble (bad/uninformed decision), if the decision was Prismic then there’s a very slim chance to overcome the obstacle. If you chose WordPress, even though it’ll cost you a lot, there’s a big change you’ll be able to fix it. But both of these cases usually mean you should have gone for something custom and it’s your fault, not Prismic or WordPress’s.
Overall I think the whole idea of externalizing your CMS is good. I just think Prismic’s implementation of this needs more work before I recommend it to anyone. My advice would be: try it out, try what the competition offers too, but _please_ make sure you know what the limitations are before jumping in.