Skip to content

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 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#?

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

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

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

https://dijix.com.ua

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


 

Published inAsp.Net Core
Subscribe
Notify of
guest
0 комментариев
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x