Когда вы проводите какое-либо исследование о том, как улучшить SEO вашего сайта, держу пари, вы натолкнулись на бесконечные статьи о том, как улучшить свой блог WordPress. В этих статьях говорится: «Используйте этот виджет» или «Установите этот плагин», что не очень полезно и не имеет отношения к нашему набору навыков или нашим проектам, не связанным с WordPress. Так что я решил предоставить SEO-опыт инженерам Ruby on Rails.

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

В этой статье я расскажу о своем личном сайте NFL Mock Draft Database, потому что все перечисленное было выполнено, чтобы помочь ему стать одним из лидеров в этой нише рынка. Для некоторого контекста его успеха я создал свой первый PR 3 февраля 2019 года, запустил его в производство месяцем позже, и теперь сегодня, 9 января 2020 года, сайт находится вверху страницы 2 для моего целевого ключевого слова (которое довольно конкурентоспособен). В настоящее время у меня в среднем около 1,0–1,5 тыс. Пользователей в день и 8–10 тыс. Просмотров страниц, и эти цифры неуклонно растут каждый день.

Итак, у вас есть классная идея для сайта, круто! Прежде чем коснуться единственной строчки кода, давайте вместе рассмотрим 12 лучших советов по SEO.

1. Настройте таргетинг по ключевому слову

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

Вам нужно выбрать ключевое слово со следующим…

1 - Большое количество людей ищут его.

2. Он не слишком общий, как "Еда", где вам будет практически невозможно получить за него рейтинг.

3 - Ключевое слово, которое имеет некоторые вариации или пространство для маневра, поэтому, когда люди ищут что-то, близкое к вашему ключевому слову, они все равно находят вас.

4 - Сайт не слишком широк, чтобы охватить буквально все известные темы. Сосредоточьте внимание.

Ниже приведен пример различных ключевых слов, по которым люди переходили на мой сайт за последние 3 месяца.

Вы увидите все различные комбинации моего целевого ключевого слова, а также разные годы. Люди ищут что угодно, поэтому упростите им поиск вашего сайта.

Если у вас возникли проблемы с поиском подходящего ключевого слова, я предпочитаю использовать Google Trends. Это бесплатно и даст вам представление о том, что люди ищут сегодня и в прошлом. Чем конкретнее ваше ключевое слово, тем меньше объем трафика, но тем менее конкурентоспособным он будет, поэтому помните об этом, когда увидите эти цифры.

2. Выберите домен, подходящий для SEO.

Так что это сложный вопрос, и это своего рода игра, в которую вы играете при поиске домена. Обычно вам нужно использовать URL-адреса .com. Я не знаю, влияет ли это на SEO, но есть причина, по которой их всегда выбирают в первую очередь. Это может быть знакомство или просто предвзятое отношение широкой публики к тому, что URL-адреса .com являются более авторитетными на вашем нишевом рынке. В любом случае, попробуйте получить «.com».

Итак, здорово, я знаю, что мое целевое ключевое слово - «НФЛ Mock Draft», так что давайте узнаем, доступен ли nflmockdraft.com? Конечно, нет, не сходите с ума, и это неудивительно. Большинство доменов для вашего целевого ключевого слова уже заняты, так что пора проявить творческий подход. Я перехожу в Google Trends, ввожу свое ключевое слово и вуаля, я вижу еще несколько ключевых слов, которые можно использовать.

Глядя на список, я вижу, что потенциально могу использовать «Последние», «Симулятор», «База данных» или «Обновленные» в своем доменном имени.

Теперь я выполнил несколько необработанных поисков в Google по моему ключевому слову и наткнулся на тему с другими сайтами. На этих сайтах, которые в конечном итоге стали конкурентами по моему ключевому слову, были страницы с пометкой База данных Mock Draft. Поэтому мой мозг подумал: Если на всех этих сайтах есть страницы с одинаковыми названиями, значит, люди, вероятно, тоже ищут это! Так был ли доступен mockdraftdatabase.com? Нет, $% ^% ^ @ !!!! Хорошо, в конце концов я остановился на www.nflmockdraftdatabase.com, который не был идеальным, но он был целенаправленным. Теперь мой контент был сосредоточен исключительно на НФЛ и Мок-драфтах НФЛ.

Отлично, у меня было ключевое слово и мой домен. СЕЙЧАС пришло время начать кодить!

3. Обратите внимание на структуру URL-адреса.

В вашем типичном приложении rails вы используете идентификаторы или GUID в URL-адресе для поиска записей в базе данных. Я предлагаю вам полностью отказаться от этого и перейти к подходу на основе Slug. Выполняя Slug, вы можете контролировать, что находится в URL-адресе, и вы можете сделать его читаемым как английский с ключевыми словами с богатым контентом.

Итак, моя модель Mock имеет столбец с именем slug, а в файле у меня есть обратный вызов before_validation, который создает для меня ярлык с именем slugify. Вы увидите и другие столбцы: name, author_name и year, которые используются в заголовке.

class Mock < ApplicationRecord  
  before_validation :slugify
  private
  def slugify
    slug = name.dup    
    author = author_name.try(:dup)
    self.slug = [slug.remove("'").parameterize, year, author.try(:parameterize)].compact.join('-')
  end
end

Несмотря на то, что эта модель не проходит валидацию, чтобы защитить ее от уникальности, я знаю, что этот слаг будет. Контент контролирую я, а не пользователи, так что я нормально отношусь к переопределению страниц, если слаг такой же. Каждый Mock уникален за год, автор и имя (или сайт).

4. Поддерживайте богатый контент

