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

3 вопроса по robots.txt


Recommended Posts

всем здравствуйте!

ocstore 0.2.2

у меня возникло 3 вопроса:

1) видел вот такое заявление:

Disallow: /*?page

#Запрещаем индексировать все страницы продукции производителя, кроме первой.

#Тут две стороны медали - с одной мы избавляемся от дублей тайтлов и мета-тегов,

#а с другой теряем все страницы с товарами одной фирмы, кроме первой

я так понимаю, что лучше не писать такую строчку?

потому что в таком случае не индексируются не только 2 и последующие страницы произодителя, но и страницы категорий тоже.

и ещё очень важный вопрос, потому как я не знаю этого: в таком случае не индексируются непосредственно страницы например:

http://www.site.ru/cat/?page=2

или же и все товары на этой странице ТОЖЕ НЕ БУДУТ ИНДЕКСИРОВАТЬСЯ?

2) как всё-таки лучше сделать карту сайта?

у меня на сайте 7000 товаров и каждый день по чуть-чуть добавляются новые.

например, стоит ли использовать вот такую программу A1 Sitemap Generator 3. она у меня сегодня 4 часа просчитывала карту сайта.

и как пользоваться стандартным модулем Google Sitemap?

я в адресную строку вбиваю.

http://www.site.ru/index.php?route=feed/google_sitemap

но у меня виснет всё. а потом ошибку выбрасывает. ну видимо потому что он пытается создать карту сайта, а там 7000 наименований.

3) если я хочу для Яндекса отдельно описать, то:

сначала указывать строки для Яндекса, а потом строки для всех?

т.е. вот так:

User-agent: Yandex

Disallow: /index.php?route=account

Disallow: /index.php?route=checkout

Disallow: /index.php?route=common

Disallow: /index.php?route=product

Disallow: /index.php?route=information/information&information_id=

Disallow: /*?manufacturer

Disallow: /*?sort

Disallow: /*?order

Disallow: /*?keyword

Disallow: /admin/

Disallow: /download/

Disallow: /catalog/

Disallow: /system/

Host: www.site.ru

User-Agent: *

Disallow: /index.php?route=account

Disallow: /index.php?route=checkout

Disallow: /index.php?route=common

Disallow: /index.php?route=product

Disallow: /index.php?route=information/information&information_id=

Disallow: /*?manufacturer

Disallow: /*?sort

Disallow: /*?order

Disallow: /*?keyword

Disallow: /admin/

Disallow: /download/

Disallow: /catalog/

Disallow: /system/

или же наоборот, сначала для всех, а потом для Яндекса?

т.е. вот так

User-Agent: *

......

User-agent: Yandex

......

это вообще имеет значение?

Прошу знающих людей о помощи. Заранее спасибо!

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


  • Я вообще на все страницы у которых появляется page, order, sort, keyword и т.д. ставлю noindex,nofolow... расписывать почему мне лень. За поисковики не переживай, они все товары проиндексируют.
  • Внешние генераторы всегда будут медленнее локальных... 4 часа это жуть, и 7000 товаров это не много. Вот прямо сейчас причесываю человеку сайт. Примерно 500 категорий примерно 4000 товаров... сгенерил сайтмэп за 25 секунд... и это родным, OpenCart'овским, генератором... завтра поковыряю его - думаю будет летать. Так что лучше использовать встроенный генератор, а если плотно тупит - сливать сайтмэп в файл и скармливать этот файл поисковикам. По любому будет быстрее внешнего генератора.
  • Важен порядок следования директив внутри блоков для разных пауков, а порядок следования самих блоков - роли не играет. Я привык общие директивы писать в конце.
  • +1 1
Надіслати
Поділитися на інших сайтах

благодарю за ответы!

вот ещё парочка на основании ответов

1. т.е. вне зависимости от того, есть такая запись или нет

Disallow: /*?page

поисковик индексирует все товары, даже на этих запрещенных страницах?

2.

чтобы команда http://site.ru/index.../google_sitemap выполнилось пришлось поставить параметр

max_execution_time = 4000

и выполнение идёт несколько минут.

будет ли ждать поисковик её выполнения?

и в чём вообще может быть проблема? как ускорить?

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


Во первых есть сайтмэп в котором присутствуют ссылки на все товары

Во вторых когда добавляются товары они отображаются в новинках

В третьих есть кроссселинг, рекомендуемые и т.д.

Так что у поисковика есть куча возможностей проиндексировать страницы товаров.

По поводу генератора сайтмэп - его надо немного причесать что-бы он не тупил...

Для ocStore 0.2.х я уже выкладывал подрехтованный сайтмэп, а какая версия у тебя?

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

прошу прощения, что так гружу

1.меня тут вообще сам факт заинтересовал

вот при таком раскладе

http://www.site.ru/cat/

вот вторая страница

http://www.site.ru/cat/?page=2

если я прописал в РОБОТС запрет на индексацию всех страниц (Disallow: /*?page), кроме первой http://www.site.ru/cat/

влияет ли эта запись на индексацию САМИХ ТОВАРОВ на запрещенных (второй, третьей, пятой и т.д.) страницах?

2.

у меня OCSTORE 0.2.2

но модуль там стандартный. я не знал о подрехтованном.

или в этой версии OCSTORE он уже подрехтованный?

если нужно рехровать, не скажете, где найти его рехтованный?

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


если я прописал в РОБОТС запрет на индексацию всех страниц (Disallow: /*?page), кроме первой http://www.site.ru/cat/

влияет ли эта запись на индексацию САМИХ ТОВАРОВ на запрещенных (второй, третьей, пятой и т.д.) страницах?

Я подозреваю что ты не правильно трактуеш слово индесация...

Посещение поисковым роботом страницы и включение страницы в индекс это разные вещи.

Попробую объяснить разницу между между этими понятиями на примере метатега robots.

index,follow - поисковикам разрешено включать эту страницу в индекс и разрешено переходить по ссылкам найденным на этой странице

noindex,nofollow - поисковикам запрещено включать эту страницу в индекс и запрещено переходить по ссылкам найденным на этой странице

noindex,follow - поисковикам запрещено включать эту страницу в индекс, но разрешено переходить по ссылкам найденным на этой странице.

Обрати внимание на последнюю комбинацию... Поисковики по странице будут шариться, будут переходить по ссылкам с этой страницы, но в индекс эту страницу не включат и в поисковой выдаче ты эту страницу не увидиш. Но это в идеале, а в жизни бывает иначе...

Все эти "запрещено" и "разрешено" только звучат грозно... на самом деле это рекомендации, а не директивы.

Запись Disallow: /*?page предписывает поисковым паукам не включать в индекс страницы у которых в URL присутствует page, но не запрещает посещать эти страницы.

Эта запись не гарантирует что поисковики не будут посещать эти страницы и даже не гарантирует что эти страницы не будут включены в индекс.

Если поисковик где-то найдёт ссылку на страницу с page то может включить её в индекс не взирая на то что написано в robots.

Disallow: /*?page к страницам товаров имеет только косвенное отношение... т.е. если на товары есть сылки только на этих страницах и больше нигде ссылок нет и не было - то шансы этих товаров попасть в индекс снижаются.

Если на страницы товаров есть ссылки в сайтмэп, или есть ссылки с других страниц - то запись Disallow: /*?page ни как не мешает поисковикам посещать страницы товаров и включать их в индекс.

  • +1 4
Надіслати
Поділитися на інших сайтах

Я подозреваю что ты не правильно трактуеш слово индесация...

Посещение поисковым роботом страницы и включение страницы в индекс это разные вещи.

Попробую объяснить разницу между между этими понятиями на примере метатега robots.

index,follow - поисковикам разрешено включать эту страницу в индекс и разрешено переходить по ссылкам найденным на этой странице

noindex,nofollow - поисковикам запрещено включать эту страницу в индекс и запрещено переходить по ссылкам найденным на этой странице

noindex,follow - поисковикам запрещено включать эту страницу в индекс, но разрешено переходить по ссылкам найденным на этой странице.

Обрати внимание на последнюю комбинацию... Поисковики по странице будут шариться, будут переходить по ссылкам с этой страницы, но в индекс эту страницу не включат и в поисковой выдаче ты эту страницу не увидиш. Но это в идеале, а в жизни бывает иначе...

Все эти "запрещено" и "разрешено" только звучат грозно... на самом деле это рекомендации, а не директивы.

Запись Disallow: /*?page предписывает поисковым паукам не включать в индекс страницы у которых в URL присутствует page, но не запрещает посещать эти страницы.

Эта запись не гарантирует что поисковики не будут посещать эти страницы и даже не гарантирует что эти страницы не будут включены в индекс.

Если поисковик где-то найдёт ссылку на страницу с page то может включить её в индекс не взирая на то что написано в robots.

Disallow: /*?page к страницам товаров имеет только косвенное отношение... т.е. если на товары есть сылки только на этих страницах и больше нигде ссылок нет и не было - то шансы этих товаров попасть в индекс снижаются.

Если на страницы товаров есть ссылки в сайтмэп, или есть ссылки с других страниц - то запись Disallow: /*?page ни как не мешает поисковикам посещать страницы товаров и включать их в индекс.

шикарно расписали! спасибище!

просто буквально до вчерашнего дня у меня не было сайтмэпа. поэтому , возможно, некоторые страницы не попадали в индекс.

а на второй вопрос ответите? что мне с модулем SITEMAP делать?

ночью кстати пытался сделать сайтмэп командой http://site.ru/index.../google_sitemap

вот такая ошибка выходит часто

Error: MySQL server has gone away

Error No: 2006

SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM oc_review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM oc_product p LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN oc_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN oc_stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN oc_product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND

p.date_available <= NOW() AND pd.language_id = '1' AND p2s.store_id = '0' AND ss.language_id = '1' AND p2c.category_id = '95' ORDER BY p.sort_order ASC LIMIT 0,20

либо такая

504 Gateway Time-out

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


шикарно расписали! спасибище!

просто буквально до вчерашнего дня у меня не было сайтмэпа. поэтому , возможно, некоторые страницы не попадали в индекс.

а на второй вопрос ответите? что мне с модулем SITEMAP делать?

сгенерируй модуль sitemap сторонним сайтом.

например, вот: http://www.xml-sitemaps.com/

у тебя на выходе получится файл: sitemap.xml

его "скармливаешь" гуглу (яндексу и так далее) непосредственно из личного кабинета.

через сутки-двое поисковик проиндексирует твои страницы.

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


сгенерируй модуль sitemap сторонним сайтом.

например, вот: http://www.xml-sitemaps.com/

у тебя на выходе получится файл: sitemap.xml

его "скармливаешь" гуглу (яндексу и так далее) непосредственно из личного кабинета.

через сутки-двое поисковик проиндексирует твои страницы.

он делает максимум 500 страниц.

а у меня 7000 товаров

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


Ну ошибки как раз и говорят о том что безобразно высокая нагрузка... то сервак ложится, то выполняется слишком долго...

Если генериш сайтмэп и на сайте никого - то всё получается, а если при этом на сайт ещё кто-то заходит, например, поисковый паук - сервак умирает.

У тебя надо не просто генератор рехтовать, а оптимизировать большинство алгоритмов... у тебя-же сайт тупит не по детски.

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

Ну ошибки как раз и говорят о том что безобразно высокая нагрузка... то сервак ложится, то выполняется слишком долго...

Если генериш сайтмэп и на сайте никого - то всё получается, а если при этом на сайт ещё кто-то заходит, например, поисковый паук - сервак умирает.

У тебя надо не просто генератор рехтовать, а оптимизировать большинство алгоритмов... у тебя-же сайт тупит не по детски.

а что значит оптимизировать? всмысле почему? у меня же стандартный опенкарт. я ничего не дописывал. просто товары добавил.

или стандартный опенкарт не расчитан на такое количество товара?

и про sitemap всё-таки расскажете? где взять подрехтованный?

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


а что значит оптимизировать? всмысле почему? у меня же стандартный опенкарт. я ничего не дописывал. просто товары добавил.

Потому что стандартный Opencart.
  • +1 1
Надіслати
Поділитися на інших сайтах

Я не нашел тему в которой выкладывал, немного освобожусь - отрехтую ещё раз.

Но тебе надо понимать что проблема с сайтмэп - это следствие тяжелых алгоритмов и начинать надо с них...

Вот беглый разбор полётов...

<?php

class ControllerFeedGoogleSitemap extends Controller {

public function index() {

if ($this->config->get('google_sitemap_status')) {

$output = '<?xml version="1.0" encoding="UTF-8"?>';

$output .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

$this->load->model('tool/seo_url');

$this->load->model('catalog/product');

$products = $this->model_catalog_product->getProducts(); // извлекаются все товары из базы и в цикле ниже выводятся ссылки на все товары построенные то корня

foreach ($products as $product) {

$output .= '<url>';

$output .= '<loc>' . str_replace('&', '&', $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&product_id=' . $product['product_id'])) . '</loc>';

$output .= '<changefreq>weekly</changefreq>';

$output .= '<priority>1.0</priority>';

$output .= '</url>';

}

$this->load->model('catalog/category');

$categories = $this->model_catalog_category->getCategories(); // извлекаются все категории первого уровня но нигде не используются

$output .= $this->getCategories(0);

$this->load->model('catalog/manufacturer');

$manufacturers = $this->model_catalog_manufacturer->getManufacturers();

foreach ($manufacturers as $manufacturer) {

$output .= '<url>';

$output .= '<loc>' . str_replace('&', '&', $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/manufacturer&manufacturer_id=' . $manufacturer['manufacturer_id'])) . '</loc>';

$output .= '<changefreq>weekly</changefreq>';

$output .= '<priority>0.7</priority>';

$output .= '</url>';

$products = $this->model_catalog_product->getProductsByManufacturerId($manufacturer['manufacturer_id']);

foreach ($products as $product) {

$output .= '<url>';

$output .= '<loc>' . str_replace('&', '&', $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&manufacturer_id=' . $manufacturer['manufacturer_id'] . '&product_id=' . $product['product_id'])) . '</loc>';

$output .= '<changefreq>weekly</changefreq>';

$output .= '<priority>1.0</priority>';

$output .= '</url>';

}

}

$this->load->model('catalog/information');

$informations = $this->model_catalog_information->getInformations();

foreach ($informations as $information) {

$output .= '<url>';

$output .= '<loc>' . str_replace('&', '&', $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=information/information&information_id=' . $information['information_id'])) . '</loc>';

$output .= '<changefreq>weekly</changefreq>';

$output .= '<priority>0.5</priority>';

$output .= '</url>';

}

$output .= '</urlset>';

$this->response->addHeader('Content-Type: application/xml');

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

}

}

protected function getCategories($parent_id, $current_path = '') {

$output = '';

$results = $this->model_catalog_category->getCategories($parent_id);

foreach ($results as $result) {

if (!$current_path) {

$new_path = $result['category_id'];

} else {

$new_path = $current_path . '_' . $result['category_id'];

}

$output .= '<url>';

$output .= '<loc>' . str_replace('&', '&', $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $new_path)) . '</loc>';

$output .= '<changefreq>weekly</changefreq>';

$output .= '<priority>0.7</priority>';

$output .= '</url>';

$products = $this->model_catalog_product->getProductsByCategoryId($result['category_id']); // извлекаются товары определённой категории, но не все, а не более 20 и в цикле ниже выводятся ссылки с учетом категорий

foreach ($products as $product) {

$output .= '<url>';

$output .= '<loc>' . str_replace('&', '&', $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $new_path . '&product_id=' . $product['product_id'])) . '</loc>';

$output .= '<changefreq>weekly</changefreq>';

$output .= '<priority>1.0</priority>';

$output .= '</url>';

}

$output .= $this->getCategories($result['category_id'], $new_path);

}

return $output;

}

}

?>

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

Короче... на больших объёмах надо смотреть конкретную реализацию магазина и причесывать с учетом поставленной задачи.

Невозможно рассказать о всех проблемных местах, да я наверно о всех и не знаю... В разных магазинах - разные приключения встречаются. Даже если используется типовая сборка без каких либо правок - многое зависит от конфигурации...

Пару дней назад правил магазин...

Главная страница - 1660 SQL-запросов, время генерации 3,5 сек.... после обработки напильником запросов осталось меньше 50, время генерации - 0,16-0,18 сек.

Тэги и поиск - время генерации страницы 12-13 сек. ... после причесывания - 0,2-0,3 сек.

А человек не верил что это можно побороть... Тоже говорил что чистый Opencart... куда-же мы денем эти запросы... они же нужны...

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

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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