Скрипт создания карты сайта с проверкой индексации

12
[Удален]
4061

Доброго времени.

Столкнулся с проблемой монетизации собственных сайтов.

Суть проблемы заключалась в том, что при добавлении сайта в SAPE, система находила множество страниц и после проверки на индексацию (по кнопке YAP) оставалось совсем не много.

Например SAPE находила на сайте 1500 страниц и после проверки проиндексированных Яндекс, оставалось всего ~200.

Таким образом я стал ломать голову.... Как добавить в SAPE заведомо проиндексированные страницы сайта. Причем так, чтобы SAPE сама кушала их собирая с сайта.

Написал скрипт.

Скрипт генератор карты сайта (SITEMAP)

Проверка карты сайта на индексацию работает следующим образом.

Скрипт собирает из панельки Яндекс вебмастер ссылки проиндексированных страниц сайта и собирает их в карту сайта ХТМЛ. Далее достаточно повесить ссылку в подвале сайта, и SAPE без проблем добавит все страницы.

Скрипту передается 4 параметра:

1. Урл сайта, который будем анализировать. Урл задается в виде http://www.site.ru/ (обязательно со слешем в конце);

2. Логин для доступа в панель Яндекс.Вебмастер;

3. Пароль для доступа в панель Яндекс.Вебмастер;

4. ID хоста анализируемого сайта. Для того, чтобы получить этот ID нужно авторизоваться на webmaster.yandex.ru и посмотреть на какой урл ссылается нужный нам сайт в списке "Мои сайты". Урл будет вида: http://webmaster.yandex.ru/site/?host=3574807, где 3574807 - нужный нам ID.

После того, как скрипт получает все нужные ему параметры, он выполняет следующие действия:

1. Собирает все ссылки с нужного сайта в список;

2. Чистит этот список от:

2.1 Внешних ссылок

2.2 От ссылок-якорей вида blabla.php#comments

2.3 От ссылок типа mailto:, javascript:, skype:

3. Убирает из списка ссылок дубли;

5. Собирает из панели я.вебмастер список проиндексированных страниц;

4. Проверяет список ссылок из карты сайта на наличие в списке проиндексированных страниц. Если ссылка есть в проиндексированных - скрипт берет заголовок страницы <title> и добавляет в карту сайта строку вида:

<a href="http://www.site.ru/" target="_blank">Главная</a><br />

Если ссылки нет среди проиндексированных - пропускает и переходит к следующей ссылке.

5. Создает в папке maps html-файл с картой сайта и выдает пользователю ссылку на этот файл.

Установка скрипта:

Распаковать содержимое архива на сервер, выставить права 777 на папку со скриптом.

Скрипт это один исполняемый файл.

Мне удалось засунуть в SAPE все свои сайты ПОЛНОСТЬЮ (все страницы что присутствуют в индексе Яшки) чего до этого, не получалось сделать никакими другими сайтмапами ибо вперемешку страницы в индексе и те, что не в индексе образуют общую массу которая отсеивается после проверки на индексацию по кнопке YAP. в сапе.

Если кому интересно, обращайтесь. Договоримся.

Топик можно обсуждать, принимаю предложения по улучшению.

Пример работы скрипта.

http://extlinux.ru/crawler2.php

---

Данные никуда не передаются! Хранятся в куках, выдаются Яндекс по запросу.

Тем кто опасается, просьба не заходить по ссылке. Спасибо.

Для всех кому идея интересна, кому может понадобится данный скрипт, обращайтесь, договоримся.

Ваня Хельсинг
На сайте с 26.09.2007
Offline
254
#1

stuff, интересная штука. Для многих сапосайтов просто необходимая.

Качественная работа с репутацией в сети. Ищу постоянных заказчиков https://reputatika.ru/ Отличный хостинг для белых сайтов ( http://goo.gl/o2vSB )
[Удален]
#2

Спасибо. Я столкнулся с этой проблемой на Joomla, WP и других CMS.

У меня есть сайты где 10к страниц и больше. А в панели Яндекс.Вебмастер в индексе всего 500~1500 страниц.

Вот как бы я не пытался заставить сапу скушать страницы в индексе - не получалось.

Сейчас SAPE без проблем принимает (*находит) те страницы, что в индексе, читая карту сайта.

Удобно. Быстро. Экономично.

И на сколько я понимаю, если говорить о скриптах, пока уникально )

В перспективе хочу довести скрипт до ума, дополнить всяческими фишками для работы с сайтом и SAPE в частности.

