Как мы делаем SEO-аудит интернет-магазина — пошаговый мануал

upload9ml4qfe3qo.jpg

Приоритеты продвижения: что стоит проверять и исправлять в первую очередь?

Мы много раз на примере кейсов рассказывали о важности внедрения пунктов SEO-аудита. Но работ по оптимизации всегда много, а выделить приоритеты продвижения — непросто. Что стоит проверять и исправлять в первую очередь? Какие работы принесут результат?

Мы решили составить пошаговую инструкцию проведения SEO-аудита интернет-магазина — как это делаем мы, специалисты агентства Netpeak.

Напомню, что о SEO-аудите SaaS-проекта мы пишем в серии статей «Внутренняя кухня SEO: как Netpeak продвигает Unisender».

Условно все работы по составлению SEO-аудита интернет-магазина можно разделить на пункты:

  1. Оптимизация структуры.

  2. Оптимизация технической составляющей.

  3. Оптимизация контентной составляющей.

То есть, начиная рассматривать сайт, мы в первую очередь определяем, как оптимизировать его структуру, даже если в карточках товаров заголовки вроде «Женская Винтаж Лето Черный Горошек Печати» :)

Необходим сайт, мобильное приложение, услуги по SEO или контекстной рекламе? Тендерная площадка WORKSPACE поможет выбрать оптимального исполнителя. База проекта насчитывает более 10 500 агентств. Сервис работает БЕСПЛАТНО как для заказчиков, так и для исполнителей.

Как оптимизировать структуру сайта?

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

На какие задачи обратить внимание в первую очередь при оптимизации структуры интернет-магазина?

1Разделять категории

Типичная ошибка — объединение всех категорий в общий раздел, например, «Каталог» или «Список товаров».

В одном из проектов (интернет-магазин чехлов и виниловых наклеек для телефонов) было меню такого вида:

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

В результате внедрения SEO-аудита мы убрали лишнюю вложенность из структуры и привели меню к такому виду:

2Расширять структуру разделов

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

Такое расположение может быть оправдано с точки зрения бизнеса: если страницы спрятаны, то товары не приоритетны или не приносят особый доход. Но очень часто страницы категорий распределяются некорректно с точки зрения SEO.

Например, на сайте, который занимается продажей товаров для сада и огорода, в рамках одной категории был раздел «Инструменты». Так как ассортимент этой категории значительно расширился, мы собрали семантическое ядро, на основе которого было расширена структура раздела. В результате раздел «Инструменты» вынесли в меню сайта и привели к такому виду:

3Разделять группы товаров

Довольно часто группы различных запросов объединяют в одну категорию. Иногда в этом есть смысл: когда товары слишком похожи или же одних товаров много, а других осталось мало. Однако нередко бывают ситуации, когда группы создавать не совсем логично, и с точки зрения SEO страница отвечала на слишком широкую группу запросов. Читай: не отвечала четко ни на один из нужных запросов.

В таких случаях собирается семантическое ядро на все группы запросов из объединенных категорий и проводится их разделение в структуре сайта.

Например, вот категории в меню интернет-магазина детской одежды до аудита:

После изучения семантики категории распределили так:

5Создавать много фильтров: хороших и разных

Фильтры очень важны при оптимизации — детальная проработка структуры фильтров позволяет интернет-магазинам наращивать трафик. Часто владельцы сайтов это понимают и создают фильтры, но лишь самые простые, например, фильтры по бренду и цене.

Фильтры следует воспринимать как часть структуры сайта, а не просто динамический элемент сортировки товаров для пользователей. При корректной оптимизации страниц фильтров они будут значимым источником поискового трафика и продаж.

Как оптимизировать техническую составляющую сайта?

1Настраивать 301 редиректы

Важно проверять, есть ли на сайте дубли страниц, а если они есть — склеивать эти страницы с помощью 301 редиректов.

Что следует проверять в первую очередь?

