Июл
23
10

Красивые ссылки в WooCommerce (добавляем .html)

Ссылки в WooCommerceЯ тут сейчас работаю над сайтом интернет-магазина с использованием популярного WordPress плагина WooCommerce. Модуль, нужно сказать, очень мощный и интересный. В блоге уже было по нему несколько статей — об атрибутах товаров, добавлении в корзину и т.д. Сегодня расскажу о форматах ссылок для WooCommerce и как добавить в них окончание html. Пост небольшой, но полезный.

Итак, формат ссылок для интернет-магазина задается в том же разделе, что и для обычных записей блога — Permalinks (или Постоянные ссылки). В секции «Дополнительно» есть настройки префиксов адресов для категорий, меток товаров, а также их атрибутов.

Красивые ссылки в WooCommerce

Чуть ниже определяется постоянная ссылка на товар.

Формат ссылок в WooCommerce

Есть разные варианты:

  • /?product=sample-product — по-умолчанию с переменной;
  • /tovar/sample-product/ — с префиксом «tovar» для рунета;
  • /products/sample-product/ — с универсальным префиксом «products»;
  • /products/product-category/sample-product/ — с указанием категории товара;

Собственно, в строке «Произвольная база» на скриншоте выше вы видите каким будет префикс при выборе формата ссылки с категорией товара (последний вариант). На сайте это будет что-то вроде:

http://домен_магазина/products/green/product-name.html

Нельзя сказать, что ЧПУ вещь прямо таки необходимая, но она сделает ваш проект более «дружелюбным». Это все равно что настраивать отправку в Woocommerce PDF инвойса — можно обойтись и без него, но ведь так гораздо удобнее.

Добавляем .html для ссылок WooCommerce

Однако можно сделать более красивые ссылки с приставкой html в конце URL’а. Как пишут некоторые оптимизаторы, это показывает поисковой системе, что открыта страница, а не каталог сайта. К тому же данный прием может пригодиться, если все остальные ссылки у вас также выводятся подобным образом — для постов это делается указанием /%category%/%postname%.html в разделе постоянных ссылок, для страниц с помощью этого плагина.

Итак, чтобы добавить приставку .html для ссылок товаров в WooCommerce, нужно в файле функций functions.php разместить следующий код (взято отсюда):

function wpse_178112_permastruct_html( $post_type, $args ) {
    if ( $post_type === 'product' )
        add_permastruct( $post_type, "{$args->rewrite['slug']}/%$post_type%.html", $args->rewrite );
}
 
add_action( 'registered_post_type', 'wpse_178112_permastruct_html', 10, 2 );

Если вы хотите сделать такой же формат ссылок для страниц категорий, то добавляете еще и такой код:

function wpse_178112_category_permastruct_html( $taxonomy, $object_type, $args ) {
    if ( $taxonomy === 'product_cat' )
        add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%.html", $args['rewrite'] );
}
 
add_action( 'registered_taxonomy', 'wpse_178112_category_permastruct_html', 10, 3 );

Важно! После этого вам следует вернуться в раздел Permalinks (Постоянные ссылки) админки WordPress и сохранить настройки дабы URL’ы обновились. Теперь ссылки магазина будут по типу:

  • http://домен_магазина/category/green.html — для категории товаров.
  • http://домен_магазина/products/green/product7.html — для конкретного товара.

Я пытался по аналогии с категориями сделать такую же фишку и для тегов, но, к сожалению, у меня ничего не вышло. То есть сама ссылка с html генерируется системой, но при попадании на страницу появляется ошибка 404.

Нужно ли добавлять .html для категорий? — вопрос спорный. С одной стороны, как я уже говорил выше, подобное окончание УРЛа соответствует странице сайта, не разделу. С другой, если вы на этой странице располагаете определенный seo текст и продвигаете категорию интернет-магазина, то ссылка с html выглядит привычнее.

  • http://домен_магазина/category/green/
  • http://домен_магазина/category/green.html

Лично я все же склоняюсь ко второму варианту, поскольку использую в работе плагин .html on PAGES, который добавляет html для страниц, в том числе и для каталога товаров WooCommerce. Поэтому логично, если и все остальные элементы (категории товаров) будут выглядеть так же. Единственный недостаток — не смог сделать такое же с тегами. Если отказываться от html для категорий, то у страниц будут ссылки со слэшем «/» в конце.

А вы что думаете про добавление html к товарам и категориям?

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 3, средний балл: 4,33 из 7)
Загрузка...

категория Категории: WooCommerce; Возможности; Оптимизация;
теги Теги: , , , , , , .

комментариев 10 к статье “Красивые ссылки в WooCommerce (добавляем .html)”

  • Александр   24.07.2015

    А есть ли результаты от этого дела? Я имею в виду — сравнить некие численные характеристики (позиции в выдаче, кол-во проиндексированных страниц и т. п.) до и после добавления .html к ссылкам?

  • Tod   24.07.2015

    Александр, чтобы получить некие численные характеристики нужно сравнивать как минимум сотню сайтов, думаю))

  • Дмитрий   05.08.2015

    Помогите, проблема в следующем: в админке время от времени внеззапно стают белыми буквы в редакторе, предпочтительно это случается с жырным текстом, и разметками h2, h3 и тд..сделал скриншот http://www.ex.ua/653436768076 (не спам, нету формы отпаавки фото) обычно только в хроме, но менять браузер из за этого не хотелось бы. Плагины отключал, не помогает, после перезагрузки компьютера все норм, но иногда проблема возвращается. плагины в вордперс тоже пробовал отключать.

  • Tod   05.08.2015

    Дмитрий, странный глюк, конечно. Если смотреть текст в режиме HTML у него точно нет никакого лишнего оформления/стилей? Второе предположение — может быть где-то в стилях темы прописан белый цвет и он почему-то применяется для редактора. В целом, сложно сказать почему так. Попробуйте поставить другой текстовый редактор TinyMCE Advanced или подобный плагин.

  • AndreyEx   26.09.2015

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

  • Ригоберто   28.01.2017

    Спасибо за статью.!
    В файле функций functions.php разместил вышеописанный код, все заработало (добавляется html к каждой старице товара) единственная проблема в том, что в конце (после .html) добавляется и слэш (/). Подскажите, пожалуйста как его убрать?
    Спасибо.

  • Tod   29.01.2017

    Ригоберто, давно дело было, но судя по последним предложениям в статье, пришлось внедрять оба хака дабы и категории, и товары были с html. Если после всего (/) остается, то я бы установил модуль Yoast SEO там вроде была опция убирать слэш.

  • Александр   22.03.2017

    Скажите, а как добиться у ссылки следующей структуры site.ru/iphone/iphone-5.html , где iphone — категория товара, ну и iphone-5 — сам товар, без лишних category shop и т.д. и т.п.?

  • Tod   22.03.2017

    Александр, избавиться от «базы» магазина у меня лично не получилось. Может есть какой-то подходящий модуль, но я решил не рисковать и оставить все, как есть. Все же функциональность магазина посолжнее чем посты блога, и данный хак может потом где-то вылезти. Хотя, возможно, с htaccess задача решается не так и сложно.

  • Ригоберто 2 you   07.04.2017

    В настройках домена убери в конце слеш и должно появиться счастье

Оставить комментарий

(следующая статья)

Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Последние посты
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости