Как сделать поискового робота php

Обновлено: 04.07.2024

Репутация: нет
Всего: 0

Цель это заполнение каталога за короткое время при минимуме трудозатрат.
Идея такая в цикле допустим от 1 до 10 а в перспективе и до 1000 вызываем сайты и пихаем в базу, читаем определяем заголовок и ключевые слова и также в базу пихаем. Этот робот думаю будет небольшим по объему. Что такое индексация до сих пор не понял. Я думаю это просто запись в базу как есть.
Вопрос как проверить файл на пустоту? Как игнорировать переходы на другой сайт, которые выставлены на некоторых сайтах, что бы цикл не нарушать? У меня еще будут несколько вопросов по мере проведения исследований

Репутация: 2
Всего: 315

Репутация: -2
Всего: 32

Репутация: 1
Всего: 69

Цитата

Что такое индексация до сих пор не понял. Я думаю это просто запись в базу как есть.


ИМХО индексация необходима для создания поискового образа документа, тоесть некой абстракции которая в самом примитивном представление является перечнем слов найденных в документе их весу
сопоставленных с неким идентификатором для повышения быстроты поиска.

user posted image

!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород

Репутация: нет
Всего: 2

Репутация: 2
Всего: 315

Репутация: нет
Всего: 0

Чем интересны известные поисковики? Тем, что в их базах есть все. Как они работают ? Поиск новых сайтов у них организован по ссылкам на другие сайты. Есть у них анализаторы, кроме всего прочего.

Цитата

что такое ИМХО ?
мне тоже интересно как сделать поискового робота

Репутация: нет
Всего: 0

Код

// получает содержимое файла в строку
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

Думаю это тоже понадобиться на всякий случай, а случаи бывают разные.
Можно ли это обработать прочитать и запихнуть в дальнейшем в title заголовок и ключевые слова?

Репутация: нет
Всего: 0

//если в загруженном и прочтенном файле есть переход на другой сайт тогда переход на следующую итерацию

Репутация: нет
Всего: 1

Такой поисковик будет адски медленно работать. Индексация - это упорядочивание данных в особую структуру для быстрого поиска. В этом основное назначение индекса. А если тупо записывать все страницы в файлы - то потом по этим файлам поиск будет мягко говоря долгим.

Кстати ИМХО - от английского IMHO (In My Humble Opinion) - по моему скромному мнению =)
А Имею Мнение Хрен Оспоришь - это стёб =)

Репутация: нет
Всего: 0

Цитата

Такой поисковик будет адски медленно работать.

Главное чтоб работало, а вручную сайты добавлять долгая история. Задача простая ускорить заполнение каталога и заменить модератора роботом.
загрузка и генерация 1 сайт/ мин + анализ 1 мин + индексация заголовок и ключевые слова 2 мин=4 мин
15 сайтов в час и в день 225 сайтов. В каталоге Яндекс 65000 сайтов. Яндекс работает с 1996 года. Легко подсчитать сколько нужно времени, что бы приблизиться к этому уровню хотя бы теоретически.

Репутация: нет
Всего: 0

Репутация: нет
Всего: 0

а это уже загрузка , анализ линка и запись его в базу настроен на 30 итераций робот нового поколения.

Только пока не цикле а по одному. Думаю сгодится для добавления сайта в каталог. Это 3 недели работы.

// Another example, let's get a web page into a string. See also file_get_contents().
$html = implode ('', file ($url));