Вид редиректа Откуда Куда Определение главного зеркала www.site.com site.com Обработка слэша в конце URL site.com/page site.com/page/ Редирект с дублей главной страницы site.com/index.html, site.com/home, site.com/index.php site.com Лишние слэши в URL site.com/page/// site.com/page/ URL только в нижнем регистре site.com/Page/, site.com/PAGE/ site.com/page/

2Проверять файл robots.txt

Следует проверить наличие robots.txt и то, как он составлен. Файл robots.txt носит рекомендательный характер и может быть проигнорирован поисковыми системами.

Если вы хотите удалить из индекса поисковых систем какую-то страницу, используйте метатег или .

3Ограничивать от индексации бесполезные, с точки зрения поиска, страницы

Стандартные служебные страницы интернет-магазинов обычно не являются целевыми страницами для поиска.

К служебным страницам относятся:

  • корзина;

  • thank-you-page после покупки;

  • страницы личного кабинета;

  • страницы для регистраций и разделы с регистрационными формами.

Такие страницы обычно генерируются автоматически и не содержат информацию, которая будет полезна пользователям. А вот расходовать краулинговый бюджет и создавать дубли они могут. Поэтому важно закрывать от индексации все служебные страницы, используя метатег .

4Оптимизировать входящие и исходящие ссылки

Очень важно запрещать поисковым роботам переходить на страницы, которые были закрыты от индексации.

Почему? Лучше, чтобы очередь ссылок у робота формировалась из очереди URL, способных приводить целевой трафик и продажи, а не из страниц, которые ведут на внешние источники или были закрыты от индексации.

Для таких ситуаций есть несколько решений. Например, использовать технологию SEO-Hide. Алаичъ в своем блоге описал пять отличных вариантов ее реализации. Мы же для этих целей внедряем внутреннюю разработку Netpeak — скрипт, который скрывает от роботов определенные части контента.

Еще один способ — настроить систему фильтров так, чтобы эти ссылки не отображались.

Вариант такой реализации:

5Создать ЧПУ (человекопонятные URL-адреса)

Это позволит роботам быстрее определять релевантность страниц (ключевые слова в URL учитываются при ранжировании). Такие адреса страниц также удобнее для пользователей. Для русскоязычных сайтов рекомендуется использовать транслитерацию, а не перевод разделов на английский.

URL-адреса должны быть не длиннее 110 символов.

6Структурировать файл sitemap.xml

Файл sitemap.xml сообщает поиску только самую актуальную информацию о сайте и его страницах. В этот документ нужно добавлять страницы, которые являются целевыми и будут приносить трафик. Файл составляем без закрытых от индексации страниц, о которых мы говорили в пунктах 2.1, 2.2 и 2.3. В карте также не должно быть неканонических страниц или удаленных URL-адресов.

Как оптимизировать контентную составляющую сайта?

В рамках обсуждения SEO-аудита мы не будет говорить про дизайн, юзабилити и так далее. Затронем только три пункта контентной составляющей, самых важных при оптимизации сайта:

  • метаданные (Title, Description, Keywords, H1);

  • тексты;

  • перелинковка.

