Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Научите меня, или...


chukcha

Recommended Posts

 

Забыли ;)

 

product.tpl

$('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>');

Нет не забыл, вроде бы умею пользоваться Fiddler. Доп ajax запроса не было.

Надіслати
Поділитися на інших сайтах

после onload на странице появились эти ссылки

http://opt-vaz.ru/index.php?route=product/product/review&product_id=94&page=1

где-то была статья что google chrome индексирует ссылки по которым переходит пользователь

Надіслати
Поділитися на інших сайтах

Нет не забыл, вроде бы умею пользоваться Fiddler. Доп ajax запроса не было.

$('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>');

А что это не ajax запрос ?

Надіслати
Поділитися на інших сайтах

после onload на странице появились эти ссылки

http://opt-vaz.ru/index.php?route=product/product/review&product_id=94&page=1

где-то была статья что google chrome индексирует ссылки по которым переходит пользователь

 

да, есть и такое, есть и то что yandex бар стучит индексу а всех переходах и яшин робот начинает облазить эти ссылки

Надіслати
Поділитися на інших сайтах

-

Змінено користувачем tabook
Надіслати
Поділитися на інших сайтах

да, есть и такое, есть и то что yandex бар стучит индексу а всех переходах и яшин робот начинает облазить эти ссылки

но это не подтверждает твое высказывание, что ПС умеют выцеплять ссылки из js текста

Надіслати
Поділитися на інших сайтах

Это не ответ на начало топика, а уход от темы

 

Где, в чем ошибка deeman? в части обработки аякс признака

Чем отличается полный путь от относительного, и почему нужно писать полный путь?

Надіслати
Поділитися на інших сайтах

Это не ответ на начало топика, а уход от темы

 

Где, в чем ошибка deeman? в части обработки аякс признака

Чем отличается полный путь от относительного, и почему нужно писать полный путь?

 

К примеру  вызов на странице ajax -ом (чтобы не индексировался контент в каждой карточке товара) "таблицы размеров" и чтобы они не индексировались

 

Если сделать через метод - попадет в индекс как с отзывами ошметки

Если полным путем ajax вызов - не попадет

 

Насчет реагирования - карточка продукта не реагирует никак на вызов ajax запроса с полным путем все работает как часы, а у deeman - нет - перехватывается любой вызов ajax с полным путем

 

Отбросьте все симпатии и антипатии - был бы это не deeman и его модуль, а кто то другой новичок - заклевали бы.

 

Вопрос с полным путем в ajax вызове закрыт "почему", Требования SEO шников - всёю

 

У меня тоже все вызовы ajax были раньше сразу к методам. SEO ошники (большие SEO студии)  сразу же чуть шапками не закидали. И начали показывать как другие делают!

 

Даже оплатили изменения, чтобы был вызван полный путь страницы

 

И после этого сказали что всё good и классно работает

 

Потом я стал уже замечать как другие вызывают ajax вызовы - полным путем и не просто так!

 

Ведь обратиться к методу - проще!

Надіслати
Поділитися на інших сайтах

markimax, в движке изначально куча таких длинных ссылок

'index.php?route=checkout/cart/add',
'index.php?route=account/wishlist/add'
'index.php?route=product/compare/add',
'index.php?route=product/search';
Надіслати
Поділитися на інших сайтах

Отбросьте все симпатии и антипатии - был бы это не deeman и его модуль, а кто то другой новичок - заклевали бы.

 

Не ваша правда

 

 

 

Если сделать через метод - попадет в индекс как с отзывами ошметки

Если полным путем ajax вызов - не попадет

Я уже устал просить - покажите код, чтобы понять полный путь аякс, а где через метод

Надіслати
Поділитися на інших сайтах

Не ваша правда

 

 

Я уже устал просить - покажите код, чтобы понять полный путь аякс, а где через метод

chukcha :) Не удивляйте хоть Вы меня

 

К примеру

 

Полный путь вызова

На URL страницы http://domen.ru/page/