// Çàìåíÿåì âñå ïåðåõîäû íà íîâóþ ñòðîêó ñïåöñèìâîëàìè
$message=ereg_replace("\n","
",$message);
// Çàïèñûâàåì ñîîáùåíèå â ôàéë ãîñòåâîé êíèãè. Çíàêè "\n" îáîçíà÷àþò ïåðåõîä íà íîâóþ ñòðîêó
$f = fopen ("book_message2.txt", "a");
fwrite ($f, "$url|$email|$message/$title/$html\n"); // Çàïèñûâàåì ñîîáùåíèå Çíàêè "\n" îáîçíà÷àþò ïåðåõîä íà íîâóþ ñòðîêó
fclose ($f); // Çàêðûâàåì ôàéë
fclose($file);
?>

Одна из самых популярных и необходимых функций на любом сайте – это поиск, реализованный с помощью специальной формы. Этот функционал позволяет посетителям быстро находить на сайте интересующий их контент.

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

Разрабатывать формы поиска при помощи PHP , а также познакомитесь с SQL ( Structured Query Language ) – специальным языком для сбора, записи и модификации информации, содержащейся в базах данных. Перед тем как начать, рекомендуем вам скачать файлы проекта .

Что вам понадобится

  • Инструмент для работы с базами данных MySQL .
  • Локальный или удаленный сервер с поддержкой PHP .
  • Текстовый редактор.

Создаем базу данных

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

Самым популярным инструментом для управления MySQL является PHP My Admin , Этого инструмента будет достаточно для нашего сегодняшнего руководства.

Создание таблицы

Наша таблица должна быть создана в следующем формате:

Column Name Data Type Length Null or Not Null Primary key? Auto Increment
IDINT1Not NullYesYes
FirstNameVarchar50Not NullNoNo
LastNameVarchar50Not NullNoNo
EmailVarchar50Not NullNoNo
PhoneNumberVarchar15Not NullNoNo

Таблица базы данных состоит из столбцов и строк, как в Excel . Первый столбец позволяет идентифицировать данные по имени. Далее идет колонка Data types ( тип данных ), которая указывает нам на тип данных, содержащихся в колонке. В поле Length ( Длина ) указывается максимальный объем памяти ( хранилища ) для столбца таблицы. Мы используем переменные, которые дают больше гибкости. Другими словами, если длина ФИО меньше 50 символов, то будет занята лишь часть отведенного места.

И среди данных персонала не может быть пустых значений ( null, empty ). Первая строка выделена желтым цветом, потому что столбец ID – наш основной ключ. Основной ключ в базе данных гарантирует, что каждая запись будет уникальной. К этой колонке также применен автоинкремент, а это значит, что каждой записи в нашей базе данных будет присваиваться уникальный номер автоматически.

Вносим представителей персонала в таблицу

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

Разработка формы

Чтобы создать форму поиска по сайту через Google , откройте любой подходящий текстовый редактор. Я рекомендую воспользоваться бесплатным PSPad . Вы можете использовать любой текстовый редактор, где предусмотрена подсветка синтаксиса. Это в значительной степени облегчит процесс написания и отладки PHP-кода . Создавая страницу для формы поиска, не забудьте сохранить ее в формате .php , иначе PHP-код не будет обрабатываться должным образом. Как только сохраните документ, скопируйте в него следующую разметку:

Если вы знакомы с языком HTML , то тут вам все должно быть понятно как минимум до открывающего тега form . Внутри этого тега находится важнейший элемент всего кода – атрибут action . В качестве действия нашей формы мы указали название нашего файла, а затем применили к нему строку запроса “ go ”.

Проверка на соответствие критерию

Когда пользователь вводит имя или фамилию, а затем нажимает кнопку подтверждения, форма передает данные самой себе и добавляет в конце строку запроса “ go ”. На данном этапе мы проверяем наличие строки запроса go . Если результат положительный, выводим результаты поиска.

До вывода запрашиваемых результатов нам нужно перепроверить: (1) была ли подтверждена форма, (2) содержит ли строка запроса значение go, (3) был ли поисковой запрос введен в нижнем или верхнем регистре? Если ни одна из проверок не дает положительного результата ( true ), то от нас не требуется выполнять какие-либо действия.

Для начала добавим небольшой блок кода PHP поиск по сайту после закрывающего тега :

Сначала мы открываем блок PHP-кода тегом ””.

Любой PHP-код внутри этой пары тегов будет исполняться сервером. Затем мы проверяем, была ли подтверждена форма:

Мы воспользуемся встроенной функцией isset , которая возвращает значение типа bool , и поместим в нее массив $_POST . Логическое выражение в программировании позволяет получить нам либо true , либо false .

Далее нам нужно проверить, имеется ли в строке запроса значение go :

Мы вкладываем еще одно условное логическое выражение внутрь основного, но только в этот раз мы используем массив $_GET вместе со значением “ go ”. Сохраните изменения в файле search_go.php .

Теперь нам нужно убедиться, что посетители могут вводить первую букву в строку запроса только в верхнем или только в нижнем регистре. Нам также нужно предусмотреть способ учета критериев поиска, введенных посетителем. Лучше всего проверять введенные посетителем данные с помощью регулярного выражения:

Мы вкладываем еще одно условное логическое выражение внутрь наших двух. На этот раз мы используем регулярное выражение для проверки ввода. Мы используем встроенную функцию preg_match с двумя параметрами: регулярное выражение, и поле формы, к которому должна применяться проверка.

Результаты Connect, Select, Query и Return из таблицы базы данных

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

Мы создаем переменную $db , и привязываем ее к встроенной функции MySQL mysql_connect , которая принимает три параметра: сервер с базой данных ( localhost , если вы работаете локально ), логин и пароль.

После этого мы запускаем встроенную PHP-функцию die , которая останавливает дальнейшее выполнение кода, если нет соединения с базой данных. И выводим информацию об ошибке, запуская встроенную функцию MySQL mysql_error , которая вернет причину ошибки. Сохраните файл search_connectdb.php .

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

Создаем переменную под названием mydb и привязываем ее ко встроенной MySQL-функции mysql_select_db , а затем указываем название базы данных, которую создали ранее. Далее мы опрашиваем таблицу базы данных при помощи SQL-запроса с переменной name, в которой содержатся параметры поиска, введенные посетителем:

При опросе таблицы базы данных мы создаем переменную $sql , и привязываем ее к строке, содержащей SQL-запрос . Мы используем оператор SELECT для извлечения значений из столбцов id , а также имени и фамилии из таблицы contacts . Затем мы используем инструкцию WHERE вместе со значениями имени и фамилии, чтобы сузить поиск.

Далее нам нужно поместить результаты SQL-запроса в переменную, и запустить ее при помощи функции mysql_query , как показано ниже:

Мы создаем переменную $result , и присваиваем ей значение функции mysql_query () , внося ее в $query. Теперь наш запрос хранится в переменной result . Чтобы вывести результат в PHP , мы создаем цикл, а затем выводим данные в неупорядоченном списке:

Сначала мы создаем цикл while , внутри него создаем переменную под названием row , и инициализируем ее возвращаемым значением функции mysql_fetch_array , которая принимает переменную result , в которой находится наш SQL-запрос . Внутри цикла while мы присваиваем каждому значению столбца значение переменной с идентичным названием. Затем мы выводим значения внутрь неупорядоченного списка.

Здесь важно обратить внимание на два момента: (1) внутри цикла while не нужно присваивать значения переменным массива row , так как значения можно брать напрямую из массива row ; (2) тег anchor , который мы используем в названии нашего файла вместе с id и основным ключом. Причина этого заключается в том, что во многих поисковых элементах изначально ничего не отображается.

Так как мы показываем только имя и фамилию, приписывая ID в конце нашего тега anchor , то мы можем использовать ID для дополнительного запроса, который позволит вывести дополнительную информацию о персонале. Сохраните файл и протестируйте форму PHP поиска по сайту ( search_display.php ).

Убираем табуляцию

Результаты выводятся в виде неупорядоченного списка, но суть в том, что нам не нужна табуляция. Чтобы избавиться от нее, добавьте следующее CSS-правило в самое начало вашего файла в head :

Поиск по буквам

Для реализации поиска по буквам потребуется лишь несколько дополнительных строк кода. Добавим этот удобный функционал для посетителей. Таким образом, они смогут находить представителей персонала по буквам, которые содержатся в имени или фамилии.

Добавьте следующую строку кода после закрывающего тега form :

Здесь мы изменили четыре фрагмента кода скрипта поиска по сайту:

  • Мы используем функцию isset() , и вносим в нее массив $_GET , а затем проверяем значение by ;
  • Создаем переменную $letter и инициализируем ее значение массивом $_GET ;
  • Добавляем переменную letter в SQL-запрос ;
  • Указываем переменную letter внутри выражения, в котором получаем подсчитанное количество строк.

Сохраните файл search_byletter.php и проверьте результат.

Поиск определенного сотрудника

Чтобы отобразить информацию об остальном персонале, которая передается через уникальное id внутри нашей ссылки, нужно добавить следующий код прямо после закрывающей фигурной скобки в скрипте letter , как показано ниже:

Здесь мы изменили четыре фрагмента кода:

Сохраните файл search_byid.php и проверьте результат.

Обратите внимание, что наш функционал работает так, как и положено. При вводе имени или фамилии в поле, или при выборе буквы в качестве гиперссылки, отображаются только имена представителей персонала. Если навести курсор на ссылку, то в строке статуса можно увидеть уникальный ID . Если кликнуть по конкретному человеку, то адресная строка изменится, и отобразится дополнительная информация об этом сотруднике.

SQL-инъекция

Причина, по которой мы добавили в наше поле поиска регулярное выражение, заключается в том, чтобы никто не смог вмешаться в наш SQL-запрос . Раньше эта проблема была распространена, и хакеры умудрялись проводить собственные SQL-запросы , манипулируя при этом вашим приложением. Например, если бы мы допустили возможность использовать апостроф в нашем поле, то хакер мог бы просто удалить базу данных, используя запрос:

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

В завершение

В сегодняшней статье мы рассмотрели, как сделать поиск по сайту, а также:

  • Создавать базы данных и соответствующие таблицы;
  • Использовать инструменты для управления базами данных, создавать столбцы и вводить данные;
  • Разрабатывать формы поиска на основе PHP , которая умеет осуществлять проверку вводимых данных, наличия переменных в запросе, а также соединяться с базой данных и выводить результаты из таблицы;
  • Как защитить приложение и базу данных от SQL-инъекций .

Используя знания, полученные из этой статьи, вы сможете без труда модифицировать чужой код, а также при необходимости расширять функционал формы поиска.

Данный код на PHP поможет определить, кто зашёл на сайт — поисковый робот или обычный пользователь. Если передать в функцию переменную, то в неё, в случае, если это поисковый робот, запишется название поискового робота.

Вроде большинство записей, которые могут быть в User-Agent различных поисковиков, эта функция покрывает.

Конечно это не 100% способ, так как User-Agent можно менять. Но настоящие поисковики этим по-моему не занимаются. Разве что кто то захочет прикинуться поисковым роботом. Короче используйте этот метод в зависимости от вашего случая.

На просторах интернета так же предлагают определять по IP, по маске адресов. Предполагается что такое то пространство IP адресов выделяется под сервера Google или какие то другие системы. Но как сами понимаете этот метод геморройный. Так как надо следить за списками, масками IP адресов.

Ладно, начал одним, и если не остановлюсь, наверное закончу уже совсем другим. Это наверное потому что давно в блог ничего не черкал.

robots.txt — это текстовый файл, который содержит инструкции для поисковых роботов. Содержимое файла представлено одной или более групп директив, которые позволяют управлять индексацией сайта. Помимо индексации, существует возможность добавления служебной информации, которая помогает поисковым системам. Грамотно составленный файл robots.txt позволяет ускорить индексацию сайта, уменьшить нагрузку на сервер и улучшить поведенческие факторы. В данной статье рассматриваются: создание и редактирования файла robots.txt, синтаксис директив, расположение на хостинге, расположение в панелях управления популярных CMS, генерация.

Файл robots.txt является файлом исключений и правил для поисковых роботов. Данный стандарт принят консорциумом всемирной паутины World Wide Web Consortium (W3C) 30 июня 1994 года. Следование стандарту является полностью добровольным, однако некоторые поисковые системы указывают на возможную некритическую проблему при отсутствии файла robots.txt.

Создание файла robots.txt

Чтобы создать файл robots.txt открыть блокнот и ввести следующие директивы:

сохранить файл с именем:

Имя файла обязательно должно быть написано прописными (маленькими) буквами.

Указанные директивы буквально расшифровываются так:

  1. для всех поисковых роботов,
  2. открыть для индексации весь сайт.

Данный файл загружается в корень сайта и номинально решает проблему валидации, которая связана с отсутсвием robots.txt.

Зачем нужен файл robots.txt

Файл robots.txt содержит правила-исключения, а также служебные директивы для поисковых роботов. Правильная настройка позволяет решать основные задачи для корректной индексации сайта:

  1. закрытие сайта/страниц/файлов,
  2. указание служебной информации.

Полное закрытие веб-проекта чаще всего реализуется в случаях:

  1. мультирегиональной настройки ПС для поддоменов,
  2. создания тестового сайта-клона.

Закрытие страниц и файлов сайта реализуется в случаях, когда они:

  1. дублируют контент,
  2. содержат служебные данные,
  3. содержат тестовые данные,
  4. не несут пользы в индексе ПС.

Указание служебной информации

Ранее, для ПС Яндекс можно было указывать адрес основного хоста (директива host — неактуально), задержку между обращениями бота к сайту (crawl-delay — неактуально). Сегодня достаточно указывать адрес sitemap.xml, директиву host вытеснили канонические адреса.

Где находится файл robots.txt

Файл всегда должен располагаться на хостинге, в корне сайта. Например, у нас это выглядит так:

расположение файла robots на хостинге

Чтобы проверить текущее содержимое файла на сайте, в адресной строке следует ввести:

Расположение robots в CMS

Файл робота в некоторых системах управлениях сайтами можно редактировать из административной панели. Однако, существуют ситуации, когда файл для роботов подменяется на лету специальными плагинами . Поэтому изменение файла на строне хостинга может не работать. В таком случае следует проверить наличие SEO-плагинов и их настроек.

Расположение robots в wordpress

Например, в панели управления wordpress нет отдельного пункта меню для создания и редактирования файла. Поэтому его модификацию можно осуществлять 2 способами:

  1. редактирование с хостинга,
  2. редактирование с использованием плагинов.

Редактирование robots.txt через плагин yoast

Рассмотрим создание и редактирование файла robots.txt в wordpress с помощью плагина yoast. Для того, чтобы создать или редактировать файл в данном плагине необходимо:

  1. установить плагин,
  2. перейти в настройки плагина,
  3. выбрать пункт инструменты,
  4. редактор файлов.

где найти файл robots в yoast на wordpress

В случае, если файл робот создается через плагин впервые, yoast сообщит, что файл отсутсвует, несмотря на то, что файл может существовать. Тем не менее, если планируется редактирование файла robots из административной панели wordpress, следует нажать на кнопку создания:

создание файла robots в панели yoast

После нажатия кнопки можно увидеть базовое содержимое файла, которое можно редактировать:

изменение robots через плагин yoast на wordpress

После редактирования следует сохранить изменения.

Расположение robots.txt в tilda

Tilda самостоятельно генерирует файл робота и при этом не дает возможности редактирования, о чем поддержка сообщает в своей вопросно-ответной системе. Сегодня единственным решение в области редактирования файла robots.txt — экспорт проекта на собственный хостинг. После экспорта появится возможность управления файлом робота.

Расположение robots.txt в 1С-Битрикс

В 1С-Битрикс доступ к файлу robots из админ-панели существует. Для того, чтобы управлять файлом робота следует пройти по пути:

Маркетинг > Поисковая оптимизация > Настройка robots.txt

Проверка файла роботс

Для проверки файлов робота у поисковика Яндекс есть валидаторы:

Синтаксис

Общий синтаксис для записей файла роботс:

Правила для файла и синтаксиса

Правила для файла

  1. На сайте может быть только 1 такой файл;
  2. Файл должен располагаться в корне сайта;
  3. Название файла работа пишется прописными (маленькими буквами): robots.txt (Robots.txt, ROBOTS.txt неверные названия);
  4. Размер файла robots не должен превышать 500 КБ (500 килобайт);
  5. Кодировка файла должна быть UTF-8 (которая включает коды символов ASCII), другие наборы символов использовать нельзя;
  6. Правила указанные в файле robots действительны только для того хоста, на котором расположен данный файл;
  7. Файл robots должен быть доступен (код ответа сервера при обращении должен быть 200 ОК).

Правила для синтаксиса

  1. Проверка данных файла robots.txt;
  2. Проверка метаданных на страницах .

Данные для роботов могут отменяться последним изменением, а так как robots.txt проверяется первым, то если в файле robots.txt указано:

но при этом на всех страницах сайта будет указано:

тогда сайт может быть проиндексирован.

Директивы robots.txt

Директивы определяют задачи, которые требуется решать с помощью файла robots.txt.

Директива Функция
User-Agent Указание имени поискового робота
Allow Открыть для индексации
Disallow Закрыть для индексации
Sitemap Указание адреса для карты сайта (sitemap.xml)
Clean-param Указание роботу, что страницы имеют параметры: GET, utm (ТОЛЬКО ДЛЯ ЯНДЕКС)
Crawl-delay Указание в секундах скорость загрузки одной страницы до начала загрузки следующей (неактуально)
Host Указывает основную версию сайта (может встречаться, однако сегодня неактуально)

Стоит обратить внимание на директивы Host, Crawl-delay — не поддерживаются с 2018 года, а директива Clean-param используется только ПС Яндекс.

Директива User-Agent

Директива User-Agent служит указателем правил для конкретного поискового агента. Примеры использования директивы User-Agent для различных поисковых роботов:

Поисковых агентов существует большое множество. Некоторые поисковые роботы могут игнорировать инструкции, которые указаны в файле роботс. Список имен ботов для поисковых систем Yandex и Google, которые не игнорируют правила файла robots.txt позволит производить более тонкую настройку правил индексации.

Директива Allow

Директива Allow задает правила для открытия страниц и(или) их содержимого для индексации. Примеры использования директивы Allow:

Директива Disallow

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

Зачем закрывать определенного бота

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

Дано: основной сайт с доменным адресом:

Который имеет поддомены со соответствующей привязкой городов:

Для Яндекса, в вебмастере можно указать каждому поддомену свой город, и добавить возможность индексации (для каждого поддомена свой файл robots.txt):

Для Google подобное решение может оказаться не всегда понятным, что может приводить к выбрасыванию поддоменов из выдачи. Это связано с городами России, которые Гугл не всегда корректно разбирает. Поэтому для каждого поддомена и Googlebot (основного индексирующего бота Google), можно добавить запись:

В результате для каждого поддомена (для каждого свой файл робота) получится подобный robots.txt:

При этом, для основного домена запись robots.txt будет выглядеть так:

Таким образом, поисковик Яндекс будет индексировать только поддомены, а Google только основной домен и не будет создавать проблем.

Директива Sitemap

Директива sitemap необходима для указания карты сайта и используется в таком формате:

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

Для показа контента сайта в ленте Google news генерируется и указывается отдельная карта сайта со своими правилами, тогда файл robots может выглядеть так:

Директива Clean-param

Только для поисковой системы яндекс

Директива Clean-param необходима для снижения нагрузки на сайт, ускорения индексации полезного контента с помощью исключения страниц-дублей с одинаковым и(или) бесполезным контетом. Чаще всего исключаемые страницы на сайте возникают из-за наличия: страниц результатов поиска, utm меток, страниц с GET-параметрами. Данная директива работает только ботами Яндекс, для Google используются канонические адреса и(или) директива Disallow.

Синтаксис директивы Clean-param:

Clean-param: [p][&p1&p2&pN] [path]

[p] - неизменный игнорируемый параметр,
[&p1&p2&pN] - дополнительные игнорируемые параметры,
[path] - адрес раздела, который содержит параметры,

Например, необходимо на каждом разделе закрыть все страницы с umt-метками:

User-Agent: Yandex
Clean-param: utmstat

Таким образом будут закрыты все страницы, которые содержат параметр utmstat, например:

Как можно увидеть, запрос состоит из двух параметров. Именно эти 2 параметра станут маркерами закрытия индексации, которую можно реализовать так:

User-Agent: Yandex
Clean-param: search_string&search_types /search/search_do/

Важно понимать, что амперсант (&), в контексте данной инструкции, означает "и". То есть, чтобы поисковая система исключила подобные страницы из индекса, робот должен встретить оба параметра в строке URL.

Правильный файл robots.txt

Правильный файл robots.txt определяется архитектурой адресации на сайте, а также наличием или отсутствием различных параметров: get, utm. Самый правильный файл должен содержать минимум директив. Например, в нашем случае, правильный файл robots выглядит так:

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

В зависимости от организации архитектуры веб-сайта, robots.txt могут отличаться. Сайты могут работать на готовой cms, либо на фреймворке, следовательно способы регулирования выдачи могут отличаться.

Правильный robots.txt wordpress

В базовом представлении плагин yoast генерирует такой файл:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Но вебмастера обычно используют расширенный вариант:

Открытие файлов стилей и скриптов необходимо например для google. Гугл утверждает что умеет индексировать скрипты и стили, чем улучшает выдачу для пользователей.

Правильный robots.txt 1С битрикс

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

Последняя директива Sitemap, содержит адрес нашей карты, не забудьте заменить путь.

Генераторы robots.txt

Генераторы файла robots.txt — инструменты, которые позволяют ввести вводные данные и получить готовый список директив, например:

Однако, стоит понимать, что необходим понимать что и каким образом закрывается на сайте.

Например, логичное с одной стороны закрытие GET-параметров, может привести к потери качественных страниц, которые уже занимают хорошие позиции в индексе. Другой пример — закрытие страниц пагинации, которые тоже хорошо могут отдаваться в поиске. Поэтому, до внесения изменений в robots с помощью генераторов, следует детально изучить выдачу, а также способы формирования контента на рабочем проекте.

Читайте также: