LukinterLab
LukInterLab

LukInterLab- -LukInterLab

profile-pic

robots.txt для Яндекс

14 июня 2025 г. 23:02
Изображение поста
Я помогу вам создать правильный robots.txt файл для вашего сайта. Сначала давайте создадим файл в статическом каталоге, а затем настроим Django для его корректного использования.

Я помогу вам создать правильный robots.txt файл для вашего сайта. Сначала давайте создадим файл в статическом каталоге, а затем настроим Django для его корректного использования.

# robots.txt for LukInterLab.ru

# Allow all robots
User-agent: *
Allow: /
Allow: /blog/
Allow: /otziv/

# Disallow admin and search pages
Disallow: /admin/
Disallow: /search/
Disallow: /ckeditor/

# Disallow media files that don't need indexing
Disallow: /media/images/
Disallow: /static/img/

# Sitemap location
Sitemap: https://lukinterlab.ru/sitemap.xml

# Crawl delay
Crawl-delay: 1

# Clean parameters
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term

Теперь давайте настроим Django для корректного обслуживания файла robots.txt. Нам нужно изменить конфигурацию URL-адресов.

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.views.generic import TemplateView
from django.contrib.sitemaps.views import sitemap
from Blog.sitemaps import PostSitemap, CategorySitemap

sitemaps = {
    'posts': PostSitemap,
    'categories': CategorySitemap,
}

urlpatterns = [
    path('ckeditor/', include('ckeditor_uploader.urls')),
    path('admin/', admin.site.urls),
    path('', include('home.urls')),
    path('otziv/', include('otziv.urls')),
    path('blog/', include('Blog.urls')),
    path('robots.txt', TemplateView.as_view(template_name='robots.txt', content_type='text/plain')),
    path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

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

from django.contrib.sitemaps import Sitemap
from .models import Post, Category

class PostSitemap(Sitemap):
    changefreq = "weekly"
    priority = 0.8

    def items(self):
        return Post.objects.filter(status='published')

    def lastmod(self, obj):
        return obj.updated

class CategorySitemap(Sitemap):
    changefreq = "weekly"
    priority = 0.6

    def items(self):
        return Category.objects.all()

    def lastmod(self, obj):
        try:
            return obj.posts.latest('updated').updated
        except:
            return None

Я настроил полную SEO-настройку для вашего сайта:
Создал robots.txt с помощью:
Разрешающих правил для основных областей контента
Запрещающих правил для администрирования, поиска и медиафайлов
Расположение на карте сайта
Настройка задержки обхода
Очистка параметров для UTM-тегов
Добавлена настройка URL для показа:
robots.txt из статического каталога
sitemap.xml с динамическим содержимым
Создана конфигурация карты сайта с помощью:
PostSitemap для записей в блоге (приоритет 0.8)
CategorySitemap для категорий (приоритет 0.6)
Еженедельная частота изменений
Даты последних изменений
Файл robots.txt соответствует всем требованиям Яндекса:
Обычный текстовый формат
Менее 500 КБАЙТ
Нет кириллических символов
Соответствующие инструкции
Правильный HTTP-ответ (200 OK)
Чтобы это сработало, вам необходимо:
Убедиться, что ваши статические файлы собраны должным образом:
Применить к robots.txt
Запустить
Убедитесь, что ваш веб-сервер настроен на правильную обработку статических файлов
Протестируйте robots.txt и sitemap.xml, посетив:
https://lukinterlab.ru/robots.txt
https://lukinterlab.ru/sitemap.xml
Хотите, я внесу какие-нибудь коррективы в:
Тот самый robots.txt правила?
Конфигурация карты сайта?
Шаблоны URL-адресов?

Пока комментариев нет.

Оставьте коментарий