В небольшом SEO-отделе большого контентного проекта, где я работаю, решили увеличить штат. Набирать планировалось людей с небольшим опытом или совсем без опыта. По этой причине было решено создать некий гайд, который бы служил исчерпывающим руководством по написанию новых статей. Руководство получилось действительно подробным и полным, один из его важных блоков – это кластеризация запросов. Читать дальше →
Подробнее
Отправляя запрос в Гугл (или Бинг), мы формулируем задачу, которую требуется решить, или вопрос, на который нужно найти правильный ответ. Смысл существования этих поисковиков всегда сводился к тому, чтобы легко и быстро направлять пользователей к наилучшему возможному результату. С ростом популярности голосового ввода поисковые системы все более стремятся предоставить одно-единственное верное решение и все больше полагаются на такие критерии, как понимание и достоверность. Что нужно
Подробнее
В предыдущей части туториала мы решили проблемы изоморфного роутинга, навигации, фетчинга и начального состояния данных. В итоге, получилась довольно простая и лаконичная основа для изоморфного приложения, которую я также выделил в отдельный репозиторий — ractive-isomorphic-starterkit. В этой части мы начнем писать приложение RealWorld, но сначала осуществим декомпозицию. Погнали! Читать дальше →
Подробнее
После каждого обновления алгоритма поисковых систем часть SEO-оптимизаторов говорит, что оно было неудачным. Существует более 200 факторов ранжирования сайтов. Разумно предположить, что и возможных обновлений достаточно много. В этой статье мы расскажем, как работают поисковые алгоритмы, почему они постоянно меняются и как на это реагировать. Читать дальше →
Подробнее
В предыдущей части туториала мы научили наше изоморфное приложение проксировать запросы к backend api, с помощью сессии передавать начальный стейт между синхронными запросами и осуществлять Server-side rendering с возможностью переиспользования разметки на клиенте (hydrate). В этой части мы решим еще две ключевые проблемы изоморфных веб-приложений: изоморфный роутинг и навигация, и повторный фетчинг и начальное состояние данных. И сделаем это буквально 5-ю строками кода. Погнали! Читать…
Подробнее
В первой части перевода этой статьи мы говорили о том, как веб-мастер может взглянуть на свой ресурс глазами Google, и о том, над чем стоит поработать, если то, что увидит разработчик сайта, окажется не тем, чего он ждёт. Сегодня, во второй части перевода, Томаш Рудски расскажет о наиболее распространённых SEO-ошибках, которым подвержены сайты, основанные на JavaScript, обсудит последствия грядущего отказа Google от механизма AJAX-сканирования, поговорит о предварительном рендеринге и об…
Подробнее
Представляем вашему вниманию перевод первой части материала, который посвящён поисковой оптимизации сайтов, построенных с использованием JavaScript. Речь пойдёт об особенностях сканирования, анализа и индексирования таких сайтов поисковыми роботами, о проблемах, сопутствующих этим процессам, и о подходах к решению этих проблем. В частности, сегодня автор этого материала, Томаш Рудски из компании Elephate, расскажет о том, как сайты, которые используют современные JS-фреймворки, вроде
Подробнее
В предыдущей части туториала мы узнали что такое проект RealWorld, определились целями туториала, выбрали стек технологий и написали простой веб-сервер на Express в качестве основы для изоморфного фронтенда. В этой части, мы допилим серверную часть и напишем изоморфный «Hello World» на Ractive, а также соберем все это с помощью Webpack. Читать дальше →
Подробнее
Весной 2017 года Eric Simons, со-основатель учебного проекта Thinkster, анонсировал проект «RealWorld» — демо приложение и спецификация к нему. Проект объявил своей целью выйти за рамки привычных «todo»-демок для более прикладного сравнения и изучения возможностей различных фреймворков и технологий, а также подходов к разработке и способов решения задач. Читать дальше →
Подробнее
Я проводил некоторые эксперименты, как Googlebot разбирает и рендерит JavaScript, и наткнулся на несколько интересных вещей. Первое — то, что функция Math.random() в Googlebot выдаёт полностью детерминированные серии чисел. Я написал маленький скрипт, который использует этот баг для точной идентификации гуглобота: Источник При первом вызове Math.random() из гуглобота результат всегда будет 0,14881141134537756, второй вызов всегда вернёт 0,19426893815398216. Скрипт по ссылке выше просто…
Подробнее
Времена, когда обновления поисковых алгоритмов Google выкатывались крупными кластерами и носили любовно подобранные зоологические имена, остались позади. Осенью один из представителей компании небрежно заметил, что сейчас алгоритмы корректируются по несколько раз на дню и широкую публику оповещают только о незначительной части этих изменений. Этого стоило ожидать — по мере того, как искусственный интеллект набирает силу, развитие системы ранжирования и ускоряется, и становится менее дискретным.
Подробнее
We don’t need no traffic building, We don’t need no SEO, No link exchanges in your network, Spammers! leave us all alone. Anna Filina Немного истории В далеком 2013 году Spike Brehm из Airbnb опубликовал программную статью, в которой проанализировал недостатки SPA-приложений (Single Page Application), и в качестве альтернативы предложил модель изоморфных веб-приложений. Сейчас чаще используется термин универсальные веб-приложение (см. дискуссию). В универсальном веб-приложении каждая…
Подробнее