Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Россия +7 (495) 139-20-33
13 Февраля 2006 в 12:00

Технические аспекты оптимизации сайта

Россия +7 (495) 139-20-33
0 6004
Подпишитесь на нас в Telegram

1. Введение

Зачастую, веб-мастера, создавая сайт, пренебрегают многими техническими аспектами, не догадываясь, что эти аспекты просто необходимы для успешного продвижения сайта в поисковых системах в дальнейшем.

Целью мастер-класса является написание инструкций по наиболее важным техническим моментам поисковой Seo оптимизации сайта. Изложенная ниже информация будет полезна, как проектировщикам и разработчикам сайтов, так и начинающим и опытным оптимизаторам.

2. Технические аспекты оптимизации сайта

2.1 Заголовки и мета-тэги

Тэг заголовка - обязателен к заполнению. Этот тэг несет смысловую нагрузку страницы и является ее заглавием.</p> <p>Мета-тэги (мета-информация о странице) размещаются в части страницы после тэга <title> и не являются парными, то есть, закрывающий тэг не нужен.</p> <p>В спецификации HTML существует множество мета-тэгов, однако все их использовать не имеет смысла. Остановимся лишь на основных: Description и Keywords.</p> <p>Description должен содержать в себе расширенный заголовок, а Keywords – список основных ключевых слов для данной страницы, перечисленных через запятую.</p> <p>Остальные мета-тэги не обязательны для использования на страницах сайтов, направленных на поисковую оптимизацию.</p> <h3>2.2. Меню и навигация</h3> <p>При разработке меню сайта, навигации на сайте, необходимо учитывать ряд важных, с точки зрения поисковой оптимизации, факторов:</p> <ol><li>Однообразность и правильность внутренних ссылок, например, все с www или все без www;</li> <li>Правильность ссылочной адресации, с точки зрения спецификации HTML (например, наличие недопустимого символа: «обратный слэш» в адресе ссылки);</li> <li>Отсутствие на сайте страниц-дублей (одинаковых страниц с разными адресами). Обычно такие страницы – это динамические страницы с разным порядком параметров, например, index.php?id=3&show=for_print и index.php?show=for_print&id=3. Для пользователей – это одна и та же страница, а для поисковых систем – страницы разные;</li> <li>Наличие в адресах URL внутренних ссылок идентификаторов сессий (то есть каждый посетитель при заходе на сайт получает уникальный параметр &session_id=, который добавляется к адресу каждой посещаемой страницы сайта) значительно снизит эффективность индексации сайта;</li> <li>Для сайтов большого размера рекомендуется использование меню типа «крошки» - строгого иерархического меню (например, главная/продукция/продукт1/продукт1_1);</li> <li>Известно, что поисковые системы не индексируют, либо индексируют частично коды скриптов (JavaScript, VBScript), файлы апплетов (Java-приложений) и флэш-ролики (Macromedia Flash), а вариантов реализации различных выпадающих меню, навигаций, реализованных с их помощью, существует множество. Поэтому, чтобы избежать проблем при индексации сайта роботами поисковых систем, следует разрабатывать такие варианты навигации, где в меню используются прямые ссылки, индексируемые роботами, либо, в крайнем случае, – дублировать «скриптовые» и флэш-меню прямыми ссылками;</li> <li>Наличие «мета-редиректов» (редиректов на стороне «клиента», т.е. перенаправлений, реализуемых в мета-тэгах) на страницах сайта существенно затрудняет его индексацию. Поэтому, если необходимы перенаправления посетителей с одной страницы на другую, то лучше воспользоваться серверным редиректом 301 (Moved Permanently – редиректом на стороне сервера).</li> <li>Наличие функционала «карта сайта», «разводящего» по иерархии разделы на сайте, значительно упрощает как индексацию страниц роботами поисковых систем, так и «юзабилити».</li> </ol><h3>2.3. Настройка сервера</h3> <p>Чтобы избежать проблем с индексацией сайтов поисковыми системами, необходимо грамотно настроить следующие серверные параметры:</p> <ol><li><b>Кодировка</b>. Настроить корректную выдачу сервером кодировки страниц сайта Charset (например, win-1251);</li> <li><b>Дата последнего изменения документа</b>. Настроить корректную выдачу сервером даты последнего изменения документа - заголовок Last Modified.</li> <li><b>Обработка статуса 404</b>. В случае некорректных настроек сервера для страницы с ошибкой 404 сервер возвращает 200 OK. Таким образом, можно получить стопроцентный дубликат страницы, вследствие чего робот поисковика может «склеить» ее с любой другой страницей сайта.</li> </ol><h3>2.4. Оптимизация кода страниц</h3> <p>Многие web-разработчики жертвуют скоростью загрузки сайта в угоду её визуальной красоте. И титульные страницы размером c 200 Кб сегодня не редкость. Проблемы больших страниц очевидны – это скорость загрузки и трудности с индексацией. Основные причины объемности страниц – «весомые» графические элементы, «лишний код» (такой код обычно генерируется некоторыми HTML-редакторами в больших количествах) и переизбыток контента. Устранить эти причины просто: в первом случае – применить существующие методы оптимизации графики, во втором – методы «чистки» тэгов, в третьем, соответственно, - удалить «лишний» контент.</p> <h3>2.5. Фреймы</h3> <p><a href="https://m.seonews.ru/glossary/freym/">Фреймы</a> – это одно из средств форматирования страницы. Они позволяют разделить окно просмотра документа на несколько прямоугольных областей.</p> <p>Использование фреймов в структуре сайта существенно затрудняет его поисковое продвижение и от их применения лучше отказаться, ведь существующие в настоящее время технологии таковы, что использование фреймов совершенно необязательно.</p> <p>Другой вопрос, если сайт уже создан на фрейм-технологиях, и переделать его нет возможности. Тогда с оптимизацией и продвижением сайта могут возникнуть проблемы, заключающиеся в том, что некоторые поисковые системы не могут индексировать фреймы.</p> <p>Решение проблемы только одно - использование тэга <noframes>. Этот тэг специально предназначен для сайтов с фреймовой структурой. Содержимое тэга <noframes> не выводится браузерами на экран, но поисковые системы индексируют его содержание. В него обычно вносится некоторый оптимизированный текст. Как же правильно использовать тэг <noframes>? Во-первых, <noframes> нужно размещать сразу после <frameset>. Кроме того, в тэге <noframes> необходимо поставить ссылку на страницу, содержащую навигационные ссылки. Это нужно для индексации роботами поисковых систем внутренних страниц сайта.</p> <h3>2.6. <a href="https://m.seonews.ru/masterclasses/chto-takoe-robotstxt-zachem-i-kak-ego-ispolzovat-kak-razreshit-k-indeksatsii-ves-sayt-a-zapretit-k-indeksatsii-tolko-odnu-stranitsu-v-robotstxt/">Robots.txt</a> и зеркала</h3> <p>Важно грамотно использовать файл robots.txt - файл инструкций для поисковых систем. Этот файл должен находиться в корневой директории сайта и содержать только допустимые общепринятые инструкции.</p> <p>При наличии зеркал (частичных или полных копий) у сайта во избежание проблем с его индексацией, в файле robots.txt, при помощи директивы Host, необходимо указать основное зеркало (когда робот поисковика обнаруживает несколько зеркал сайта, он выбирает одно из них в качестве основного, остальные из индекса удаляются): «Host: www.site.ru».</p> <h2>3. Заключение</h2> <p>Итак, важно помнить:</p> <ul><li>размещение заголовка Title на страницах сайтов полезно, как с точки зрения обычного пользователя, так и поисковой машины;</li> <li>мета-информация о странице (мета-тэги) важны для поисковых систем, поэтому пренебрегать ими не стоит;</li> <li>грамотно и профессионально выполненная навигация по сайту только положительно сказывается, как на «юзабилити», так и на индексации роботами поисковых систем;</li> <li>качественная настройка сервера позволяет избежать многих проблем с индексацией сайтов поисковыми системами;</li> <li>оптимизация кода страниц – также немаловажный аспект и для «юзабилити», и для поисковиков;</li> <li>негативное взаимодействие фреймов с поисковыми системами позволит еще на этапе проектирования сайта отказаться от их (фреймов) использования;</li> <li>правильное наполнение файла инструкций позволит поисковым системам грамотно управлять индексацией сайта и его «зеркалами».</li> </ul><p>Таким образом, не стоит пренебрегать техническими аспектами оптимизации сайта, как на стадии его разработки, так и при «раскрутке» уже готового сайта. Умелое же использование материалов мастер-класса позволит избежать множества проблем при продвижении сайтов в поисковых системах.</p> </div> </div> </div> <div class="post-controls fc"> <div style="margin-top: -30px;"></div> <div style="display: none;" class="iblock-vote" id="vote_7062"> <script type="text/javascript"> if (!window.voteScript) window.voteScript = { trace_vote: function(div, flag) { var my_div; var r = div.id.match(/^vote_(\d+)_(\d+)$/); for (var i = r[2]; i >= 0; i--) { my_div = document.getElementById('vote_'+r[1]+'_'+i); if (my_div) { if (flag) { if (!my_div.saved_class) my_div.saved_className = my_div.className; if(my_div.className != 'star-active star-over') my_div.className = 'star-active star-over'; } else { if (my_div.saved_className && my_div.className != my_div.saved_className) my_div.className = my_div.saved_className; } } } i = r[2] + 1; while (my_div = document.getElementById('vote_'+r[1]+'_'+i)) { if (my_div.saved_className && my_div.className != my_div.saved_className) my_div.className = my_div.saved_className; i++; } }, do_vote: function(div, parent_id, arParams) { var r = div.id.match(/^vote_(\d+)_(\d+)$/); var vote_id = r[1]; var vote_value = r[2]; function __handler(data) { $('.iblock-vote').replaceWith(data); var obContainer = document.getElementById(parent_id); if (obContainer) { var obResult = document.createElement("DIV"); obResult.innerHTML = data; obContainer.parentNode.replaceChild(obResult.firstChild, obContainer); } } var url = '/bitrix/components/askaron/askaron.ibvote.iblock.vote/component.php'; arParams['vote'] = 'Y'; arParams['vote_id'] = vote_id; arParams['rating'] = vote_value; $.post( url, arParams, function(data){ $('.iblock-vote').replaceWith(data); } ); } } </script> <!--<table border="0" cellspacing="0" cellpadding="0">--> <!-- <tr>--> <!-- --><!-- --><!-- --><!-- --><!-- <td><div id="vote_--><!--_--><!--" class="star-voted" title="--><!--"></div></td>--> <!-- --><!-- <td><div id="vote_--><!--_--><!--" class="star-empty" title="--><!--"></div></td>--> <!-- --><!-- --><!-- --><!-- --><!-- <td><div id="vote_--><!--_--><!--" class="star" title="--><!--"></div></td>--> <!-- --><!-- --><!-- --><!-- --><!-- --><!-- --><!-- <td><div id="vote_--><!--_--><!--" class="star-active star-voted" title="--><!--" onmouseover="voteScript.trace_vote(this, true);" onmouseout="voteScript.trace_vote(this, false)" onclick="--><!--"></div></td>--> <!-- --><!-- <td><div id="vote_--><!--_--><!--" class="star-active star-empty" title="--><!--" onmouseover="voteScript.trace_vote(this, true);" onmouseout="voteScript.trace_vote(this, false)" onclick="--><!--"></div></td>--> <!-- --><!-- --><!-- --><!-- --><!-- <td><div id="vote_--><!--_--><!--" class="star-active star-empty" title="--><!--" onmouseover="voteScript.trace_vote(this, true);" onmouseout="voteScript.trace_vote(this, false)" onclick="--><!--"></div></td>--> <!-- --><!-- --><!-- --><!-- </tr>--> <!-- <tr>--> <!-- <td class="vote-result" id="vote-result---><!--" colspan="--><!--">--> <!-- --><!-- <div id="wait_vote_--><!--">--> <!-- --><!-- </div>--> <!-- --><!-- <div id="wait_vote_--><!--">--> <!-- --><!-- </div>--> <!-- --><!-- </td>--> <!-- </tr>--> <!--</table>--> <style> @media screen and (max-width: 900px){ .hider-mobile{ display: none; } .rewrite-mobile-img{ margin: 28px 0px 3px 0px !important; } .rewrite-mobile-td{ padding-left: 13px !important; } } </style> <table> <tr> <td> <img class="rewrite-mobile-img" src="/upload/1_files/star.png" style="margin: 10px 0px 3px;" alt=""> <img class="hider-mobile" src="/upload/1_files/star.png" style="margin: 10px 0px 3px;" alt=""> <img class="hider-mobile" src="/upload/1_files/star.png" style="margin: 10px 0px 3px;" alt=""> </td> <td class="rewrite-mobile-td" style="text-align: left; padding-left: 30px; font-weight: bold; font-style: italic; line-height: 1.6;"> Друзья, теперь вы можете поддержать SEOnews <a href="https://pay.cloudtips.ru/p/8828f772">https://pay.cloudtips.ru/p/8828f772</a> <br> Ваши донаты помогут нам развивать издание и дальше радовать вас полезным контентом. </td> <td> <img class="hider-mobile" src="/upload/1_files/star.png" style="margin: 10px 0px 3px 20px;" alt=""> <img class="hider-mobile" src="/upload/1_files/star.png" style="margin: 10px 0px 3px;" alt=""> <img class="hider-mobile" src="/upload/1_files/star.png" style="margin: 10px 0px 3px;" alt=""> </td> </tr> </table> </div> </div> <div class="post-tags"> <img src="/local/templates/mobile/images/ico-tag.png" alt="tags" image> Теги: <a href="https://www.seonews.ru/tags/seo/" >SEO</a><a href="https://www.seonews.ru/tags/poiskovye-sistemy/" >Поисковые системы</a><a href="https://www.seonews.ru/tags/meta-tegi/" >Мета-теги</a><a href="https://www.seonews.ru/tags/novichkam/" >Новичкам</a> </div> <div class="post-controls fc"> <div class="social-buttons fc social-buttons-down"> <div class="ya-share2" data-services="vkontakte,telegram,odnoklassniki" data-counter="" data-url="https://www.seonews.ru/analytics/tehnicheskie-aspektyi-optimizatsii-sayta/"></div> <div class="edit-button" style="display: none"></div> <div style="clear:both;"></div> </div> </div> </div> </div> <a name="comments" style="display: block; position: absolute; margin-top: -50px;"></a> <script> if( typeof(window.xcom) != 'object' ) { window.xcom = {}; } window.xcom.m = "7062"; window.xcom.mib = "17"; window.xcom.u = ""; window.xcom.a = true; </script> <!----------------------> <div class="xcom-wrapper"> <div class="xcom-title">0 комментариев</div> <!-- allaround-form --> <div class="xcom-allaround-form-wrapper"></div> <div class="xcom-nav-line-wrapper"> <div class="xcom-nav-line-controls-wrapper"> <div class="xcom-nav-line-controls-subscribe-wrapper"> <div class="xcom-nav-line-controls-subscribe">Подписаться <span class="xcom-nav-line-ma"></span></div> <div class="xcom-nav-line-controls-subscribe-list"> Подписаться на дискуссию:<br> <div class="xcom-comcounter-subscribe-wrapper"> <div class="xcom-comcounter-subscribe-b"> <div class="xcom-comcounter-subscribe-label">E-mail:</div> <input type="text" name="email" > <div class="xcom-comcounter-subscribe-btn">ОК</div> </div> <div class="xcom-comcounter-subscribe-success">Вы подписаны на комментарии</div> <div class="xcom-comcounter-subscribe-error">Ошибка. Пожалуйста, попробуйте ещё раз.</div> </div> </div> </div> <div class="xcom-nav-line-controls-delim-1"></div> </div> </div> <div class="xcom-main-block"> <a name="xcom-main"></a> <div class="xcom-main-tab-wrapper xcom-act" id="xcom-tab-tree-view"> <div class="xcom-tree-view-wrapper"> <!-- ДЕРЕВО КОММЕНТАРИЕВ --> <ul class="xcom-tree-view-list level-0" data-xcom-tree-level="0" > </ul> </div> </div> <br clear="all"> </div> </div> <!----------------------> <div class="xcom-hidden-iframes-list"></div> <div class="xcom-modest-progress-indicator"></div> <div class="xcom-review-notable-plate"> <div class="xcom-review-notable-plate-inner xcom-active">Отправьте отзыв!</div> </div></div> <div style="clear:both;"></div> <footer> <div class="footer-inner"> <div class="soclinks"> <a href="https://vk.com/seonews_ru" target="_blank" class="h-soclink h-soclink-vk"> <img loading="lazy" src="/local/templates/mobile/images/vk.svg" alt="SeoNews" width="60" height="60"> </a> <!-- <a href="https://twitter.com/SEOnewsru" target="_blank" class="h-soclink h-soclink-tw"><img src="/images/tw.png" alt="SeoNews"></a> --> <a href="https://t.me/digital_bar" target="_blank" class="h-soclink h-soclink-tw"> <svg fill="none" height="60" width="60" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><path d="M250 500c138.071 0 250-111.929 250-250S388.071 0 250 0 0 111.929 0 250s111.929 250 250 250z" fill="#34aadf"/><path d="M104.047 247.832s125-51.3 168.352-69.364c16.619-7.225 72.977-30.347 72.977-30.347s26.012-10.115 23.844 14.451c-.723 10.116-6.503 45.52-12.283 83.815-8.671 54.191-18.064 113.439-18.064 113.439s-1.445 16.619-13.728 19.509-32.515-10.115-36.127-13.006c-2.891-2.167-54.191-34.682-72.977-50.578-5.058-4.335-10.838-13.005.722-23.121 26.012-23.844 57.081-53.468 75.867-72.254 8.671-8.671 17.341-28.902-18.786-4.336-51.3 35.405-101.878 68.642-101.878 68.642s-11.561 7.225-33.237.722c-21.677-6.502-46.966-15.173-46.966-15.173s-17.34-10.838 12.284-22.399z" fill="#fff"/></svg> </a> </div> <div class="main-link"><a class="white" href="https://www.seonews.ru/masterclasses/tehnicheskie-aspektyi-optimizatsii-sayta/">Перейти на полную версию</a></div> <div class="copyright">© SEOnews.ru Все права защищены. 2024</div> </div> </footer> <div class="xcom-hidden-iframes-list"></div> <div class="xcom-modest-progress-indicator"></div> <div class="xcom-review-notable-plate"> <div class="xcom-review-notable-plate-inner xcom-active"></div> </div> <script type="text/javascript" src="/js/jquery.fancybox.js"></script> <script type="text/javascript" src="/js/jquery.jcarousel.min.js"></script> <script type="text/javascript" src="/js/jquery.maskedinput.min.js"></script> <script type="text/javascript" src="/js/jquery.all.js"></script> <script type="text/javascript" src="/js/jquery.icheck.min.js"></script> <script type="text/javascript" src="/js/xcom-ui.js"></script> <script type="text/javascript" src="/js/owlcarousel/owl.carousel.min.js"></script> <script type="text/javascript" src="/js/magic-tables.min.js"></script> <script type="text/javascript" src="/local/templates/mobile/js/script.js?v=0.4"></script> <script src="https://www.google.com/recaptcha/api.js?render=6LefpqggAAAAAFhlRSremqZObPaX9g_Nc59X4V80"></script> <script type="text/javascript" src="/js/carousel.js"></script> <script> window.onReadyState = (e, t) => { const a = ["loading", "interactive", "complete"], o = a.slice(a.indexOf(e)), n = () => o.includes(document.readyState); n() ? t() : document.addEventListener("readystatechange", (() => n() && t())) } window.onReadyState("complete", function () { setTimeout(function () { s = document.createElement('script'); s.src = "//www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit"; s.async = true; document.body.appendChild(s); s = document.createElement('script'); s.src = "//cdn.jsdelivr.net/npm/yandex-share2/share.js"; s.async = true; s["charset"] = 'UTF-8'; document.body.appendChild(s); (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/ru_RU/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); (function (d, w, c) { (w[c] = w[c] || []).push(function () { try { w.yaCounter25391549 = new Ya.Metrika2({ id: 25391549, clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true, ut: "noindex" }); } 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 = "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks2"); (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); ga('create', 'UA-49851957-1', 'seonews.ru'); ga('send', 'pageview'); }, 1500) }) </script> </body> </html>