Jump to content

Recommended Posts

Кто знает подскажите плиз по карте сайта.

ocStore  Версия 1.5.5.1.2

Google Sitemap включен

Только обратил внимание что карта сайта генерирует по 3 одиковых урла. Какие то и по 5.

там где по 5, эти товары отображаются в нескольких подкатегориях.

Это нормально? если нет, то как это лечить?

Благодарю откликнуышихся

Share this post


Link to post
Share on other sites

Да, только что пользователю исправлял ту же  проблему.

Ставил sitemap из своего модуля

Share this post


Link to post
Share on other sites

Все же это дубли? А почему если SeoPro стоит и включено?

Share this post


Link to post
Share on other sites

Подскажите. А можно сделать так что бы в корень сайта сохраняласся файлик с картой сайта sitemap.xml ?

Share this post


Link to post
Share on other sites

И еще вопрос. Можно ли в карту поместить страницы пагинации?

Share this post


Link to post
Share on other sites

Что бы не было дублей товаров при использовании.
Заходим в catalog/controller/feed/google_sitemap.php

И удаляем или комментируем лишние генерации товаров
у производителей
с 35 строки по 43
У категорий с

85 по 91

Share this post


Link to post
Share on other sites

Убираем код 

			
			$products = $this->model_catalog_product->getProducts(array('filter_manufacturer_id' => $manufacturer['manufacturer_id']));
			
			foreach ($products as $product) {
			   $output .= '<url>';
			   $output .= '<loc>' . $this->url->link('product/product', 'manufacturer_id=' . $manufacturer['manufacturer_id'] . '&product_id=' . $product['product_id']) . '</loc>';
			   $output .= '<changefreq>weekly</changefreq>';
			   $output .= '<priority>1.0</priority>';
			   $output .= '</url>';   
			} 

И вот это

		 $products = $this->model_catalog_product->getProducts(array('filter_category_id' => $result['category_id']));
		 
		 foreach ($products as $product) {
			$output .= '<url>';
			$output .= '<loc>' . $this->url->link('product/product', 'path=' . $new_path . '&product_id=' . $product['product_id']) . '</loc>';
			$output .= '<changefreq>weekly</changefreq>';
			$output .= '<priority>1.0</priority>';
			$output .= '</url>';   
		 }  
  • +1 1

Share this post


Link to post
Share on other sites

Добрый день,

 

Что бы не плодить новых тем, подниму эту. Заметил что мало страниц моего сайта индексируется в гугле. Или может я что путаю, т.к. если в гугле задать - site: мой сайт выдаёт около 1800, сайт новый и я думаю это много =), при том что товаров около 150ти. Новичок я в этом деле прошу строго не судить. Зарегился на гугле, подтвердил свой сайт. Зашёл в индексацию, а там "Проиндексировано всего 0" как я понимаю это не есть хорошо..

 

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

"Note: Only first 4350 unique URLs captured due to the page limit. Page limit is now dynamic and changes frequently through the day - based on server load."

 

Как я понял, не все url записались а сервис сам ограничил записи на 4350 строке. Ну думаю ладно попробую такую карту.

Скинул её в корень сайта, пробую подгрузить в гугле. решил проверить сначала на ошибки и тут мне выдаёт:

 

"Ваш Sitemap не содержит URL. Проверьте Sitemap и отправьте его повторно."

 

Почему так? открываю блокнотом там есть записи..

 

в робот.тхт добавил:

 

User-agent: *
Allow: /
Sitemap: http://мой сайт/sitemap.xml
 
Прошу помочь.

Share this post


Link to post
Share on other sites

Во первых в гугл надо пихать ссылку на sitemap тот который генерируем сам движок

http://domain.com/index.php?route=feed/google_sitemap
А во вторых рекомендуемый и провереный robots.txt должен быть вида:

User-agent: *
Allow: /*.css
Allow: /*.js
Allow: /*.jpg
Allow: /*.png
Disallow: /?
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /admin
Disallow: /download
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /register/
Disallow: /login/
Disallow: /forgot-password/
Disallow: /transactions/
Disallow: /order-history/
Disallow: /address-book/
Disallow: /my-account/
Disallow: /newsletter/
Disallow: /compare/
Disallow: /wishlist/
Disallow: /vouchers/
Disallow: /search/
Disallow: /specials/
Disallow: /checkout/

User-agent: Yandex
Allow: /*.css
Allow: /*.js
Allow: /*.jpg
Allow: /*.png
Disallow: /?
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /admin
Disallow: /download
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /register/
Disallow: /login/
Disallow: /forgot-password/
Disallow: /transactions/
Disallow: /order-history/
Disallow: /address-book/
Disallow: /my-account/
Disallow: /newsletter/
Disallow: /compare/
Disallow: /wishlist/
Disallow: /vouchers/
Disallow: /search/
Disallow: /specials/
Disallow: /checkout/

Host: domain.com
Sitemap: http://domain.com/index.php?route=feed/google_sitemap

Хороших вам продаж!

Edited by afwollis
[spoiler][/spoiler]
  • +1 1

Share this post


Link to post
Share on other sites

Спасибо за ответ!

 

Естественно нужно включить эту генерацию). Дополнения->Каналы продвижения?

Сейчас у меня выключен Google Sitemap как и Google Base..

 

Спасибо за robots.txt, я как понимаю он универсальный?

У меня сейчас он так выглядит:

 

User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /download
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /&coolfilter*
Disallow: /?coolfilter*
 
User-agent: Yandex
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /download
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /&coolfilter*
Disallow: /?coolfilter*
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=

 

Clean-param: tracking
 
 
По отсутствию опыта/знаний, боюсь что ли бы выкидывать. Добавить отличия от вашего  robots.txt сейчас добавлю.
Если не тяжело посмотрите, что точно можно удалить.
 
Вот это например, как я понимаю нужно оставить:
Disallow: /&coolfilter*
Disallow: /?coolfilter*
 
Это как я понимаю из-за наличия в моём шаблоне этого фильтра..
 
P.S. Ещё вопрос новичка. Пока я не подсуну гуглу сайтмап, он индексировать(выводить в свой поиск) страницы не будет?
Хотя при вводе Site:domain.com показывает около 1700 страниц.

Share this post


Link to post
Share on other sites

 

Убираем код 

			
			$products = $this->model_catalog_product->getProducts(array('filter_manufacturer_id' => $manufacturer['manufacturer_id']));
			
			foreach ($products as $product) {
			   $output .= '<url>';
			   $output .= '<loc>' . $this->url->link('product/product', 'manufacturer_id=' . $manufacturer['manufacturer_id'] . '&product_id=' . $product['product_id']) . '</loc>';
			   $output .= '<changefreq>weekly</changefreq>';
			   $output .= '<priority>1.0</priority>';
			   $output .= '</url>';   
			} 

И вот это

		 $products = $this->model_catalog_product->getProducts(array('filter_category_id' => $result['category_id']));
		 
		 foreach ($products as $product) {
			$output .= '<url>';
			$output .= '<loc>' . $this->url->link('product/product', 'path=' . $new_path . '&product_id=' . $product['product_id']) . '</loc>';
			$output .= '<changefreq>weekly</changefreq>';
			$output .= '<priority>1.0</priority>';
			$output .= '</url>';   
		 }  

помогло, но в карте больше нет ссылок на блог как быть?

Share this post


Link to post
Share on other sites

помогло, но в карте больше нет ссылок на блог как быть?

Значит нужно их добавить)) Пишите в личку, могу помочь с правками на корисной основе.

Share this post


Link to post
Share on other sites

Да, только что пользователю исправлял ту же  проблему.

Ставил sitemap из своего модуля

Марк, подскажите пожалуйста, может я что то не так настроил, но дубли остались

При стандартном SEO Pro - по 2-3 дубля

При подключении SEO CMS Google Sitemap выдает по одному дублю каждой странички

Что я не так делаю?

И второй вопрос - что стандартный модуль, что от SEO CMS указывают везде приоритет 1.0 для страниц.

А можно ли как то настроить так, чтоб для главной и допустим главных категорий был приоритет 1, для подкатегорий 0.8, для страничек товаров - 0.5 ?  

Share this post


Link to post
Share on other sites

Эхехех....
Понял - там не дубль, а с разным префиксом - для русского и украинского языка

Тогда вопрос по приоритету страниц только остается.

Share this post


Link to post
Share on other sites

Эхехех....

Понял - там не дубль, а с разным префиксом - для русского и украинского языка

Тогда вопрос по приоритету страниц только остается.

1. Ага SEO мультиязык 2  правильно отрабатывает свой "хлеб" :)

2. Это в контроллере задается

\catalog\controller\record\google_sitemap_blog.php

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

И в том же "духе" по всему коду

  • +1 1

Share this post


Link to post
Share on other sites

@markimax, та я сначала аж расстроился немного
Ну думаю, засада какая то
Переключил обратно на СеоПро - дублей еще больше и потом подумал - а там же у меня префиксы разве что будут отличаться!
И точно, модуль отработал на все 100!

Попробую поменять приоритеты.
Хотя тут из серии "на трех сеошников четыре мнения"
Кто советует главное давать 1.0, подкатегориям 0.8, под-подкатегориям 0.7 и страничкам 0.5, а кто наоборот...

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

В общем пока оставлю так, посмотрю как оно пойдет, потом если что - буду играться с настройками

Share this post


Link to post
Share on other sites

ПС давно плевать на этот параметр, можете вообще удалить

Share this post


Link to post
Share on other sites
On 10.09.2015 at 10:03 AM, Waha said:

Убираем код 


			
			$products = $this->model_catalog_product->getProducts(array('filter_manufacturer_id' => $manufacturer['manufacturer_id']));
			
			foreach ($products as $product) {
			   $output .= '<url>';
			   $output .= '<loc>' . $this->url->link('product/product', 'manufacturer_id=' . $manufacturer['manufacturer_id'] . '&product_id=' . $product['product_id']) . '</loc>';
			   $output .= '<changefreq>weekly</changefreq>';
			   $output .= '<priority>1.0</priority>';
			   $output .= '</url>';   
			} 

И вот это


		 $products = $this->model_catalog_product->getProducts(array('filter_category_id' => $result['category_id']));
		 
		 foreach ($products as $product) {
			$output .= '<url>';
			$output .= '<loc>' . $this->url->link('product/product', 'path=' . $new_path . '&product_id=' . $product['product_id']) . '</loc>';
			$output .= '<changefreq>weekly</changefreq>';
			$output .= '<priority>1.0</priority>';
			$output .= '</url>';   
		 }  

удалил эти куски, изменения вступят в силу после следующей генерации?

Share this post


Link to post
Share on other sites

oxojeck, Ну вы по адресу ваш_сайт.com/sitemap.xml и посмотрите, проверьте код ошибок

 

Share this post


Link to post
Share on other sites
3 hours ago, Waha said:

oxojeck, Ну вы по адресу ваш_сайт.com/sitemap.xml и посмотрите, проверьте код ошибок

 

все ок, а не подскажите как сделать тоже самое с yandex sitemap?

вот код:

<?php
class ControllerExtensionFeedYandexSitemap extends Controller {
	public function index() {
		if ($this->config->get('yandex_sitemap_status')) {
			$output  = '<?xml version="1.0" encoding="UTF-8"?>';
			$output .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

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

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

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

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

			foreach ($manufacturers as $manufacturer) {
				$output .= '<url>';
				$output .= '<loc>' . $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $manufacturer['manufacturer_id']) . '</loc>';
				$output .= '<changefreq>weekly</changefreq>';
				/** В этом блоке переменная lastmod пустая **/
				$output .= '<priority>0.7</priority>';
				$output .= '</url>';

			}

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

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

			foreach ($informations as $information) {
				$output .= '<url>';
				$output .= '<loc>' . $this->url->link('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>' . $this->url->link('product/category', 'path=' . $new_path) . '</loc>';
			$output .= '<changefreq>weekly</changefreq>';
			$output .= '<priority>0.7</priority>';
			$output .= '</url>';

			$products = $this->model_catalog_product->getProducts(array('filter_category_id' => $result['category_id']));

			foreach ($products as $product) {
				$output .= '<url>';
				$output .= '<loc>' . $this->url->link('product/product', 'path=' . $new_path . '&product_id=' . $product['product_id']) . '</loc>';
				$output .= '<changefreq>weekly</changefreq>';
				$output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>';
				$output .= '<priority>1.0</priority>';
				$output .= '</url>';
			}

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

		return $output;
	}
}

 

Edited by oxojeck

Share this post


Link to post
Share on other sites

oxojeck, Могу зайти и сделать. поздно уже пояснялка не работает

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.