PS ребята, чойта сервер нагрузили... скрипт не рассчитан на массовое использование. 1-2-3 сайта одновременно может собирать (больше зависит от сервера).

Первоначальные тесты скрипта проводились на 3-х сайтах:

1 сайт: 18 страниц - 6 секунд (~0,33 сек/стр)

2 сайт: 840 страниц - 179 секунд (~0,21 сек/стр)

3 сайт: 1800 страниц - 993 секунды (~0,55 сек/стр)

Да, не быстро, но зато эффективно )

Вероятно скрипт может работать быстрее в зависимости от железа и софта сервера.

RedBird
На сайте с 10.05.2010
Offline
128
#3

В ЯВМ вам удастся собрать только 1000 страниц.

А чтобы загнать все страницы в Sape использую этот сервис.

🚀 Push партнерка с Header Bidding: https://t.ly/LuTl 🍋 Выжимай максимум со всех Push рекламных сетей.
[Удален]
#4
RedBird:
В ЯВМ вам удастся собрать только 1000 страниц.

Уже начал думать, как в будущем решить этот вопрос. Вероятно путем он-лайн проверки будет решаться.

Спасибо.

Ваш сервис в примере, не проверяет страницы на индекс.

Провел тест. Генератор собрал (15527 ссылок , 104 страницы)

Мне кажется не реально добавить в сапу!

Даже если повезет, SAPE найдет из всей этой массы пусть 5к страниц (хотя думаю меньше - пока жду индексации в сапе, отпишусь позже) то после проверки на индекс останется совсем не много.

Уже тестирую. Отпишусь.

За основу взят сайт с 10к страниц. Посмотрим как удастся его сунуть в сапу через сервис RedBird

RedBird
На сайте с 10.05.2010
Offline
128
#5
stuff:

Ваш сервис в примере, не проверяет страницы на индекс.

Нет необходимости проверять страницы на индекс, ведь в xml карте присутствуют полностью все страницы.

stuff:

Провел тест. Генератор собрал (15527 ссылок , 104 страницы)
Мне кажется не реально добавить в сапу!
Даже если повезет, SAPE найдет из всей этой массы пусть 5к страниц (хотя думаю меньше - пока жду индексации в сапе, отпишусь позже) то после проверки на индекс останется совсем не много.

Робот Sape всё найдет, так как ему даны чёткие указания, а именно робот собирает 500 ссылок с ув1 и по 150 с ув2.

[Удален]
#6
RedBird:
Нет необходимости проверять страницы на индекс, ведь в xml карте присутствуют полностью все страницы.

Вот сейчас и проверим... Жду индекса в сапе. Пока 1999 страниц нашлось с этой карты. После проверю по кнопке YAP и посмотрим что останется.

RedBird:
Робот Sape всё найдет, так как ему даны чёткие указания, а именно робот собирает 500 ссылок с ув1 и по 150 с ув2.

Есть пример добавления 10к страниц в сапу? (просто интересно) Или все же в сапе есть ограничения? Вопрос на засыпку...

Alex91
На сайте с 30.12.2007
Offline
258
#7
stuff:
Есть пример добавления 10к страниц в сапу? (просто интересно) Или все же в сапе есть ограничения? Вопрос на засыпку...

только сегодня 4 добавил, 10 не проблема, видел

C Уважением, Алексей
RedBird
На сайте с 10.05.2010
Offline
128
#8
stuff:
Вот сейчас и проверим... Жду индекса в сапе. Пока 1999 страниц нашлось с этой карты. После проверю по кнопке YAP и посмотрим что останется.

Страницы, которые не проиндексированы вы удаляете?

stuff:

Есть пример добавления 10к страниц в сапу? (просто интересно) Или все же в сапе есть ограничения? Вопрос на засыпку...

Есть. Насчёт ограничений я упомянул выше. Пруфлинк.

V
На сайте с 06.03.2008
Offline
83
#9

stuff, Ваш скрипт находит пока только 1000 страниц максимум, так?

Если он будет находить все проиндексированные страницы и разбивать карту на части (в каждой по 150 ссылок) - это будет очень полезная вещь, я бы приобрел у вас.

[Удален]
#10
RedBird:
Страницы, которые не проиндексированы вы удаляете?

Ясен красен! Кто на них ссылки купит, какой дурак?

velcom, пока именно так обстоят дела. Думаю в сторону улучшения.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий