Розробка кастомного коду (Code Injection) Squarespace

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Розробка кастомного коду (Code Injection) Squarespace
Проста
від 1 робочого дня до 3 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Розробка користувацького коду Squarespace (Code Injection)

Code Injection — єдиний спосіб додати довільну логіку на сайт Squarespace. Це не повний доступ до сервера або шаблонів, але достатній інструментарій для більшості завдань: аналітика, користувацькі віджети, зміна поведінки DOM, інтеграції з зовнішніми API.

Точки внедрення коду

Squarespace надає чотири місця для інжекції:

1. Global Header — Settings → Advanced → Code Injection → Header Вставляється в <head> кожної сторінки. Підходить для: мета-тегів, підключення шрифтів та стилів, синхронних скриптів аналітики.

2. Global Footer — Settings → Advanced → Code Injection → Footer Вставляється перед </body>. Підходить для: GTM, chat-віджетів, асинхронних скриптів.

3. Page-level Header — Page Settings → Advanced → Page Header Code Injection Тільки для конкретної сторінки. Зручно для унікальних schema.org-розміток, page-specific стилів.

4. Lock Page / Order Confirmation — спеціалізовані інжекції для захищених сторінок та сторінки успішного замовлення.

Практичні паттерни

Lazy-ініціалізація стороннього віджета:

<script>
(function() {
  function loadWidget() {
    var script = document.createElement('script');
    script.src = 'https://widget.example.com/loader.js';
    script.setAttribute('data-key', 'YOUR_KEY');
    document.body.appendChild(script);
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', loadWidget);
  } else {
    loadWidget();
  }
})();
</script>

Перехопити форму Squarespace та відправити дані в сторонній API:

document.addEventListener('submit', function(e) {
  var form = e.target.closest('form[data-form-id]');
  if (!form) return;

  var formId = form.getAttribute('data-form-id');
  if (formId !== 'YOUR_FORM_BLOCK_ID') return;

  // Squarespace обробить форму сам, але ми додатково шлемо у CRM
  var data = new FormData(form);
  fetch('https://api.yourcrm.com/leads', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(Object.fromEntries(data))
  });
});

Динамічна заміна контенту за UTM-параметрами:

(function() {
  var params = new URLSearchParams(window.location.search);
  var source = params.get('utm_source');

  var heroMap = {
    'google': 'Знайшли нас в Google? Скидка 10% на перший заказ',
    'instagram': 'Раді бачити підписчиків Instagram!',
  };

  window.addEventListener('DOMContentLoaded', function() {
    if (source && heroMap[source]) {
      var headlines = document.querySelectorAll('.sqsrte-large');
      if (headlines.length) {
        headlines[0].textContent = heroMap[source];
      }
    }
  });
})();

Робота з Squarespace JavaScript API

Squarespace надає вбудований об'єкт Static та события жизненного цикла сторінки. У режимі AJAX-навігації (якщо увімкнена) сторінки змінюються без перезагрузки:

// Squarespace AJAX navigation hook
window.addEventListener('squarespace:after-page-render', function() {
  // Реініціалізація віджетів після навігації
  reinitCustomComponents();
});

// Аналог DOMContentLoaded для AJAX-сторінок
window.addEventListener('squarespace:after-body-render', function(e) {
  console.log('Page rendered:', e.detail);
});

Користувацький калькулятор у Code Block

Squarespace Code Block дозволяє вставити довільний HTML прямо на сторінку. Приклад простого калькулятора:

<div id="calc-widget" style="max-width:480px; padding:24px; background:#f8f8f8; border-radius:8px;">
  <label style="display:block; margin-bottom:8px; font-size:14px;">Площа (м²)</label>
  <input id="area" type="number" min="1" style="width:100%; padding:8px; font-size:16px; border:1px solid #ddd;">
  <button onclick="calcPrice()" style="margin-top:12px; padding:10px 24px; background:#000; color:#fff; border:none; cursor:pointer;">
    Розрахувати
  </button>
  <div id="result" style="margin-top:16px; font-size:18px; font-weight:600;"></div>
</div>

<script>
function calcPrice() {
  var area = parseFloat(document.getElementById('area').value);
  if (!area || area <= 0) return;
  var price = area * 1200; // грн за м²
  document.getElementById('result').textContent =
    'Вартість: ' + price.toLocaleString('uk-UA') + ' грн';
}
</script>

Cookie Consent та GDPR

Squarespace має вбудований Cookie Banner (Business план+), але він не відповідає строгим вимогам GDPR (немає Reject All). Альтернатива — Cookiebot або CookieYes через Code Injection:

<!-- Cookiebot -->
<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js"
  data-cbid="YOUR-CBID" data-blockingmode="auto" type="text/javascript"></script>

Після підключення Cookiebot автоматично блокує третьосторонні скрипти до отримання згоди.

Обмеження та обходи

Squarespace забороняє document.write() та деякі synchronous XHR-паттерни. ES-модулі (type="module") працюють, але потрібно врахувати порядок завантаження. jQuery включений у Squarespace глобально — не потрібно підключати окремо:

// jQuery доступний як Y.use('node', ...) або через $
$(document).ready(function() {
  // Ваш код
});

Терміни

Підключення аналітики та GTM — кілька годин. Користувацький віджет або калькулятор — 1–2 дні. Складна інтеграція з CRM/API з перехопленням форм та умовною логікою — 3–5 днів.