What to do with SEO if the product is updated from 1C every day?

In an ideal world, the processes of interaction between the website and the business are perfectly established. The structure of warehouse balances accurately reflects the structure of the catalog on the website, and CRM tracks the effectiveness of each sales channel.

Products are uploaded to the site from 1C with a full description, characteristics and high-quality images.

What happens in real life?

Option 1:

A company begins to think about a website after the offline business has been operating for a long time. The catalog in 1C is organized for sales and logistics departments; suppliers submit their catalogs in various formats that everyone is used to working with.

Option 2:

Instead of automatic downloading from 1C, an updated price list from different suppliers is used, which needs to be downloaded several times a month. In this case, parsers are developed for each supplier, and no changes are visible on the site.

Main tasks for the catalog:

  • Current prices and warehouse balances.
  • Search engine promotion as the main channel for attracting traffic.
  • The user should easily and quickly find the desired product.
  • The directory structure should be logical and understandable.

But there are problems:

  • The directory structure cannot be changed, as this would require restructuring business processes.
  • Product page addresses may change.
  • Some products may disappear, others may appear.

This leads to the following problems for SEO:

  • Inability to create a clear and logical website structure taking into account user requests.
  • Constantly changing page addresses and, as a result, 404 errors and delays in indexing.
  • Unstable content of website sections.

The result: inconsistent search traffic, high bounce rates, and an unpredictable number of pages in the index.

Is there anything that can be done?

Our project included a large online store with a huge catalog of spare parts for special equipment; products were loaded both automatically and manually. We are faced with the fact that many product pages are regularly deleted.

For search engine promotion we used several methods:

  • Forced all product pages to be indexed.
  • Optimized pages.

