Перейти к содержанию

Генерация robots.txt в Asp.Net

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


В этой статье рассмотрим, как создать файл robots.txt в Asp.Net Core.

robots.txt — это файл, который храниться в корневом каталоге каждого сайта.

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

Расположение robots.txt очень важно. Это должен быть главный каталог, иначе агенты пользователей/поисковые системы не смогут его найти.

Маршрутный путь должен быть примерно таким:

http(s)://www.example.com/robots.txt

Поисковая система

Допустим, робот или поисковая система хочет посетить сайт URL пример: http(s)://example.com/contact.html.

Перед этим он сначала проверяет файл http(s)://example.com/robots.txt. Если поисковая система нашла файл robots.txt, то она проверяет, разрешено ли содержимое для индексации или нет.

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

Создание проекта

В этом проекте мы собираемся создать Middleware, которое проверяет, является ли URL /robots.txt, затем считывает файл /robots.txt из корня проекта. Если файл /robots.txt не найден, он показывает текст по умолчанию.

Для примера, создадим простой проект ASP.NET Core Web Application (Веб-приложение ASP.NET Core). Я ожидаю от вас минимальные знания концепций MVC фреймворка, поэтому в некоторых местах, вдаваться в подробности не стану.

Создание класса middleware

В проект добавим папку Middleware, а в ней создадим класс RobotsGeneratorMiddleware, со следующим содержимым:

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

Также в классе должен быть определен метод, который должен называться либо Invoke, либо InvokeAsync. Причем этот метод должен возвращать объект Task и принимать в качестве параметра контекст запроса — объект HttpContext. Данный метод собственно и будет обрабатывать запрос.

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

Для добавления компонента middleware, который представляет класс, в конвейер обработки запроса применяется метод UseMiddleware(). Добавим в класс Program.cs, следующую строку:

С помощью метода UseMiddleware<T>, в конструктор объекта VisitorCounterMiddleware будет внедряться объект для параметра RequestDelegate next. Поэтому явным образом передавать значение для этого параметра нам не нужно.

Тестирование

В любом месте на компьютере, создайте файл robots.txt со следующим содержимым:

В вашем случае, содержимое файла может отличаться. Перенесите этот файл в основную папку проекта:

asp.net core robots.txt

Запустите приложение и перейдите по адресу: https://localhost:XXXX/robots.txt

robots.txt windows

На этом статья «Генерация robots.txt в Asp.Net», подошла к концу, надеюсь вам было интересно. Поделитесь вашим опытом в комментариях, как вы генерируете файл robots.txt для ваших проектов, считаете ли его необходимым в 2023 году?

Так же вам может быть интересна предыдущая статья:

Статистика посещений для веб приложения Asp.net Core 7

Вы начинающий программист, который хочет изучить все тонкости языка C#?

Пройдите наш тест на 13 вопросов, чтобы узнать, как много вы знаете на самом деле!

C# Braincheck


Вы хотите научится писать код на языке программирования C#?

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

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

  • Доступ к пройденному материалу
  • Тематические статьи
  • Библиотека книг
  • Онлайн тестирование
  • Общение в закрытых группах

https://dijix.com.ua

Живи в своем мире, программируй в нашем.


 

Опубликовано в рубрикеAsp.Net Core
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x