PrestaShop Як перенаправити продукти без втрати SEO та уникнути помилок 404.
- Що таке перенаправлення?
- Чому важливі перенаправлення?
- Як деактивувати продукти в PrestaShop.
- Деактивуйте продукти без перенаправлення (помилка 404).
- Деактивуйте продукти з переадресацією (301 або 302).
- Як перенаправляти продукти без втрати SEO і уникати 404 помилок.
[Усього: 3 Середня: 5/5]
PrestaShop є відмінним інструментом для створення функціональних інтернет-магазинів, які служать цілям магазину. Тобто продають. Подумайте про функціональність для вашого магазину і, можливо, PrestaShop, або він вже був реалізований, або вже розроблені модулі, щоб ви могли реалізувати його безкоштовно або за найскромнішою ціною. З іншого боку, також вірно, що іноді розробники PrestaShop трохи відхилилися, особливо що стосується SEO. Це стосується, наприклад, деактивованих продуктів і перенаправлення, які вони генерують. Але ми йдемо частково.
Що таке перенаправлення?
Уявіть, що ваш партнер завжди залишає свої черевики посередині кімнати. Одного разу ви піднімаєте їх і залишаєте їх акуратними в стійці для взуття. Результат: коли ваш партнер повертається і шукає взуття, ви не знайдете їх, тому що ви не попередили його. Перенесення в Інтернеті, пошук вашого партнера (який, як і Google, знає все) дав би "404 сторінку помилок не знайдено", оскільки ви неправильно не перенаправили свій пошук . Ми робимо перенаправлення, коли хочемо вказати пошуковим системам, що ми змінили, перемістили або видалили URL-адресу. Існують різні типи переадресацій, залежно від зміни, яку ми хочемо обмінюватися:
- Перенаправлення 301 (постійне). Надішліть весь трафік, призначений для URL-адреси A, URL-адресу B, а також повноваження SEO.
- Перенаправлення 302 (тимчасове) . Наприклад, коли ми хочемо вказати, що наш веб-сайт не буде доступний деякий час.
Чому важливі перенаправлення?
Перенаправлення мають принципове значення для позиціонування. Якщо ми не правильно вказуємо перенаправлення, ми ризикуємо втратити позицію та авторитет нашого інтернет-магазину.
Як деактивувати продукти в PrestaShop.
Припустимо, що сезон закінчився і що одяг буде припинено, що ваш постачальник пілотні годинники це більше не виробляє цю модель або що у вашому класичному магазині гоління ви більше не маєте більше запасу щіток для гоління. У цих випадках ви можете розглянути можливість деактивації продуктів, щоб видалити їх з каталогу та видалити їх з продажу. Щоб зробити це, просто перейдіть на вкладку "Продукт" на вкладці "інформація" та вимкніть продукт (Активовано: немає).
Деактивуйте продукти без перенаправлення (помилка 404).
Проблема з PrestaShop полягає в тому, що, коли ми деактивуємо продукт, за замовчуванням він не призначає жодного перенаправлення, генеруючи помилку 404 "page not found" . Важливо знати, що 404 помилки пошкодили позиціонування нашого сайту. Тому будьте дуже обережні при виключенні продуктів.
Коли ми деактивуємо продукт, PrestaShop за замовчуванням не призначає жодного перенаправлення, породжуючи erorr 404 "Сторінка не знайдена".
Замість того, щоб переходити до продукту, існує також можливість масового деактивації продуктів за допомогою опції "згруповані дії" з каталогу адміністратора>, які дозволяють вмикати або вимикати масово раніше вибрані продукти. Але око! Ми будемо генерувати потік 404 помилок.
Деактивуйте продукти з переадресацією (301 або 302).
Думки, які є найкращим способом керування деактивованими продуктами, багато і різноманітні, і вони б давали говорити довго і важко. У будь-якому випадку і з загальним характером, коли продукт деактивується, звичайно доцільно перенаправляти на подібний продукт . Для цього вибираємо опцію "Постійне перенаправлення (301)", а в полі "Супутній продукт" вказуємо подібний продукт.
PrestaShop Як перенаправити продукти без втрати SEO та уникнути помилок 404.
Що робити, якщо подібного продукту немає? У цьому випадку логіка сказала б перенаправлення на найближчу вищу категорію. І це коли ми не знаходимо іншого обмеження PrestaShop, оскільки це не дозволяє перенаправити деактивований продукт на категорію приналежності . Щоб вирішити цю невелику невідповідність, необхідно вдатися до перевизначення контролера.
Як перенаправляти продукти без втрати SEO і уникати 404 помилок.
Спочатку потрібно перенаправити деактивовані продукти в категорію членства . Ця зміна втручається в контролер продукту і дуже добре пояснюється в Форум PrestaShop , Це перенаправляє деактивовані продукти до найближчої вищої категорії.
перевизначити контролери спереду ProductController.php
Зміни, запропоновані на форумі, перенаправляють продукти до категорії приналежності:
switch ($ this-> product-> redirect_type) {case '301': заголовок ('HTTP / 1.1 301 Переміщено Постійно'); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected); header ("Location:". $ this-> context-> link-> getCategoryLink ($ this-> product-> id_category_default)); вихід; перерва; case '302': заголовок ('HTTP / 1.1 302' 'Перемещено тимчасово' '); header ('Cache-Control: no-cache'); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected); header ("Location:". $ this-> context-> link-> getCategoryLink ($ this-> product-> id_category_default)); вихід; перерва; case '404': за замовчуванням: заголовок ('HTTP / 1.1 404 Not Found'); header ('Статус: 404 Не знайдено'); $ this-> errors [] = Інструменти :: displayError ('Цей продукт більше не доступний.'); перерва; }
В ідеалі, що не обговорюється на форумі, це зробити зміну шляхом перевизначення , тобто перезапис драйвера, щоб не порушити зміни в майбутніх оновленнях. Для цього просто скопіюйте файл до наступної папки та внесіть зміни:
перевизначити контролери спереду ProductController.php
Зміна перенаправлення продуктів до категорії приналежності та перенаправлення за умовчанням типу 301:
if (! $ this-> product-> id_product_redirected || $ this-> product-> id_product_redirected == $ this-> product-> id) {/ ******* Коли ми деактивуємо продукт, перенаправлення за умовчанням 301 ********* / // $ this-> product-> redirect_type = '404'; $ this-> product-> redirect_type = '301'; } switch ($ this-> product-> redirect_type) {case '301': заголовок ('HTTP / 1.1 301 Переміщено Постійно'); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected); header ("Location:". $ this-> context-> link-> getCategoryLink ($ this-> product-> id_category_default)); вихід; перерва; case '302': заголовок ('HTTP / 1.1 302' 'Перемещено тимчасово' '); header ('Cache-Control: no-cache'); // header ('Location:'. $ this-> context-> link-> getProductLink ($ this-> product-> id_product_redirected); header ("Location:". $ this-> context-> link-> getCategoryLink ($ this-> product-> id_category_default)); вихід; перерва; case '404': за замовчуванням: заголовок ('HTTP / 1.1 404 Not Found'); header ('Статус: 404 Не знайдено'); $ this-> errors [] = Інструменти :: displayError ('Цей продукт більше не доступний.'); перерва; }
Після внесення змін рекомендується очистити кеш PrestaShop, щоб зміни стали ефективними. Нарешті, важливо перевірити, що перенаправлення, які ми тільки що створили, працюють правильно. Для цього можна скористатися безкоштовним інструментом Перевірка переадресації , Вводимо URL-адресу, яку ми змінили, видалили або перемістили, і переконалися, що створені переадресації працюють.
Перевірка перенаправлення вказує, що вона має тип 301.
Що таке перенаправлення?Чому важливі перенаправлення?
Що таке перенаправлення?
Чому важливі перенаправлення?