[Решено] Crawler-Detect + Prestashop 1.6

trace

Prestashop
Регистрация
4 Ноя 2013
Сообщения
327
Реакции
648
Интересная тема.
CrawlerDetect - PHP класс для определения ботов/веб-пауков/краулеров через user agent.
Для просмотра ссылки Войди или Зарегистрируйся

Для чего нужно:
Например, у вас на сайте есть большие блоки текста, которые нужны вам для SEO-продвижения, но они мешают для просмотра иного контента на сайте.
И вам хочется скрыть его от пользователей кнопкой "Читать далее.." чтобы этот блок не был слишком громоздким, но открывался по клику, чтобы можно было прочитать.

Известно, что чуть ли не все поисковые системы борются со скрытым контентом. И, если контент не виден пользователям, то его не индексирует поисковая система. По-понятным причинам.

Но можно попытаться с помощью CrawlerDetect открыть текст для поисковых систем, но скрывать его для пользователей (не совсем скрывать, но всё же).
Этот запрещенный прием называется "маскировка".
Инфа от Гугла: Для просмотра ссылки Войди или Зарегистрируйся

В моем случае текст будет скрываться с помощью Javascript (плагин Readmore.js). Можно попытаться избежать санкций обрамив данный текст в тег <noscript> в соответствии с рекомендацией от Гугла:
Для просмотра ссылки Войди или Зарегистрируйся
Но надежнее, как мне кажется, будет использовать это совместно с CrawlerDetect.

Вот теперь главный вопрос:
Как заставить работать CrawlerDetect по тому же принципу как сейчас работает Mobile_Detect.php?

Насколько известно, часть кода для CrawlerDetect взята из Mobile_Detect (Для просмотра ссылки Войди или Зарегистрируйся).
Может знающие люди в php подскажут, что делать?

Сам Mobile_Detect в Prestashop находится в tools/mobile_Detect.
Также задействованы файлы: classes/Context.php, FrontController.php
 
Последнее редактирование:
Что ни у кого вообще нет идей?
 
Почему нет, есть, готового кода нет. Всё ещё проще чем мобайл-детект:
1. Подключить библиотеку
2. Проверить одной функцией краулер или нет
3. Вернуть результат в переменную смарт
 
Почему нет, есть, готового кода нет. Всё ещё проще чем мобайл-детект:
1. Подключить библиотеку
2. Проверить одной функцией краулер или нет
3. Вернуть результат в переменную смарт
А по подробнее? На конкретном примере
 
Создать папку tools/crawler_Detect, в ней инсталлировать библиотеку командой
Код:
composer require jaybizzle/crawler-detect 1.*

Добавить два файла в override:
override/classes/Context.php
Скрытое содержимое доступно для зарегистрированных пользователей!

override/classes/controller/FrontController.php
Скрытое содержимое доступно для зарегистрированных пользователей!

в шаблоне что-то типа этого:
Скрытое содержимое доступно для зарегистрированных пользователей!

Не забыть удалить cache/class_index.php перед работой, чтобы подхватились новые файлы.
 
Назад
Сверху