Стандартты OpenCart орнатуында robots.txt файлы статикалық және көп дүкендегі барлық дүкендер үшін бірдей. Бұл бөлек домендердегі екінші және үшінші дүкен және т.б. роботқа шетелдік домені бар Сайт картасын береді, ал Яндекс үшін хост директивасы дұрыс емес сайтты көрсетеді. Бұл сценарий статикалық файлды динамикалық файлмен ауыстырады: әрбір сұрауда ол ағымдағы доменді өзі анықтайды және арнайы осы дүкен үшін дұрыс robots.txt файлын жасайды.
басты артықшылығы күрделі баптаусыз және модульді орнатусыз көп дүкендерді қолдау болып табылады.
Бір robots.php файлы сервердің түбірінде орналасқан және барлық дүкендерге бір уақытта қызмет етеді. Әрбір домен өз жауабын алады:
Мысалы:
# shop-one.ru/robots.txt
Хост: shop-one.ru
Сайт картасы:https://shop-one.ru/sitemap.xml
# shop-two.ru/robots.txt
Жүргізуші: shop-two.ru
Сайт картасы: https://shop-two.ru/sitemap.xml
Әрбір домен үшін қолмен өңдеулер жоқ - сценарий сұрау тақырыбынан барлығын өзі анықтайды.
Ережелердің негізгі жинағы (қораптан тыс)
Скриптте OpenCart дүкеніндегі кез келген дүкенге тән жабық маршруттар бар:
Жеке кабинет, тапсырыс беру, серіктестік бағдарламасы
Өнімді салыстыру және іздеу беті
Жүйелік каталогтар: /жүйе, /жүктеу, /сақтау
Параметрлері бар URL мекенжайы: ?sort=, ?order=, ?limit=, ?filter=, ?tag=, ?tracking= және олардың & нұсқалары
Айқын статикалық ажыратымдылық: CSS, JS, суреттер, қаріптер
Өз директиваны қалай қосуға болады:
Барлық ережелер $common_rules массивінде сақталады.
Керектісін қосу үшінтыйым салу, жолды массивке енгізіңіз:
// Өндірушілер бетін жабыңыз
$common_reges = массив(
...
'Рұқсат етпеу: /*бағыт=өнім/өндіруші',
...
);
Тек белгілі бір дүкенге арналған беттерді қосу үшін $host_only пайдаланыңыз:
// Арнайы бөлімді тек екінші дүкенде жабыңыз
егер ($host_only === 'shop-two.ru') {
$lines[] = 'Рұқсат етпеу: /көтерме/';
}
Қажет емес директиваны қалай жоюға болады:
$common_rules массивіндегі жолды тауып, оны жойыңыз. Мысалы, аты бойынша сүзгілеу қажет болмаса:
// Was - осы екі жолды алып тастаңыз:
'Рұқсат етпеу: /*?filter_name=',
'Рұқсат етпеу: /*&filter_name=',
Тек Яндекс үшін ережелерді қалай қосуға болады:
Яндекс үшін блок жалпы блоктан кейін бөлек жасалады.
Директиваларыңызды хост директивасына дейін қосыңыз -
// Қосымша Яндекстің жарнамалық бетін жабыңыз
$lines[] = 'Пайдаланушы-агент: Yandex';
$жолдар = массив_біріктіру($жолдар, $жалпы_ережелер);
$lines[] = 'Рұқсат етпеу: /промо/'; // ← осында қосыңыз
егер ($хост_only) {
$lines[] = 'Хост: ' . $host_only;
}
Орнату:
Көп дүкен роботтарының sitemap.zip мұрағатын жүктеп алыңыз және шығарыңыз
robots.php файлын FTP арқылы сайттың түбіріне жүктеңіз
Бар robots.txt атауын өзгерту, мысалы, соңына астын сызу robots.txt_ қосу (бұл файлды өшіреді).
Ереже қосу.htaccess ішінде негізгі OpenCart блогына:
htaccess файлын ашыңыз, RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L] жолын табыңыз.
Төменде қосыңыз
RewriteRule ^robots\.txt$ robots.php [L]
Нәтижені тексеру:
Браузерде немесе Yandex.Webmaster құралдары арқылы https://your-domain/robots.txt файлын ашыңыз.
Содан кейін сәйкес жұмыс істейтін қосалқы дүкендер
https:// your-domain-2.ru /robots.txt
т.б.
Әрбір робот енді бөлек сайт картасын, хостты және т.б. көрсетуі керек.
Үйлесімділік
OpenCart 3.x / OcStore 3.x / LiveStore 3.x
PHP 7.0+
mod_rewrite бар Apache
Nginx, Cloudflare және X-Forwarded-Proto тақырыбы бар кез келген кері проксидің артында жұмыс істейді
Мәліметтер базасына қол жеткізудеректер немесе басқару тақтасы қажет емес
Сайт картасы:
Әдепкі бойынша, Opencart жүйесінде жинаққа енгізілген сайт картасы модулі әрбір көп дүкен үшін өзінің sitemap.xml файлын жасайды.
Осы себепті оны осы мақсаттар үшін өзгерту қажет емес.
Үшінші тараптың сайт картасын жасау модульдерін пайдалансаңыз, жай ғана жолда ауыстырыңыз
$sitemap_url = $base_url . '/sitemap.xml';
өз құндылықтарыңызға
Кофе үшін!