Для того, чтобы сделать url системных страниц таких как http://имя-домена/index.php?route=information/contact  также ЧПУ(seo friendly urls), как и страниц категорий, товаров, пользовательских информационных страниц, - поставить переключатель в настройках магазина "Включить ЧПУ" и переименовать файл htaccess.txt в .htaccess не достаточно. Есть 2 метода решить эту проблему.

  1. Подправить файл catalog/controller/startup/seo_url.php, добавив массив ключ-значение, где ключ=information/contact, а  значение=contact для страницы контактов и т.д. для остальных системных страниц. А также перенаправление для ссылок этих страниц в  соответствии с данными вышеуказанного массива.
  2. В phpMyAdmin выполнить ряд SQL команд, связанных с дополнением таблицы url_alias, ключами и значениями для всех системных страниц. А также скорректировать файл catalog/controller/startup/seo_url.php, задав перенаправление для ссылок системных страниц в  соответствии с данными таблицы oc_url_alias, где oc-это префикс базы данных ().

 Первый метод

Все добавки кода в файле catalog/controller/startup/seo_url.php помечены комментариями Start/Seo friendly urls for system pages и End/Seo friendly urls for system pages
Download var2

 Второй метод

Добавка кода в файле catalog/controller/startup/seo_url.php помечена комментариями Start/Seo friendly urls for system pages и End/Seo friendly urls for system pages

Download var3

А также не забываем про команды SQL, которые выполняются через панель управления хостингом (сервером) в системе управления базой данных (PhpMyAdmin). Открываем вкладку SQL и выполняем следующие команды:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
INSERT INTO oc_url_alias (query, keyword) VALUES ('common/home', '');
INSERT INTO oc_url_alias (query, keyword) VALUES ('checkout/cart', 'shopping-cart');
INSERT INTO oc_url_alias (query, keyword) VALUES ('checkout/checkout', 'checkout');
INSERT INTO oc_url_alias (query, keyword) VALUES ('checkout/voucher', 'gift-vouchers');
INSERT INTO oc_url_alias (query, keyword) VALUES ('product/special', 'specials');
INSERT INTO oc_url_alias (query, keyword) VALUES ('product/manufacturer', 'brands');
INSERT INTO oc_url_alias (query, keyword) VALUES ('product/compare', 'compare-products');
INSERT INTO oc_url_aliass (query, keyword) VALUES ('product/search', 'search');
INSERT INTO oc_url_alias (query, keyword) VALUES ('information/contact', 'contact-us');
INSERT INTO oc_url_alias (query, keyword) VALUES ('information/sitemap', 'sitemap');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/wishlist', 'wishlist');
INSERT INTO oc_url_aliass (query, keyword) VALUES ('account/account', 'my-account');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/return/insert', 'request-return');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/login', 'login');
INSERT INTO oc_url_aliass (query, keyword) VALUES ('account/logout', 'logout');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/order', 'order-history');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/newsletter', 'newsletter');
INSERT INTO oc_url_aliass (query, keyword) VALUES ('account/forgotten', 'forgot-password');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/download', 'downloads');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/return', 'returns');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/transaction', 'transactions');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/register', 'create-account');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/edit', 'edit-account');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/password', 'change-password');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/address', 'address-book');
INSERT INTO oc_url_alias (query, keyword) VALUES ('account/reward', 'reward-points');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/account', 'affiliates');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/edit', 'edit-affiliate-account');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/password', 'change-affiliate-password');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/payment', 'affiliate-payment-options');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/tracking', 'affiliate-tracking-code');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/transaction', 'affiliate-transactions');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/logout', 'affiliate-logout');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/forgotten', 'affiliate-forgot-password');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/register', 'create-affiliate-account');
INSERT INTO oc_url_alias (query, keyword) VALUES ('affiliate/login', 'affiliate-login');

Далее нужно сделать файл ocmod для внесения правок в файл seo_url.php и загрузить его посредством установки расширений. Такой модификатор вы можете скачать, но он еще дополнен и другим функционалом. При включении опции seo url в настройках магазина этот модификатор для всех товаров/категорий, откуда бы они ни вызывались, открывает страницу соответствующего товара/категории по его/ее самому длинному пути. Т.е. будет открываться не http://domen_name/product_name, а http://domen_name/category/subcategory/product_name, если конечно для товара выбраны эти категории. Страницы по более коротким путям, хотя и не будут нигде на сайте вызываться, но будут доступны по прямым ссылкам, т.е. если нужно избавится от дублей, то нужно добавлять 301 редирект. Только его делать не обязательно, потому-что каждая страница товара/категории снабжена тегом link с атрибутом canonical и эта ссылка на всех дублях одна и та же - самая длинная (http://domen_name/category/subcategory/product_name), если работает вышеупомянутый модификатор и - самая короткая (http://domen_name/product_name), для чистого opencart. Важно, чтоб ссылки с атрибутом canonical были открыты к индексации в sitemap. Для справки: Модули/расширения -> Каналы продвижения - здесь вы найдете расширение для создания sitemap, при активации и редактировании выбранного расширения найдете ссылку, по которой формируется sitemap. Введите ее в строку url и проверьте ссылки открытые к индексации.

Translate »
Рейтинг@Mail.ru Яндекс.Метрика