$.ajax({
   type: 'POST',
   url: 'http://domen.ru/page/',
   data: {product_id: '11' },
....

Через метод

$.ajax({
   type: 'POST',
   url: 'http://domen.ru/index.php?route=module/my',
   data: {product_id: '11' },
....

В первом случае URL вызова ajax и URL страницы одинаковые - робот по ссылке не пойдет

 

Во втором случае в индекс пойдет и второй URL в котором есть контент, который SEO специалисты НЕ ХОТЯТ чтобы он был в индексе!

Надіслати
Поділитися на інших сайтах

Знает когда одна SEO студия "не наша" кстати обратилась ко мне (жаль переписку удалил ЛС не помещается ограничение 500) чтобы я переделал вызов ajax на полные URL страницы 

Я тоже ответил им что они ничего не понимают в программировании и пусть идут лесом :ugeek:

Но знаете их доводы были очень обоснованными и очень убедительными с точки зрения SEO.

 

Мы программисты иногда забываем (или "корона вырастает") что помимо нас есть еще SEO - шники, дизайнеры, верстальщики

Надіслати
Поділитися на інших сайтах

Полный путь вызова

На URL страницы http://domen.ru/page/

$.ajax({
   type: 'POST',
   url: 'http://domen.ru/page/',
   data: {product_id: '11' },
....
Через метод

$.ajax({
   type: 'POST',
   url: 'http://domen.ru/index.php?route=module/my',
   data: {product_id: '11' },
....
В первом случае URL вызова ajax и URL страницы одинаковые - робот по ссылке не пойдет

 

Во втором случае в индекс пойдет и второй URL в котором есть контент, который SEO специалисты НЕ ХОТЯТ чтобы он был в индексе!

Но вопросы остались

Причем здесь вызов полного пути и метода

Т.е. по сути были использована подмена понятия, и для прояснения понадобилось очень много времени

$.ajax - это метод

url - путь

А вот путь (url) может быть как приведенный к ЧПУ, так и находиться в девственном состоянии, т.е. содержать адрес контроллера.

Далее мы выяснили почему нужно делать "полный путь" = ЧПУ

И почему возможны проблемы с "методом" = путь к контроллеру с указанием метода.

Но опять забывши, что Г умеет onload

Надіслати
Поділитися на інших сайтах

Ну, хорошо, с путем выяснили, наконец-то

 

Теперь бы выяснить с перехватом.

chukcha знаю с SEO вы дружите, теперь внимательно по пунктам

 

Теперь представьте ситуацию

 

1. "Я" (пользователь)  хочу на странице оформления заказа вывести какую нибудь информацию о доставке и оплате и не хочу чтобы она индексировалась и не опускала страницу доставки

2. Соответственно через ajax вызываю эту "информацию"

3. Если я вызову через   (кстати так раньше и было (вызов такой))

$('#мой блок').load('index.php?route=module/my&....');

То google или яндекс все равно проиндексирует её (с этим мы уже разобрались)

4. Поэтому SEO студии потребовали вызывать полным URL страницы, что логично и правильно, потому что ссылки одинаковые и робот по ней не пойдет

Вот и вызываю

(url оформления http://domen.ru/simplechekout/)

$.ajax({
   type: 'POST',
   url: 'http://domen.ru/simplechekout/',
   data: {info_id: '1' },
...
...

Логично

4. Но вместо этого simpla нагло перехватывает вызов и ОНА выводит СВОЮ информацию и не дает работать ДРУГИМ модулям

$this->data['ajax'] = true;

            $this->data['simple'] = $this->simple;

            

            if (!isset($this->request->server['HTTP_X_REQUESTED_WITH']) || $this->request->server['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {

                $this->data['ajax'] = false;

                

                $this->children = array(

                    'common/column_left',

                    'common/column_right',

                    'common/content_top',

                    'common/content_bottom',

                    'common/footer',

                    'common/header',

                );

            }

                  

            $this->response->setOutput($this->render());

        } else {

            $this->data['heading_title'] = $this->language->get('heading_title');

            

            $this->data['text_error'] = $this->language->get('text_empty');

            

            $this->data['button_continue'] = $this->language->get('button_continue');

            

            $this->data['continue'] = $this->url->link('common/home');

            

            $this->data['simple'] = $this->simple;

            

            if (isset($this->request->server['HTTP_X_REQUESTED_WITH']) && $this->request->server['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

                $this->response->setOutput('<script type="text/javascript">location="'.$this->url->link('checkout/simplecheckout', '', 'SSL').'";</script>');

                return;    

            }

5. Т е не проверяет входящие данные, о том что ЕЁ форма не изменилась или сработала по какому то "маркеру", что вызвали именно её контроллер (там работы было на 2 минуты)

 

6. Но ведь это страница оформления opencart (где работают могут работать модули разные, к примеру -  меню, которые тоже могут вызываться через ajax, чтобы лишнюю ссылочную массу ( к примеру кучу подкатегорий)  не индексировать  на странице)  а не контроллера симплы, и там пользователь имеет право повесить любой модуль что ему надо

Надіслати
Поділитися на інших сайтах

одну минуточку

Если  нет seourl для такой страницы, то оба пути одинаковы.

 

Если есть, то тут возможны варианты

1. Техническая страница - должна быть закрыта в роботсе и тогда пофик

 

2. SEO контент -  дабы не проиндексировались некие блоки все аякс скрипты должны идти от имени страницы

Здесь нужно менять роутер=рерайтер, включать кроме route еще и вызов метода

?route=product/product&method=review Но это не в этой жизни

 

3. SEO контент - дабы не проиндексировались некие блоки  в коде контроллера и шаблона должен быть соответствующий код  $url_method = $this->url->link и echo $url_method/

Возможно, но все равно непонятно зачем.

Надіслати
Поділитися на інших сайтах

одну минуточку

Если  нет seourl для такой страницы, то оба пути одинаковы.

 

Если есть, то тут возможны варианты

1. Техническая страница - должна быть закрыта в роботсе и тогда пофик

 

2. SEO контент -  дабы не проиндексировались некие блоки все аякс скрипты должны идти от имени страницы

Здесь нужно менять роутер=рерайтер, включать кроме route еще и вызов метода

?route=product/product&method=review Но это не в этой жизни

 

3. SEO контент - дабы не проиндексировались некие блоки  в коде контроллера и шаблона должен быть соответствующий код  $url_method = $this->url->link и echo $url_method/

Возможно, но все равно непонятно зачем.

 

1. По умолчанию страницы где есть контроллер simpla не закрыты от индексации и 90% пользователей не лазят и не знают про robots.txt

2. URL вызова = URL старницы во втором случаи и ПС не пойдут по ней.

3. Ну да! Так и есть конечно же!

4. Всё очень понятно - пользователь не хочет информацию к примеру доставки дублировать на странице оформления, чтобы та не оказалась выше в индексе поисковика случайно (человек перейдет по ссылке в ПС которая выше инфо о доставке  и увидит пустую корзину, подумает, ептеть моптеть - куда я попал или что еще хуже попадет на ошметки вызова (рассмотренные выше на примере отзывов) вообще без ничего) Это требования SEO шников, не просьба или рекомендации, а требования

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.