Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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

......

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

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

Link to comment
Share on other sites


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

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

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

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

Disallow: /*?page

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

2.

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

max_execution_time = 4000

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

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

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

Link to comment
Share on other sites


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

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

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

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

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

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

  • +1 1
Link to comment
Share on other sites

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

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 он уже подректованный?

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

Link to comment
Share on other sites


если я прописал в РОБОТС запрет на ингдексацию всех страниц (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
Link to comment
Share on other sites

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

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

Попробую объяснить разницу между между этими понятиями на примере меитега 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

Link to comment
Share on other sites


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

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

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

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

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

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

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

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

Link to comment
Share on other sites


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

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

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

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

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

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

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

Link to comment
Share on other sites


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

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

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

  • +1 1
Link to comment
Share on other sites

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

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

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

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

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

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

Link to comment
Share on other sites


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

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

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

<?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... куда-же мы гденем эти запросы... они же нужны...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.