В WooCommerce, стандартные URL товаров часто включают в себя категорию товара, что может выглядеть так: вашсайт.com/категория-товара/название-товара. Хотя это полезно для организации, удаление категории из URL может принести значительные преимущества.
Важность коротких и понятных URL-адресов для SEO
Короткие и понятные URL-адреса легче индексируются поисковыми системами. Google и другие поисковики предпочитают URL, которые четко описывают содержимое страницы. Удаление избыточной информации, такой как категория товара, делает URL лаконичнее и привлекательнее для поисковых роботов.
Улучшение пользовательского опыта (UX) с помощью упрощенных URL
Пользователям проще запоминать и делиться короткими URL. Упрощенный URL также выглядит более профессионально и вызывает больше доверия у посетителей.
Стандартная структура URL товаров WooCommerce (с категориями)
По умолчанию, WooCommerce включает категорию товара в URL. Это может быть полезно для навигации по сайту, но часто делает URL длинным и сложным для восприятия. Цель — добиться URL вида вашсайт.com/название-товара.
Способ 1: Использование плагинов для удаления категорий товаров
Использование плагинов – самый простой и быстрый способ удалить категории товаров из URL в WooCommerce. Существует несколько популярных плагинов, которые позволяют это сделать без необходимости редактирования кода.
Обзор популярных плагинов (например, Remove WooCommerce Category Slug, Custom Permalinks)
- Remove WooCommerce Category Slug: Специализированный плагин, разработанный исключительно для удаления префикса категории из URL товаров.
- Custom Permalinks: Более универсальный плагин, позволяющий настраивать постоянные ссылки для различных типов записей, включая товары WooCommerce.
Пошаговая инструкция: Настройка и использование плагина Remove WooCommerce Category Slug
- Установите и активируйте плагин Remove WooCommerce Category Slug через панель управления WordPress.
- Перейдите в WooCommerce > Remove Category Slug (или аналогичный пункт меню, созданный плагином).
- Плагин автоматически удалит префикс категории из URL товаров. Обычно не требуется никаких дополнительных настроек.
Пошаговая инструкция: Настройка и использование плагина Custom Permalinks
- Установите и активируйте плагин Custom Permalinks.
- Перейдите на страницу редактирования товара.
- Вы увидите поле Custom Permalink. Удалите часть URL, содержащую категорию товара, и сохраните изменения.
Преимущества и недостатки использования плагинов
Преимущества:
- Простота установки и настройки.
- Не требуется знание кода.
- Быстрое решение проблемы.
Недостатки:
- Зависимость от сторонних плагинов.
- Потенциальная несовместимость с другими плагинами.
- Влияние на производительность (хотя и незначительное).
Способ 2: Редактирование файла .htaccess (продвинутый метод)
Редактирование файла .htaccess – более сложный способ, требующий осторожности. Неправильные изменения могут привести к неработоспособности сайта. Этот метод лучше подходит для опытных пользователей.
Важность резервного копирования сайта перед редактированием .htaccess
Перед внесением любых изменений в файл .htaccess, обязательно сделайте резервную копию всего сайта, включая базу данных и файлы. Это позволит восстановить сайт в случае возникновения проблем.
Пример кода для .htaccess и объяснение его работы
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Правило для удаления категории товара из URL
RewriteRule ^([^/]+)/([^/]+)/?$ $2 [L,R=301]
# Стандартные правила WordPress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Объяснение:
RewriteEngine On: Включает модуль перенаправления.RewriteRule ^([^/]+)/([^/]+)/?$ $2 [L,R=301]: Это правило удаляет первую часть URL (категорию) и перенаправляет на вторую часть (название товара).R=301означает постоянный редирект, что важно для SEO.
Преимущества и недостатки редактирования .htaccess
Преимущества:
- Более прямой контроль над URL.
- Нет зависимости от плагинов.
- Потенциально более высокая производительность.
Недостатки:
- Требует знаний синтаксиса
.htaccess. - Высокий риск ошибок, приводящих к неработоспособности сайта.
- Сложность отладки.
Решение возможных проблем и ошибок после редактирования .htaccess
- Ошибка 500 (Internal Server Error): Проверьте синтаксис в
.htaccess. Убедитесь, что нет опечаток или неправильных символов. - Циклическая переадресация: Убедитесь, что правила перенаправления не создают бесконечный цикл.
- Неправильные URL: Проверьте, правильно ли работает правило
RewriteRule. Возможно, потребуется изменить регулярное выражение.
Способ 3: Использование пользовательского кода (functions.php)
Добавление кода в файл functions.php вашей темы – еще один способ удалить категории товаров из URL. Этот метод требует базовых знаний PHP.
Добавление кода в файл functions.php вашей темы (или дочерней темы)
- Важно: Никогда не редактируйте напрямую файл
functions.phpосновной темы. Используйте дочернюю тему, чтобы избежать потери изменений при обновлении основной темы.
Пример кода для удаления категорий товаров и объяснение
<?php
/**
* Удаляет префикс категории товара из URL.
*
* @param string $permalink URL товара.
* @param WP_Post $post Объект товара.
*
* @return string Обновленный URL товара.
*/
function remove_product_category_slug(string $permalink, WP_Post $post): string {
if ($post->post_type == 'product') {
$terms = get_the_terms($post->ID, 'product_cat');
if ($terms) {
$category_slug = $terms[0]->slug; // Берем первую категорию
$permalink = str_replace('/' . $category_slug . '/', '/', $permalink);
}
}
return $permalink;
}
add_filter('post_type_link', 'remove_product_category_slug', 10, 2);
/**
* Фиксит редиректы, если категория товара не найдена.
*/
function custom_redirect_product_cat( $template ) {
global $wp_query;
if ( isset( $wp_query->query_vars['product_cat'] ) ) {
wp_redirect( home_url(), 301 );
exit;
}
return $template;
}
add_filter( 'template_include', 'custom_redirect_product_cat' );
Объяснение:
- Функция
remove_product_category_slugполучает URL товара и объект товара. - Если это товар, она получает его категории.
- Удаляет префикс категории из URL.
- Фильтр
post_type_linkприменяет эту функцию ко всем URL товаров. - Функция
custom_redirect_product_catперенаправляет запросы к несуществующим URL категорий на главную страницу сайта.
Преимущества и недостатки использования пользовательского кода
Преимущества:
- Более гибкий контроль над URL.
- Нет зависимости от плагинов.
- Возможность тонкой настройки.
Недостатки:
- Требует знаний PHP.
- Риск ошибок, приводящих к неработоспособности сайта.
- Сложность отладки.
Как избежать ошибок и конфликтов с другими плагинами
- Всегда используйте дочернюю тему.
- Тщательно проверяйте код на наличие ошибок.
- Проверяйте совместимость с другими плагинами.
- Используйте систему контроля версий (например, Git), чтобы отслеживать изменения и иметь возможность откатить их.
Важные замечания и дополнительные настройки
Настройка редиректов для старых URL-адресов (301 редирект)
После удаления категории товара из URL крайне важно настроить 301 редиректы со старых URL на новые. Это необходимо для сохранения SEO-позиций и предотвращения ошибок 404. Это можно сделать с помощью плагина Redirection или вручную в файле .htaccess.
Проверка работы URL-адресов после внесения изменений
После внесения любых изменений, тщательно проверьте все URL товаров, чтобы убедиться, что они работают правильно и ведут на нужные страницы.
SEO-оптимизация URL-адресов товаров
Убедитесь, что URL товаров содержат ключевые слова, релевантные содержанию страницы. Используйте дефисы (-) вместо пробелов.
Решение распространенных проблем и вопросов
- 404 Ошибки: Проверьте правильность настроенных редиректов.
- Неправильные URL: Проверьте код или настройки плагина.
- Конфликты с плагинами: Отключите другие плагины, чтобы выявить источник конфликта.