Custom Shopify Footer – Responsive, SEO-Friendly & Newsletter Integration

Improve your Shopify store’s footer with a responsive, customizable design. Includes menus, newsletter signup, and social links. Built with HTML, CSS, and Liquid.
Liquid Code
<!-- Custom Shopify Footer Section =================================== Tech Stack: - HTML, CSS, Liquid (Shopify’s templating language) - No JavaScript/jQuery used (purely Liquid & CSS for performance optimization) Features: - Responsive and customizable footer - Dynamic menu links using Shopify's menu system - Newsletter signup form (Shopify customer form) - Social media icons support - SEO-friendly with structured headings and proper hierarchy Promotion: For more prebuilt Shopify templates, check out: https://prebuilttemplates.com/ =================================== --> <section class="custom-footer" style="background-color: {{ section.settings.background_color }}; "> <div class="custom-footer-container "> <div class="custom-footer-top"> <!-- Left Column: Menu Blocks --> <div class="custom-footer-menu"> {% for block in section.blocks %} {% if block.type == 'menu' %} <div class="footer-menu-group"> <h4 class="footer-menu-title" style="color: {{ section.settings.font_color }};">{{ block.settings.menu_title }}</h4> <ul class="footer-menu-links"> {% for link in block.settings.menu.links %} <li><a href="{{ link.url }}" style="color: {{ section.settings.font_color }};">{{ link.title }}</a></li> {% endfor %} </ul> </div> {% endif %} {% endfor %} </div> <!-- Right Column: Newsletter & Socials --> <div class="custom-footer-newsletter"> <div class="custom-footer-newsletter-wrapper"> <h4 style="color: {{ section.settings.font_color }};">{{ section.settings.newsletter_title }}</h4> <p style="color: {{ section.settings.font_color }};">{{ section.settings.newsletter_text }}</p> <!-- Shopify Newsletter Form --> <div class="newsletter-form-container"> {% form 'customer', class: 'newsletter-form' %} <input type="hidden" name="contact[tags]" value="newsletter"> <div class="newsletter-input-wrapper"> <input id="NewsletterForm--{{ section.id }}" type="email" name="contact[email]" class="newsletter-input" value="{{ form.email }}" aria-required="true" autocorrect="off" autocapitalize="off" autocomplete="email" placeholder="Your email" required> <button type="submit" class="newsletter-button">{{ section.settings.subscribe_button_text }}</button> </div> <!-- Error Handling --> {% if form.errors %} <p class="newsletter-error">{{ form.errors.messages.email }}</p> {% endif %} <!-- Success Message --> {% if form.posted_successfully? %} <p class="newsletter-success">{{ 'newsletter.success' | t }}</p> {% endif %} {% endform %} </div> <label class="footer-privacy"> <input type="checkbox" required> <span style="color: {{ section.settings.font_color }};">I accept the <a href="{{ section.settings.privacy_link }}" style="color: {{ section.settings.font_color }};">privacy policy</a></span> </label> <!-- Social Icons --> <div class="footer-social-icons"> {% render 'social-icons' %} </div> </div> </div> </div> <!-- Bottom: Store Title --> <div class="custom-footer-bottom"> <h2 style="color: {{ section.settings.font_color }};">{{ section.settings.store_title }}</h2> </div> </div> </section> <style> .custom-footer { color: #fff; } .custom-footer-top { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid #333; } .custom-footer-menu { display: flex; gap: 50px; border-right: 1px solid #333; } .custom-footer-newsletter ,.custom-footer-menu { padding: 45px; } .footer-menu-title { font-size: 16px; font-weight: bold; } .footer-menu-links { list-style: none; padding: 0; } .footer-menu-links li a { text-decoration: none; font-size: 14px; display: block; padding: 5px 0; } .footer-menu-links li a:hover { text-decoration: underline; } .custom-footer-bottom h2 { font-size: 10rem; margin: 0; } .custom-footer-newsletter h4 { font-weight: 600; font-size: 28px; margin: 0; padding-bottom: 10px; } .custom-footer-newsletter p { font-size: 18px; margin: 0; line-height: 1.4; letter-spacing: 0; } .footer-newsletter-form { display: flex; gap: 10px; margin-top: 20px; } .footer-newsletter-form input { padding: 10px; width: 100%; border: none; border-radius: 5px; } .footer-newsletter-form button { border: none; padding: 10px 15px; cursor: pointer; border-radius: 5px; } .footer-privacy { font-size: 12px; margin-top: 10px; display: flex; } .footer-social-icons { margin-top: 15px; } .footer-social-icons a { margin-right: 10px; font-size: 18px; } .footer-social-icons a:hover { opacity: 0.7; } .custom-footer-bottom { text-align: center; padding: 20px 0; font-size: 24px; font-weight: bold; } .footer-social-icons ul.list-unstyled.list-social li.list-social__item svg path { fill: #fff; } .footer-social-icons ul.list-unstyled.list-social { display: flex; } .custom-footer-newsletter-wrapper { max-width: 470px; } @media(max-width:749px){ .custom-footer-top { grid-template-columns: 1fr; } .custom-footer-menu { border-bottom: 1px solid #333; } } @media(max-width:542px){ .custom-footer-menu { gap: 0; justify-content: space-between; flex-wrap: wrap; } .custom-footer-bottom h2 { font-size: 4rem; } .custom-footer-newsletter, .custom-footer-menu { padding: 30px 20px; } } .newsletter-form-container { margin-top: 15px; } .newsletter-input-wrapper { display: flex; gap: 10px; } .newsletter-input { padding: 10px; width: 100%; border: none; border-radius: 5px; } .newsletter-button { border: none; padding: 10px 15px; cursor: pointer; border-radius: 5px; background: #fff; color: #111; } .newsletter-button:hover { background: #ccc; } .newsletter-error { color: red; font-size: 12px; margin-top: 5px; } .newsletter-success { color: #818181; font-size: 16px!important; margin-top: 10px!important; } label.footer-privacy span { color: #818181!important; } </style> {% schema %} { "name": "Footer Section", "settings": [ { "type": "color", "id": "background_color", "label": "Background Color", "default": "#111" }, { "type": "range", "id": "padding_top", "label": "Padding Top", "default": 40, "min": 0, "max": 200, "step": 5 }, { "type": "range", "id": "padding_bottom", "label": "Padding Bottom", "default": 40, "min": 0, "max": 200, "step": 5 }, { "type": "color", "id": "font_color", "label": "Text Color", "default": "#ffffff" }, { "type": "text", "id": "store_title", "label": "Store Title", "default": "section.store" }, { "type": "text", "id": "newsletter_title", "label": "Newsletter Title", "default": "JOIN US" }, { "type": "text", "id": "newsletter_text", "label": "Newsletter Text", "default": "Sign up for exclusive offers, original stories, events and more." }, { "type": "text", "id": "subscribe_button_text", "label": "Subscribe Button Text", "default": "SUBSCRIBE" }, { "type": "url", "id": "privacy_link", "label": "Privacy Policy Link" } ], "blocks": [ { "type": "menu", "name": "Footer Menu", "settings": [ { "type": "text", "id": "menu_title", "label": "Menu Title", "default": "Our Collections" }, { "type": "link_list", "id": "menu", "label": "Select Menu" } ] } ], "presets": [ { "name": "Footer Section", "blocks": [ { "type": "menu", "settings": { "menu_title": "Our Collections" } }, { "type": "menu", "settings": { "menu_title": "Help & About" } } ] } ] } {% endschema %}