@using Nop.Core.Domain.Seo
@inject SeoSettings seoSettings

@{
    Layout = "_ColumnsOne";

    //title
    if (!string.IsNullOrEmpty(seoSettings.HomepageTitle))
    {
        NopHtml.AddTitleParts(seoSettings.HomepageTitle);
    }

    //meta
    if (!string.IsNullOrEmpty(seoSettings.HomepageDescription))
    {
        NopHtml.AddMetaDescriptionParts(seoSettings.HomepageDescription);
    }

    //page class
    NopHtml.AppendPageCssClassParts("html-home-page");
}
<div class="page home-page">
    <div class="page-body">
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageTop })
        @await Component.InvokeAsync("TopicBlock", new { systemName = "HomepageText" })
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageBeforeCategories })
        @await Component.InvokeAsync("HomepageCategories")
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageBeforeProducts })
        @await Component.InvokeAsync("HomepageProducts")
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageBeforeBestSellers })
        @await Component.InvokeAsync("HomepageBestSellers")
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageBeforeNews })
        @await Component.InvokeAsync("HomepageNews")
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageBeforePoll })
        @await Component.InvokeAsync("HomepagePolls")
        @await Component.InvokeAsync("Widget", new { widgetZone = PublicWidgetZones.HomepageBottom })
    </div>
</div>
