четверг, 18 июня 2015 г.

Исправляем ошибку в компоненте Xmap

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

  По клику на ссылку «1 ошибка» можно узнать её тип. В моём случае данные подробности ограничились строчкой «Не удалось загрузить файл».

  «Странно» — подумал я, копируя ссылку на карту сайта и собаясь проверить файл «методом тыка». К ещё большему удивлению, файл Sitemap был успешно сгенерирован сервером и загружен в мой браузер. Предположив, что робот Яндекса не смог загрузить файл Sitemap из-за кратковременных проблем на хостинге, и недоумевая, почему за столь продолжительный срок не была сделана повторная попытка его загрузить, я решил написать сообщение в службу поддержки и на удивление быстро получил ответ.

  Оказалось, что сервер, отдавая файл Sitemap, указывал в HTTP-заголовках директиву «Content-encoding», а робот Яндекса, видя наряду с ней несжатый контент, отказывался даже пытаться его обрабатывать. Как сообщил сотрудник службы поддержки поисковой системы, «Согласно стандартам, заголовок Content-encoding не нужен, если контент не сжат». И всего-то.

  Решение долго ждать себя не заставило. Идём в папку с компонентом, который генерирует карту сайта, и проверяем PHP-скрипты один за другим. На своём сайте для генерации файлов Sitemap я использую компонент Xmap (CMS Joomla!), решение проблемы в котором кроется в файле /components/com_xmap/xmap.php.

if ($view=='xml') {
    Header("Content-type: text/xml; charset=UTF-8");
    Header("Content-encoding: UTF-8");
}

  Удаляем либо комментируем ненужный нам заголовок, сохраняем и обновляем файл на сервере. Всё. Через некоторое время робот поисковой системы сделает повторную попытку загрузить файл Sitemap и, увидев, что ошибки более нет, обработает данные и начнёт использовать его при обходе.

вторник, 21 апреля 2015 г.

Бесплатные обратные ссылки и индексация сайта

  Сделав новый сайт и наполнив его материалами, я был сильно обеспокоен очень медленным его сканированием поисковой системой «Яндекс». Роботы «Google» менее чем за две недели обошли все нужные и ненужные (вовремя незакрытые от индексации) страницы, «Яндекс» же даже спустя месяц существования сайта так и не успел проиндексировать его до конца. Появилась срочная необходимость как-то повлиять на скорость индексации и научиться избегать подобных проблем в будущем, чтобы, не дай бог, статьи не воровались. Я принялся искать и читать любую информацию, которая могла бы мне в этом помочь.

  Оказалось, что алгоритм сканирования сайтов поисковыми системами прост: робот переходит по ссылкам, проверяет доступность страницы для индексации и индексирует страницу, если её индексация не запрещена. Постольку поскольку не все сайты состоят из десятка-другого страниц, чтобы робот не переходил на них по сотням и тысячам ссылок, на каждый визит отводится определённое время. Таким образом, нетрудно догадаться, чем больше ссылок приведут робота на мой сайт, тем больше времени он затратит на его индексацию.

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