
Недавно начал изучать тему SEO продвижение сайтов на InstantCMS2 и хочу поделиться несколькими советами, которые как я понял, обязательно надо выполнить при работе с InstantCMS2.
1) Убрать дубли мета тегов и h1
Есть несколько слабых мест в движке касательно SEO:Страница теги
На страницах просмотра тегов могут возникать много дублей, из за того, что один тег может быть привязан к нескольким типам контента, а так же из за незаполненных SEO данных к конкретным полям.Посмотрим на примере тега "пример", который есть у Постов, фотоальбома, статьи и т.д. На страницах того тега не меняется мета теги и h1

Что бы решить эту проблему, надо в Админке — Компоненты — Теги — нажать кнопку Редактировать для тега "пример" и заполнить SEO поля.
Но как быть если на сайте больше 1000 тегов и у всех не заполнены SEO поля (так как эти поля появились в версия 2.10)?
Для решение этой проблемы, мне пришлось создать шаблон генерации, который выглядит таким образом:

В идеале конечно надо заполнить SEO данные каждого поля без шаблона, но есть у вас нет времени или желания, шаблоны тоже подойдут.
Что бы добавить этот шаблон ко всем тегам сразу, пришлось в phpmyadmin выполнить такой запрос:
UPDATE `cms_tags` SET `tag_title` = 'Найти по тегу «{tag}» в разделе {ctype_title}', `tag_desc` = 'Найти на сайте все записи по тегу «{tag}» в разделе {ctype_title}', `tag_h1` = 'Поиск по тегу «{tag}» в разделе {ctype_title}';
Так же, если у вас версия движка ниже 2.10.2, откройте файл \system\controllers\tags\actions\search.php и строку 96 заменить на
и строку 101 заменить на
Постраничная навигация
Еще дубли создаются на страницах где есть постраничная навигация, например на второй странице новости, URL меняется на site.ru/news?page=2 но мета данные и h1 остаются такие же, что и на странице 1 или 15, получается, чем больше страниц, тем больше дублей.Решить эту проблему можно в файле (category_view.tpl.php), которые отвечает за вывод списка, но в следующем обновлении системы, возможно этот файл будет заменен дефольными данными.
У себя решил эту проблему так: Создал файл \templates\default\controllers\content\category_view_ [ctype_name].tpl.php
Слово [ctype_name] заменить на системное имя типа контента, например: category_view_news.tpl.php
Теперь внутри этого файла можно делает любые изменения, не боясь обновлений.
Вот мои правки этого файла, свои изменения обозначил метками /* add */ и /* edit */
2) Запреть индексирование нежелательных страниц
Robots.txt настраивается индивидуально по требованиям каждого сайта, но есть страницы, которые сразу же надо запретить к индексированию. У меня получился такой список нежелательных страниц:Disallow: /redirect*
Disallow: /auth/*
Disallow: /pages$
Disallow: /tags/search$
Disallow: /geo*$
Disallow: /photos/static/download/*
Disallow: /subscriptions/*
Disallow: /rating*$
Disallow: /groups/index$
3) Программы для SEO
Скачайте и установите программу Screaming Frog SEO Spider для поиска битых страниц, дублей заголовка, h1, мета теги и многое другое. Программа бесплатно дает сканировать до 500 страниц вашего сайт.После сканирования справа отобразиться дерево из различных пунктов, стоить особое внимание обратить на пункты:
Page titles
Meta description
H1
У каждого их них есть подпункты, которые отображают различную информацию о сайте, например для H1:
Missing — это страницы, где отсутствует тег <h1>
Duplicate — это страницы, где содержимое H1 одинаковые на нескольких страницах

4) Скорость загрузки сайта
Что бы сайт быстро загружался, надо в Админке — Настройки — Интерфейс — поставить галочку на:Сжимать HTML — что бы уменьшить размер HTML кода страницы
Объединять CSS-файлы — что бы сжать все css файлы и объединить в одном
Объединять JS-файлы — что бы сжать все js файлы и объединить в одном
Внимание! Некоторые шаблоны, а так же стили некоторых компонентов ломаются, при включении этих опции, поэтому проверяйте все страницы при включении.
Еще полезно включить кэширование запросов, для этого в Админке — Настройки — Кэширование — поставьте галочку на Кеширование включено
После этого сайт начнет работать быстрее, так как обращение к Базу данных сокращается.
(!) Желательно выключить кэширование перед обновлением системы и установка дополнений.
Я пока что не нашел правильного решения по скрытию часть контента, noindex вроде работает только для яндекса.
Для наборов есть возможность заполнить SEO поля.
1. Эти страницы на нормальном сайте просто должны уйти в noindex. Там где нет строгих запросов роли не сыграет. В идеале теги не нужны.
2. Здесь главное понимать зачем вы закрываете и какой в этом смысл. Необходимости закрывать "служебные" страницы нет, если только там не информация, которой точно не должно быть в индексе, как например корзина и оформление в магазине.
3-4. Это не SEO а техническая и общая оптимизация скорее. Программа эта на любителя, на скорость загрузки влияет далеко не те параметры, что вы написали. Размеры и вес картинок, асинхронность, быстрая отработка страниц - вот более ключевое. Бесплатный аналог для проверки страниц - давняя программа Xenu.
Надо понимать когда и почему встаёт вопрос дублей. Он важен когда страницы настроены на запрос и под конверсию, чтобы избежать размытия её веса в поисковике, но даже это можно использовать, назначив с релевантных страниц внутренние ссылки на ту страницу, которая должна быть по этому запросу.
Прежде чем делать, посмотрите структуру сайта в вебмастере, статистику запросов и целевых ответов. Нельзя просто дать так советы, в каждом случае может быть по разному. Где то полезно одно, где то другое. Есть разные сайты: магазины, информационные, портфолио, промо сайты, итд везде свои моменты продвижения и оптимизации.
1) Дубли рекомендуют убрать сами поисковики, например в вебмастере гугла - Вид в поиске - Оптимизация HTML http://prntscr.com/lzp9ud и в Яндексе - Диагностика сайта.
2) То что я предложил убрать, это страницы, которые появляются в вебмастере гугла, в разделе Ошибки сайта, они либо возвращают 404, либо не имеет смысла их индексировать.
3) Из всех бесплатных программ, который я нашел, этот справляется со всеми задачами для поиска ошибок на сайте
4) Вот демо сайт шаблона боксед, когда выполнены то, что я написал http://prntscr.com/lzphoo а вот когда они выключены http://prntscr.com/lzpg7c
СЕО тема большая, спорить и доказывать по ней можно бесконечно.
НО: Даны советы которые в любом случае вреда не принесут (для подавляющего большинства), а уж будет от них толк или нет и надо их вообще использовать или нет, пускай решают сами пользователи, в силу СВОИХ знаний по вопросам СЕО.
У меня robots.txt был величиной с "Войну и мир", когда я вопросом этим был озабочен.
Умельцы вообще советуют писать разные параметры для Гугла и Яндекса в robots.txt. Потому, что для Yandex отлично для Google может быть криминалом.
Сейчас вот я заметил, что карта сайта стала для ведущих поисковиков источником информации, а в Инстанте карта сайта формируется только по контенту. А надо бы, чтобы и категории туда передавались. И категории плюс наборы.
Буквально вчера смотрел рекомендации от Google вебмастера внести определённую категорию в карту сайта, потому что она хорошо посещаема, а в карте сайта её нет.
Опять же поиск с недавнего времени происходит по гео-локации. Поисковики выдают по запросу ближайшие объекты. Вернее, которые они считают ближайшими по своим данным. То есть раскрутить автосервис в Воронеже можно, а каталог автосервисов по России уже не прокатит.
Сейчас вообще всё поменялось. Кросспостинг в соцсети даёт нулевой результат. Да и соцсети многим поднадоели. Группы, даже многочисленные, не дают трафика.
Люди залезли в свои смартфоны. Всю информацию они могут получить от Яндекса и Гугла. Прочие сайты, особенно мелкие, в большинстве своём никому не нужны.
Для наборов есть сео поля, просто надо заполнить http://prntscr.com/lzr84z
Кстати, в сео полях наборов можно использовать переменные {имя_поля}.
Давно надо было уже кому-нибудь заняться именно тематикой СЕО, так как штука очень сложная, но интересная)))
Подскажите пожалуйста.
1. А вот у меня в роботсе закрыто от индексации:
Disallow: /search/tags, да и вообще весь Disallow: /search закрыт.
Тогда толку нет от прописания шаблонов?
А если пропишу, то может тогда открыть Disallow: /search/tags ?
Хм... Или это получается СЕО для всех тегов, а не только поиск?
Запутался я что-то...
Короче в любом случае лучше прописать шабы тегам, как я понимаю)))
2. По наборам и тому же роботсу.
Вот смотрите, имеется категория "Авто".
Идем в наборы и заполняем СЕО у набора "Популярные".
Далее, переходим в последние или новые объявления, видим, что в Тайтле у нас показывается "Авто" - Новые
Если мы заполнили набор как "Популярные записи", то на всех страницах всех категорий будет выводится такая запись.
И паттерны не работают в данном случае, то есть мы не можем написать в СЕО наборах "Популярные {category}".
Получается не очень то и привлекательно)))
Поэтому мне пришлось отказаться от СЕО прописания наборов.
Но возник второй вопрос, все по тем же дублям, вот смотрите:
Disallow: /board-popular
Disallow: /board-discussed
Так ведь можно закрыть от индексации именно наборы записей?
2) Вам надо создать файл category_view_board.tpl.php, содержимое можете взять отсюда https://gist.github.com/my-instantcms/0d398fd25f0e1063b085a40dccbf7b88 потом страницы будут иметь нумерацию в мета тегах и h1
Disallow: /search/tags
или
Disallow: /search ???
Или все убрать?
Использовал комментарий языка php в html коде)
Или найти дополнения по изменению страниц фильтра, если не ошибаюсь у Loadырь было такое