Нічого не знайдено

Спробуйте інший пошуковий запит

Популярні запити:

Додати в кошик

Кошик

У вас поки немає покупок

Переглянути маркетплейс

Редірект з відключеної мовної версії (en > uk) в OpenCart

Поширену проблема SEO та юзабіліті в інтернет-магазинах на базі OpenCart, коли виникає потреба вимкнути або видалити англійську (чи будь-яку іншу) мовну версію сайту.

2 хв читання
39
2
Редірект з відключеної мовної версії (en > uk) в OpenCart

Поширену проблема SEO та юзабіліті в інтернет-магазинах на базі OpenCart, коли виникає потреба вимкнути або видалити англійську (чи будь-яку іншу) мовну версію сайту. Зазвичай після відключення мови в адмінпанелі, всі старі URL-адреси, які вже встигли потрапити в індекс пошукових систем (наприклад, Google), починають віддавати помилку 404 (Сторінку не знайдено). Це негативно впливає на поведінкові фактори користувачів та знижує позиції сайту в пошуковій видачі.


Якщо на вашому сайті використовувався чіткий мовний префікс у посиланнях (наприклад, перенаправлення з /en/ на головну чи на старі російські сторінки виду /ru/), і структура ЧПУ (SEO URL) при цьому ідентична — таку задачу можна і краще вирішити на рівні сервера через файл .htaccess


# Редирект з /en/ або /en на головну сторінку
RewriteCond %{REQUEST_URI} ^/en/?$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/en/(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/ [R=301,L]


Ваш випадок, якщо посилання на сайті йшли без мовного префікса, а в налаштуваннях магазину увімкнено SeoPro

Модифікатор автоматично перехоплює запити до відключеної мовної версії та реалізує коректний 301-й редирект (Moved Permanently) на базову (українську) локалізацію сайту з повним збереженням структури URL (якщо сторінка існує).

У поточному коді модифікатора за замовчуванням прописаний ID мови 2, що відповідає українській локалізації на тестовому та більшості стандартних сайтів.


<?xml version="1.0" encoding="utf-8"?>
<modification>
    <name>EN redir to UKR</name>
    <code>EN redir to UKR</code>
    <version>1.0</version>
    <author>kJlukOo</author>
    <link>https://cleanphp.pp.ua</link>
<file path="system/library/seopro.php">
    <operation>
        <search><![CDATA[public function prepareRoute($parts) {]]></search>
        <add position="before"><![CDATA[
            function enRedirToUkr($keyword)
            {
                $query_string = $this->getQueryByKeyword($keyword, 2);
                if ($query_string) {


                    $url_data = explode('=', $query_string);
                    
                    if (count($url_data) == 2) {
                        $route_type = $url_data[0]; // 'information_id', 'product_id' и т.д.
                        $route_id   = $url_data[1];
                        
                        $route = '';
                        if ($route_type == 'product_id') {
                            $route = 'product/product';
                        } elseif ($route_type == 'category_id') {
                            $route = 'product/category';
                        } elseif ($route_type == 'manufacturer_id') {
                            $route = 'product/manufacturer/info';
                        } elseif ($route_type == 'information_id') {
                            $route = 'information/information';
                        }
                        
                        if ($route) {
                            $new_url = $this->url->link($route, $route_type . '=' . (int)$route_id);
                            $this->response->redirect($new_url, 301);
                        }
                    }
                }
            }
        ]]></add>
    </operation>
</file>
<file path="system/library/seopro.php">
    <operation>
        <search><![CDATA[$query = $this->getQueryByKeyword($parts[$id]);]]></search>
        <add position="after"><![CDATA[
            if(!$query) 
                    $this->enRedirToUkr($parts[$id]);
        ]]></add>
    </operation>
</file>
</modification>
kJlukOo

kJlukOo

стаття
1
переглядів
39
вподобання
2
підписників
0

Схожі статті

Коментарі (0)

Відповідь для

Увійдіть, щоб залишити коментар

Увійти

Коментарів поки немає

Будьте першим, хто залишить коментар до цієї статті!

Ми використовуємо cookies

Ми використовуємо cookies та схожі технології для покращення вашого досвіду, аналізу трафіку та показу персоналізованої реклами. Детальніше — у нашій Політиці cookies.