SEO советы по работе InstantCMS2

+23
3.31K
Иллюстрация
Недавно начал изучать тему SEO продвижение сайтов на InstantCMS2 и хочу поделиться несколькими советами, которые как я понял, обязательно надо выполнить при работе с InstantCMS2.

1) Убрать дубли мета тегов и h1

Есть несколько слабых мест в движке касательно SEO:

Страница теги

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

Посмотрим на примере тега "пример", который есть у Постов, фотоальбома, статьи и т.д. На страницах того тега не меняется мета теги и h1
Иллюстрация
Что бы решить эту проблему, надо в Админке — Компоненты — Теги — нажать кнопку Редактировать для тега "пример" и заполнить SEO поля.

Но как быть если на сайте больше 1000 тегов и у всех не заполнены SEO поля (так как эти поля появились в версия 2.10)?

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

Что бы добавить этот шаблон ко всем тегам сразу, пришлось в phpmyadmin выполнить такой запрос:
  1. UPDATE `cms_tags` SET `tag_title` = 'Найти по тегу «{tag}» в разделе {ctype_title}', `tag_desc` = 'Найти на сайте все записи по тегу «{tag}» в разделе {ctype_title}', `tag_h1` = 'Поиск по тегу «{tag}» в разделе {ctype_title}';
(!) префикс таблицы "cms_" заменить если отличается.

Так же, если у вас версия движка ниже 2.10.2, откройте файл \system\controllers\tags\actions\search.php и строку 96 заменить на
  1. 'url' => href_to('tags', 'search', array($type['name'])).'?q='.urlencode($tag['tag']),
и строку 101 заменить на
  1. $content_menu[0]['url'] = href_to('tags', 'search').'?q='.urlencode($tag['tag']);

Постраничная навигация

Еще дубли создаются на страницах где есть постраничная навигация, например на второй странице новости, 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 файлы и объединить в одном
Внимание! Некоторые шаблоны, а так же стили некоторых компонентов ломаются, при включении этих опции, поэтому проверяйте все страницы при включении.

Еще полезно включить кэширование запросов, для этого в Админке — Настройки — Кэширование — поставьте галочку на Кеширование включено

После этого сайт начнет работать быстрее, так как обращение к Базу данных сокращается.

(!) Желательно выключить кэширование перед обновлением системы и установка дополнений.
+2
Capitan Capitan 3 года назад #
Ну еще нужно закрыть от индексации части виджетов, а также наборы и желательно чтобы к каждой фото была подпись.
+1
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Capitan:
закрыть от индексации части виджетов
Поподробнее можно, какие именно части и почему?
Я пока что не нашел правильного решения по скрытию часть контента, noindex вроде работает только для яндекса.

Для наборов есть возможность заполнить SEO поля.
+3
letsgo letsgo 3 года назад #
Не спешите давать советы, прочитав несколько рерайтов статей по SEO. Часто бываешь делаешь или исправляешь сайт, а там начитаются таких статей и удивляются почему всё идет не так как хотелось бы. Некоторые даже убеждены что карта сайта один из параметров SEO и очень удивляются, что это инструмент для индексации сайта и не более.

1. Эти страницы на нормальном сайте просто должны уйти в noindex. Там где нет строгих запросов роли не сыграет. В идеале теги не нужны.
2. Здесь главное понимать зачем вы закрываете и какой в этом смысл. Необходимости закрывать "служебные" страницы нет, если только там не информация, которой точно не должно быть в индексе, как например корзина и оформление в магазине.
3-4. Это не SEO а техническая и общая оптимизация скорее. Программа эта на любителя, на скорость загрузки влияет далеко не те параметры, что вы написали. Размеры и вес картинок, асинхронность, быстрая отработка страниц - вот более ключевое. Бесплатный аналог для проверки страниц - давняя программа Xenu.

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