Я создал этот сайт без пользователей, и я не писатель, поэтому содержание было самой сложной частью. Это важно, и вам не удастся обойтись без коротких предложений, описывающих ваш бизнес. Вам нужны большие фрагменты насыщенного текста, чтобы увеличить ваш SEO-трафик. Статьи обычно работают лучше всего, потому что все они представляют собой насыщенный текст.

Если вы видите раздел, в котором есть одно предложение, которое можно продолжить, сделайте это! Лично я не стал бы так сильно беспокоиться об эстетике этого, и / или люди будут его читать. По большей части этот контент предназначен для сканирования Google, и если читатель захочет его прочитать, он, безусловно, сможет.

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

5. Скорость - ключ к успеху

Вообще говоря, всем нам нравятся сайты с быстрой загрузкой. Мы не хотим ждать эти полсекунды, пока что-то загрузится, потому что мы нетерпеливые животные, которым нужен контент СЕЙЧАС !!

Я вывел эту концепцию на другой уровень и сделал скорость своим приоритетом в своем приложении. Главное, что я сделал, - это выгрузил весь соответствующий контент в один столбец json на каждом Mock с именем data. Это в основном устранило необходимость использования ActiveRecord в контроллере / представлениях, поэтому все, что мне нужно было сделать, это войти в данные для одного элемента в списке и отобразить то, что находится внутри.

Естественно, в результате все загружается быстро. Второе, что я сделал для повышения скорости, - это оптимизация изображений в целом. Старайтесь изо всех сил использовать svg форматированные изображения, а если у вас не получается, существует множество конвертеров, которые сделают это за вас. Этот был моим любимым, потому что он сохраняет ваши цвета нетронутыми во время преобразования.

Однако меня все еще не устраивало время загрузки изображений. Я реализовал сценарий LazyLoad, который сначала загружал изображение по умолчанию, чтобы разблокировать остальную часть вашего контента для загрузки, а затем загружал ваши фактические изображения асинхронно. Таким образом, перед контентом нужно загружать только 1 или 2 изображения вместо 50 или около того.

Хотя мое приложение не соответствует лучшим практикам рельсов (т. Е. Использует ActiveRecord на бэкэнде для хранения в одном столбце json), оно служит своей цели для забавного стороннего проектного приложения, которое я сделал.

6. Тег заголовка

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

Проблема заключается в том, что видит пользователь, когда ищет ваш сайт.

Что тебе больше нравится? На что вы чувствуете себя более уверенно, нажимая? Это у всех разное, и это личное предпочтение. Однако, если вам это безразлично, я предлагаю вам склоняться к чему-то вроде варианта А.

7. Описание тега

Это еще одна возможность добавить ключевое слово в удобный для чтения абзац, который побудит людей перейти на ваш сайт.

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

8. Тег H1

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

На каждой посещаемой вами странице мой тег H1 - это NFL Mock Draft Database, и я использовал CSS, чтобы тег H1 выглядел как изображение. Тег H1 - это еще один способ, с помощью которого Google сканирует ваш сайт, чтобы определить, соответствует ли ваш контент поисковому ключевому слову, поэтому убедитесь, что он поддерживает ваше целевое ключевое слово.

9. Метка времени

То, чего я не знал, пока не создал это приложение, - это идея тега time и его предназначение.

<time datetime="#{time}">"Last Updated: #{time_ago_in_words(time)}"</time>

Я думаю, что это более важно для страниц, которые часто публикуют статьи, однако это не повредит.

10. Хорошо размещенные внутренние ссылки

Весь мой сайт наполнен внутренними ссылками, но одна ошибка, которую я сделал, заключалась в том, что я сильно полагался на людей, использующих панель навигации для перехода по сайту. До того, как я внес изменения ниже, я получал около 2–3 просмотров страниц на каждого пользователя. Теперь я приближаюсь к 6 на пользователя, добавляя одну вещь.

Это простое дополнение вызвало такой интерес, что теперь мои пользователи проводят на моем сайте в среднем почти 3 минуты за сеанс.

Хотя внешние ссылки или рефералы лучше для вашего SEO, внутренние ссылки тоже играют большую роль. Поэтому постарайтесь удержать своих пользователей, добавляя больше контента, к которому они могут перейти. Сделайте так, чтобы им было проще оставаться на вашем сайте.

11. Недостатки бесконечной прокрутки

Когда я впервые создал сайт, я реализовал бесконечную прокрутку, и мне это понравилось. Он был чистым, простым в использовании и понравился пользователям. Вы знаете, кто не знал? Google. Для Google ваш контент заканчивается на странице 1, и у вас буквально больше нет контента, что, очевидно, неверно. Чтобы Google знал, что у вас больше контента, просто добавьте нумерацию страниц с интерактивными ссылками.

Да, это удар по пользовательскому опыту, но преимущества намного перевешивают недостатки. Еще один бонус с интерактивными ссылками заключается в том, что теперь на страницу 6, например, можно ссылаться другим людям. С бесконечной прокруткой это было бы невозможно.

12. Карты сайта

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

В моем случае я перебрал все свои Mock записи в index.html.erb файле и сделал следующее…

А затем в файле маршрутов я сделал

get '/sitemap.xml', to: 'sitemap#index'

Ну вот оно. Магия нескольких приемов SEO, которые подходят вам, инженеру по рельсам. Удачи вам в освоении глубин Google, и я обещаю вам, что если вы реализуете некоторые из этих уловок, вам будет лучше. Я знаю, что это сработало для моего сайта База данных драфтов НФЛ.

Здравствуйте, меня зовут Денни, и я сейчас инженер-программист в AdHawk. Мы работаем над множеством интересных новых технологий и приложений и всегда ищем талантливых инженеров, которые присоединятся к нашей быстрорастущей команде. Взгляните на нашу доску вакансий и подайте заявку сегодня - › https://www.tryadhawk.com/jobs/