SOLVED (The problem was that the index.json page was not updated ;))
Topic summary
Issue Identified & Resolved:
The user’s homepage was redirecting to a 404 error page. The root cause was determined to be the index.json page not being updated after a theme migration or modification.
Solution:
Updating the index.json page file resolved the redirect issue and restored proper homepage functionality.
Technical Context:
The thread includes theme.liquid code snippets showing standard Shopify theme structure with CSS asset loading, color scheme variables, font settings, and responsive design configurations. The tags indicate this occurred during a theme migration or optimization process.
Community Note:
A community member reminded the original poster to preserve the original question and post the solution as a separate comment rather than editing the initial post. This practice helps future users encountering the same issue find the solution more easily.
Status: Resolved - no further assistance needed.
theme.liquid
{%- if settings.favicon != blank -%}
{%- endif -%}
{% if page_description %}
{% endif %}
{% render 'meta-tags' %}
{{ content_for_header }}
{{ 'critical.css' | asset_url | stylesheet_tag }}
{% if settings.scroll_animation != 'none' %}
{{ 'animation.css' | asset_url | stylesheet_tag }}
{%- endif %}
{% if settings.rtl %}{{ 'rtl.css' | asset_url | stylesheet_tag: preload: true }}{% endif %}
{{ 'product-card.css' | asset_url | stylesheet_tag }}
{{ 'swiper-bundle.min.css' | asset_url | stylesheet_tag }}
{{ 'judgeme-reviews.css' | asset_url | stylesheet_tag }}
{% render 'font-variables' %}
{% if request.design_mode %}
{{ 'design-mode.css' | asset_url | stylesheet_tag: preload: true }}
{% endif %}
{% style %}
{% for scheme in settings.color_schemes -%}
{% # theme-check-disable UndefinedObject %}
{% assign scheme_classes = scheme_classes | append: ', .color-' | append: scheme.id %}
{% # theme-check-disable UndefinedObject %}
{% if forloop.index == 1 -%}
:root,
{%- endif %}
.color-{{ scheme.id }} {
--color-background: {{ scheme.settings.background }};
{% if scheme.settings.background_gradient != empty %}
--gradient-background: {{ scheme.settings.background_gradient }};
{% else %}
--gradient-background: {{ scheme.settings.background }};
{% endif %}
--color-primary: {{ scheme.settings.primary_color }};
--color-primary-rgb: {{ scheme.settings.primary_color.red }}, {{ scheme.settings.primary_color.green }}, {{ scheme.settings.primary_color.blue }};
--color-text: {{ scheme.settings.text_color }};
--color-text-rgb: {{ scheme.settings.text_color.red }}, {{ scheme.settings.text_color.green }}, {{ scheme.settings.text_color.blue }};
--color-heading: {{ scheme.settings.heading_color }};
--color-heading-rgb:{{ scheme.settings.heading_color.red }}, {{ scheme.settings.heading_color.green }}, {{ scheme.settings.heading_color.blue }};
--color-link: {{ scheme.settings.text_color }};
--color-link-hover: {{ scheme.settings.primary_color }};
--color-border: {{ scheme.settings.border_color }};
/* Button primary */
--btn-primary-color: {{ scheme.settings.btn_primary_color }};
--btn-primary-hover-color: {{ scheme.settings.btn_primary_hover_color }};
--btn-primary-bg-color: {{ scheme.settings.btn_primary_background }};
--btn-primary-hover-bg-color: {{ scheme.settings.btn_primary_hover_background }};
/* Button outline */
--btn-outline-color: {{ scheme.settings.btn_outline_color }};
--btn-outline-border-color: {{ scheme.settings.btn_outline_border_color }};
/* Button link */
--btn-link-color: {{ scheme.settings.button_link_color }};
--btn-link-hover-color: {{ scheme.settings.button_link_hover_color }};
--input-color: var(--color-text);
--input-placeholder-color: rgba(var(--color-heading-rgb), 0.55);
--input-bg: rgba({{ scheme.settings.background.red }}, {{ scheme.settings.background.green }}, {{ scheme.settings.background.blue }}, 0.6);
}
{% endfor %}
{{ scheme_classes | prepend: 'body' }} {
color: var(--color-text);
background-color: var(--color-background);
}
:root {
--border-color-base: #e5e5e5;
--light-grey-color: #f5f5f5;
{% if settings.enable_rounded %} --rounded-radius: {{ settings.rounded_corner }}px;{% endif %}
--logo-width: {{ settings.mobile_logo_width }}px;
--body-font-size: {{ settings.body_font_size }}px;
--body-line-height: 1.714;
--body-weight: {{ settings.body_font_weight }};
--heading-font-scale: {{ settings.heading_font_scale | divided_by: 100.0 }};
--heading-text-transform: {{ settings.heading_text_transform }};
--heading-letter-spacing: {% if settings.heading_letter_spacing == 'negative' %}-0.034em{% else %}{{ settings.heading_letter_spacing }}{% endif %};
--heading-weight: {{ settings.heading_font_weight }};
--subheading-weight: {{ settings.subheading_font_weight }};
--medium-font-weight: {% if settings.menu_font == 'body_font' %}{{ settings.body_font.family }}{% else %}{{ settings.heading_font.family }}{% endif %}, {{ settings.body_font.fallback_families }};
--btn-text-transform: {{ settings.btn_text_transform }};
--btn-radius: {{ settings.button_radius }}px;
--btn-font-size: var(--body-font-size, 1.4rem);
--btn-padding-y: 1.5rem;
--btn-padding-x: 3rem;
--btn-letter-spacing: {% if settings.heading_letter_spacing == 'negative' %}calc(var(--heading-letter-spacing) + 0.01em){% else %}calc(var(--heading-letter-spacing) - 0.01em){% endif %};
--input-height: 5rem;
{% if settings.rounded_corner > 1 %}
--input-padding: 1rem 2rem;
{% else %}
--input-padding: 1rem 1.5rem;
{% endif %}
--inputs-border-width: 1px;
--input-color: var(--color-text);
--input-border-radius: var(--btn-radius);
--input-font-size: {% if settings.body_font_size < 16 %}16px{% else %}{{ settings.body_font_size }}{% endif %} ;
--input-placeholder-color: rgba(var(--color-heading-rgb), 0.6);
--page-width: {{ settings.page_width }}px;
--page-width-value: {{ settings.page_width }};
--fluid-container-width: {{ settings.fluid_container_width }}px;
--fluid-container-width-value: {{ settings.fluid_container_width }}px;
--color-white: #FFF;
--color-dark: #111;
--h0-size: calc(var(--heading-font-scale) * 4.8rem);
--h1-size: calc(var(--heading-font-scale) * 4rem);
--h2-size: calc(var(--heading-font-scale) * 3.6rem);
--h3-size: calc(var(--heading-font-scale) * 3rem);
--h4-size: calc(var(--heading-font-scale) * 2.4rem);
--h5-size: calc(var(--heading-font-scale) * 1.8rem);
--h6-size: calc(var(--heading-font-scale) * 1.6rem);
--transition: all 0.4s;
--duration-short: 0.3s;
--duration-long: 0.5s;
--transition-popup: var(--transition-type, all) 0.4s;
--zoom-transform: scale(1.05);
--overlay-bg: rgba(0, 0, 0, 0.60);
--grey-color: #f5f5f5;
--section-spacing: {{ settings.space_mobile }}px;
--bs-gutter-x: 1.5rem;
--shadow: 5px 0px 30px 0px rgba(0, 0, 0, 0.08);
/* Badge color */
--bages-sale-color: {{ settings.sale_color }};
--bages-sale-bg-color: {{ settings.sale_background }};
--bages-new-color: {{ settings.new_color }};
--bages-new-bg-color: {{ settings.new_background }};
--bages-pre-order-color: {{ settings.pre_order_color }};
--bages-pre-order-bg-color: {{ settings.pre_order_background }};
--bages-sold-out-color: {{ settings.sold_out_color }};
--bages-sold-out-bg-color: {{ settings.sold_out_background }};
--bages-custom-color: {{ settings.custom_badge_color }};
--bages-custom-bg-color: {{ settings.custom_badge_background }};
--responsive-rate: ((100vw - 575px) / (1600 - 575));
}
@media (min-width: 768px) {
:root{
--section-spacing: {{ settings.spacing_desktop }}px;
--logo-width: {{ settings.logo_width }}px;
--btn-padding-y: 1.5rem;
--btn-padding-x: 5.5rem;
--input-font-size: calc(var(--body-font-size) - 1px);
}
}
{% endstyle %}
{%- liquid
render 'preload-page'
sections 'header-group'
-%}
{% sections 'footer-group' %}
{%- liquid
sections 'overlay-group'
section 'mobile-navigation-bar'
section 'product-quickview'
section 'custom-colors'
section 'fake-order'
-%}
{%- render 'scripts-tag' -%}
{%- render 'sprite-svg' -%}
{%- render 'content-bottom' -%}
Glad to hear you solved your issue. In the future, it’s helpful if you leave your original post as is, and add a comment with the solution you found, and mark it as so.
It helps other people who find this thread later with the same problem ![]()