1Проверить метаданные (Title, Description, Keywords, H1)

  1. Тег </code> формирует описание основного содержания страницы, он очень важен для определения её релевантности. Текст тега не виден на самой странице, но отображается в результатах поиска и в заголовке браузера.</p> </li> <li> <p>Заголовок H1 — отображаемый заголовок на странице, обычно является самым крупным элементом текста. Важен как для поисковых систем, так и для пользователей.</p> </li> <li> <p>Метатег Description может быть использован поисковыми системами для формирования сниппета.</p> </li> <li> <p>Метатег Keywords многие уже не используют, но его может учитывать Яндекс при определении соответствия страницы поисковым запросам.</p> </li> </ol> <blockquote> <p><em>Смотрите, как выглядят метатеги в поисковой выдаче, подтягивается ли туда description или же другой элемент сайта. Важно оценить, корректно ли подобраны ключевые слова и, при необходимости, добавить новые.</em></p> </blockquote> <h3><span class="number">2</span><strong>Оптимизировать тексты</strong></h3> <p>Одним из первых факторов ранжирования поисковых систем были тексты, поэтому при прочих равных лучше ранжируются те страницы, на которых размещены релевантные тексты.</p> <p>Следует заполнять различные типы страниц: </p> <ul><li> <p>страницы фильтров.</p> </li> <li> <p>карточки товаров; </p> </li> <li> <p>подкатегории; </p> </li> <li> <p>категории; </p> </li> </ul> <p>В идеале все тексты должны содержать максимально полезную для пользователя информацию. Конечно, для крупных магазинов можно использовать шаблоны генерации текстов, особенно, если речь идет о страницах фильтров или карточках товаров. Лучше не поскупиться и заказать индивидуальное решение у программиста — среди готовых скриптов достойных почти нет.</p> <blockquote> <p><em>Для страниц категорий использовать шаблоны генерации нельзя — они должны содержать внятные авторские тексты, созданные в согласии с общей концепцией бренда магазина.</em></p> </blockquote> <p>Требования к текстам: </p> <ul><li> <p>отсутствие грамматических ошибок; </p> </li> <li> <p>уникальность; </p> </li> <li> <p>использовать ключевые слова не в точном соответствии, а естественно распределять их по тексту (никаких «купить телевизор Одесса»); </p> </li> <li> <p>четкая структура текста, наличие тегов H1, H2 для заголовков, использование списков или таблиц; </p> </li> <li> <p>отсутствие тавтологии, наличие синонимов; </p> </li> <li> <p>использование профессиональной, узкоспециализированной лексики там, где это уместно; </p> </li> <li> <p>подбирать тематические изображения.</p> </li> </ul> <p>Тексты следует размещать так, чтобы они не мешали просмотру основного контента и не стояли на пути совершения покупки.</p> <p>Например, так текст выглядел ранее: </p> <p><img alt="" src="http://images.cmsmagazine.ru/diff_2/seoau/7.jpg" /></p> <p>Текущая верстка текста: </p> <p><img alt="" src="http://images.cmsmagazine.ru/diff_2/seoau/8.jpg" /></p> <p><img alt="" src="http://images.cmsmagazine.ru/diff_2/seoau/9.jpg" /></p> <p>При необходимости текст можно скрыть под кат («читать далее»): </p> <p><img alt="" src="http://images.cmsmagazine.ru/diff_2/seoau/10.jpg" /></p> <p>Размещение текста на странице также можно оптимизировать с помощью скролла: </p> <p><img alt="" src="http://images.cmsmagazine.ru/diff_2/seoau/11.jpg" /></p> <h3><span class="number">3</span><strong>Внедрять грамотную внутреннюю перелинковку</strong></h3> <p>Есть два вида внутренней перелинковки: </p> <ol><li> <p>Автоматическая перелинковка в интернет-магазинах чаще всего реализуется с помощью блоков с рекомендациями. Например, «похожие товары» или «с этим покупают». Задача таких блоков повышать конверсию и соединять ссылками карточки товаров в рамках всего сайтах, это позволяет улучшить ранжирование по низкочастотным фразам.</p> </li> <li> <p>На самих карточках можно сделать перелинковку категорий. Например, размещать на карточке ссылку на бренд и категории товара.</p> <p><img alt="" src="http://images.cmsmagazine.ru/diff_2/seoau/12.jpg" /></p> </li> <li> <p>Для автоматической перелинковки рекомендуется использовать автоматические скрипты (например, HTracer), которые способны автоматически размещать на сайте ссылки с указанными анкорами. Специалисты Netpeak для этих целей используют внутренний скрипт X-Reference.</p> <p>При работе с такими скриптами важно заранее предусмотреть следующие моменты: </p> <ul><li> <p>анкоры ссылок не должны быть спамными (не «микроволновка Одесса», а «микроволновка в Одессе»); </p> </li> <li> <p>ссылки должны размещаться только на канонических страницах, которые открыты для индексации; </p> </li> <li> <p>ссылки не должны быть расположены слишком навязчиво.</p> </li> </ul><p>Например, ссылку можно выводить под строкой поиска в качестве подсказки: </p> <p><img alt="" src="http://images.cmsmagazine.ru/diff_2/seoau/13.jpg" /></p> </li> <li> <p>Ручная перелинковка в большинстве случаев используется в текстах копирайтеров. Важно научить их логично вставлять в текст ссылки на смежные или похожие категории. Слова из текста ссылки должны встречаться на странице, куда она ведет. Например, если в тексте используется анкор «ноутбук ASUS», на странице должны быть «ноутбук» и «Asus», но необязательно рядом.</p> </li> </ol> <h2><strong>Выводы</strong></h2> <p>Я рассказала о самых важных пунктах, на которые специалисты Netpeak в первую очередь обращают внимание при написании SEO-аудита интернет-магазина.</p> <p>По порядку.</p> <ol><li> <p><strong>Оптимизируем структуру сайта: </strong> делим категории по разделам, расширяем структуры разделов, разделяем группы товаров, создаем много фильтров: хороших и разных.</p> </li> <li> <p><strong>Оптимизируем техническую составляющую: </strong> настраиваем 301 редиректы, проверяем файл robots.txt, ограничиваем от индексации бесполезные, с точки зрения поиска, страницы, оптимизируем входящие и исходящие ссылки, создаем ЧПУ (человекопонятные URL-адреса), оптимизируем файл sitemap.xml.</p> </li> <li> <p><strong>Оптимизируем контентную составляющую сайта: </strong> оптимизируем метаданные (Title, Description, Keywords, H1), составляем тексты, внедряем грамотную внутреннюю перелинковку.</p> </li> </ol> <p>Это только небольшая часть необходимых работ. Полный аудит — объемнее и охватывает больше параметров сайта, а детальное описание инструментов, необходимых для каждого пункта SEO-аудита, — тема отдельной статьи (если хотите ее увидеть в блоге, пишите в комментариях).</p> <p>Надеюсь, теперь у вас есть базовое представление о том, как проводится SEO-аудит, так что можете изучить вопрос, кому поручить это задание.</p> <p class="copyrights"><span class="source">Полный текст статьи читайте на <a target="_blank" rel="nofollow" href="http://www.cmsmagazine.ru/library/items/advance/how-do-we-do-seo-audit/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+CmsMagazineArticles+%28CMS+Magazine.+%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D0%B8%29&amp;utm_content=Google+UK">CMS Magazine</a></span></p> </div> <br> <!--<div align="left"> <script type="text/topadvert"> load_event: page_load feed_id: 12105 pattern_id: 8187 tech_model: </script><script type="text/javascript" charset="utf-8" defer="defer" async="async" src="//loader.topadvert.ru/load.js"></script> </div> <br>--> <div style="padding-left: 20px;"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2514821055276660" crossorigin="anonymous"></script> <!-- PCNews 336x280 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-2514821055276660" data-ad-slot="1200562049" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <!-- comments --> <noindex> <div style="margin: 25px;" id="disqus_thread"></div> <script type="text/javascript"> var disqus_shortname = 'pcnewsru'; var disqus_identifier = '735683'; var disqus_title = 'Как мы делаем SEO-аудит интернет-магазина — пошаговый мануал'; var disqus_url = 'http://pcnews.ru/articles/kak_my_delaem_seo_audit_internet_magazina__posagovyj_manual-735683.html'; (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <!--<noscript>Please enable JavaScript to view the <a rel="nofollow" href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>--> <!--<a href="http://disqus.com" rel="nofollow" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>--> </noindex> </div> <br class="clearer"/> </div> <br class="clearer"/> <div id="footer-2nd"></div> <div id="footer"> <br/><br/> <ul class="horz-menu"> <li class="about"><a href="/info/about.html" title="О проекте">О проекте</a></li> <li class="additional-menu"><a href="/archive.html" title="Архив материалов">Архив</a> </li> <li class="additional-menu"><a href="/info/reklama.html" title="Реклама" class="menu-item"><strong>Реклама</strong></a> <a href="/info/partners.html" title="Партнёры" class="menu-item">Партнёры</a> <a href="/info/legal.html" title="Правовая информация" class="menu-item">Правовая информация</a> <a href="/info/contacts.html" title="Контакты" class="menu-item">Контакты</a> <a href="/feedback.html" title="Обратная связь" class="menu-item">Обратная связь</a></li> <li class="email"><a href="mailto:pcnews@pcnews.ru" title="Пишите нам на pcnews@pcnews.ru"><img src="/media/i/email.gif" alt="e-mail"/></a></li> <li style="visibility: hidden"> <noindex> <!-- Rating@Mail.ru counter --> <script type="text/javascript"> var _tmr = window._tmr || (window._tmr = []); _tmr.push({id: "93125", type: "pageView", start: (new Date()).getTime()}); (function (d, w, id) { if (d.getElementById(id)) return; var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id; ts.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//top-fwz1.mail.ru/js/code.js"; var f = function () { var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s); }; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "topmailru-code"); </script> <noscript> <div style="position:absolute;left:-10000px;"> <img src="//top-fwz1.mail.ru/counter?id=93125;js=na" style="border:0;" height="1" width="1" alt="Рейтинг@Mail.ru"/> </div> </noscript> <!-- //Rating@Mail.ru counter --> </noindex> </li> </ul> </div> <!--[if lte IE 7]> <iframe id="popup-iframe" frameborder="0" scrolling="no"></iframe> <![endif]--> <!--<div id="robot-image"><img class="rbimg" src="i/robot-img.png" alt="" width="182" height="305" /></div>--> <!--[if IE 6]> <script>DD_belatedPNG.fix('#robot-image, .rbimg');</script><![endif]--> </div> <!--[if lte IE 7]> <iframe id="ie-popup-iframe" frameborder="0" scrolling="no"></iframe> <![endif]--> <div id="footer-adlinks"></div> <noindex> <!--LiveInternet counter--><script type="text/javascript"> document.write("<a rel='nofollow' href='//www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t45.6;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";"+Math.random()+ "' alt='' title='LiveInternet' "+ "border='0' width='1' height='1'><\/a>") </script><!--/LiveInternet--> <!-- Rating@Mail.ru counter --> <script type="text/javascript"> var _tmr = window._tmr || (window._tmr = []); _tmr.push({id: "93125", type: "pageView", start: (new Date()).getTime()}); (function (d, w, id) { if (d.getElementById(id)) return; var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id; ts.src = "https://top-fwz1.mail.ru/js/code.js"; var f = function () {var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s);}; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "topmailru-code"); </script><noscript><div> <img src="https://top-fwz1.mail.ru/counter?id=93125;js=na" style="border:0;position:absolute;left:-9999px;" alt="Top.Mail.Ru" /> </div></noscript> <!-- //Rating@Mail.ru counter --> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function () { try { w.yaCounter23235610 = new Ya.Metrika({ id: 23235610, clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true, trackHash: true }); } 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://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript> <div><img src="https://mc.yandex.ru/watch/23235610" style="position:absolute; left:-9999px;" alt=""/> </div> </noscript> <!-- /Yandex.Metrika counter --> <!-- Default Statcounter code for PCNews.ru http://pcnews.ru--> <script type="text/javascript"> var sc_project=9446204; var sc_invisible=1; var sc_security="14d6509a"; </script> <script type="text/javascript" src="https://www.statcounter.com/counter/counter.js" async></script> <!-- End of Statcounter Code --> <script> (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-46280051-1', 'pcnews.ru'); ga('send', 'pageview'); </script> <script async="async" src="/assets/uptolike.js?pid=49295"></script> </noindex> <!--<div id="AdwolfBanner40x200_842695" ></div>--> <!--AdWolf Asynchronous Code Start --> <script type="text/javascript" src="https://pcnews.ru/js/blockAdblock.js"></script> <script type="text/javascript" src="/assets/jquery.min.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/jquery.json.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/jquery.form.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/jquery.easing.1.2.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/jquery/effects.core.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/browser-sniff.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/scripts.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-utils.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-auth.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-fiximg.js"></script> <script type="text/javascript" src="/assets/a70a9c7f/js/pcnews-infobox.js"></script> </body> </html>