<p>Here is the Craft Discord Info that James mentioned.
<a href="https://craftcms.com/blog/discord" rel="nofollow noreferrer">https://craftcms.com/blog/discord</a></p>
<p>Your approach using nested matrices is one many developers use. Nesting too far, or creating &quot;block&quot; fields with many options and varieties will cause performance issues over time. You can also see a breakdown of performance if you're dealing with many sites in a multi-site setup.</p>
<p>I would advise not having the hero in the block builder. You have one hero per page, and its always at the top. so there's no advantage to having it inside the matrix field (which facilitates multiple blocks and repositioning) - as a disadvantage you're outputting that hero the least efficient way possible. Id recommend creating a set of fields for your hero (most performant), or a separate matrix with a min/max block count of 1 to house the hero (better author experience).</p>
<p>Ultimately, you'll need to weight the Author Experience v. the Performance and make your build choices from there. Here's some resources that might interest you:</p>
<p><a href="https://craftcms.com/events/dot-all-2022/sessions/state-of-craft" rel="nofollow noreferrer">https://craftcms.com/events/dot-all-2022/sessions/state-of-craft</a></p>
<p><a href="https://craftcms.com/events/dot-all-2021/sessions/building-with-bumpers" rel="nofollow noreferrer">https://craftcms.com/events/dot-all-2021/sessions/building-with-bumpers</a></p>
<p><a href="https://nystudio107.com/blog/speed-up-your-craft-cms-templates-with-eager-loading" rel="nofollow noreferrer">https://nystudio107.com/blog/speed-up-your-craft-cms-templates-with-eager-loading</a></p>
<p><a href="https://craftcms.com/events/dot-all-2022/sessions/using-entries-and-relationships-as-a-content-builder-system" rel="nofollow noreferrer">https://craftcms.com/events/dot-all-2022/sessions/using-entries-and-relationships-as-a-content-builder-system</a></p>
<p>Ultimately, you've hit a developer style conundrum, and you'll find that the real answer is &quot;it depends&quot;. Hope these resources help!</p>

CC BY-SA 4.0
2023-11-06T13:13:06.453Z
Yes, thank you. I will check the resources first.
user3086053
CC BY-SA 4.0
2023-11-06T03:28:44.587Z
2023-11-06T03:28:44.587Z
cherrykoda
<p>I'm very new to Craft 4.</p>
<ul>
<li>I have a matrix 'Landing Page Blocks'</li>
<li>I've created 2 Block Types: Hero Block and Two Column Block</li>
<li>Within the 2 column Block I need a left and right content block</li>
<li>Within the left column block, editors can choose between and image or textblock. (same for right textblock.) (Each column can only have one block)</li>
</ul>
<p>I can create this with a nested matrix field within the 'two column block'.
But I'm not sure if that approach is correct?
Will this approach give problems in terms of load times of create any other problems?</p>
<p>Thanks for your advice.</p>

CC BY-SA 4.0
2023-11-02T15:03:33.677Z
Hi and welcome. This is actually an excellent question, in my opinion. However I'm not sure it really fits well with the Stack Exchange Q&A format, as there is no real right or wrong answer here. It would be great to ask this in Craft's Discord server where a full discussion can take place of the pros and cons of different approaches. For what it's worth, I would split these into two different block types - "2 column text" and "Text | Image split". The text/image split on its own can get extremely complicated with various options. I would also have a hero as a completely separate matrix field.
James Smith
<matrix><craft4>
Create section 'landing page' with 'two column block'
# Create section 'landing page' with 'two column block'

(Asked by: username_0 on 2023-11-02)

I'm very new to Craft 4.

* I have a matrix 'Landing Page Blocks'
* I've created 2 Block Types: Hero Block and Two Column Block
* Within the 2 column Block I need a left and right content block
* Within the left column block, editors can choose between and image or textblock. (same for right textblock.) (Each column can only have one block)

I can create this with a nested matrix field within the 'two column block'.
But I'm not sure if that approach is correct?
Will this approach give problems in terms of load times of create any other problems?

Thanks for your advice.

**Tags:** matrix, craft4

> **Comments:**
> **username_1**: Hi and welcome. This is actually an excellent question, in my opinion. However I'm not sure it really fits well with the Stack Exchange Q&A format, as there is no real right or wrong answer here. It would be great to ask this in Craft's Discord server where a full discussion can take place of the pros and cons of different approaches. For what it's worth, I would split these into two different block types - "2 column text" and "Text | Image split". The text/image split on its own can get extremely complicated with various options. I would also have a hero as a completely separate matrix field.  

---

## 1 answers

### Answer by username_2 on 2023-11-06. Score: 1

Here is the Craft Discord Info that James mentioned.
<https://craftcms.com/blog/discord>

Your approach using nested matrices is one many developers use. Nesting too far, or creating "block" fields with many options and varieties will cause performance issues over time. You can also see a breakdown of performance if you're dealing with many sites in a multi-site setup.

I would advise not having the hero in the block builder. You have one hero per page, and its always at the top. so there's no advantage to having it inside the matrix field (which facilitates multiple blocks and repositioning) - as a disadvantage you're outputting that hero the least efficient way possible. Id recommend creating a set of fields for your hero (most performant), or a separate matrix with a min/max block count of 1 to house the hero (better author experience).

Ultimately, you'll need to weight the Author Experience v. the Performance and make your build choices from there. Here's some resources that might interest you:

<https://craftcms.com/events/dot-all-2022/sessions/state-of-craft>

<https://craftcms.com/events/dot-all-2021/sessions/building-with-bumpers>

<https://nystudio107.com/blog/speed-up-your-craft-cms-templates-with-eager-loading>

<https://craftcms.com/events/dot-all-2022/sessions/using-entries-and-relationships-as-a-content-builder-system>

Ultimately, you've hit a developer style conundrum, and you'll find that the real answer is "it depends". Hope these resources help!

> **Comments:**
> **username_0**: Yes, thank you. I will check the resources first.  

---