Прежде чем делать, посмотрите структуру сайта в вебмастере, статистику запросов и целевых ответов. Нельзя просто дать так советы, в каждом случае может быть по разному. Где то полезно одно, где то другое. Есть разные сайты: магазины, информационные, портфолио, промо сайты, итд везде свои моменты продвижения и оптимизации.
+3
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Спасибо за отзыв, но вреда от этих советов точно не будет, объясняю почему:
1) Дубли рекомендуют убрать сами поисковики, например в вебмастере гугла - Вид в поиске - Оптимизация HTML http://prntscr.com/lzp9ud и в Яндексе - Диагностика сайта.
2) То что я предложил убрать, это страницы, которые появляются в вебмастере гугла, в разделе Ошибки сайта, они либо возвращают 404, либо не имеет смысла их индексировать.
3) Из всех бесплатных программ, который я нашел, этот справляется со всеми задачами для поиска ошибок на сайте
4) Вот демо сайт шаблона боксед, когда выполнены то, что я написал http://prntscr.com/lzphoo а вот когда они выключены http://prntscr.com/lzpg7c
0
Dorimen Dorimen 3 года назад #
Подскажите, а где менять вывод шаблона category_view_news.tpl.php в админке?
+2
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Просто создаете такой файл и всё, в админке не назначается
0
Dorimen Dorimen 3 года назад #
И что, система сама это подцепит?
+1
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Да
0
Dorimen Dorimen 3 года назад #
Спасибо ) Не знал )
+2
RSN RSN 3 года назад #
Evanescence все отлично и полезно.
СЕО тема большая, спорить и доказывать по ней можно бесконечно.

НО: Даны советы которые в любом случае вреда не принесут (для подавляющего большинства), а уж будет от них толк или нет и надо их вообще использовать или нет, пускай решают сами пользователи, в силу СВОИХ знаний по вопросам СЕО.
+1
ermakover ermakover 3 года назад #
Тэги, пагинация, наборы - всё это в InstantCMS вообще рискованно использовать, потому, что создаются десятки тысяч страниц с одинаковым мета-описанием.
У меня robots.txt был величиной с "Войну и мир", когда я вопросом этим был озабочен.
Умельцы вообще советуют писать разные параметры для Гугла и Яндекса в robots.txt. Потому, что для Yandex отлично для Google может быть криминалом.
Сейчас вот я заметил, что карта сайта стала для ведущих поисковиков источником информации, а в Инстанте карта сайта формируется только по контенту. А надо бы, чтобы и категории туда передавались. И категории плюс наборы.
Буквально вчера смотрел рекомендации от Google вебмастера внести определённую категорию в карту сайта, потому что она хорошо посещаема, а в карте сайта её нет.
Опять же поиск с недавнего времени происходит по гео-локации. Поисковики выдают по запросу ближайшие объекты. Вернее, которые они считают ближайшими по своим данным. То есть раскрутить автосервис в Воронеже можно, а каталог автосервисов по России уже не прокатит.
Сейчас вообще всё поменялось. Кросспостинг в соцсети даёт нулевой результат. Да и соцсети многим поднадоели. Группы, даже многочисленные, не дают трафика.
Люди залезли в свои смартфоны. Всю информацию они могут получить от Яндекса и Гугла. Прочие сайты, особенно мелкие, в большинстве своём никому не нужны.
+1
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
ermakover:
Тэги, пагинация, наборы
Проблему с тегами и пагинации решают советы выше.
Для наборов есть сео поля, просто надо заполнить http://prntscr.com/lzr84z
0
ermakover ermakover 3 года назад #
На мой взгляд теги - это вчерашний день. Я их нигде не использую. Но это моё субъективное мнение.
Кстати, в сео полях наборов можно использовать переменные {имя_поля}.
0
Александр Александр 3 года назад #
Пусть как можно больше вебмастеров думают так же :)
0
skewes skewes 3 года назад #
В любом случае тема нужная и полезная))) +++
Давно надо было уже кому-нибудь заняться именно тематикой СЕО, так как штука очень сложная, но интересная)))