How to implement this?

  • Regular updating of the sitemap.xml file.
  • Product page addresses remained stable.
  • Set up automatic creation and meta descriptions. IN <title> The product name, price and delivery regions are displayed. Keywords are formed taking into account the category and product. In description - the name of the product and accompanying text.</li><li>We set up a relationship between in-stock products and the general catalog, prompting the user to order a product if it is out of stock.</li><li>We agreed with the programmer about notifications about new products.</li></ul><p>The result: an up-to-date, optimized catalog that is correctly indexed by search engines.</p><h3>So what next?</h3><p>For effective directory SEO, this alone is not enough. We focused on precise user queries, such as searching for products by name or SKU, as well as by product types and brands.</p><p>We have created a deep site structure taking into account all possible search variations. This allowed us to improve search engine optimization, and the site became easier for users.</p><h3>How did we structure the catalog?</h3><p>We have developed two parts of the catalog:</p><ul><li><strong>Catalog with products in stock</strong> — products that can be purchased immediately if the user knows the exact name. Products can be found through the search or the "In stock" section.</li><li><strong>Product catalog</strong> — to navigate by categories, brands and models. This catalog is linked to the actual availability of goods in stock, which ensures that the information is up to date.</li></ul><p>This structure allows you to easily work with SEO for the second directory, configure <title>, meta-descriptions and product categories without the risk that they will be knocked down during updates.</p><p>If the product is out of stock, we agreed on the delivery time with the customer and created a work scenario for the sales department to avoid misunderstandings with customers.</p><h3>Let's summarize:</h3><p>If your directory is constantly updated, don't waste effort on perfecting it for SEO. Instead:</p><ul><li>Set up indexing and optimization of updated product cards.</li><li>Create a second static directory for SEO.</li><li>Develop a scenario for the sales department to deal with out-of-stock items.</li></ul><p>For any questions, please contact the SEO studio "SEO COMPUTER" at info@seo.computer.</p><p>ID 9361</p> </div> </div> </div> </section> <section id="consultation" class="py-5"> <div class="container"> <div class="form-bg-gradient bor-r-20 my-3 p-4 p-md-5"> <div class="head-title-white text-center">Send a request and we will provide a consultation on SEO promotion of your website</div> <form class="form row my-3 justify-content-center gy-2 needs-validation" id="form-consultation" action="https://seo.computer/form" method="post" novalidate=""> <input type="hidden" name="form_name" value="Отправьте заявку и мы бесплатно Блог"> <input type="hidden" name="_token" value="AusAsDCTTkLB9Yh12c6DTViYtlIjQhuPCtHQH4KM" autocomplete="off"> <div class="col-12 col-xl-3"> <input type="text" name="name" class="form-control form-padding rounded-5" placeholder="your name" required=""> </div> <div class="col-12 col-xl-3"> <input type="tel" name="phone" class="form-control form-padding rounded-5" placeholder="Phone number" required="" maxlength="18"> </div> <div class="col-12 col-xl-3"> <button type="submit" class="btn btn-send btn-light form-padding rounded-5 w-100">Send</button> </div> <div class="col-12 col-md-12"> <div class="text-center"> <a class="text-decoration-none text-white fs-14" href="https://seo.computer/policy">By submitting an application, you agree to the privacy policy</a> </div> </div> </form> </div> </div> </section> <footer class="footer-bg"> <style> .bottom-contact-bar { display:none; } @media(max-width:992px) { .bottom-contact-bar { display:block; position:fixed; bottom:0; left:0; right:0; z-index: 9999; } .footer-bg { padding-bottom: 16px; } .b24-widget-button-position-bottom-right, .social { margin-bottom: 24px; } } </style> <div class="navbar navbar-dark bg-dark py-1 bottom-contact-bar"> <div class="container justify-content-center"> <div class="nav-link mb-0 p-0 text-white d-flex align-items-center justify-content-center flex-wrap gap-2" style="font-size:0.85rem;text-align:center"> <a style="text-decoration:none; color:inherit; white-space:nowrap" href="mailto:info@seo.computer"><i class="fas fa-envelope me-1" style="font-size:0.75rem"></i>info@seo.computer</a> </div> </div> </div> <style>.norender{display:none;visibility:hidden;}</style> <div class="container"> <div class="row row-cols-4 col-md-12 text-light pt-3 pt-md-5 g-3"> <div class="col-12 col-xl-3 col-md-6 vcard" itemscope itemtype="http://schema.org/LocalBusiness"> <a class="url" href="https://seo.computer/en"> <img src="https://seo.computer/assets/svg/seo_logo.svg" alt="SEO Computer What to do with SEO if the product is updated from 1C every day? in Moscow" title="SEO Computer What to do with SEO if the product is updated from 1C every day? in Moscow" class="rounded-5" width="200" height="40" /> </a> <ul class="nav flex-column"> <li class="fn org" itemprop="name">SEO COMPUTER</li> <li class="category">Internet Marketing</li> <li>Opening hours: <span class="workhours" itemprop="openingHours" datetime="Mo-Su">around the clock</span></li> <li class="norender"> <span itemprop="priceRange" class="pricerange">from 200 USD</span> <img loading="lazy" aria-hidden="true" width="2048" height="2048" itemprop="image" style="width:unset;height:unset;" class="absolute-bg-from-top__image photo" src="https://seo.computer/uploads/seo-article-1x1/seo-article-9361.webp"> </li> <li class="nav-item mb-2 color-bfbfbf adr"> <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"><span class="locality" itemprop="addressLocality">Moscow</span></span> </li> <li class="nav-item mb-2 email"><a href="mailto:info@seo.computer" style="text-decoration:none;" class="color-bfbfbf" title="Email"><span itemprop="email">info@seo.computer</span></a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Menu</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://seo.computer/en?city=moscow#tarifs" class="nav-link p-0 color-bfbfbf" title="SEO Tariffs">SEO Tariffs</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en?city=moscow#reviews" class="nav-link p-0 color-bfbfbf" title="SEO Reviews">SEO Reviews</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en?city=moscow#quiz" class="nav-link p-0 color-bfbfbf" title="SEO Calculator">SEO Calculator</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en?city=moscow#sales" class="nav-link p-0 color-bfbfbf" title="SEO Promotions">SEO Promotions</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en/contact" class="nav-link p-0 color-bfbfbf" title="Contacts">SEO Contacts</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Services</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://seo.computer/en/business" class="nav-link p-0 color-bfbfbf" title="Businesses">SEO for businesses</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en/type-sites" class="nav-link p-0 color-bfbfbf" title="Types of websites">SEO for types of websites</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en/cms" class="nav-link p-0 color-bfbfbf" title="CMS systems">SEO for CMS systems</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en/languages" class="nav-link p-0 color-bfbfbf" title="Languages">SEO for languages</a></li> <li class="nav-item mb-2"><a href="https://seo.computer/en/engines" class="nav-link p-0 color-bfbfbf" title="Search engines">SEO for search engines</a></li> </ul> </div> <div class="col-12 col-xl-3 col-md-6"> <div class="fw-500 fs-20 mb-2">Social network</div> <ul class="nav flex-column"> <li class="nav-item mb-2"><a href="https://wa.me/79202044461" class="nav-link p-0 color-bfbfbf" title="Whatsapp"><i class="fab fa-whatsapp me-1"></i>Whatsapp</a></li> <li class="nav-item mb-2"><a href="https://t.me/t9202044461/" class="nav-link p-0 color-bfbfbf" title="Telegram"><i class="fab fa-telegram-plane me-1"></i>Telegram</a></li> <li class="nav-item mb-2"><a href="mailto:info@seo.computer" class="nav-link p-0 color-bfbfbf" title="Email"><i class="fas fa-envelope me-1"></i>Email</a></li> </ul> </div> </div> <div class="justify-content-between pt-2 pb-4 mt-2 border-top col-md-12 text-light"> <p>This website is for informational purposes only and is not a public offer. To obtain accurate information about the services provided and their costs, please contact the company’s managers.</p> <a class="text-decoration-none color-bfbfbf" href="https://seo.computer/en/policy">Privacy Policy</a> <div class="mt-2"> <!--LiveInternet counter--><a href="https://www.liveinternet.ru/click" target="_blank"><img id="licntD152" width="31" height="31" style="border:0" title="LiveInternet" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7" alt="LiveInternet"/></a><script defer async>setTimeout(function(){(function(d,s){d.getElementById("licntD152").src="https://counter.yadro.ru/hit?t44.6;r"+escape(d.referrer)+((typeof(s)=="undefined")?"":";s"+s.width+"*"+s.height+"*"+(s.colorDepth?s.colorDepth:s.pixelDepth))+";u"+escape(d.URL)+";h"+escape(d.title.substring(0,150))+";"+Math.random()})(document,screen)},4000);</script><!--/LiveInternet--> </div> </div> </div> </footer> <div class="modal fade" id="exampleModalToggle" aria-hidden="true" aria-labelledby="exampleModalToggleLabel" tabindex="-1"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fw-500 fs-20" id="exampleModalToggleLabel">Leave a request</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <img loading="lazy" src="https://seo.computer/assets/svg/mobile_marketing.svg" class="my-3 mx-auto" width="300" height="260" alt="Leave a request What to do with SEO if the product is updated from 1C every day? in Moscow" title="Leave a request What to do with SEO if the product is updated from 1C every day? in Moscow"> <form class="form needs-validation" action="https://seo.computer/form" id="form-popup" method="post" novalidate> <input type="hidden" name="form_name" value="Цены - форма (гл. стр.)"> <input type="hidden" name="_token" value="AusAsDCTTkLB9Yh12c6DTViYtlIjQhuPCtHQH4KM" autocomplete="off"> <div class="modal-body"> <label class="fs-5 text-center fw-bold">Leave a request and our SEO specialist will contact you soon</label> <div class="row"> <div class="col-12"> <input type="text" name="name" class="form-control form-padding my-2" placeholder="your name" required> </div> <div class="col-12"> <input type="tel" name="phone" class="form-control form-padding my-2" placeholder="Phone number" required> </div> </div> </div> <div class="modal-footer justify-content-center"> <button class="btn rounded-5 btn-primary w-100 form-padding" type="submit">Send</button> <a href="policy.html" class="text-decoration-none text-dark text-center fs-14">By submitting data, you agree to the privacy policy</a> </div> </form> </div> </div> </div> <div class="modal fade" id="ModalLanguage" tabindex="-1" aria-labelledby="ModalLanguage" aria-hidden="true"> <div class="modal-dialog modal-sm modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fs-22 fw-500" id="exampleModalLabel">Choose language</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form class="modal-body" id="languageForm" method="post"> <input type="hidden" name="_token" value="AusAsDCTTkLB9Yh12c6DTViYtlIjQhuPCtHQH4KM" autocomplete="off"> <select class="form-select mb-2" aria-label="Choose language" name="language" id="language"> <option selected>Choose language</option> <option value="cn" >Chinese (simplified) (cn)</option> <option value="en" selected >English (en)</option> <option value="nl" >Dutch (nl)</option> <option value="it" >Italian (it)</option> <option value="jp" >Japanese (jp)</option> <option value="de" >German (de)</option> <option value="es" >Spanish (es)</option> <option value="fr" >French (fr)</option> <option value="pl" >Polish (pl)</option> <option value="pt" >Portuguese (pt)</option> <option value="ru" >Russian (ru)</option> <option value="tr" >Turkish (tr)</option> <option value="id" >Indonesian (id)</option> </select> <button type="submit" class="btn btn-primary w-100">Change</button> </form> </div> </div> </div> <div class="modal fade" id="SuccessModal" tabindex="-1" aria-labelledby="SuccessModal" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fs-22 fw-500" id="SuccessModalLabel"></div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body text-center"> <img src="https://seo.computer/assets/svg/mail_send.svg" alt="Sent successfully What to do with SEO if the product is updated from 1C every day? in Moscow" title="Sent successfully What to do with SEO if the product is updated from 1C every day? in Moscow" width="160" height="144" class="mb-5"> <div class="h4" style="color: #000;">Sent successfully!</div> <p style="color: #000;">Thank you, your application has been sent successfully! We will contact you shortly.</p> </div> </div> </div> </div> <div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="modalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content custom-modal"> <div class="modal-body d-flex align-items-center justify-content-between"> <!-- Rasm joyi --> <div class="modal__contents"> <div class="modal_top"> <span class="section_title">Leave a request</span> <p class="text-muted mt-1">And our SEO specialist will contact you in the near future</p> </div> <form id="form-analytcs" action="https://seo.computer/form" method="post" class="modal__contents_inputs flex flex-wrap justify-content-between "> <input type="hidden" name="form_name" value="Страница анализатора"> <input type="hidden" name="_token" value="AusAsDCTTkLB9Yh12c6DTViYtlIjQhuPCtHQH4KM" autocomplete="off"> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="your name" name="name" id="name" required /> </div> <div class="modal__contents_input"> <input type="tel" class="form-control phone_input" placeholder="Phone number" id="phone" name="phone" required /> </div> <div class="modal__contents_input"> <input type="text" class="form-control" placeholder="Your website address" name="website" id="website" required /> </div> <button type="submit" class="button desctop">Send</button> <button type="submit" class="button mobile">Send</button> </form> <p class="policy mt-3">By sending an application, you agree <a href="https://seo.computer/ru/policy">With a policy of confidentiality</a></p> </div> <div class="img-container d-flex align-items-start"> <!-- Rasmni o'z manzilingiz bilan almashtiring --> <img src="https://seo.computer/assets/images/modal_img.png" alt="Rasm" class="img-fluid" /> <button class="close" data-bs-dismiss="modal" aria-label="Close"> <img src="https://seo.computer/assets/images/exit.svg" alt=""> </button> </div> <!-- Forma --> </div> </div> </div> </div> <div class="modal fade" id="ModalCity" tabindex="-1" aria-labelledby="ModalCity" aria-hidden="true"> <div class="modal-dialog modal-xl modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <div class="modal-title fs-22 fw-500" id="exampleModalLabel">Select a city</div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body cites"> <div class="row mb-2"> <div class="col-sm-12"> <input class="form-control form-padding" id="search" name="query" placeholder="Enter the name of the city..."> </div> </div> <div class="row row-cols-1" id="cites"></div> </div> </div> </div> </div> <style>.lateload-show-buttons{display:none;}</style> <div class="social lateload-show-buttons"> <button class="shareButton tg open" data-bs-toggle="modal" data-bs-target="#SocialModal" data-bs-content="Write to telegram" title="Write to telegram What to do with SEO if the product is updated from 1C every day? in Moscow" data-bs-link="https://t.me/t9202044461/"> <img width="24" height="24" style="display:inline-block" src="https://seo.computer/assets/images/c_telegram.webp" alt="Write to telegram What to do with SEO if the product is updated from 1C every day? in Moscow" title="Write to telegram What to do with SEO if the product is updated from 1C every day? in Moscow"> </button> <button class="shareButton wt open" data-bs-toggle="modal" data-bs-target="#SocialModal" data-bs-content="Write to whatsapp" title="Write to whatsapp What to do with SEO if the product is updated from 1C every day? in Moscow" data-bs-link="https://wa.me/79202044461"> <img width="24" height="24" style="display:inline-block" src="https://seo.computer/assets/images/c_whatsapp.webp" alt="Write to whatsapp What to do with SEO if the product is updated from 1C every day? in Moscow" title="Write to whatsapp What to do with SEO if the product is updated from 1C every day? in Moscow"> </button> </div> <script defer async> setTimeout(function(){$('.lateload-show-buttons').css('display','flex').hide().fadeIn();}, 4000); </script> <!-- Modal --> <div class="modal fade" id="SocialModal" tabindex="-1" aria-labelledby="SocialModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header" style="text-align:center;"> <span style="font-size: 1.25rem;" class="modal-title" id="SocialModalLabel">Connect with us</span> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body text-center"> <a type="button" class="btn btn-primary" id="Soclink" href="#">Write</a> </div> </div> </div> </div> <script defer async> var SocialModal = document.getElementById('SocialModal') SocialModal.addEventListener('show.bs.modal', function (event) { setTimeout(function(el){ let halfScreenHeight = window.screen.height / 2; let coefdBlockHeight = el.offsetHeight * 1.75; //console.log(el.offsetHeight); let newTopPx = Math.round(halfScreenHeight - coefdBlockHeight); el.style.transform = 'translate(0, ' + newTopPx + 'px)'; }, 250, SocialModal.children[0]); // Button that triggered the modal var button = event.relatedTarget // Extract info from data-bs-* attributes var link = button.getAttribute('data-bs-link') var content = button.getAttribute('data-bs-content') var Soclink = SocialModal.querySelector('#Soclink') Soclink.setAttribute('href', link) Soclink.textContent = content }); (() => { 'use strict' // Fetch all the forms we want to apply custom Bootstrap validation styles to const forms = document.querySelectorAll('.needs-validation') // Loop over them and prevent submission Array.from(forms).forEach(form => { form.addEventListener('submit', event => { if (!form.checkValidity()) { event.preventDefault() event.stopPropagation() } form.classList.add('was-validated') }, false) }) })() </script> <!--JavaScripts--> <script rel="lazy" src="https://seo.computer/assets/js/jquery-3.6.0.min.js" ></script> <script defer async src="https://seo.computer/assets/js/bootstrap.min.js" ></script> <script src="https://seo.computer/assets/js/custom-blocks.js" charset="utf-8"></script><script defer async src="https://seo.computer/assets/js/jquery.mask.min.js" async></script> <!-- <script defer async src="https://seo.computer/assets/js/lottie-player.js" ></script> --> <!-- Bitrix --> <!-- <script defer async> setTimeout(function(){ (function(w,d,u){ var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/60000|0); var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h); })(window,document,'https://cdn-ru.bitrix24.ru/b20061858/crm/site_button/loader_7_7psi5t.js'); setTimeout(function(){ let linksNoHref = [...document.querySelectorAll('a.b24-widget-button-social-item')]; if (linksNoHref.length > 0) { for (l of linksNoHref) { if (!l.href) l.setAttribute('href','#'); } } }, 1000); }, 4000); </script> <script defer async> window.addEventListener('onBitrixLiveChat', function(event) { var widget = event.detail.widget; widget.subscribe({ type: BX.LiveChatWidget.SubscriptionType.configLoaded, callback: function() { widget.addLocalize({BX_LIVECHAT_LOADING: ' '}); widget.addLocalize({BX_LIVECHAT_ERROR_TITLE: ' '}); widget.addLocalize({ BX_LIVECHAT_VOTE_BUTTON: ' ', BX_LIVECHAT_ERROR_DESC: ' ', BX_MESSENGER_TEXTAREA_PLACEHOLDER: '✎...', }) } }); }); </script> <style>.b24-widget-button-wrapper.b24-widget-button-position-bottom-right, .b24-widget-button-wrapper.b24-widget-button-position-bottom-middle, .b24-widget-button-wrapper.b24-widget-button-position-bottom-left {bottom: 5px; right: 2px;} .bx-livechat-logo-name, .bx-livechat-logo-icon, .bx-livechat-copyright-link, .bx-livechat-help-title-lg, .bx-im-dialog-group-date, .b24-form-sign, .bx-imopenlines-message-dialog-number, .bx-imopenlines-form-result-title, .bx-livechat-user-position, .bx-im-message-type-system .bx-im-message-content, .b24-form-control-alert-message, .bx-touch .b24-widget-button-position-bottom-right .b24-widget-button-popup-triangle {display:none} .bx-livechat-help-title-sm {font-size:0px;} .b24-form-wrapper {min-height: 150px !important;} .bx-imopenlines-form-result-container {min-height: 50px !important;} .bx-imopenlines-form-result-container.bx-imopenlines-form-success {background: none;border-bottom: none;} .bx-touch .b24-widget-button-position-bottom-right .b24-widget-button-popup {left: -240px !important; bottom: 5px !important;}</style> --> <!-- /Bitrix --> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(86303743, "init", { webvisor: true, clickmap: true, trackLinks: true, accurateTrackBounce: true, ecommerce: "dataLayer" }); </script> <noscript><div><img width="1" height="1" src="https://mc.yandex.ru/watch/86303743" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-R6MGYCXWFG"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-R6MGYCXWFG'); </script> <!-- Top100 (Kraken) Counter --> <script defer async> setTimeout(function(){ (function (w, d, c) { (w[c] = w[c] || []).push(function() { var options = { project: 7728665, }; try { w.top100Counter = new top100(options); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//st.top100.ru/top100/top100.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(window, document, "_top100q"); }, 4000); </script> <noscript> <img width="1" height="1" src="//counter.rambler.ru/top100.cnt?pid=7728665" alt="Top 100 What to do with SEO if the product is updated from 1C every day? in Moscow" title="Top 100 What to do with SEO if the product is updated from 1C every day? in Moscow" /> </noscript> <!-- END Top100 (Kraken) Counter --> <script defer async> $(document).ready(function() { $(".form").submit(function(e) { e.preventDefault(); var form = $(this); if (form.find('input:invalid').length === 0) { $.ajax({ type: "POST", url: form.attr('action'), datatype: 'json', data: form.serialize(), // serializes the form's elements. success: function(data) { if(data.message === true) { $('#SuccessModal').modal('show'); form.trigger('reset'); } } }); } }); $("#form-analytcs").submit(function(e) { e.preventDefault(); var form = $(this); if (form.find('input:invalid').length === 0) { $.ajax({ type: "POST", url: form.attr('action'), datatype: 'json', data: form.serialize(), // serializes the form's elements. success: function(data) { if(data.message === true) { $('#myModal').modal('hide'); $('#SuccessModal').modal('show'); form.trigger('reset'); } } }); } }); // ---- Analyzer redirect: hijack hero_form to push directly into seo-analyzer ---- $('form.hero_form[data-analyzer-redirect="1"]').on('submit', function(e){ var form = $(this); var input = form.find('input[name="domain"]'); var raw = (input.val() || '').trim(); if (!raw) { return; } var endpoint = form.attr('data-analyzer-url') || 'https://seo-analyzer.seo.computer/domain'; // Normalize: drop scheme, leading www, trailing slash, anything after first slash/space var host = raw.replace(/^https?:\/\//i,'').replace(/^www\./i,'').split(/[\/\?#\s]/)[0].toLowerCase(); if (!host || host.indexOf('.') === -1) { return; } e.preventDefault(); // Build hidden form and submit it (POST so analyzer can read $_POST['url']) var hf = $('<form>').attr({method:'POST', action: endpoint}).css('display','none'); hf.append($('<input>').attr({type:'hidden', name:'url', value: host})); $('body').append(hf); hf[0].submit(); }); $('.content_toggle').click(function(){ $('.content_block').toggleClass('hide'); if ($('.content_block').hasClass('hide')) { $('.content_toggle').html('Read more'); } else { $('.content_toggle').html('Collapse'); } return false; }); $('.load-more').click(function () { var button = $(this); var link = $(this).data('cat'); var page = $(this).data('page'); var count = page + 1; $.ajax({ type: "GET", url: 'https://seo.computer/en/' + link +'?page=' + page, success: function(response) { if (response.html === ''){ button.fadeOut('slow'); } else { $('#' + link + '_results').append(response.html); button.data('page', count); } }, error: function(request, status, error) { console.log(request); } }); }); $('#languageForm').on('submit', function(e) { e.preventDefault(); $.ajax({ type: 'POST', url: 'https://seo.computer/change-language', data: $('#languageForm').serialize(), success: function(data) { if (data.message === true) { // Обновите URL с новым языком var currentUrl = window.location.href; var split = currentUrl.split('/'); split[3] = data.lang; var newUrl = split.join('/'); if (currentUrl === newUrl) { window.location = '/' + data.lang + '/'; } else { window.location = newUrl; } } } }); }); $('#search').on('input', function(e) { e.preventDefault(); var query = $(this).val(); $.ajax({ type: 'GET', url: 'https://seo.computer/search', data: { query: query, locale: 'en' }, success: function(data) { var results = $('#cites'); results.empty(); if (data.length > 0) { data.forEach(function(city) { results.append($('<a class="col text-decoration-none text-dark">').text(city.prepositional).attr('href', 'https://' + city.slug + '.seo.computer/en')); }); } else { results.html('<div class="col"><span>No results found.</span></div>'); } } }); }); }); </script> <script defer async> (function(){ async function hrefifyLinks(){ let linksnh = []; while (linksnh.length < 2) { linksnh = [...document.querySelectorAll('a')].filter(v=>v.getAttribute('href')===null); if (linksnh.length < 2) { await new Promise(r=>setTimeout(r,500)); } } for (let l of linksnh) {l.href = '#';} } hrefifyLinks(); })(); </script> </body> </html>