Категории форума

Записки CotoДела

Мои записи, как типовые решения разных вопросов с Cotonti

webitproff
webitproff • 29.04.2026 19:15 #536

Предохранитель, не превышать количество символов для мета-заголовка и мета-описания.

 

Зачем нужны ограничения и счётчики символов для SEO-полей

Meta Title и Meta Description — ключевые элементы, которые поисковые системы показывают в результатах выдачи. Их длина напрямую влияет на кликабельность и восприятие вашего предложения.

  • Meta Title (до 55 символов) — заголовок, который виден в поиске и на вкладке браузера. Если он обрезается, теряется смысл и снижается CTR.
  • Meta Description (до 160 символов) — краткое описание под заголовком. Слишком длинное описание обрезается многоточием, что может отпугнуть пользователя.

Мы добавили в форму редактирования товара автоматические ограничители и счётчики оставшихся символов. Теперь при заполнении полей вы сразу видите остаток и не сможете случайно выйти за пределы рекомендуемой длины.

Как это работает

Для каждого поля задан лимит (55 и 160 символов соответственно). При вводе текста скрипт:

  • отображает количество оставшихся символов прямо под полем;
  • автоматически обрезает лишнее, если лимит превышен.

Никаких дополнительных настроек — просто заполняете форму, и система сама следит за оптимальной длиной. Это помогает создавать более качественные сниппеты без ручной проверки каждого символа.

 

в шаблоне старый код меняем на новый:

<div class="col-12 js-chars-limit-block">
   <label for="marketMetaTitle" class="form-label fw-semibold">{PHP.L.market_metatitle}</label>
   <div class="input-group has-validation">
       {MARKETEDIT_FORM_METATITLE}
   </div>
   <div class="form-text text-end">
       <span class="text-muted small js-chars-counter" data-limit="55"></span>
   </div>
</div>
<div class="col-12 js-chars-limit-block">
   <label for="marketMetaDesc" class="form-label fw-semibold">{PHP.L.market_metadesc}</label>
   <div class="input-group has-validation">
       {MARKETEDIT_FORM_METADESC}
   </div>
   <div class="form-text text-end">
       <span class="text-muted small js-chars-counter" data-limit="160"></span>
   </div>
</div>

 

и в конец шаблона, перед закрывающим шаблон, XTemplate-блоком <!-- END: MAIN -->   вставить скрипт:

<script>
   document.addEventListener('DOMContentLoaded', function() {
       // Для каждого блока с js-chars-limit-block
       document.querySelectorAll('.js-chars-limit-block').forEach(function(block) {
           // Найти первое поле ввода или textarea внутри этого блока
           const field = block.querySelector('input, textarea');
           // Найти счётчик внутри этого же блока
           const counter = block.querySelector('.js-chars-counter');
           if (!field || !counter) return;
           
           const limit = parseInt(counter.getAttribute('data-limit'), 10);
           
           function update() {
               let val = field.value;
               if (val.length > limit) {
                   field.value = val.substring(0, limit);
               }
               const remaining = limit - field.value.length;
               counter.textContent = 'Осталось: ' + remaining + ' симв.';
           }
           
           field.addEventListener('input', update);
           update(); // начальное значение
       });
   });
</script>

 

 

 

 

🗿

🧙‍♂️ Радуйся, странниче добрый и честный! Не понапрасну привела тя стезя в земли сии. Зде бо мужи мудры и искусники дела писменнаго и численнаго, что куют словеса и плетут узоры кода, тайны разгадывают и знанием делятся, летописи множа и ремесло цифровое творя.
⬅️ Аще налево пойдеши — обрящеши грамоты древния, писания старинныя и свитки учения. ⬆️ Аще прямо — слово мудрое и совет от мужей разумеющих, что в деле кодописном искусны, получиши. ➡️ Аще направо — сам в писцы и летописцы внидеши, и в ремесло цифровое, где строки и знаки в дело живое обращаются, слово свое в память веков вложиши.
📝 Не медли же — нареки имя свое, и вниди в чин наш, и стань с нами в братстве, где код есть магия, а строки — заклятия живыя, числом и буквою слово едины суть.
🏰 Не тайно есть собрание сие, и не инициации в нем, но многое сокрыто от пришлых и ступалого, понеже не всякому открывается знание, но токмо ищущим и пребывающим в деле сем.