Подскажите пожалуйста.
1. А вот у меня в роботсе закрыто от индексации:
Disallow: /search/tags, да и вообще весь Disallow: /search закрыт.
Тогда толку нет от прописания шаблонов?
А если пропишу, то может тогда открыть Disallow: /search/tags ?
Хм... Или это получается СЕО для всех тегов, а не только поиск?
Запутался я что-то...
Короче в любом случае лучше прописать шабы тегам, как я понимаю)))

2. По наборам и тому же роботсу.
Вот смотрите, имеется категория "Авто".
Идем в наборы и заполняем СЕО у набора "Популярные".
Далее, переходим в последние или новые объявления, видим, что в Тайтле у нас показывается "Авто" - Новые
Если мы заполнили набор как "Популярные записи", то на всех страницах всех категорий будет выводится такая запись.
И паттерны не работают в данном случае, то есть мы не можем написать в СЕО наборах "Популярные {category}".
Получается не очень то и привлекательно)))
Поэтому мне пришлось отказаться от СЕО прописания наборов.
Но возник второй вопрос, все по тем же дублям, вот смотрите:

Disallow: /board-popular
Disallow: /board-discussed

Так ведь можно закрыть от индексации именно наборы записей?
+2
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
1) если хотите открыть доступ к индексации тегов, тогда придется убрать Disallow и заполнить сео поля тегов.
2) Вам надо создать файл category_view_board.tpl.php, содержимое можете взять отсюда https://gist.github.com/my-instantcms/0d398fd25f0e1063b085a40dccbf7b88 потом страницы будут иметь нумерацию в мета тегах и h1
0
skewes skewes 3 года назад #
Убрать

Disallow: /search/tags

или

Disallow: /search ???

Или все убрать?
+1
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Disallow: /search/tags
0
skewes skewes 3 года назад #
Понял))) Спасибо)))
+1
sindoyun sindoyun 3 года назад #
А если путь такой site.ru/news/russia?page=2 я про пагинацию?
+2
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Создайте файл category_view_news.tpl.php, содержимое можете взять отсюда https://gist.github.com/my-instantcms/0d398fd25f0e1063b085a40dccbf7b88
+1
sindoyun sindoyun 3 года назад #
в этой строчке все нормально?
Код PHP:
  1. <?php echo $page_header . ($page ? '- ' . LANG_PAGE . ' ' . $page : ''); ?> /* edit */
В категориях и подкатегориях появилась приставка /* edit */
+1
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Спасибо исправил на <!-- edit -->
Использовал комментарий языка php в html коде)
+2
Georgii Georgii 3 года назад #
Спасибо за постраничную навигация glasses
+2
pugachev pugachev 3 года назад #
Подскажите пожалуйста. На сайте есть тип контета, у этого типа контента, кроме стандартных полей (заголовок, дата, фото) есть поле Исполнитель. Для поля Исполнитель включен показ в фильтре. Ссылка при фильтрации по этому полю (для исполнителя Bad Balance) выглядит так: сайт.ру/?ispolnitel=Bad+Balance. Исполнителей огромное количество и у всех таких страниц одинаковые title и description, такие же как и у главной страницы сайта. Можно ли ваш метод генерации title и description для тегов, применить к полю Исполнитель?
0
My-InstantCMS.Ru My-InstantCMS.Ru 3 года назад #
Наверно надо запретить индексировать страницы фильтра.
Или найти дополнения по изменению страниц фильтра, если не ошибаюсь у Loadырь было такое

Еще от автора

Обновление доски 1.4.1
Обновление компонента "Новая доска объявлений", где исправлены все обнаруженные баги, а так же реализованы все хотелки, которые пользователи просили д
Новая доска объявлений
Данный компонент расширяет возможности типа контента Доска объявлений, добавляет новые виджеты, поля, дизайн пользовательских интерфейсов и т.д.
Умная стена. Обновление 1.1.0
Очередное обновления компонента Умная стена, где исправлены все баги и другие доработки
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.