Как создать sitemap в ручном и автоматическом режиме. WordPress и OpenCart
|Перед тем как рассказать вам как создавать sitemap в ручном режиме или в атомистическом сначала я хочу рассказать зачем он нужен. Как его отсутствие вредит вашему сайту или блогу. А уже потом расскажу как создавать sitemap.
Что такое sitemap и зачем он нужен
sitemap служит только одной цели — помочь роботам поисковых систем правильно индексировать ваш сайт, не пропускать ни одной важной страницы, даже если на нее не ведет ни одной ссылки.
Если грубо рассматривать, то sitemap по сути состоит из перечисления адресов всех страниц вашего сайта которые видит пользователь + два параметра к каждому адресу — Приоритет, и частота обновления. К примеру вот кусок карты сайта:
<url> <loc>http://Домен магазина/podmenii-telephone</loc> <changefreq>weekly</changefreq> <priority>1.0</priority> </url> |
Давайте разберем его подробнее, чтобы понимать зачем он нужен.
- <url> — новая запись. Нужна для того чтобы разбить документ на «ячейки» где в каждой ячейке будет одна страница и два параметра.
- <loc> — адрес страницы. Собственно где находиться контент который надо проиндексировать
- <changefreq> — примерная частота обновления. Как часто обновляется эта страница. Нужно для того чтобы боты поисковых систем не делали лишней работы и не индексировали все страницы каждый день.
- <priority> — приоритет. Если у вас большой портал с миллионами страниц то важно выставить приоритет, поскольку на индексацию одного сайта робот отводит определенное время. Если время закончилось но все страницы не проиндексированы робот просто уходит.
Понимая теперь какую информацию несет в себе файл sitemap можно сделать выводы зачем он надо:
- sitemap нужен чтобы поисковые роботы Google и Yandex выше ранжировали ваш сайт, поскольку наличие этого файла обязательно для нормально поисковой выдачи
- Файл помогает поисковикам проиндексировать все страницы вашего сайта, даже самые глубокие
- Файл помогает проиндексировать важные страницы первыми, а не важные оставить на потом
- Дает понимания роботу когда ему заглянуть в следующий раз на данную статью.
Согласитесь, без всех этих пунктов вывести сайт в топ невозможно, а значит нам надо завести себе этот файлик.
Да, и сразу оговорюсь, не надо путать файл sitemap.xml с картой сайта — страницей где видно все ссылки. Первая для поисковиков, вторая для пользователей.
Давайте разберем как же сделать этот файл.
Sitemap на WordPress
Прежде чем начинать убедитесь что у вас есть Robots.txt. Если у вас его нет, или вы не знаете про него, прочитайте статью
Robots.txt на WordPress или Robots.txt на OpenCart в зависимости от того какая у вас CMS. Только после этого можете приступать к генерации sitemap.xml.
Для настройки карты сайта нам надо для начала поставить плагин «All In One SEO Pack». Кроме того что он сделает нам карту сайта, он еще и очень поможет в дальнейшем продвижении сайта, т.е. поможет с СЕО оптимизацией сайта. Об самой настройке этого модуля мы рассказали в статье «СЕО оптимизация WordPress или настройка All In One SEO Pack» которую я тоже настоятельно рекомендую прочитать. А пока мы остановимся только на одной части этого плагина — карта сайта для google и Yandex
- Зайдите в панель администратора вашего сайта
- Перейдите в Плагины ->Добавить новый
- В строке поиска вбейте All In One SEO Pack
- Нажмите «Установить»
- После предложения активировать плагин нажмите «Активировать».
Все, плагин мы установили, и теперь у вас в каждой статье появятся дополнительные поля, но об этом мы написали в другой части (ссылку смотрите выше). Пока давайте перейдем к настройке карты сайта.
- Зайдите в «Инструменты SEO» ->Другие модули как показано на картинке ниже
- Нажмите «Activate» как показано на картинке ниже
- После чего перед надписью «другие модули» который мы видели в первом пункте инструкции у вас появиться «XML карта сайта». Перейдите в это меню.
- Далее вы можете поменять настройки как вам нравиться. Но я могу вам подсказать как лучше всего это сделать.
В пункте «XML карта сайта» ничего менять не надо кроме одной галочки. Потому что:
- префикс всем привычно видеть стандартный — sitemap
- Уведомлять Google не надо, мы это сделаем позже самостоятельно.
- Уведомить Bing можем, ставим галочку.
- Тип записей оставляем все включены, мы же хотим чтобы все записи Google индексировал.
- Архивы и страницы авторов не включаем, чтобы не создавать дублей страницы. (да, Google увидит их как дубли)
В итоге у вас должна выйти картина как у меня:
В следующем пункте вы можете исключить из карты какую-то страницу или целую рубрику
А в последних двух пунктах вы как раз можете поменять два атрибута, приоритет и частоту внесение обновлений. Если у вас блог новый рекомендую оставить все по умолчанию, пока вы не знаете как часто сможете писать статьи и новости на сайт. (В моем случае я поменял только частоту обновления главной страницы)
Все. Теперь нажмите на «Обновить карту сайта» для применения всех обновлений.
Sitemap на OpenCart
В отличии от WordPress на OpenCart модуль карты сайта уже предустановлен в движке CMS, и все что нам осталось это его активировать и чуть модернизировать. Итак, поехали:
- Заходим в панель администратора по адресу:
http://ваш домен/admin/
- Заходим в «Дополнения->Каналы продвижения»
- Напротив «Google SiteMap» нажмите «Установить», а затем «Изменить»
- Поменяйте положения флажка с «Отключено» на «Включено»
В приницпе все. Теперь карта сайта нашего магазина доступна по ссылке
http://Ваш домен/index.php?route=feed/google_sitemap |
Да, все поисковики эту ссылку будут принимать, но по хорошему это надо переделать, чтобы карта сайта была доступна как по адресу
http://Ваш домен/index.php?route=feed/google_sitemap |
так и по классическому
http://Ваш домен/sitemap.xml |
Для этого мы будем править файл .htaccess если кто-то помнит именно его мы правили когда настраивали ЧПУ в OpenCart. Итак:
- Зайдите по FTP в корень вашего сайта.
- Если у вас Mac OS переименуйте файл .htaccess в htaccess (без точки). Если у вас Windows перейдите к следующему пункту.
- В конец файла допишите:
RewriteBase /RewriteRule sitemap.xml /index.php?route=feed/google_sitemap RewriteRule google_sitemap /index.php?route=feed/google_sitemap RewriteRule ^(contact)$ index.php?route=information/$1 RewriteRule ^(account/return/insert)$ index.php?route=$1 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] RewriteCond %{QUERY_STRING} ^route=common/home$ RewriteRule ^index\.php$ http://www.yourwebsite.com? [R=301,L]
- Поменяйте
yourwebsite.com
на ваш домен
- Сохраните и загрузите файл назад на хостинг. (в Mac OS не забудьте поставить точку в название файла, которую мы удалили в пункте 2)
- Проверьте что файл доступен по двум ссылкам, для этого просто перейдите браузером по адресам: http://Ваш домен/sitemap.xml и http://Ваш домен/index.php?route=feed/google_sitemap
Рекомендованная литература
Все, карту сайта на WordPress или OpenCart мы создали. Теперь очень настоятельно рекомендую прочитать статьи на темы которые мы сегодня затрагивали:
Здравствуйте.
Помогите пожалуйста исправить.
OpenCart 1.5.6 скачала шуструю sitemap. Заменила некоторые уже имеющиеся файлы в корне сайта. Через каналы продвижения установила. Закомментировала строку RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]. А мне выдает при мой сайт/index.php?route=feed/google_sitemap вот это:
This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
Вернуть назад не могу… не сделала бєкап(
Дайте ссылку на сайт.
Какой плагин поставили?
Ссылка vin-atlant com ua/index.php?route=feed/google_sitemap
Устанавливала Google Sitemap.pro lite
Такая ошибвка вылазит если в XML документе есть лишние пробелы или переводы каретки.
Скорее всего лишний перевод каратки в начале документа.
Проблема могла возникнуть из-за того что вы где-то что-то не правильно вставили
Где же мне искать? Я правила только Robots.txt и .htaccess.
Тут мне тяжело вам подсказать. Если проблема в стандартных средствах OpneCart то можно догадаться в каких файлах может быть ошибка, но поскольку вы поставили модуль то удаленно определить где вам искать проблему в модуде я не могу. Тем более что модуль я сам не пробовал ставить.
В вашем случае я бы порекомендовал два варианта: нанять фрилансера который устранит проблему за вменяемые деньги или восстановить файлы которые были замененны во время установки модуля на оригинальные. Только в обоих случаях не забудьте сделать резервную копию как файлов сайта так и базы данных SQL
Хорошо, спасибо за совет.
Добрый день, Андрей!
У меня opencart 1.5.6.1 — поставил Ваш код. Но страница стала отдавать 500 ошибку.
помогите разобраться!Спасибо
Да, в коде была ошибка. Там были лишний тег em. Исправил. Попробуйте снова
Добрый день!
Ставил Ваш код в файл htaccess. У меня также отдает ошибка. Пару комбинаций с попробовал. Все равно ошибка, прошу помочь. Спасибо!
Исправил код. Попробуйте снова
http://f5.s.qip.ru/cMfvVDRg.jpg
честно даже не знаю, что делать.
Попробуйте ничего не меняя заменить ваш файл вот этим http://napositive.com.ua/files/htaccess.zip
предварительно сделайте резервную копию вашего файла
А как сделать так, что бы карта сайта создавала страницы только с ЧПУ без ссылок такого вида «index.php?route=product/product&product_id»?